/*
** Vernissage
** @author: Matthias Kunze
** @date: 2007-10-05
** @updated: 2008-03-12
*/
var lastStep = 0;
function initVernissage(t)
{
if(typeof t != 'string') {
var t = $('vrnContent').innerHTML;
}
$('vrnContent').innerHTML = '';
var f = cE('form');
f.id = 'vrn_form';
f.name = 'vrn_form';
f.method = 'post';
f.onsubmit = VernissageStepOne;
f.innerHTML = t;
$('vrnContent').appendChild(f);
hideShowTools();
// Kameramodell
CameraToggler();
}
function CameraToggler() {
$j('#tool3').bind('check', function () {
$j('#cameramore').fadeIn('fast').find('#vrn_cammodel').focus();
}).bind('uncheck', function () {
$j('#cameramore').fadeOut('fast');
});
}
function LicenseToggler() {
// All rights reserved
$j('#lic1').bind('check', function () {
$j('#ccmore').fadeOut('fast');
}).bind('uncheck', function () {
$j('#ccmore').fadeIn('fast');
});
}
function hideShowTools() {
if ($j('#vrn_cat').val() == '18') {
$j('#tool-options-div').fadeOut('fast');
}
else {
$j('#tool-options-div').fadeIn('fast');
}
return false;
}
function VernissageStepOne()
{
waitButton('vrn_button');
// Farbe zuruecksetzen
var hls = ['hl1','hl2','hl3','hl4','hl5'];
while(hl = hls.shift()) {
$S(hl).color = '';
}
// Eingaben
var catid = parseInt($sI('vrn_cat'));
var title = trim($F('vrn_title'));
var desc = trim($F('vrn_desc'));
var tools = [];
$$("#tools input.vrnTool").each(
function (tool) {
val = getCheckBoxValue(tool.id);
if(val != 0) {
tools.push(val);
}
}
);
tools = tools.join(',');
var cammodel = $E('vrn_cammodel') ? trim($F('vrn_cammodel')) : '';
var misc = trim($F('vrn_misc'));
var p = $H({
cid:catid,
title:title,
desc:desc,
tools:tools,
cam:cammodel,
misc:misc
});
new Ajax.Request(
_f('vernissage'),
{
method:'post',
parameters:'mode=info&'+p.toQueryString(),
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t))
{
t = t.substring(6);
eval("var r="+t);
errors = r[0];
hlids = r[1];
while(hlid = hlids.shift()) {
$S(hlid).color = '#f00';
}
saveButton('vrn_button', errors.join('
'), true, 'weiter');
}
else
{
lastStep = 1;
$('vrnContent').innerHTML = '';
// neues Formular
var newtext = '
';
$('vrnContent').update(newtext);
styleCheckboxes();
Element.scrollTo('content');
LicenseToggler();
}
}
}
);
return false;
}
function GoBack()
{
waitButton('vrn_button_back');
waitButton('vrn_button_back_top');
disableButton('vrn_button');
new Ajax.Request(
_f('vernissage'),
{
method:'post',
parameters:'mode=back&last='+lastStep,
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t))
{
saveButton('vrn_button_back', errors.join('
'), true, 'Zurück');
saveButton('vrn_button_back_top', '', true, 'Zurück');
enableButton('vrn_button');
return false;
}
if(lastStep == 1) {
initVernissage(t);
styleCheckboxes();
}
else
{
$('vrnContent').innerHTML = '';
var f = cE('form');
f.id = 'vrn_form';
f.name = 'vrn_form';
f.method = 'post';
f.onsubmit = VernissageStepTwo;
f.innerHTML = t;
$('vrnContent').appendChild(f);
styleCheckboxes();
LicenseToggler();
}
Element.scrollTo('content');
lastStep--;
}
}
);
return false;
}
function VernissageStepTwo()
{
disableButton('vrn_button_back');
disableButton('vrn_button_back_top');
waitButton('vrn_button');
// Farbe zuruecksetzen
var hls = ['hl1','hl2','hl3','hl4','hl5'];
while(hl = hls.shift()) {
if($E(hl)) {
$S(hl).color = '';
}
}
var url = trim($F('vrn_url'));
var access = radioValue('vrn_form2', 'opt1');
var bm = getCheckBoxValue('vrn_bm');
var notify = getCheckBoxValue('vrn_notify');
var exif = getCheckBoxValue('vrn_exif');
var allowvote = getCheckBoxValue('vrn_allowvote');
var license = radioValue('vrn_form2', 'opt2');
if(license == 'cc')
{
// commercial
var ccc = radioValue('vrn_form2', 'opt3');
// remix
var ccr = radioValue('vrn_form2', 'opt4');
}
else {
var ccc = '';
var ccr = '';
}
var p = $H({
url:url,
access:access,
bm:bm,
notify:notify,
allowvote:allowvote,
exif:exif,
license:license,
ccc:ccc,
ccr:ccr
});
new Ajax.Request(
_f('vernissage'),
{
method:'post',
parameters:'mode=preview&'+p.toQueryString(),
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t))
{
t = t.substring(6);
eval("var r="+t);
errors = r[0];
hlids = r[1];
while(hlid = hlids.shift()) {
$S(hlid).color = '#f00';
}
enableButton('vrn_button_back');
enableButton('vrn_button_back_top');
saveButton('vrn_button', errors.join('
'), true, 'Vorschau');
}
else
{
lastStep = 2;
$('vrnContent').innerHTML = '';
var div = cE('div');
div.innerHTML = t;
$('vrnContent').appendChild(div);
Element.scrollTo('content');
}
}
}
);
return false;
}
function VernissageSave()
{
disableButton('vrn_button_back');
disableButton('vrn_button_back_top');
waitButton('vrn_button');
new Ajax.Request(
_f('vernissage'),
{
method:'post',
parameters:'mode=save',
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t))
{
enableButton('vrn_button_back');
enableButton('vrn_button_back_top');
saveButton('vrn_button', t.substr(6), true, 'Vorschau');
}
else {
location.href = t;
}
}
}
);
return false;
}
function PreviewComment()
{
waitButton('previewButton');
disableButton('sendbutton');
$form = $j('#commentform');
$form.find('.alert:first').fadeOut('fast', removeMe);
var text = $j.trim($j('#message').val());
var p = $H({
text:text
});
new Ajax.Request(
_f('comment'),
{
method:'post',
parameters:'mode=preview&'+p.toQueryString(),
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t)) {
var error = t.substring(6);
$form.prepend('' + error + '
').find(':first-child').fadeIn('fast');
$j.scrollTo('#new', 'normal');
$j('#message').val(text).focus();
//printError(t);
}
else
{
var output = '
';
output += '';
output += '
'+_("Preview")+'
';
output += t;
output += '
';
$j('#preview').html(output).fadeIn('fast');
//Element.show('preview');
//Element.scrollTo('preview');
$j.scrollTo('#preview', 'normal');
}
enableButton('sendbutton');
saveButton('previewButton', '', false, 'Vorschau');
}
}
);
return false;
}
function SaveComment()
{
waitButton('sendbutton');
disableButton('previewButton');
$form = $j('#commentform');
$form.find('.alert:first').fadeOut('fast', removeMe);
var text = $j.trim($j('#message').val());
//var text = trim($F('message'));
var id = WorkId;
var irrelevant = getCheckBoxValue('opt_irr');
var vote = -1;
var p = $H({
text:text,
id:id,
vote:vote,
irrelevant:irrelevant
});
new Ajax.Request(
_f('comment'),
{
method:'post',
parameters:'mode=save&'+p.toQueryString(),
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t)) {
var error = t.substring(6);
$form.prepend('' + error + '
').find(':first-child').fadeIn('fast');
$j.scrollTo('#new', 'normal');
$j('#message').focus();
}
else
{
eval('var item = ('+t+')');
PrintNewComment(item[0]);
$('message').value = '';
$j('#preview').fadeOut('fast');
if(vote > -1) {
$j('#votediv').fadeOut('fast', removeMe);
}
//initDropMe();
$('commentform').reset();
}
enableButton('previewButton');
saveButton('sendbutton', '', false, 'Abschicken');
}
}
);
return false;
}
function MoveWork()
{
var newcat = parseInt($sI('sidemove'));
if(newcat == 0) {
return false;
}
new Ajax.Request(
_f('move'),
{
method:'post',
parameters:'moveto='+newcat+'&vid='+WorkId,
onSuccess:function(xh)
{
var t = xh.responseText;
if(isError(t)) {
printError(t);
}
else {
location.href = location.href;
}
}
}
);
return false;
}
function Work(elem)
{
if(elem == 'rem')
{
var c = confirm('Willst du diese Arbeit wirklich loeschen?');
if(c === false) {
return false;
}
}
new Ajax.Request(
_f('work'),
{
method:'post',
parameters:'vid='+WorkId+'&action='+elem,
onSuccess:function(xh){
var newtext = xh.responseText;
if(isError(newtext)){
printError(newtext);
}
else {
if(elem == 'rem') {
location.href = newtext;
}
else
{
$(elem).innerHTML = newtext + ' ';
if($(elem).className=='') {
$(elem).className='activefeature';
}
else {
$(elem).className='';
}
}
}
}
}
);
return false;
}
function PrintNewComment(objData)
{
var div = cE('div');
div.id = 'p'+objData.comment_id;
if(typeof(objData.vote) != 'undefined')
{
var r = objData.vote.split('|');
$('divvwstat').innerHTML = r[0];
$('divvwrat').innerHTML = r[1];
}
var output = '';
if(typeof(objData.authoravatar) != 'undefined') {
output += '

';
}
output += '
'+objData.authorname+''+objData.authorinfos+'
'+objData.authorrank+'
'+objData.comment_date+'
'+objData.comment_time+'
'+objData.comment_icons+'
';
div.innerHTML = output;
div.style.display = 'none';
$('comments').appendChild(div);
globalSet(div.id, 'opacity', 0);
Element.show(div.id);
globalFadeOn(div.id);
if (objData.comment_irrelevant == 1) {
globalFadeOut(div.id);
div.className='irrelevant';
$('pdiv_'+objData.comment_id).innerHTML = objData.irlink+'';
}
//Element.scrollTo(div.id);
$j.scrollTo('#' + div.id, 'normal');
}
var BodyHtml;
function Box(link, color)
{
var b = gT('','body');
var i = link.firstChild.src;
var div = cE('div');
div.innerHTML = '';
BodyHtml = b[0].innerHTML;
b[0].innerHTML = '';
b[0].className = 'boxbody';
b[0].style.backgroundColor = color;
b[0].appendChild(div);
return false;
}
function UnBox()
{
var b = gT('','body');
b[0].innerHTML = BodyHtml;
b[0].style.backgroundColor = '';
b[0].className = '';
return false;
}
var max=20,loader,newitems='';
function getUpdate(page){
new Ajax.Request(_f("vrnsort"),{
method:'get',
parameters:'order='+sort+'&page='+page+'&cat='+CatId+'&uid='+UserId,
onSuccess:
function(xh){
if(xh.responseText=='error'){alert(_('An error occurred.'));}
else{eval('newitems=('+xh.responseText+')');
var thepages=newitems.shift();
$('pagination_top').innerHTML=thepages.pages;
$('pagination_bottom').innerHTML=thepages.pages+" · "+_("up")+"";
$('vrnContent').innerHTML=newitems.shift().output;
}
globalFadeIn('vrnContent');
$j('.threadnaviheader .help, #vrnContent .help').tooltip({
track: true,
delay: 0,
showURL: false,
fade: 100
});
}
}
);
}
function switchRecent(page){globalFadeOut('vrnContent');Element.scrollTo('top');getUpdate(page);}
function checkHash(){
if(window.location.hash){
var pagevalue=window.location.hash.substring(1);
if(isNaN(pagevalue)){pagevalue=1;}
else if(pagevalue<0){pagevalue=pagevalue*-1;}
switchRecent(pagevalue);
}
}
/** Vorschau editieren **/
// id, innerHTML, className
var prevDiv = ['', '', ''];
function getDivByChangeMode(mode) {
switch (mode) {
case 'title':
var div = $('vrnTitle');
break;
case 'url':
var div = $('vrnUrl');
break;
case 'desc':
var div = $('vrnDesc');
break;
case 'tools':
var div = $('vrnTools');
break;
case 'opts':
var div = $('vrnOpts');
break;
default:
return false;
}
return div;
}
function Change(mode) {
var div = getDivByChangeMode(mode);
globalFadeOut(div.id);
new Ajax.Request(_f('vrnedit'),{
method : 'post',
parameters : 'mode=' + mode,
onSuccess : function (x) {
eval('var data = ' + x.responseText);
if (data.HTML) {
closePrevChangedDiv();
prevDiv[0] = div.id;
prevDiv[1] = div.innerHTML;
prevDiv[2] = div.className;
div.className = '';
div.innerHTML = ''
+ '
';
if (!div.visible()) {
div.show();
}
if (mode == 'tools') {
styleCheckboxes();
CameraToggler();
}
if (mode == 'opts') {
styleCheckboxes();
LicenseToggler();
}
globalFadeIn(div.id);
globalFadeOn('formVrnEdit');
}
else {
alert(data.Error);
}
}
});
return false;
}
function saveChange(mode, input) {
globalFadeOut('formVrnEdit');
var div = getDivByChangeMode(mode);
globalFadeOut(div.id);
if (mode == 'opts') {
var access = radioValue('formVrnEdit', 'opt1');
var license = radioValue('formVrnEdit', 'opt2');
var bm = getCheckBoxValue('vrn_bm');
var notify = getCheckBoxValue('vrn_notify');
var allowvote = getCheckBoxValue('vrn_allowvote');
var exif = getCheckBoxValue('vrn_exif');
if(license == 'cc') {
var ccc = radioValue('formVrnEdit', 'opt3');
var ccr = radioValue('formVrnEdit', 'opt4');
}
else {
var ccc = '';
var ccr = '';
}
var param = $H({
save : 'save',
mode : mode,
access : access,
bm : bm,
notify : notify,
allowvote : allowvote,
exif : exif,
license : license,
ccc : ccc,
ccr : ccr
});
}
else if (mode == 'tools') {
var tools = [];
$$("#tools input.vrnTool").each(
function (tool) {
val = getCheckBoxValue(tool.id);
if(val != 0) {
tools.push(val);
}
}
);
tools = tools.join(',');
var cammodel = $E('vrn_cammodel') ? trim($F('vrn_cammodel')) : '';
var misc = trim($F('vrn_misc'));
var param = $H({
save : 'save',
mode : mode,
tools : tools,
cam : cammodel,
misc : misc
});
}
else {
var text = trim($F(input));
var param = $H({
save : 'save',
mode : mode,
text : text
});
}
new Ajax.Request( _f('vrnedit'), {
method : 'post',
parameters : param.toQueryString(),
onSuccess : function(x) {
eval('var data = ' + x.responseText);
if (data.HTML) {
if (mode == 'title') {
$(data.inputID).innerHTML = '';
$(data.inputID).hide();
$('titleHl').update(data.HTML);
}
else {
$(data.inputID).update(data.HTML);
$(data.inputID).className = 'alert';
}
prevDiv[0] = '';
prevDiv[1] = '';
prevDiv[2] = '';
}
else {
alert(data.Error);
}
globalFadeIn(div.id);
}
});
return false;
}
function closePrevChangedDiv() {
if (prevDiv[0] != '') {
prevID = prevDiv[0];
$(prevID).innerHTML = prevDiv[1];
$(prevID).className = prevDiv[2];
if (prevID == 'vrnTitle') {
$(prevID).hide();
}
}
prevDiv[0] = '';
prevDiv[1] = '';
prevDiv[2] = '';
return false;
}
function cancelChange() {
return closePrevChangedDiv();
}