/* ** 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 = '
' + t + '
'; $('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('').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('').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_text+'
'+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(); }