function addTextfieldLabels(addEvents){$$('input').each(function(el,index){if((el.get('type')=='button'||el.get('type')=='submit')&&(!el.hasClass('button_red')&&!el.hasClass('button_green')&&!el.hasClass('button_red'))){el.addClass('button');}
if(el.get('type')=='checkbox'||el.get('type')=='radio'){el.addClass('checkbox');}
if(el.getProperty('type')=='text'&&el.getAttribute("alt")){var alt=el.getAttribute("alt");alt.split('|').each(function(single_class){if(alt.match(/^focusLabel\[.+\]$/)){var focusTitle=alt.match(/^focusLabel\[(.+)\]$/)[1];el.removeClass('hasTitle');if(el.value==''||el.value==focusTitle){el.value=focusTitle;el.addClass('hasTitle');}
if(addEvents!=false){el.addEvent('focus',function(){if(el.value==focusTitle){el.value='';el.removeClass('hasTitle');}}).addEvent('keyup',function(){if(el.get('class')=='hasTitle'){el.removeClass('hasTitle');}}).addEvent('blur',function(){if(el.value==''){el.value=focusTitle;el.addClass('hasTitle');}});}}});}});}
function addPlaceholders(elements){var elements=(typeof(elements)=='array')?elements:(typeof(elements)=='object'?new Array(elements):$$('input, textarea'));elements.each(function(el){if(label=el.getAttribute('label')){if(!el.retrieve('placeholderAdded')){var placeholder=new Element('label',{styles:{margin:el.getStyle('margin'),padding:el.getStyle('padding'),paddingTop:el.getStyle('padding-top').toInt()+el.getStyle('border-top-width').toInt(),paddingLeft:el.getStyle('padding-left').toInt()+el.getStyle('border-left-width').toInt()+1,fontSize:el.getStyle('font-size'),fontFamily:el.getStyle('font-family'),display:'none'},events:{mousedown:function(ev){ev.preventDefault();el.focus();},mouseup:function(ev){ev.preventDefault();},click:function(ev){ev.preventDefault();}},'class':'placeholder','for':el.get('id'),html:label});var placeholder_wrapper=new Element('div',{styles:{position:'relative'}}).inject(el,'after').adopt(el).grab(placeholder);el.addEvents({focus:function(){if(el.value==''){placeholder.setStyle('display','').addClass('placeholder_focus');}},keyup:function(){if(el.value==''){placeholder.setStyle('display','').addClass('placeholder_focus');}else if(el.value.length>0){placeholder.setStyle('display','none');}},blur:function(){if(el.value==''){placeholder.setStyle('display','').removeClass('placeholder_focus');}else if(el.value.length>0){placeholder.setStyle('display','none');}}}).store('placeholderAdded',true).store('placeholder',placeholder);}
if(el.value==''){el.retrieve('placeholder').setStyle('display','').removeClass('placeholder_focus');}else{el.retrieve('placeholder').setStyle('display','none');}}});}
window.addEvent('domready',function(){addPlaceholders();});function addGrowingTextareas(){$$('.growing_textarea').each(function(element){var height=element.getStyle('font-size').toInt()+element.getStyle('padding-top').toInt();element.setStyle('height',height);element.store('original_height',height);element.setStyle('overflow','hidden');element.resize=function(e){if(e.key=='enter'&&!this.hasClass('enter_nl')&&!this.hasClass('enter_submit')){new Event(e).stop();}else if(e.key=='enter'&&this.hasClass('enter_submit')){this.getParent('form').fireEvent('submit');new Event(e).stop();}
var clone=this.clone(true);clone.setStyle('visibility','hidden');clone.setStyle('position','absolute');clone.inject($(document.body),'after');clone.set('value',clone.get('value')+'W');clone.setStyle('height',this.retrieve('original_height'));if(clone.getScrollSize().y-clone.getStyle('height').toInt()>=clone.getStyle('font-size').toInt()){clone.setStyle('height',clone.getScrollSize().y);}
if(this.getStyle('height')!=clone.getStyle('height')){this.setStyle('height',clone.getStyle('height'));}
clone.dispose();return true;};});$$('.growing_textarea').addEvent('paste',function(e){return this.resize(e);})
$$('.growing_textarea').addEvent('keydown',function(e){this.set('value',this.get('value').replace('  ',' '));return this.resize(e);});$$('.growing_textarea').addEvent('focus',function(e){return this.resize(e);});$$('.growing_textarea').addEvent('blur',function(e){return this.resize(e);});}
function addConfirmFirst(){$$('a').each(function(el,index){if(el.getAttribute("alt")){var alt=el.getAttribute("alt");alt.split('|').each(function(){if(alt.match(/^confirmFirst\[.+\]$/)){if(!el.retrieve('has_confirm_lightface')){var options=alt.match(/^confirmFirst\[(.+)\]$/)[1];var options_array=options.split('>>');var confirm_message=options_array[0];var confirm_yes=options_array[1]?options_array[1]:'Ja';var confirm_no=options_array[2]?options_array[2]:'Nein';el.store('has_confirm_lightface',true);el.addEvent('click',function(e){e.stop();if(confirm_first_lightface){confirm_first_lightface.destroy();confirm_first_lightface=null;}
var confirm_first_lightface=new LightFace({content:'<div style="padding:25px">'+confirm_message+'</div>',buttons:[{title:confirm_no,event:function(){confirm_first_lightface.close();},id:'confirmFirstNo',color:''},{title:confirm_yes,event:function(){removeLayer();confirm_first_lightface.destroy();confirm_first_lightface=null;window.location.href=el.get('href');},id:'confirmFirstYes',color:'green'}],onClose:function(){removeLayer();},onOpen:function(){if($('confirmFirstYes').value=='Ja'){$('confirmFirstYes').setStyle('width','40px');}}});addLayer(confirm_first_lightface.options.zIndex-1);confirm_first_lightface.open();});}}});}});}
function addLinkCheck(){$$('.linkCheck').each(function(el,index){el.addEvent('blur',function(){if(el.value.substr(0,7)!='http://'&&el.value.substr(0,8)!='https://'&&el.value.substr(0,6)!='ftp://'&&el.value!=''&&!el.hasClass('hasTitle')){el.value='http://'+el.value;}else if(el.value=='http://'||el.value=='https://'||el.value=='ftp://'){el.value='';addTextfieldLabels();}});});}
function addExternLinks(){$$('.externLink').each(function(el,index){if(!el.retrieve('externLinkAdded')){el.addEvent('click',function(ev){ev.preventDefault();window.open(el.get('href'));return false;}).store('externLinkAdded',true);}});}
function addLayer(zindex){if(!zindex)zindex=11000;var height=$(document.body).getScrollSize().y;var width=$(document.body).getScrollSize().x;if(!$('documentLayer')){var documentLayer=new Element('div',{'id':'documentLayer'}).setStyles({'position':'absolute','top':0,'left':0,'width':width,'height':height,'z-index':zindex,'background':'#FFF','opacity':0.0001}).inject(document.body,'bottom');}}
function removeLayer(){if($('documentLayer')){$('documentLayer').dispose();}}
function addRequired(){$$('.required_text').each(function(el,index){if(el.value!=''&&!el.hasClass('hasTitle')){el.removeClass('required_text');}
el.addEvent('focus',function(){el.removeClass('required_text');}).addEvent('blur',function(){if(el.value==''||el.hasClass('hasTitle')){el.addClass('required_text');}});});$$('.required_select').each(function(el,index){el.removeClass('required_select')
el.setStyles({'float':'left'});var requiredStar=new Element('div').setStyles({'float':'left','width':'12px','height':el.getStyle('height').toInt(),'margin-top':'1px'}).inject(el,'after');var clearFloat=new Element('div').setStyles({'clear':'both'}).inject(requiredStar,'after');if(el.getSelected().get('value')==''){requiredStar.addClass('required_select');}
el.addEvent('change',function(){if(el.getSelected().get('value')==''){requiredStar.addClass('required_select');}else{requiredStar.removeClass('required_select');}});});}
window.addEvent('domready',function(){addTextfieldLabels();addRequired();addConfirmFirst();addLinkCheck();addExternLinks();addGrowingTextareas();$$('.onlyNumbers').each(function(el,index){el.addEvent('keydown',function(evt){var e=event||evt;var charCode=e.which||e.keyCode;if(charCode>31&&(charCode<48||charCode>57))return false;return true;});});});function buttonStatus(id,status){if(!$(id))return;(status=='disabled'||!status)?$(id).addClass('disabled').set('disabled',true):$(id).removeClass('disabled').set('disabled',false);}
function adjustWidth(classes){var width=0;$$('.'+classes).each(function(el,index){if(el.getStyle('width').toInt()>width){width=el.getStyle('width').toInt();}});$$('.'+classes).each(function(el,index){el.setStyle('width',width+'px');});}
var scroll_bar_width=null;function getScrollBarWidth(){if(scroll_bar_width!=null)return scroll_bar_width;var inner=new Element('p').setStyles({'width':'100%','height':'200px'});var outer=new Element('div').setStyles({'position':'absolute','top':'0px','left':'0px','width':'200px','height':'150px','visibility':'hidden'});inner.inject(outer);outer.inject(document.body,'bottom');var w1=inner.offsetWidth;outer.setStyle('overflow','scroll');var w2=inner.offsetWidth;if(w1==w2)w2=outer.clientWidth;outer.destroy();scroll_bar_width=(w1-w2);return scroll_bar_width;};var scroll_bar_height=null;function getScrollBarHeight(){if(scroll_bar_width!=null)return scroll_bar_height;var inner=new Element('p').setStyles({'width':'300px','height':'100%'});var outer=new Element('div').setStyles({'position':'absolute','top':'0px','left':'0px','width':'200px','height':'200px','visibility':'hidden'});inner.inject(outer);outer.inject(document.body,'bottom');var w1=inner.offsetHeight;outer.setStyle('overflow','scroll');var w2=inner.offsetHeight;if(w1==w2)w2=outer.clientHeight;outer.destroy();scroll_bar_height=(w1-w2);return scroll_bar_height;};var cron_time_out;window.addEvent('domready',function(){var cron_request=new Request({method:'get',url:'/includes/system/ajax/cron.php',onSuccess:function(response){if(response=='CRON COMPLETE'){clearTimeout(cron_time_out);}}});var do_cron_request=function(){cron_request.send();};var cron_time_out=do_cron_request.periodical(30000);do_cron_request.attempt();});function ajax_message_open(message,error){addLayer();if($(window).retrieve('ajax_message')!=null){$(window).retrieve('ajax_message').destroy();}
var ajax_message=new LightFace({content:'<div id="ajax_message_div" style="padding:25px 25px 25px 80px; font-size:16px" class="loader"><span id="ajax_message_span" style="visibility:hidden"></span></div>'});$('ajax_message_span').set('html',message);$('ajax_message_div').removeClass('message_ok').removeClass('message_error').removeClass('green').removeClass('red').addClass('loader');$('ajax_message_span').setStyle('visibility','hidden');ajax_message.open();$(window).store('ajax_message',ajax_message);}
function ajax_message_close_delay(success){removeLayer();var temp_msg=($(window).retrieve('ajax_message'));temp_msg.close();if(success){success();}}
function ajax_message_close(delay_msec,error,message,success){if(!delay_msec&&delay_msec!=0){delay_msec=1800;}
var temp_msg=($(window).retrieve('ajax_message'));if(temp_msg&&temp_msg.isOpen){$('ajax_message_div').removeClass('loader').addClass(error?'message_error red':'message_ok green');if(message){$('ajax_message_span').set('html',message);temp_msg._position();}
$('ajax_message_span').setStyle('visibility','visible');ajax_message_close_delay.delay(delay_msec,null,success);}}
function quick_message(message,error,delay){ajax_message_open();ajax_message_close(null,error,message);}
function quick_error(){ajax_message_open();ajax_message_close(null,true,'Es ist ein unbekannter Fehler aufgetreten.');}
function quick_ajax(file,params,messages,on,send_type){var request=new Request({url:www+'/includes/system/ajax/'+file+'.php',method:send_type=='get'?'get':'post',data:params,onFailure:function(){quick_error();},onRequest:function(){if(on.loadstart){on.loadstart();}
if(messages.ok){ajax_message_open();}},onSuccess:function(response){if(messages.debug){alert(response);}
if(response==1){if(messages.ok){ajax_message_close(messages.duration||null,false,messages.ok);}
if(on.success){on.success();}}else{if(messages.ok){ajax_message_close(null,true,messages.error||'Es ist ein unbekannter Fehler aufgetreten.');}
if(on.failure){on.failure();}}
return response;}});request.send();}
var LZ77=function(settings){settings=settings||{};var referencePrefix="`";var referenceIntBase=settings.referenceIntBase||96;var referenceIntFloorCode=" ".charCodeAt(0);var referenceIntCeilCode=referenceIntFloorCode+referenceIntBase-1;var maxStringDistance=Math.pow(referenceIntBase,2)-1;var minStringLength=settings.minStringLength||5;var maxStringLength=Math.pow(referenceIntBase,1)-1+minStringLength;var defaultWindowLength=settings.defaultWindowLength||144;var maxWindowLength=maxStringDistance+minStringLength;var encodeReferenceInt=function(value,width){if((value>=0)&&(value<(Math.pow(referenceIntBase,width)-1))){var encoded="";while(value>0){encoded=(String.fromCharCode((value%referenceIntBase)+referenceIntFloorCode))+encoded;value=Math.floor(value/referenceIntBase);}
var missingLength=width-encoded.length;for(var i=0;i<missingLength;i++){encoded=String.fromCharCode(referenceIntFloorCode)+encoded;}
return encoded;}else{throw"Reference int out of range: "+value+" (width = "+width+")";}};var encodeReferenceLength=function(length){return encodeReferenceInt(length-minStringLength,1);};var decodeReferenceInt=function(data,width){var value=0;for(var i=0;i<width;i++){value*=referenceIntBase;var charCode=data.charCodeAt(i);if((charCode>=referenceIntFloorCode)&&(charCode<=referenceIntCeilCode)){value+=charCode-referenceIntFloorCode;}else{throw"Invalid char code in reference int: "+charCode;}}
return value;};var decodeReferenceLength=function(data){return decodeReferenceInt(data,1)+minStringLength;};this.compress=function(data,windowLength){windowLength=windowLength||defaultWindowLength;if(windowLength>maxWindowLength){throw"Window length too large";}
var compressed="";var pos=0;var lastPos=data.length-minStringLength;while(pos<lastPos){var searchStart=Math.max(pos-windowLength,0);var matchLength=minStringLength;var foundMatch=false;var bestMatch={distance:maxStringDistance,length:0};var newCompressed=null;while((searchStart+matchLength)<pos){var isValidMatch=((data.substr(searchStart,matchLength)==data.substr(pos,matchLength))&&(matchLength<maxStringLength));if(isValidMatch){matchLength++;foundMatch=true;}else{var realMatchLength=matchLength-1;if(foundMatch&&(realMatchLength>bestMatch.length)){bestMatch.distance=pos-searchStart-realMatchLength;bestMatch.length=realMatchLength;}
matchLength=minStringLength;searchStart++;foundMatch=false;}}
if(bestMatch.length){newCompressed=referencePrefix+encodeReferenceInt(bestMatch.distance,2)+encodeReferenceLength(bestMatch.length);pos+=bestMatch.length;}else{if(data.charAt(pos)!=referencePrefix){newCompressed=data.charAt(pos);}else{newCompressed=referencePrefix+referencePrefix;}
pos++;}
compressed+=newCompressed;}
return compressed+data.slice(pos).replace(/`/g,"``");};this.decompress=function(data){var decompressed="";var pos=0;while(pos<data.length){var currentChar=data.charAt(pos);if(currentChar!=referencePrefix){decompressed+=currentChar;pos++;}else{var nextChar=data.charAt(pos+1);if(nextChar!=referencePrefix){var distance=decodeReferenceInt(data.substr(pos+1,2),2);var length=decodeReferenceLength(data.charAt(pos+3));decompressed+=decompressed.substr(decompressed.length-distance-length,length);pos+=minStringLength-1;}else{decompressed+=referencePrefix;pos+=2;}}}
return decompressed;};};var alert_defined=false;var alert=null;if(typeof(window.console)!=='undefined'){if(typeof(window.console.debug)!=='undefined'||typeof(window.console.log)!=='undefined'){if(typeof(window.console.debug)!=='undefined'){var alert=function(msg,force){window.console.debug(msg);}
alert_defined=true;}else if(typeof(window.console.log)!=='undefined'){var alert=function(msg,force){window.console.log(msg);}
alert_defined=true;}}}
var IE={Version:function(){var version=999;if(navigator.appVersion.indexOf("MSIE")!=-1)
version=parseFloat(navigator.appVersion.split("MSIE")[1]);return version;}}
if(!alert_defined||IE.Version().toInt()<9){var alert=function(msg,force){if(typeof(force)!='undefined'&&force==true){confirm(msg);}}}
Element.implement({show:function(type,duration,opt,hide){var default_fade_duration=160;var default_height_duration=160;if(typeof(opt)!='object'){opt={};}
this.store('display',!hide);switch(type){case'fade':if(this.retrieve('fx_fade')){this.retrieve('fx_fade').cancel();var percent=((hide?this.getStyle('opacity'):(1-this.getStyle('opacity')))/1);duration=(duration*percent);}
var fx=new Fx.Tween(this,{'property':'opacity','duration':(duration||default_fade_duration),transition:(opt.transition||Fx.Transitions.linear)});fx.addEvent('complete',function(){if(hide){if(opt.visibility){this.setStyle('visibility','hidden');}else{this.setStyle('display','none');}}this.store('fx_fade',null);if(opt.complete){opt.complete();}}.bind(this));this.store('fx_fade',fx);if(!hide&&(this.getStyle('display')=='none'||this.getStyle('visibility')=='hidden')){this.setStyles({'opacity':0,'display':'','visibility':'visible'});}
fx.start(hide?0:1);break;case'height':if(this.is_hidden()||hide||this.retrieve('fx_height')){if(this.retrieve('fx_height')){this.retrieve('fx_height').cancel();}
this.setStyles({'display':''});var computedSize=this.getComputedSize();var height=computedSize.totalHeight+this.getStyle('margin-top').toInt()+this.getStyle('margin-bottom').toInt();var width=computedSize.totalWidth+this.getStyle('margin-left').toInt()+this.getStyle('margin-right').toInt();if(!this.retrieve('wrapper')){this.store('styles',this.getStyles('position','top','left','bottom','right','float'));var wrapper=new Element('div').inject(this,'before').grab(this);wrapper.setStyles({height:hide?height:0,width:width,overflow:'hidden'}).setStyles(this.retrieve('styles'));if(wrapper.getStyle('position')=='absolute'||wrapper.getStyle('position')=='relative'){var position=(wrapper.getStyle('bottom').toInt()>0||opt.position=='bottom')?{bottom:0,top:'auto'}:{top:0,bottom:'auto'};this.setStyles({position:'absolute',left:0}).setStyles(position);}
this.store('wrapper',wrapper);}else{var wrapper=this.retrieve('wrapper');var wrapper_height=wrapper.getStyle('height').toInt();}
if(wrapper_height){var percent=((hide?wrapper_height:(height-wrapper_height))/height);duration=(duration*percent);}
var fx=new Fx.Tween(wrapper,{property:'height',duration:(duration||default_height_duration),transition:(opt.transition||Fx.Transitions.linear)});fx.addEvent('complete',function(){this.setStyles(this.retrieve('styles'));this.inject(wrapper,'before');wrapper.destroy();this.store('fx_height',null);this.store('wrapper',null);if(hide){this.setStyles({'display':'none'});}
if(opt.complete){opt.complete();}}.bind(this));this.store('fx_height',fx);fx.start(hide?0:height);}
break;default:if(this.retrieve('fx_fade')){this.retrieve('fx_fade').cancel();this.store('fx_fade',null);}
if(this.retrieve('fx_height')){this.retrieve('fx_height').cancel();this.store('fx_height',null);}
if(this.retrieve('styles')){this.setStyles(this.retrieve('styles'));this.store('styles',null)}
if(this.retrieve('wrapper')){this.inject(wrapper,'before');wrapper.destroy();this.store('wrapper',null);}
hide?this.setStyles({'display':'none','opacity':1}):this.setStyles({'display':'','opacity':1});if(opt.complete){opt.complete();};}
return this;},hide:function(type,duration,opt){if(this.is_shown()){this.show(type,duration,opt,true);}else{if(typeof(opt)=='object'&&opt.complete){opt.complete();};}
return this;},toggle:function(type,duration,opt){return this.show(type,duration,opt,this.showing());},is_shown:function(){return(this.getStyle('display')!='none');},is_hidden:function(){return!this.is_shown();},showing:function(){return this.retrieve('display',this.is_shown());},hiding:function(){return this.retrieve('display',this.is_hidden());}});Element.implement({swapClass:function(remove,add){this.removeClass(remove).addClass(add);return this;},setFocus:function(index){this.setAttribute('tabIndex',index||0);this.focus();}});function StringBuffer(){this.buffer=[];}
StringBuffer.prototype.append=function append(string){this.buffer.push(string);return this;};StringBuffer.prototype.toString=function toString(){return this.buffer.join("");};function urlencode(str){str=(str+'').toString();return encodeURIComponent(str).replace(/!/g,'%21').replace(/'/g,'%27').replace(/\(/g,'%28').replace(/\)/g,'%29').replace(/\*/g,'%2A').replace(/%20/g,'+');}
