if(typeof(Vx)=="undefined"){var Vx={}}Vx.postBack=function(d,g,c,b,f,h,a){var e=$(document.forms[d])||$(d);e.store("validationGroup",b||null);e.store("validation",c===true);if(typeof(Page_ClientValidate)==="function"){Page_ClientValidate(b)}if(f){e.action=f}if(h){this.submitForm(e,g,a)}};Vx.submitForm=function(d,g,a){if(d.elements.__EVENTTARGET){d.__EVENTTARGET.value=g||"";d.__EVENTARGUMENT.value=a||""}if(d.dispatchEvent){var f=document.createEvent("HTMLEvents");f.initEvent("submit",true,true);if(d.dispatchEvent(f)&&Browser.Engine.webkit){d.submit()
}}else{if(document.createEventObject){if(d.onsubmit){var h=d.onsubmit,c=function(){d.onsubmit=h;d.removeEvent("submit",c);return d.onsubmit()};d.onsubmit=null;$(d).addEvent("submit",c)}var b=new Element("input",{type:"submit",styles:{display:"none"}});b.inject(d);b.click();b.dispose()}}};Vx.UrlResolver={resolve:function(e){var d=window.location.protocol=="https:",b,a,f,c;e=e.trim();c=e.lastIndexOf(".");if(c===-1||c===e.length-1){return e}c=e.substring(c+1).toLowerCase();for(b=0,a=this.locations.length;
b<a;++b){f=this.locations[b];if(f.extensions.contains(c)){if(e.charAt(0)!="/"){e="/"+e}return f.authority[d?"secure":"insecure"]+e}}return e},locations:[{extensions:["jpg","png","gif","swf","ico","css"],authority:{secure:"https://img.vxcdn.com",insecure:"http://img.vxcdn.com"}},{extensions:["js","htc","fix"],authority:{secure:"https://js.vxcdn.com",insecure:"http://js.vxcdn.com"}}]};(function(){var b=function(f){var d={x:0,y:0},e=f.value.split(",");if(e&&e.length===2){d.x=Math.max(e[0].toInt(10),0);
d.y=Math.max(e[1].toInt(10),0)}return d},a=function(d){return(d&&!d.disabled&&d.type!=="hidden"&&d.isVisible()&&d.focus&&d.getStyle("visibility")!=="hidden")},c;Vx.focus=function(d){c=d};window.addEvent("domready",function(){var g=$("__VXSCROLL"),f,d;if(g&&g.form){f=b(g);if(f.x>0||f.y>0){window.scrollTo(f.x,f.y)}$(g.form).addEvent("submit",function(){var e=window.getScroll();g.value=""+e.x+","+e.y;return true})}if(c){d=$(c);if(d&&a(d)){try{d.focus();if($type(d.scrollIntoView)=="function"){d.scrollIntoView(false)
}}catch(h){}}}})})();Fx.$Slide=Fx.Slide;Fx.Slide=new Class({Extends:Fx.Slide,initialize:function(b,a){this.parent(b,a);if(this.options.hideOverflow){this.addEvent("complete",this.$adjustVisible.bind(this),true);this.$adjustVisible()}if(this.options.noDisplayOnHide){this.addEvent("complete",this.$adjustHidden.bind(this,[false]),true)}},$adjustVisible:function(){if(this.open&&this.options.hideOverflow){this.wrapper.setStyle("overflow","");if(this.layout){this.wrapper.setStyle(this.layout,"")}}},$adjustStart:function(){if(this.options.hideOverflow){this.wrapper.setStyle("overflow","hidden")
}return this}.protect(),$adjustHidden:function(a){if(this.options.noDisplayOnHide&&!this.open){this.element.setStyle("display",(a?"":"none"))}return this},start:function(b,c){this.$adjustHidden(true);var a=this.parent(b,c);this.$adjustStart();return a},hide:function(b){var a=this.$adjustStart().parent(b);this.$adjustHidden(false);return a},show:function(b){var a=this.$adjustHidden(true).parent(b);this.$adjustVisible();return a}});if(!Vx.Ajax){Vx.Ajax={}}Vx.Ajax.DependentUpdate=new Class({Implements:[Options,Events],options:{prependDefaultItem:{text:"Please choose...",value:""},hiddenChangeIndicator:null,containerToHide:null,slideContainerInOut:true,service:{url:"",parameter:"selector",method:"get",encoding:"utf-8",dataText:"text",dataValue:"value",retriesAfterTimeout:3,timeoutPeriod:4000},checkSubjectDelay:350,ignoreInvalidSubjectValue:true},initialize:function(a,c,b){this.setOptions(b);
this.observer=$(a);this.subject=$(c);if(this.options.containerToHide){this.container=$(this.options.containerToHide)}switch(this.observer.type){case"select-multiple":return;case"select-one":this.observerIsList=true;break;default:this.observerIsList=false;break}this.update={retry:0,resultValue:""};if(this.options.hiddenChangeIndicator){this.hiddenChangeIndicator=$(this.options.hiddenChangeIndicator);if(this.hiddenChangeIndicator){this.observer.addEvent("change",this.observerChanged.bind(this))}}$(this.observer.form).addEvent("submit",this.checkSubmit.bind(this));
this.watchSubject();this.setup()},watchSubject:function(){if($type(this.subject)!="element"||this.subject.nodeName.toLowerCase()!="input"){return}this.delayCheckSubjectValue=false;var a=this.subject.type.toLowerCase();switch(a){case"text":this.delayCheckSubjectValue=true;this.subject.addEvent("keyup",this.subjectChanged.bind(this));break;case"hidden":this.subject.addEvent("change",this.subjectChanged.bind(this));break;case"checkbox":this.subject.addEvent("click",this.subjectChanged.bind(this));break
}this.lastSubjectValue=this.subject.get("value")},setup:function(){var a=(this.observerIsList&&this.observer.length>0)||$chk(this.observer.get("value"));if(this.container){this.slideElement(this.container,a?"show":"hide");this.container.setStyle("display",a?"":"none")}if(!a&&$chk(this.subject.get("value"))){this.lastSubjectValue=null;this.checkSubjectValue()}this.updateChangeIndicator(false)},subjectChanged:function(){if(this.checkSubjectDelay){this.checkSubjectDelay=$clear(this.checkSubjectDelay)
}this.updateChangeIndicator(false);if(this.delayCheckSubjectValue){this.checkSubjectDelay=function(){this.checkSubjectDelay=$clear(this.checkSubjectDelay);this.checkSubjectValue()}.delay(Math.max(this.options.checkSubjectDelay,0),this)}else{this.checkSubjectValue()}},checkSubjectValue:function(){var d=true,a=this.subject.get("value"),b=false;if(a===this.lastSubjectValue){return}this.lastSubjectValue=a;if(this.options.ignoreInvalidSubjectValue){var c=$(this.subject.form).retrieve("validator");if(c&&c.fieldInfo[this.subject.id]){b=this.subject.retrieve("validateSilent",false);
this.subject.store("validateSilent",true);if(!c.validateField(this.subject,true)){d=false}if(!b){this.subject.eliminate("validateSilent")}}else{this.options.ignoreInvalidSubjectValue=false}}this.stopRequest();if(d&&this.update.lastSuccessfulSelector===a){if(this.container){this.showElement(this.container)}if(!this.observerIsList){this.observer.set("value",this.update.resultValue);this.observerChanged()}else{this.resetObserver(false)}return}this.resetObserver(true);if(this.container){this.hideElement(this.container)
}if(d){this.startRequest(a,false)}},observerChanged:function(){this.updateChangeIndicator(true)},checkSubmit:function(a){if(this.checkSubjectDelay){this.resetObserver(true);if(this.container){this.hideElement(this.container)}}},startRequest:function(c,b){if(!$defined(c)){return}this.stopRequest();if(!this.update.request){this.update.request=new Request.JSON({link:"cancel",method:this.options.service.method,encoding:this.options.service.encoding,url:this.options.service.url,onSuccess:this.updateObserver.bind(this),onFailure:function(g){var d=0;
try{d=g.status}catch(f){}switch(d){case 408:case 449:case 503:case 504:this.startRequest(this.update.selector,true);break}}.bind(this)})}if(b){if(this.update.retry>=this.options.service.retriesAfterTimeout){return}++this.update.retry}else{this.update.retry=0}this.update.selector=c;var a={data:encodeURIComponent(c)};if($chk(this.options.service.parameter)){a.data=this.options.service.parameter+"="+a.data}this.update.request.send(a);if(this.options.service.timeoutPeriod>0){this.update.timeout=this.startRequest.delay(this.options.service.timeoutPeriod,this,[this.update.selector,true])
}},stopRequest:function(){if(this.update.timeout){this.update.timeout=$clear(this.update.timeout)}if(this.update.request){this.update.request.cancel()}},updateObserver:function(k){this.stopRequest();var e=this.options.service;if($type(e.onRequestCompleted)=="function"){k=e.onRequestCompleted(k,e.dataText,e.dataValue,this.observer)}if($type(k)!="object"){return}var l=$splat(k.result),a=$type(e.onItemProcessing)=="function"?e.onItemProcessing:null;if(this.observerIsList){if(l.length===0){this.update.selector=null;
return}var f=this.observer.options,g=this.options.prependDefaultItem,j,b;f.length=0;if(g){f[0]=new Option(g.text,g.value,true,true)}for(var c=0,d=l.length;c<d;++c){j=a?a(l[c],e.dataText,e.dataValue):l[c];b=j.selected===true;f[f.length]=new Option(j[e.dataText],j[e.dataValue],b,b)}this.resetObserver(false)}else{l=a?a(l[0],e.dataText,e.dataValue):l[0];var h=$type(l)=="object"?l[e.dataValue]:l;this.observer.set("value",h||"");this.update.resultValue=this.observer.get("value");this.observerChanged()}this.update.lastSuccessfulSelector=this.update.selector;
this.update.selector=null;if(this.container){this.showElement(this.container)}},resetObserver:function(a){if(this.observerIsList){if(this.observer.length>0){this.observer.selectedIndex=this.options.prependDefaultItem&&!a?0:-1}}else{this.observer.set("value","")}this.observerChanged()},hideElement:function(a){if(!this.slideElement(a,"out")){a.setStyle("display","none")}},showElement:function(a){a.setStyle("display","");this.slideElement(a,"in")},slideElement:function(c,a){if(!this.options.slideContainerInOut||!Fx||!Fx.Slide){return false
}var b=c.retrieve("slide");if(!b){b=new Fx.Slide(c,{link:"cancel",duration:"short",onComplete:function(d){if(d.retrieve("slideOut",false)){d.setStyle("display","none")}}});c.store("slide",b)}c.store("slideOut",["out","hide"].contains(a));switch(a){case"in":b.slideIn();break;case"out":b.slideOut();break;case"hide":b.hide();break;case"show":b.show();break}return true},updateChangeIndicator:function(a){if(!this.hiddenChangeIndicator){return}var b=""+this.subject.get("value").length;b+="|"+this.subject.get("value")+this.observer.get("value");
this.hiddenChangeIndicator.value=b}});Vx.Ajax.Paola={jsonPostProcess:function(d,e){if(!d||$type(d.result)!="array"){return d}var b=d.result,a=d.result.length,g=true,c,f;for(c=0;c<a;++c){if(b[c].locationMainName!=b[0].locationMainName||!b[c].locationPartName){g=false;break}}for(c=0;c<a;++c){f=b[c].locationMainName;if(g){f=b[c].locationPartName}else{if(b[c].locationPartName&&b[c].locationPartName!=b[c].locationMainName){f+=" / "+b[c].locationPartName}}b[c][e]=f}return d}};if(!Vx.UI){Vx.UI={}}Vx.UI.StarRating=new Class({Implements:[Options],options:{cssCurtain:"ratingActive",cssBackground:"ratingInactive",cssLabel:"ratingDescription",lockSelection:false,ignoreFirstIfEmpty:true,defaultText:null},initialize:function(a,b){this.setOptions(b);
this.select=$(a);if(this.select.options.length<2){return}if(this.options.ignoreFirstIfEmpty&&this.select.options[0].value===""){this.ignoreFirstOption=true}this.maxRating=this.select.options.length-(this.ignoreFirstOption?1:0);this.starWidth=0;this.container=new Element("div",{"class":this.options.cssBackground,styles:{display:"none",width:"0px"},tabindex:this.select.tabIndex||255});this.curtain=new Element("div",{"class":this.options.cssCurtain,styles:{width:"0px"}}).inject(this.container);this.container.inject(this.select,"before");
this.label=new Element("span",{"class":this.options.cssLabel}).inject(this.container,"after");this.select.setStyle("display","none").store("validateHidden",this.container);this.container.addEvent("focus",function(){this.select.fireEvent("focus")}.bind(this));var c=function(){var d=this.container.getStyle("background-image"),f,e;if(!d){c.delay(100);return}f=/\("?(.*?)"?\)/.exec(d)[1];e=new Image();e.onload=function(){this.starWidth=e.width;this.setup(e.height)}.bind(this);e.src=f}.bind(this);c()},setup:function(a){var c=this.getRating();
this.curtain.setStyles({height:a,width:this.starWidth*c});this.container.setStyles({height:a,width:this.starWidth*this.maxRating,display:""});this.showDescription(c);if(!c||!this.options.lockSelection){this.events={mousemove:this.hover.bindWithEvent(this),mouseleave:this.leave.bind(this),click:this.rate.bindWithEvent(this)};for(var b in this.events){this.container.addEvent(b,this.events[b])}}},hover:function(b){var a=this.calculateRating(b);this.curtain.setStyle("width",a*this.starWidth);this.showDescription(a);
if(!this.hasFocus){this.hasFocus=true;this.container.fireEvent("focus")}return true},leave:function(){var a=this.getRating();this.curtain.setStyle("width",this.starWidth*a);this.showDescription(a);if(this.hasFocus){this.hasFocus=false;this.container.fireEvent("blur")}},rate:function(b){this.setRating(this.calculateRating(b));if(this.options.lockSelection){for(var a in this.events){this.container.removeEvent(a,this.events[a])}}this.select.fireEvent("change");return true},calculateRating:function(a){var b=a.client.x-$(a.target).getPosition().x;
return Math.min(Math.ceil((1+b)/this.starWidth),this.maxRating)},showDescription:function(a){if(a>0||(this.ignoreFirstOption&&!$defined(this.options.defaultText))){this.label.innerHTML=this.select.options[a-(this.ignoreFirstOption?0:1)].text}else{this.label.innerHTML=this.options.defaultText||""}},getRating:function(){var a=this.select.selectedIndex+(this.ignoreFirstOption?0:1);return a<0?0:a},setRating:function(a){this.select.selectedIndex=a-(this.ignoreFirstOption?0:1)}});Vx.UI.SiteMapHeader={swapCalculators:function(c){var e="calc-",f,b,d=0;
while(true){f=document.getElementById(e+d);b=document.getElementById(e+d+"-menu");if(!b||!f){break}f.style.display="none";b.className="";++d}f=document.getElementById(e+c);f.style.display="block";b=document.getElementById(e+c+"-menu");b.className="selected";window.focus()}};Vx.UI.TextArea=new Class({Implements:[Options],options:{pattern:"{0}",text:["Noch {0} Zeichen &uuml;brig"],counter:null,counterProps:{},cutPasteDelay:100},initialize:function(c,a,b){this.setOptions(b);this.area=$(c);this.limit=Math.max(a,1);
this.prepareMessages($splat(this.options.text||this.options.pattern));if(this.options.counter){this.counter=$(this.options.counter)}else{this.counter=new Element("div",this.options.counterProps).inject(this.area,"after");new Element("br",{"class":"clear"}).inject(this.area,"after")}this.watchArea();this.updateCounter()},watchArea:function(){this.area.addEvent("keypress",function(f){return this.area.get("value").length<this.limit||f.alt||f.control||f.event.which===0||f.key=="backspace"}.bindWithEvent(this));
var d=this.updateCounter.bind(this),c=this.area.oncut,b=this.area.onpaste,a=this;this.area.addEvent("keyup",d);if(!Browser.Engine.presto){this.area.oncut=function(f){d.delay(a.options.cutPasteDelay);return($type(c)=="function")?c(f):true};this.area.onpaste=function(g){var f=true;if(a.area.get("value").length<a.limit){d.delay(a.options.cutPasteDelay)}else{f=false}if($type(b)=="function"){f&=b(g)}return f}}else{this.area.addEvent("focus",d);this.area.addEvent("blur",d);$(this.area.form).addEvent("submit",d)
}$(this.area.form).addEvent("reset",function(){d.delay(a.options.cutPasteDelay)})},updateCounter:function(){if(this.area.get("value").length>this.limit){this.area.set("value",this.area.get("value").substr(0,this.limit))}this.counter.set("html",this.getText(this.limit-this.area.get("value").length));return true},prepareMessages:function(a){this.messages=[];if(a.length===0){throw new RangeError("Empty text array not allowed")}a.each(function(e,b){e=" ".concat(e," ");var d=e.split(this.options.pattern),c;
d[0]=d[0].substr(1);c=d[d.length-1];d[d.length-1]=c.substr(0,c.length-1);this.messages[b]=d}.bind(this))},getText:function(a){var b=this.messages[Math.min(this.messages.length-1,a)];if(b.length===1){return b[0]}return b.join(a)}});Vx.UI.LayerSwitchButton={defaultImage:{},open_close:function(c,h,e,g,a,i,d){var f=$(h);var b=$(g);var j=$(e);if(b===null||j===null){return}if(b.style.display=="block"){if(f!==null){f.setProperties({src:$defined(a)?a:this.defaultImage.open,alt:d})}b.style.display="none";
j.value="c"}else{if(f!==null){f.setProperties({src:$defined(i)?i:this.defaultImage.close,alt:d})}b.style.display="block";j.value="o"}}};Vx.UI.LayerSwitch={content_items:{},link_items:{},menu_prefix:"layerswitchmenue_",link_prefix:"layerswitchlink_",content_prefix:"layerswitchcontent_",style_hide:"none",style_show:"block",init:function(){var b=$$("div[id^="+this.menu_prefix+"]");for(var a=0;a<b.length;++a){var c=b[a];this.content_items[c.id]=c.getElements("div[id^="+this.content_prefix+"]");this.link_items[c.id]=c.getElements("*[id^="+this.link_prefix+"]")
}},switchlayers:function(j,b,k,d,h){if(!$chk(j)){return}var e=0;if($chk(h)&&$defined(this.link_items[j])){var l=this.link_items[j];for(e=0;e<l.length;++e){l[e].className=h}}if($defined(this.content_items[j])){var g=this.content_items[j];for(e=0;e<g.length;++e){g[e].style.display=this.style_hide}}if($defined(d)&&$defined(b)){var a=$(b);if(a){a.className=d}}if($defined(k)){var c=$(k);if(c){c.style.display=this.style_show}}var f=$(j+"_v");if(f){f.value=b}},switchcheckboxlayers:function(b,a){if($(b).style.display!=this.style_hide){$(b).style.display=this.style_hide;
$(a).style.display=this.style_show}else{$(b).style.display=this.style_show;$(a).style.display=this.style_hide}}};Vx.UI.Form=new Class({initialize:function(c,b){c=$(c);if(!c){return null}var d,a;if(c.get("tag")==="form"){d=c}else{if(!c.form||c.type!=="submit"){return null}a=c;d=a.form}return this.watchForm(d,a,b)},setDefault:function(a){this.defaultButton=a},watchForm:function(b,a,d){var c=$(b).retrieve("FormWatcher");if(c){if(a){c.setDefault(a)}return c}this.form=b;if(a){this.setDefault(a)}else{if(!this.setFieldInfo(d)){return null
}}b.addEvent("keypress",this.keyInput.bindWithEvent(this));b.store("FormWatcher",this);return this}.protect(),setFieldInfo:function(g){if(!g){return false}var c=this.form.getElements("input[type=submit]"),d,a,f=false,e,b;if(!c||c.length<=1){return false}this.fields={};this.fieldInfo=g||{};this.buttons={};for(d=0,a=c.length;d<a;++d){if(!c[d].onclick){continue}if(!e){e=/Vx.postBack\(.*?,.*?,\s*true\s*,\s*["'](.+?)["']/}b=e.exec(c[d].onclick.toString());if(b&&b[1]){this.buttons[b[1]]=c[d];f=true}}return f
}.protect(),keyInput:function(c){if(c.key!=="enter"||(c.target&&c.target.tagName.toLowerCase()==="textarea")){return true}var a,b;if(this.defaultButton){a=this.defaultButton}else{if(c.target){b=this.getValidationGroup(c.target);if(b){a=this.buttons[b]}}}if(a){c.stop();a.click();return false}return true},getValidationGroup:function(c){if(!c||!c.id){return null}var b=this.fields[c],a;if($defined(b)){return b}b="";a=this.fieldInfo[c.id];if(a&&a.validators){a.validators.every(function(d){if(!d.validationGroup){return true
}if(b!==""&&b!==d.validationGroup){b="";return false}b=d.validationGroup;return true})}this.fields[c]=b;return b}});Vx.InputValidator=new Class({Implements:[Options],initialize:function(b,a){this.setOptions({errorMsg:"Validation failed.",test:function(c){return true}},a);this.className=b},test:function(b,a){if($(b)){return this.options.test(b,a||{})}else{return false}},getError:function(c,a){var b=this.options.errorMsg;if($type(b)==="function"){b=b($(c),a||{})}return b}});Vx.FormValidator=new Class({Implements:[Options,Events],options:{ignoreHidden:true,useTitles:true,evaluateOnSubmit:true,evaluateFieldsOnBlur:true,evaluateFieldsOnChange:false,watchEnterKey:true,serial:true,warningPrefix:function(){return Vx.FormValidator.resources[Vx.FormValidator.language].warningPrefix||""
},errorPrefix:function(){return Vx.FormValidator.resources[Vx.FormValidator.language].errorPrefix||""}},initialize:function(d,b){this.setOptions(b);this.form=$(d);this.form.store("validator",this);this.warningPrefix=$lambda(this.options.warningPrefix)();this.errorPrefix=$lambda(this.options.errorPrefix)();if(this.options.evaluateOnSubmit){this.form.addEvent("submit",this.submit.bind(this))}this.errorGroups={};this.fieldInfo={};this.fields=[];if(this.options.fields){for(var a in this.options.fields){var c=$(a);
if(!c){continue}this.fields.push(c);var g={field:c,validators:this.options.fields[a].validators};var f=this.options.fields[a].errorGroup;if(f){g.errorGroup=f;if(!$defined(this.errorGroups[f])){this.errorGroups[f]={fields:[],active:null}}this.errorGroups[f].fields.push(c)}var e=this.options.fields[a].fieldGroup;if(e){this.prepareFieldGroup(c,e)}this.fieldInfo[a]=g}delete this.options.fields}if(this.options.evaluateFieldsOnBlur){this.watchFields()}if(this.options.watchEnterKey){(function(){new Vx.UI.Form(this.form,this.fieldInfo)
}).delay(100,this)}},getFields:function(){return this.fields},prepareFieldGroup:function(g,f){var e=[],c,a,d,b;b=["radio","checkbox"].contains(g.get("type"))?"click":"change";for(c=0,a=f.length;c<a;++c){d=$(f[c]);if(!d||d===g){continue}e.push(d);d.addEvent(b,this.validateField.pass([g,false],this))}g.store("fieldGroup",e)},clearFailedValidator:function(d){var b=this.fieldInfo[d.id].validators,a,c;for(c=0,a=b.length;c<a;++c){b[c].failed=false}},getFailedValidator:function(d){var b=this.fieldInfo[d.id].validators,a,c;
for(c=0,a=b.length;c<a;++c){if(b[c].failed){return b[c]}}return null},watchFields:function(){this.getFields().each(function(a){if(this.options.evaluateFieldsOnBlur){a.addEvent("blur",this.validateField.pass([a,true],this))}if(this.options.evaluateFieldsOnChange){a.addEvent("change",this.validateField.pass([a,true],this))}},this)},watchAfterFirstValidation:function(a){if(this.fieldInfo[a.id].validationCallback){return}var b=this.fieldInfo[a.id].validationCallback={};switch(a.type){case"checkbox":case"radio":b.click=function(){this.validateField(a,false);
return true}.bind(this);break;case"text":case"password":case"textarea":b.keyup=function(){this.validateField(a,false);return true}.bind(this);break;case"select-one":case"select-multiple":default:b.change=function(){this.validateField(a,false);return true}.bind(this);break}a.addEvents(b)},submit:function(b){var a=this.onSubmit(b);this.fireEvent("submit",[b,a])},onSubmit:function(a){var b=true;delete this.infoMsgOnSubmitField;if(this.form.retrieve("validation",false)&&!this.validate(a)){if(a){a.preventDefault()
}if(this.infoMsgOnSubmitField){this.getHiddenFieldReplacement(this.infoMsgOnSubmitField).focus();delete this.infoMsgOnSubmitField}b=false}else{this.reset()}this.form.eliminate("validationGroup");this.form.eliminate("validation");return b},reset:function(){this.getFields().each(this.resetFieldAdvice,this);return this},validate:function(b){var a=this.getFields().map(function(c){return this.validateField(c,true)},this).every(function(c){return c});this.fireEvent("FormValidate",[a,this.form,b]);return a
},validateField:function(d,b){if(this.paused){return true}d=$(d);if(!d){return true}if(d.hasClass("maybeempty")&&d.get("value")===""){d.removeClass("validation-passed");d.removeClass("validation-failed");return true}var g=true,e=false,f=this.form.retrieve("validationGroup");this.clearFailedValidator(d);this.resetFieldAdvice(d);this.fieldInfo[d.id].validators.every(function(h){if(f&&h.validationGroup&&f!==h.validationGroup){return true}e=true;if(!this.test(h,d)){h.failed=true;g=false;if(this.options.serial){return false
}}return true},this);if(!g&&!this.infoMsgOnSubmitField&&d.hasClass("infomsg")){this.infoMsgOnSubmitField=d}if(e&&!d.hasClass("warnOnly")&&!d.retrieve("validateSilent")){this.watchAfterFirstValidation(d);var c=d.retrieve("fieldGroup"),a=this.fieldInfo[d.id].failedOnce||false;if(g){d.removeClass("validation-failed");if(a){d.addClass("validation-passed")}if(c){c.each(function(h){h.removeClass("validation-failed");if(a){h.addClass("validation-passed")}})}this.infoMsgOnBlur(d,true);this.removeInfoMsgEvents(d);
this.fireEvent("ElementPass",d)}else{if(!a){this.fieldInfo[d.id].failedOnce=true}d.addClass("validation-failed").removeClass("validation-passed");if(c){c.each(function(h){h.addClass("validation-failed").removeClass("validation-passed")})}this.addInfoMsgEvents(d);this.fireEvent("ElementFail",[d,this.fieldInfo[d.id].validators]);if(!b){this.infoMsgOnFocus(d,true)}}}return g},test:function(f,d,e){d=$(d);if(d.hasClass("ignoreValidation")||f.disabled){return true}e=$pick(e,d.hasClass("warnOnly"));var c=true,a,b=this.getValidator(f.name);
if(b&&this.isVisible(d)){c=b.test(d,f.props);if(!d.retrieve("validateSilent")){if(!c&&!d.hasClass("adviceoff")&&f.adviceOn){a=this.makeAdvice(f,d,b.getError(d,f.props),e);this.insertAdvice(a,d);this.showAdvice(f,d)}else{this.hideAdvice(f,d)}this.fireEvent("ElementValidate",[c,d,f])}}if(e){return true}return c},addInfoMsgEvents:function(e){var b=this.getHiddenFieldReplacement(e),d=e.retrieve("fieldGroup"),a=this.fieldInfo[e.id].infoMsgCallbacks,c;if(a){return}a={focus:this.infoMsgOnFocus.pass([e,false],this),blur:this.infoMsgOnBlur.pass([e,false],this)};
c=$pick(b.type,b.retrieve("validationType"),"none");switch(c){case"select-one":case"select-multiple":a.click=this.infoMsgOnBlur.pass([e,false],this);case"checkbox":case"radio":a.mouseenter=function(h,g){if((!h.currentTarget||h.currentTarget==h.target)&&h.relatedTarget&&h.relatedTarget!=h.target){this.infoMsgOnFocus(g,false)}return true}.bindWithEvent(this,e);a.mouseleave=this.infoMsgOnBlur.pass([e,false],this);break}b.addEvents(a);if(d){d.each(function(f){f.addEvents(a)})}this.fieldInfo[e.id].infoMsgCallbacks=a
},removeInfoMsgEvents:function(d){var b=this.getHiddenFieldReplacement(d),a=this.fieldInfo[d.id].infoMsgCallbacks,c=d.retrieve("fieldGroup");if(!a){return}b.removeEvents(a);if(c){c.each(function(e){e.removeEvents(a)})}delete this.fieldInfo[d.id].infoMsgCallbacks},showAdvice:function(c,b){var a=c.advice;if(a&&(a.getStyle("display")=="none"||a.getStyle("visibility")=="hidden"||a.getStyle("opacity")===0)&&this.showInErrorGroup(b)){if(a.reveal){a.reveal()}else{a.setStyle("display","block")}}},hideAdvice:function(c,b){var a=c.advice;
if(a&&a.getStyle("display")!="none"){if(a.dissolve){a.dissolve()}else{a.setStyle("display","none")}this.hideInErrorGroup(b)}},makeAdvice:function(h,e,b,g){var d=(g?this.warningPrefix:this.errorPrefix),a=h.advice;if(this.options.useTitles){d+=$pick(h.msg.advice,b)}else{d+=$pick(b,"Validation failed")}if(!a){if(!$chk(h.index)){h.index=this.fieldInfo[e.id].validators.indexOf(h)}h.advice=a=new Element("div",{text:d,styles:{display:"none"},id:"advice-"+h.name+"-"+h.index+"-"+e.id}).addClass((g?"warning-advice":"validation-advice"))
}else{a.set("html",d)}var f=e.getAttribute("alertposY"),c=this.getHiddenFieldReplacement(e);if($chk(f)){a.setStyle("top",f+"px")}else{if($chk(f=e.getAttribute("alertposYOffset"))){a.setStyle("top",c.getPosition().y+parseInt(f,10)+"px")}else{a.setStyle("top",c.getPosition().y+"px")}}if($chk(h.posX)){a.setStyle("left",h.posX+"px")}else{if($chk(h.offsetX)){a.setStyle("left",c.getPosition().x+parseInt(h.offsetX,10)+"px")}}return a},insertAdvice:function(a,b){a.inject(document.getElement("body"))},resetFieldAdvice:function(a){a=$(a);
if(a){this.fieldInfo[a.id].validators.each(function(b){this.hideAdvice(b,a)},this)}return this},isVisible:function(a){if(!this.options.ignoreHidden||a.retrieve("validateHidden",false)){return true}while(a!=document.body){if(a.getStyle("display")=="none"){return false}a=a.getParent()}return true},getHiddenFieldReplacement:function(b){var a=$(b).retrieve("validateHidden");if($type(a)!=="element"){return b}return $(a)},stop:function(){this.paused=true;return this},start:function(){this.paused=false;
return this},ignoreField:function(a,b){a=$(a);if(a){this.enforceField(a);if(b){a.addClass("warnOnly")}else{a.addClass("ignoreValidation")}}return this},enforceField:function(a){a=$(a);if(a){a.removeClass("warnOnly").removeClass("ignoreValidation")}return this},toggleValidator:function(f,e,c){f=$(f);if(f&&this.fieldInfo[f.id]){var d,a,b=this.fieldInfo[f.id].validators;for(d=0,a=b.length;d<a;++d){if(b[d].name===e){b[d].disabled=!c}}}},infoMsgOnSubmitField:null,showInErrorGroup:function(d){if(this.errorGroupLock){return true
}if(this.fieldInfo[d.id].errorGroup){this.errorGroupLock=true;var c=this.errorGroups[this.fieldInfo[d.id].errorGroup],b,a;if(c.active&&c.active!=d){for(b=0,a=c.fields.length;b<a;++b){if(c.fields[b]==c.active){this.errorGroupLock=false;return false}else{if(c.fields[b]==d){this.resetFieldAdvice(c.active);break}}}}c.active=d;this.errorGroupLock=false}return true},hideInErrorGroup:function(e){if(this.errorGroupLock){return}if(this.fieldInfo[e.id].errorGroup){this.errorGroupLock=true;var d=this.errorGroups[this.fieldInfo[e.id].errorGroup],c,b,a,f;
if(d.active==e){d.active=null;for(c=0,b=d.fields.length;c<b;++c){a=d.fields[c];if(e!=a){f=this.getFailedValidator(a);if(f!==null){this.showAdvice(f,a);d.active=a;break}}}}this.errorGroupLock=false}},infoMsgOnFocus:function(b,a){if(b.hasClass("infomsg")){this.writeInfoMsg(b,a)}return true},infoMsgOnBlur:function(c,b){if(c.hasClass("infomsg")){var a=$(c.id+"_tooltipInfoInput");if(a){a.dispose();a=null}}return true},writeInfoMsg:function(j,d){var e=j.getAttribute("tooltipInfo");if(!e){return}if(e.indexOf("::")!==-1){e=e.split("::")[1]
}var b=j.id+"_tooltipInfoInput",f=this.getFailedValidator(j);if(f&&f.msg){e+='<br /><div class="infomsgerror">'+(f.msg.info||f.msg.advice)+"</div>"}var k=this.getHiddenFieldReplacement(j),a=parseInt(k.getPosition().y,10)+parseInt(k.offsetHeight,10),c=parseInt(k.getPosition().x,10)-20,l=$(b);if(!l){var h=new Element("div",{id:b,"class":"tooltipInfoInput",styles:{top:a+"px",left:c+"px"}});if(Browser.Engine.trident4){h.set("html",'<div class="inner">'+e+'</div><div class="footer"></div><iframe src="javascript:false;document.write(\'\');" scrolling="no" id="formiframe'+b+'" frameborder="0" style="width:242px;height:10px;position:absolute;top:22px;left:2px;z-index:-1000;overflow:hidden;"></iframe>')
}else{h.set("html",'<div class="inner">'+e+'</div><div class="footer"></div>')}l=h.inject(document.getElement("body"))}else{if(!d){return}else{l.getFirst().set("html",e)}}if(l&&Browser.Engine.trident4){var i=parseInt(l.offsetHeight,10)-31,g;if(i>10){g=$("formiframe"+b);if(g){g.setStyle("height",i)}}}}});Vx.FormValidator.resources={defaultLang:{errorPrefix:"",warningPrefix:""}};Vx.FormValidator.language="defaultLang";Vx.FormValidator.getMsg=function(a,b){return"Failed"};Vx.FormValidator.adders={validators:{},add:function(b,a){this.validators[b]=new Vx.InputValidator(b,a);
if(!this.initialize){this.implement({validators:this.validators})}},addAllThese:function(a){$A(a).each(function(b){this.add(b[0],b[1])},this)},getValidator:function(a){return this.validators[a]}};$extend(Vx.FormValidator,Vx.FormValidator.adders);Vx.FormValidator.implement(Vx.FormValidator.adders);Vx.FormValidator.add("IsEmpty",{errorMsg:false,test:function(a){if(a.hasClass("maybeempty")&&a.get("value")===null){return true}if(a.type==="checkbox"||a.type==="radio"){return !a.checked}if(a.type==="select-one"||a.type==="select"){return !(a.selectedIndex>=0&&a.options[a.selectedIndex].value!=="")
}return((a.get("value")===null)||(a.get("value").length===0))}});Vx.FormValidator.addAllThese([["required",{errorMsg:function(){return Vx.FormValidator.getMsg("required")},test:function(a,b){if($defined(b.initialValue)){return a.get("value")!==b.initialValue}return !Vx.FormValidator.getValidator("IsEmpty").test(a)}}],["one-required",{errorMsg:function(){return Vx.FormValidator.getMsg("one-required")},test:function(a,b){var d=Vx.FormValidator.getValidator("IsEmpty"),c;if(!d.test(a)){return a.get("value")!==b.initialValue
}c=a.retrieve("fieldGroup",[]);return c.some(function(e){return !d.test(e)&&e.get("value")!==b.initialValue})}}],["minLength",{errorMsg:function(a,b){if($chk(b.minLength)){return Vx.FormValidator.getMsg("minLength").substitute({minLength:b.minLength,length:a.get("value").length})}else{return""}},test:function(a,b){return Vx.FormValidator.getValidator("IsEmpty").test(a)||a.get("value").length>=$pick(b.minLength,0)}}],["maxLength",{errorMsg:function(a,b){if($chk(b.maxLength)){return Vx.FormValidator.getMsg("maxLength").substitute({maxLength:b.maxLength,length:a.get("value").length})
}else{return""}},test:function(a,b){return Vx.FormValidator.getValidator("IsEmpty").test(a)||a.get("value").length<=$pick(b.maxLength,10000)}}],["validate-integer",{errorMsg:Vx.FormValidator.getMsg.pass("integer"),test:function(a,b){var c="^"+(b.noWhitespace?"":"\\s*")+"[-+]?\\d+"+(b.noWhitespace?"":"\\s*")+"$";return Vx.FormValidator.getValidator("IsEmpty").test(a)||new RegExp(c).test(a.get("value"))}}],["validate-numeric",{errorMsg:Vx.FormValidator.getMsg.pass("numeric"),test:function(a,b){var c="^"+(b.noWhitespace?"":"\\s*")+"[-+]?\\d+(?:["+$pick(b.decimalSeparator,".")+"]\\d{0,"+$pick(b.decimalDigits,2)+"})?"+(b.noWhitespace?"":"\\s*")+"$";
return Vx.FormValidator.getValidator("IsEmpty").test(a)||new RegExp(c).test(a.get("value"))}}],["validate-number",{errorMsg:Vx.FormValidator.getMsg.pass("number"),test:function(a,b){var c="^"+(b.noWhitespace?"":"\\s*")+"\\d+"+(b.noWhitespace?"":"\\s*")+"$";return Vx.FormValidator.getValidator("IsEmpty").test(a)||new RegExp(c).test(a.get("value"))}}],["validate-digits",{errorMsg:Vx.FormValidator.getMsg.pass("digits"),test:function(a){return Vx.FormValidator.getValidator("IsEmpty").test(a)||(/^[\d() .:\-\+#]+$/.test(a.get("value")))
}}],["validate-alpha",{errorMsg:Vx.FormValidator.getMsg.pass("alpha"),test:function(a){return Vx.FormValidator.getValidator("IsEmpty").test(a)||/^[a-zA-Z]+$/.test(a.get("value"))}}],["validate-alphanum",{errorMsg:Vx.FormValidator.getMsg.pass("alphanum"),test:function(a){return Vx.FormValidator.getValidator("IsEmpty").test(a)||!/\W/.test(a.get("value"))}}],["validate-date",{errorMsg:function(a,b){if(Date.parse){var c=b.dateFormat||"%x";return Vx.FormValidator.getMsg("dateSuchAs").substitute({date:new Date().format(c)})
}else{return Vx.FormValidator.getMsg("dateInFormatMDY")}},test:function(a,b){if(Vx.FormValidator.getValidator("IsEmpty").test(a)){return true}var g;if(Date.parse){var f=b.dateFormat||"%x";g=Date.parse(a.get("value"));var e=g.format(f);if(e!=="invalid date"){a.set("value",e)}return !isNaN(g)}else{var c=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!c.test(a.get("value"))){return false}g=new Date(a.get("value").replace(c,"$1/$2/$3"));return(parseInt(RegExp.$1,10)==(1+g.getMonth()))&&(parseInt(RegExp.$2,10)==g.getDate())&&(parseInt(RegExp.$3,10)==g.getFullYear())
}}}],["validate-email",{errorMsg:Vx.FormValidator.getMsg.pass("email"),test:function(a){return Vx.FormValidator.getValidator("IsEmpty").test(a)||/^(?!\.)(?:[-a-z0-9!#$%&'*+/=?^_`{|}~]|\.(?![.@])){1,64}@(?:\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)]|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel))$/i.test(a.get("value"))}}],["validate-url",{errorMsg:Vx.FormValidator.getMsg.pass("url"),test:function(a){return Vx.FormValidator.getValidator("IsEmpty").test(a)||/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(a.get("value"))
}}],["validate-currency-dollar",{errorMsg:Vx.FormValidator.getMsg.pass("currencyDollar"),test:function(a){return Vx.FormValidator.getValidator("IsEmpty").test(a)||/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(a.get("value"))}}],["compareField",{errorMsg:"Felder sind nicht gleich.",test:function(a,b){return a.get("value")==$(b.compareField).get("value")}}],["crossField",{errorMsg:"Felder sind nicht gleich.",test:function(a,b){var d=a.get("value").trim();
var c=$(b.crossField).get("value").trim();if(d==null||d==""){if(c==null||c==""){return true}return false}return true}}],["checkPassword",{errorMsg:"Password is part of username",test:function(b,c){var d=b.get("value").toLowerCase(),a=(c.username||$(c.userField).get("value")).toLowerCase();return Vx.FormValidator.getValidator("IsEmpty").test(b)||(!a.contains(d)&&!d.contains(a))}}],["greaterThen",{errorMsg:"(zu klein)",test:function(c,e){var b=c.get("value");var g=b.split(".");var f=String(g[2]+""+g[1]+""+g[0]);
var a=e.greaterThen.split(".");var d=String(a[2]+""+a[1]+""+a[0]);if(f<d){return false}else{return true}}}],["lesserThen",{errorMsg:"(zu gross)",test:function(c,e){var b=c.get("value");var g=b.split(".");var f=String(g[2]+""+g[1]+""+g[0]);var a=e.lesserThen.split(".");var d=String(a[2]+""+a[1]+""+a[0]);if(f>d){return false}else{return true}}}],["validate-date-au",{errorMsg:"Please use this date format: dd/mm/yyyy.",test:function(a){if(Vx.FormValidator.getValidator("IsEmpty").test(a)){return true}var b=/^(\d{2})\/(\d{2})\/(\d{4})$/;
if(!b.test(a.get("value"))){return false}var c=new Date(a.get("value").replace(b,"$2/$1/$3"));return(parseInt(RegExp.$2,10)==(1+c.getMonth()))&&(parseInt(RegExp.$1,10)==c.getDate())&&(parseInt(RegExp.$3,10)==c.getFullYear())}}],["validate-date-de",{errorMsg:"Please use this date format: dd.mm.yyyy.",test:function(a){if(Vx.FormValidator.getValidator("IsEmpty").test(a)){return true}var b=/^(\d{2})\.(\d{2})\.(\d{4})$/;if(!b.test(a.get("value"))){return false}var c=new Date(a.get("value").replace(b,"$2/$1/$3"));
return(parseInt(RegExp.$2,10)==(1+c.getMonth()))&&(parseInt(RegExp.$1,10)==c.getDate())&&(parseInt(RegExp.$3,10)==c.getFullYear())}}],["validate-regex",{errorMsg:function(a,b){return"Please enter a valid text"},test:function(a,b){return(Vx.FormValidator.getValidator("IsEmpty").test(a)||new RegExp(b.expression,b.options||"").test(a.get("value")))}}],["validate-range-Integer",{errorMsg:function(b,c){var a=/^\s*[-+]?\d+\s*$/.test(b.get("value"));if(!a){return"Please enter a valid number in this field."
}else{return"Out of range"}},test:function(b,c){var a=Vx.FormValidator.getValidator("IsEmpty").test(b);if(!a){var d="^"+(c.noWhitespace?"":"\\s*")+"[-+]?\\d+"+(c.noWhitespace?"":"\\s*")+"$";a=new RegExp(d).test(b.get("value"));if(a){if(c.maximumValue){a=a&&(Number(c.maximumValue)>=Number(b.get("value")))}if(c.minimumValue){a=a&&(Number(c.minimumValue)<=Number(b.get("value")))}}}return a}}],["validate-range-Double",{errorMsg:function(b,c){var a=/^\s*[-+]?\d+(?:[.,]\d+)?\s*$/.test(b.get("value"));if(!a){return"Please enter a valid number in this field."
}else{return"Out of range"}},test:function(b,c){var a=Vx.FormValidator.getValidator("IsEmpty").test(b);if(!a){var e="^"+(c.noWhitespace?"":"\\s*")+"[-+]?\\d+(?:["+$pick(c.decimalSeparator,".")+"]\\d+)?"+(c.noWhitespace?"":"\\s*")+"$",d=b.get("value");a=new RexExp(e).test(d);if(a){if($chk(c.decimalSeparator)&&c.decimalSeparator!="."){d.replace(c.decimalSeparator,".")}if(c.maximumValue){a=a&&(Number(c.maximumValue)>=Number(d))}if(c.minimumValue){a=a&&(Number(c.minimumValue)<=Number(d))}}}return a}}],["validate-range-DateCustom",{errorMsg:function(b,c){var d=new RegExp(c.dateRegex);
var a=d.test(b.get("value"));if(!a){return"Please use correct date format!"}else{return"Out of range"}},test:function(c,i){var m=Vx.FormValidator.getValidator("IsEmpty").test(c);if(!m){var j=new RegExp(i.dateRegex);var h=c.get("value").replace(j,i.dateFormat);var g=new Date(h);m=j.test(c.get("value"));h.replace(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,"$1/$2/$3");m=m&&(parseInt(RegExp.$1,10)==(1+g.getMonth()))&&(parseInt(RegExp.$2,10)==g.getDate())&&(parseInt(RegExp.$3,10)==g.getFullYear());if(m){var l=c.get("value").replace(new RegExp(i.dateRegex),i.dateFormat);
var a=new Date(l);if(i.maximumValue){var f=i.maximumValue.replace(new RegExp(i.dateRegex),i.dateFormat);var b=new Date(f);m=m&&(a.getTime()<=b.getTime())}if(i.minimumValue){var e=i.minimumValue.replace(new RegExp(i.dateRegex),i.dateFormat);var k=new Date(e);m=m&&(k.getTime()<=a.getTime())}}}return m}}]]);Vx.UI.DatePicker=new Class({Implements:[Options,Events],options:{format:"%x",calendarId:false,stickyWinOptions:{draggable:true,dragOptions:{},position:"bottomLeft",offset:{x:10,y:10},fadeDuration:400,zIndex:750},updateOnBlur:true,additionalShowLinks:[],showOnInputFocus:true,hideCalendarOnPick:true,weekStartOffset:0},initialize:function(a,b){if(document.id(a)){this.inputs=$H({start:document.id(a)})
}this.today=new Date();var c=(typeof StickyWinFx=="undefined")?StickyWin:StickyWinFx;this.setOptions({stickyWinToUse:c},b);if(!this.inputs){return}this.whens=this.whens||["start"];if(!this.options.calendarId){this.options.calendarId="popupCalendar"+new Date().getTime()}if(!this.options.stickyWinOptions.id){this.options.stickyWinOptions.id="sticky_"+this.options.calendarId}this.setUpObservers();this.getCalendar();this.formValidatorInterface();this.bound={click:this.checkClick.bind(this),keydown:this.escapeKeyHandler.bind(this)}
},formValidatorInterface:function(){this.inputs.each(function(a){var b;if(a.get("validatorProps")){try{b=JSON.decode(a.get("validatorProps"))}catch(c){}}if(b&&b.dateFormat){this.setOptions({format:b.dateFormat})}},this)},calWidth:260,inputDates:{},selectedDates:{},setUpObservers:function(){this.inputs.each(function(a){if(this.options.showOnInputFocus){a.addEvent("focus",this.show.bind(this))}a.addEvent("blur",function(b){if(b){this.selectedDates=this.getDates(null,true);this.fillCalendar(this.selectedDates.start);
if(this.options.updateOnBlur){this.updateInput()}}}.bind(this));if(this.options.runOnChange&&$type(this.options.runOnChange)==="function"){a.addEvent("change",this.options.runOnChange)}},this);this.options.additionalShowLinks.each(function(a){$(a).addEvent("click",this.show.bind(this))},this)},getDates:function(c,b){var e={};if(!b){c=c||this.selectedDates}var a=function(d){var f=this.inputs.get(d);if(f){e[d]=this.validDate(f.get("value"))}}.bind(this);this.whens.each(function(d){switch($type(c)){case"object":if(c){e[d]=c[d]?c[d]:c
}if(!e[d]&&!e[d].format){a(d)}break;default:a(d);break}if(!e[d]){e[d]=this.selectedDates[d]||new Date()}},this);return e},updateInput:function(){$each(this.getDates(),function(c,b){var a=this.inputs.get(b);if(!a){return}a.set("value",(c)?this.formatDate(c)||"":"")},this);return this},validDate:function(b){if(!$chk(b)){return null}var a=Date.parse(b.trim());return isNaN(a)?null:a},formatDate:function(a){return a.format(this.options.format)},getCalendar:function(){if(!this.calendar){var e=new Element("table",{id:this.options.calendarId,border:"0",cellpadding:"0",cellspacing:"0"}).addClass("datePicker");
var a=new Element("tbody").inject(e);(8).times(function(g){var h=new Element("tr").inject(a);(7).times(function(j){var k=new Element("td").inject(h).set("html","&nbsp;")})});var d=a.getElements("tr");d[0].addClass("dateNav");d[1].addClass("dayNames");(6).times(function(g){d[g+2].addClass("dayRow")});this.rows=d;var b=d[1].getElements("td");b.each(function(g,h){var j=Date.getMsg("abbrDays");if(j){g.firstChild.data=j[(h+this.options.weekStartOffset)%7]}else{g.firstChild.data=Date.getMsg("days")[(h+this.options.weekStartOffset)%7].substring(0,3)
}},this);[6,5,4,3].each(function(g){d[0].getElements("td")[g].dispose()});this.prevLnk=d[0].getElement("td").setStyle("text-align","right");if(!Browser.Engine.trident4){this.prevLnk.adopt(new Element("a").set("html",String.fromCharCode(9668)).addClass("rightScroll"))}else{this.prevLnk.adopt(new Element("a").set("html","&lt;").addClass("rightScroll"))}this.month=d[0].getElements("td")[1];this.month.set("colspan",5);this.nextLnk=d[0].getElements("td")[2].setStyle("text-align","left");if(!Browser.Engine.trident4){this.nextLnk.adopt(new Element("a").set("html",String.fromCharCode(9658)).addClass("leftScroll"))
}else{this.nextLnk.adopt(new Element("a").set("html","&gt;").addClass("leftScroll"))}e.addEvent("click",this.clickCalendar.bind(this));this.calendar=e;this.container=new Element("div").adopt(e).addClass("calendarHolder");this.content=this.$makeStickyWinContainer("",this.container,{cornerHandle:this.options.stickyWinOptions.draggable,width:this.calWidth});var c=$merge(this.options.stickyWinOptions,{content:this.content,className:"datePickerSW",allowMultipleByClass:true,showNow:false,relativeTo:this.inputs.get("start")});
this.stickyWin=new this.options.stickyWinToUse(c);var f=this.content.getElement("div.closeButton");f.addEvent("click",this.hide.bind(this));if(f){f.setStyle("z-index",this.stickyWin.win.getStyle("z-index").toInt()+2)}}return this.calendar},$makeStickyWinContainer:function(d,a,e){e=$extend({width:300,cornerHandle:false,buttons:[]},e);d=$pick(d,"%caption%");a=$pick(a,"%body%");var b=new Element("div").setStyle("width",e.width).addClass("DefaultStickyWin");if(e.cssClass){b.addClass(e.cssClass)}var g=new Element("h1").addClass("caption").setStyle("width",(e.width.toInt()-(e.cornerHandle?70:60)));
if($(d)){g.adopt(d)}else{g.set("html",d)}var f=new Element("div").addClass("body");if($(a)){f.adopt(a)}else{f.set("html",a)}var c=new Element("div").addClass("closeButton").addClass("closeSticky");if($(a)){a.adopt(c)}else{f.adopt(c)}var h=new Element("div").addClass("top_ur");h.adopt(g);if(e.cornerHandle){new Element("div").addClass("dragHandle").inject(h,"top")}else{g.addClass("dragHandle")}b.adopt(new Element("div").addClass("top").adopt(new Element("div").addClass("top_ul")).adopt(h));b.adopt(new Element("div").addClass("middle").adopt(f));
b.adopt(new Element("div").addClass("bottom").adopt(new Element("div").addClass("bottom_ll")).adopt(new Element("div").addClass("bottom_lr")));return b},escapeKeyHandler:function(a){if(a.key==="esc"){this.inputs.each(function(b){b.blur()});this.hide()}},checkClick:function(c){var a,b=this.stickyWin.win;this.inputs.each(function(d){if(c.target===d){a=true}});if(!b||a){return true}if(b!==c.target&&!b.hasChild(c.target)){this.hide()}return true},hide:function(){var a;for(a in this.bound){document.removeEvent(a,this.bound[a])
}this.stickyWin.hide();this.fireEvent("onHide");return this},show:function(){var a;for(a in this.bound){document.addEvent(a,this.bound[a])}this.selectedDates={};var b=this.getDates(null,true);this.whens.each(function(c){this.inputDates[c]=b[c]?b[c].clone():b.start?b.start.clone():this.today;this.selectedDates[c]=!this.inputDates[c]||isNaN(this.inputDates[c])?this.today:this.inputDates[c].clone();this.getCalendar(c)},this);this.fillCalendar(this.selectedDates.start);this.stickyWin.show();this.fireEvent("onShow");
return this},handleScroll:function(b){if(b.target.hasClass("rightScroll")||b.target.hasClass("leftScroll")){var a=b.target.hasClass("rightScroll")?this.rows[2].getElement("td").refDate-Date.units.day():this.rows[7].getElements("td")[6].refDate+Date.units.day();this.fillCalendar(new Date(a));return true}return false},setSelectedDates:function(b,a){this.selectedDates.start=a},onPick:function(){this.updateSelectors();this.inputs.each(function(a){a.fireEvent("change");a.fireEvent("blur")});this.fireEvent("onPick");
if(this.options.hideCalendarOnPick){this.hide()}},clickCalendar:function(b){if(this.handleScroll(b)){return}if(!b.target.firstChild||!b.target.firstChild.data){return}if(this.options.readOnly){if(this.options.hideCalendarOnPick){this.hide()}return}if(b.target.refDate){var a=Date.parse(b.target.refDate);this.setSelectedDates(b,a);this.updateInput();this.onPick()}},fillCalendar:function(d){if($type(d)=="string"){d=new Date(d)}var a=(d)?new Date(d.getTime()):new Date();var b=a.get("hours");a.setDate(1);
var e=a.getDay();if(e<this.options.weekStartOffset){e+=7}a.setTime((a.getTime()-(Date.units.day()*(e)))+(Date.units.day()*this.options.weekStartOffset));var c=new Element("span",{html:Date.getMsg("months")[d.getMonth()]+" "+d.getFullYear()});document.id(this.rows[0].getElements("td")[1]).empty().adopt(c);var f=a.clone();this.rows.each(function(h,g){if(g<2){return}h.getElements("td").each(function(i){f.set("hours",b);i.firstChild.data=f.getDate();i.refDate=f.getTime();f.setTime(f.getTime()+Date.units.day())
},this)},this);this.updateSelectors()},updateSelectors:function(){var a;var b=new Date(this.rows[5].getElement("td").refDate).getMonth();this.rows.each(function(d,c){if(c<2){return}d.getElements("td").each(function(e){e.className="";a=new Date(e.refDate);if(a.format("%x")==this.today.format("%x")){e.addClass("today")}this.whens.each(function(f){var g=this.selectedDates[f];if(g&&a.format("%x")==g.format("%x")){e.addClass("selectedDate");this.fireEvent("selectedDateMatch",[e,f])}},this);this.fireEvent("rowDateEvaluated",[a,e]);
if(a.getMonth()!==b){e.addClass("otherMonthDate")}a.setTime(a.getTime()+Date.units.day())},this)},this)}});Vx.UI.Overlay=new Class({Implements:[Options],options:{offset:{x:0,y:0},position:"bottomRight",overlaySuffix:"_div"},initialize:function(d,b,a,c){this.trigger=$(d);this.input=$(b);if(!this.input||!this.trigger){return}this.setOptions(c);this.overlay=$(this.trigger.id+this.options.overlaySuffix);if(!this.overlay){return}this.setWatch(a)},setWatch:function(c){this.trigger.addEvent("click",this.toggle.bind(this));
var b=this.overlay.getElements("a"),d=this,a;b.each(function(e,f){e.addEvent("click",d.acceptValue.bind(d,c[f]||""))});if(this.options.hoverCss){this.switchCss=(function(e){var f,g=false;return function(h){if(h&&h.type){g=(h.type==="mouseover")}if(e.overlay.isDisplayed()){return true}if(f){if(!g){e.trigger.className=f;f=null}}else{f=e.trigger.className;e.trigger.className=e.options.hoverCss}return true}})(this);this.trigger.addEvent("mouseenter",this.switchCss).addEvent("mouseleave",this.switchCss)
}},toggle:function(){this.overlay.toggle();if(this.overlay.isDisplayed()){this.overlay.position({relativeTo:this.input,position:this.options.position,offset:this.options.offset});this.input.focus();this.callback=this.hideOnClick.bind(this);this.input.addEvent("blur",this.callback)}else{this.hideOnClick()}},hideOnClick:function(){if(this.timeout){$clear(this.timeout);delete this.timeout}if(this.callback){this.input.removeEvent("blur",this.callback);delete this.callback;if(this.overlay.isDisplayed()){this.timeout=function(){delete this.timeout;
this.hideOverlay()}.delay(200,this)}}},hideOverlay:function(){this.overlay.hide();if(this.switchCss){this.switchCss()}},acceptValue:function(a){this.hideOverlay();this.input.set("value",a);this.hideOnClick();this.input.fireEvent("change");if($type(this.input.onchange)==="function"){this.input.onchange()}}});Vx.UI.Tooltips=new Class({Implements:[Events,Options],options:{onShow:function(a,b){a.setStyle("visibility","visible");if(b){b.setStyles({display:"block",width:a.offsetWidth-7+"px",height:a.offsetHeight-6+"px"})
}},onHide:function(a,b){a.setStyle("visibility","hidden");if(b){b.setStyle("display","none")}},maxTitleChars:60,showDelay:100,hideDelay:100,className:"tool",offset:{x:16,y:16},fixed:false},initialize:function(b,a){this.setOptions(a);this.tip=$("tooltipdiv");if(!this.tip){return}this.tip.addClass(this.options.className);this.container=new Element("div").inject(this.tip);this.backgroundLayer=$("tooltipbglayer");$$(b).each(this.attach,this);if(this.options.initialize){this.options.initialize.call(this)
}},attach:function(a){if(a.title){a.store("tip:native",a.title).erase("title")}a.addEvent("mouseenter",this.start.bindWithEvent(this,a));a.addEvent("mouseleave",this.end.bind(this));if(!this.options.fixed){a.addEvent("mousemove",this.position.bindWithEvent(this))}},getProps:function(b){var a=b.retrieve("tip:props"),c;if(a){return a}a={title:false,text:b.retrieve("tip:native")};a.title=(b.href&&b.get("tag")=="a")?b.href.replace("http://",""):(b.rel||false);if(a.text){c=a.text.split("::");if(c.length>1){a.title=c[0].trim();
a.text=c[1].trim()}b.eliminate("tip:native")}if(a.title&&a.title.length>this.options.maxTitleChars){a.title=a.title.substr(0,this.options.maxTitleChars-1)+"&hellip;"}b.store("tip:props",a);return a},start:function(c,b){var a=this.getProps(b);this.container.empty();if(a.title){this.title=new Element("span").inject(new Element("div",{"class":this.options.className+"-title"}).inject(this.container)).set("html",a.title)}if(a.text){this.text=new Element("span").inject(new Element("div",{"class":this.options.className+"-text"}).inject(this.container)).set("html",a.text)
}$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);this.position((this.options.fixed)?{page:b.getPosition()}:c)},end:function(a){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this)},position:function(a){var c=window.getSize(),g=window.getScroll(),h={x:this.tip.offsetWidth,y:this.tip.offsetHeight},e={x:"left",y:"top"},b={},f,d;for(d in e){f=a.page[d]+this.options.offset[d];if((f+h[d]-g[d])>c[d]){f=a.page[d]-this.options.offset[d]-h[d];if(f<g[d]){f=g[d]
}}b[e[d]]=f}this.tip.setStyles(b);if(this.backgroundLayer){var i=this.tip.getPosition();this.backgroundLayer.setStyles({top:i.y+"px",left:i.x+"px"})}},show:function(){if(this.options.timeout){this.timer=this.hide.delay(this.options.timeout,this)}this.fireEvent("show",[this.tip,this.backgroundLayer])},hide:function(){this.fireEvent("hide",[this.tip,this.backgroundLayer])}});(function(){var b={area:"sliderArea_",knob:"sliderKnob_",value:"sliderUpd_",cssKnobEnabled:"sliderKnob",cssKnobDisabled:"sliderKnobDisabled"},a=false;
Vx.UI.Slider=new Class({Implements:[Events,Options],options:{onTick:function(c){if(this.options.snap){c=this.toPosition(this.step)}this.knob.setStyle(this.property,c)},snap:false,offset:0,range:false,wheel:false,steps:100,mode:"horizontal",skipFirstChange:true,separator:",",multiplier:1,decimal:2,suffix:""},initialize:function(d,c){if(!c.onChange){c.onChange=this.update}this.$initialize(c.areaId||b.area+d,c.knobId||b.knob+d,c);this.valueElem=$(b.value+d);this.hiddenElem=$(d);Vx.UI.Slider.sliders[d]=this
},$initialize:function(h,c,g){this.setOptions(g);this.element=$(h);this.knob=$(c);this.previousChange=this.previousEnd=this.step=-1;var i,d={},f={x:false,y:false};switch(this.options.mode){case"vertical":this.axis="y";this.property="top";i="offsetHeight";break;case"horizontal":this.axis="x";this.property="left";i="offsetWidth"}this.full=this.element.measure(function(){this.half=this.knob[i]/2;return this.element[i]-this.knob[i]+(this.options.offset*2)}.bind(this));this.min=$chk(this.options.range[0])?this.options.range[0]:0;
this.max=$chk(this.options.range[1])?this.options.range[1]:this.options.steps;this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.knob.setStyle("position","relative").setStyle(this.property,-this.options.offset);f[this.axis]=this.property;d[this.axis]=[-this.options.offset,this.full-this.options.offset];var e={snap:0,limit:d,modifiers:f,onDrag:this.draggedKnob.bind(this),onStart:this.draggedKnob.bind(this),onComplete:function(){this.draggedKnob();
this.end()}.bind(this)};if(this.options.snap){e.grid=Math.ceil(this.stepWidth);e.limit[this.axis][1]=this.full}this.drag=new Drag(this.knob,e);this.attach()}.protect(),attach:function(){this.events={mousedown:this.clickedElement.bind(this)};if(this.options.wheel){this.events.mousewheel=this.scrolledElement.bindWithEvent(this)}this.element.addEvents(this.events);this.drag.attach()},dispose:function(){this.drag.detach();this.element.removeEvents(this.events);delete Vx.UI.Slider.sliders[this.hiddenElem.id];
delete this.events;delete this.slaves;delete this.master;return null},set:function(c){if(!((this.range>0)^(c<this.min))){c=this.min}if(!((this.range>0)^(c>this.max))){c=this.max}this.step=c;this.checkStep();this.end();this.fireEvent("tick",this.toPosition(this.step));return this},clickedElement:function(e){var d=this.range<0?-1:1;var c=e.page[this.axis]-this.element.getPosition()[this.axis]-this.half;c=c.limit(-this.options.offset,this.full-this.options.offset);this.set(this.min+d*this.toStep(c))
},scrolledElement:function(c){var d=(this.options.mode=="horizontal")?(c.wheel<0):(c.wheel>0);this.set(d?this.step-this.stepSize:this.step+this.stepSize);c.stop()},draggedKnob:function(){var d=this.range<0?-1:1;var c=this.drag.value.now[this.axis];c=c.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+d*this.toStep(c));this.checkStep()},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;this.fireEvent("change",this.step)}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;
this.fireEvent("complete",this.step+"")}},toStep:function(c){var d=(c+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(d-=d%this.stepSize):d},toPosition:function(c){return(this.full*Math.abs(this.min-c))/(this.steps*this.stepSize)-this.options.offset},update:function(g){var c=g*this.options.multiplier;var e=c.toFixed(this.options.decimal);if(this.minutes){var d=Math.floor(e);var f=((e-d)*60).toFixed(0).toString();if(f.length===1){f="0"+f}e=d.toString()+":"+f
}else{if(this.options.separator!="."){e=e.replace(/\./,this.options.separator)}}this.valueElem.set("html",e+this.options.suffix);this.hiddenElem.value=c;this.hiddenElem.fireEvent("change");this.updateTotal();this.updateGroup();if($type(this.options.clientChange)=="function"){if(this.options.skipFirstChange){this.options.skipFirstChange=false}else{this.options.clientChange.call(this,e)}}},updateTotal:function(){this.buildMaster();if(this.master){this.master.slaveChanged()}this.buildSlaves();if(this.slaves){this.updateMasterSlaves()
}},slaveChanged:function(){if(this.masterLock){return}if(!this.slaves){this.buildSlaves();if(!this.slaves){return}}var d=0;for(var c=0;c<this.slaves.length;++c){d+=this.slaves[c].step}this.set(d)},updateMasterSlaves:function(){this.masterLock=true;var c,e=0,f=0,d=this.slaves.length;for(c=0;c<d;++c){e+=this.slaves[c].step}for(c=0;c<d;++c){if(e==0){this.slaves[c].set(this.step/d)}else{this.slaves[c].set(this.step/e*this.slaves[c].step)}f+=this.slaves[c].step}this.masterLock=false;if(this.step>f){for(c=0;
c<d;++c){if(this.slaves[c].step==0){this.slaves[c].step=this.step-(f-this.slaves[c].step)}}this.slaveChanged()}else{if(this.step<f){this.step=f}}},buildMaster:function(){if(!this.master&&this.options.master){var c=Vx.UI.Slider.sliders[this.options.master];if(c){this.master=c;delete this.options.master}}},buildSlaves:function(){if(!this.slaves&&$type(this.options.slaves)=="array"){if(this.options.slaves.length===0){delete this.options.slaves;return}var d=[];for(var c=this.options.slaves.length-1;c>=0;
--c){var e=Vx.UI.Slider.sliders[this.options.slaves[c]];if(e){d.push(e)}else{return}}this.slaves=d;delete this.options.slaves}},updateGroup:function(){this.buildGroup();if(!this.groupSiblings){return}if(a){return}a=true;var e=0;for(var c=0;c<this.groupSiblings.length;++c){e+=this.groupSiblings[c].step}if(e+this.step>this.steps){this.set(this.steps-e)}var f=e+this.step==this.steps?b.cssKnobDisabled:b.cssKnobEnabled;for(c=0;c<this.groupSiblings.length;++c){var d=this.groupSiblings[c];d.set(d.step);
d.knob.className=f}this.knob.className=f;a=false},buildGroup:function(){if(this.groupSiblings||!this.options.group){return}if(this.options.group.length===0){delete this.options.group;return}var e=[];for(var c=this.options.group.length-1;c>=0;--c){var d=Vx.UI.Slider.sliders[this.options.group[c]];if(!d){return}if(d!=this){e.push(d)}}this.groupSiblings=e;delete this.options.group}});Vx.UI.Slider.sliders={}})();(function(){var b=null,a=function(g,f,e){var h;if(g===b){return b.close()}if(b){b.close()
}b=g;g.registry=[];SqueezeBox.addEvent("close",g.closing);SqueezeBox.addEvent("open",g.opening);if(e&&e.target&&["adopt","clone"].contains(e.handler)){if(!e.size){SqueezeBox.addEvent("update",function(k,j){var i=k.getFirst();if(i){i.measure(function(){j.options.size=i.getSize()})}})}SqueezeBox.addEvent("open",function(j){var i=j.getFirst();if(i&&i.getStyle("display")==="none"){i.setStyle("display","")}})}return !SqueezeBox.open(f,e)},c=function(f,g){if(["array","collection"].contains($type(f))){var e=[];
f.each(function(h){var i=c(h);if(i){e.push(i)}});return(g?e:e.join(","))}if(!f.checked&&["radio","checkbox"].contains(f.type)){return""}return f.get("value")},d=function(h,f,e){var g;if(["array","collection"].contains($type(h))){g=$splat(e?f:c(f,true));h.each(function(i){d(i,g.contains(i.get("value")),true)});return}g=e?f:c(f);switch(h.type){case"radio":case"checkbox":h.checked=!!g;break;default:h.set("value",g);break}h.fireEvent("change")};Vx.UI.Lightbox=new Class({Implements:[Options],options:{url:"",handler:null,target:null,parse:false,iframePreload:true,topMenu:{show:true},lightbox:{redirect:null,popupParameter:null,minOuterMargin:{x:50,y:55},minSize:{x:100,y:100},topMenuHeight:40,layout:"lightbox",hideMain:{id:"wrapper",css:"hide"}}},initialize:function(e,f){this.closing=this.closing.bind(this);
this.opening=this.opening.bind(this);this.options.onResize=this.adjustSize.bind(this);if(e.lightbox.layout==="tooltip"){$extend(e,{showOverlay:false,repositionOnScroll:false,shadow:false,background:true,classBackground:"sbox-bg sbox-bg-",classCloseBtn:"sbox-btn-close-tooltip",topMenu:{show:false}})}this.setOptions(e);this.options.url=this.appendPopupParam(this.options.url);this.receivers=f||{};this.registry=[]},adjustSize:function(i,f,e){if(f){return}var h,g=this.options.lightbox.layout==="tooltip"?window.getScrollSize():window.getSize(),j=$merge({},this.options.lightbox.minOuterMargin);
if(e){j.y+=this.options.lightbox.topMenuHeight}for(h in g){i[h]=Math.min(i[h],Math.max(g[h]-j[h],this.options.lightbox.minSize[h]))}},link:function(g,f){g=$(g);if(g){f=this.appendPopupParam(f);var e=f?$merge(this.options,{url:f,handler:"iframe"}):this.options;if(e.lightbox.layout==="tooltip"&&!e.anchor){e=$merge(e,{anchor:g})}g.addEvent("click",a.pass([this,null,e]))}},adopt:function(e){return !a(this,e,$merge(this.options,{target:$(e),handler:"adopt"}))},open:function(f){f=this.appendPopupParam(f);
var e=f?$merge(this.options,{url:f,handler:"iframe"}):this.options;return !a(this,null,e)},opening:function(e){if(this.options.lightbox.layout!=="tooltip"&&this.options.lightbox.hideMain.id){var f=document.body.getElementById(this.options.lightbox.hideMain.id);if(f){f.addClass(this.options.lightbox.hideMain.css)}}},close:function(f){var e=this.options.lightbox.redirect;if(f){this.options.lightbox.redirect=f}SqueezeBox.close();if(f){this.options.lightbox.redirect=e}return false},closing:function(g){var f,e,h;
for(e in this.receivers){break}if(e){f=g.getFirst();if(f&&f.get("tag")==="iframe"){$try(this.registerSenders(f.contentWindow))}else{this.registerSenders(window)}}if(this.registry.length>0){this.registry.each(function(i){d(i.receiver,i.sender)})}if(this.options.lightbox.layout!=="tooltip"&&this.options.lightbox.hideMain.id){h=document.body.getElementById(this.options.lightbox.hideMain.id);if(h){h.removeClass(this.options.lightbox.hideMain.css)}}b=null;if(this.options.lightbox.redirect){window.location=this.options.lightbox.redirect
}},appendPopupParam:function(e){if(e&&this.options.lightbox.popupParameter&&e.indexOf(this.options.lightbox.popupParameter)===-1){if(e.indexOf("?")===-1){e+="?"}else{if(e.charAt(e.length-1)!=="&"){e+="&"}}e+=this.options.lightbox.popupParameter}return e}.protect(),registerSenders:function(f){if(!f.Vx||!f.Vx.UI){return}var e={};f.Vx.UI.Lightbox.senders.each(function(g){$extend(e,g)});this.mapInputs(e)}.protect(),mapInputs:function(f){var e,g;for(e in this.receivers){g={sender:f[e],receiver:this.receivers[e]};
if(g.receiver&&g.sender){this.registry.push(g)}}}.protect()});Vx.UI.Lightbox.getInstance=function(){return b};Vx.UI.Lightbox.quit=function(f){var e;if(b){e=b}else{if(window.parent!==window&&window.parent.Vx){e=window.parent.Vx.UI.Lightbox.getInstance()}}if(e){e.close(f)}};Vx.UI.Lightbox.senders=[];Vx.UI.Lightbox.domready=function(e){var f=(Browser.Engine.trident&&window.parent!==window)?"load":"domready";window.addEvent(f,e)};Vx.UI.LightboxCloser=function(g){this.block=$(g);this.block.setStyle("display","");
var e=this.block.getElements("a,button,input[type=submit]"),f=function(h){h.stop();Vx.UI.Lightbox.quit();return false};if(e){e.each(function(h){h.addEvent("click",f)})}}})();(function(){var d=function(i,g){var h=i.charCodeAt(g),f;if(h>=55296&&h<=56319){if(i.length>g+1){f=i.charCodeAt(g+1);if(f>=56320&&f<=57343){return i.charAt(g)+i.charAt(g+1)}}}return i.charAt(g)},c=function(h){if(!h){return 0}if(h.length===2){var g=h.charCodeAt(0),f=h.charCodeAt(1);return((g-55296)*1024)+f-56320+65536}return h.charCodeAt(0)
},a={digit:1,whitespace:2,symbol:4,letterLowerCase:8,letterUpperCase:16,alpha:24},b=function(i){var f,g,h;if(/^\s+$/.test(i)){f="whitespace"}else{if(/^\d+$/.test(i)){f="digit"}else{g=i.toLowerCase();h=i.toUpperCase();if(g===h){f="symbol"}else{f=g===i?"letterLowerCase":"letterUpperCase"}}}return[a[f],f]},e=function(j,f){var h=d(j,f),g=b(h),i={chr:h,charCount:0,type:g[0],typeKey:g[1],code:c(h),seqAsc:0,seqDesc:0,consecutive:0,index:-1};return i};Vx.UI.PasswordMeter=new Class({Implements:[Options],options:{modifiers:{base:4,digit:2,symbol:5,middleNonAlpha:2,requirementFulfilled:2,nonConsecutiveAlpha:2,oneTypeOnly:-1,letterUpperCaseConsecutive:-2,letterLowerCaseConsecutive:-2,whitespaceConsecutive:-3,digitConsecutive:-3,symbolConsecutive:-4,sequentialAlpha:-3,sequentialNumber:-3,repeatedChar:-2},requirements:{minLength:8,minDifferentTypes:3},css:{scoreBox:"pwd-meter-scorebox",scoreBar:"pwd-meter-scorebar",scoreText:"pwd-meter-scoretext"},limits:[20,40,60,80,100],texts:["very weak","weak","medium","strong","very strong"],emptyText:"unrated"},initialize:function(f,g,h){this.container=$(f);
this.input=$(g);if(!this.container||!this.input){return}this.setOptions(h);var i=new Element("div",{"class":this.options.css.scoreBox});this.scoreBar=new Element("div",{"class":this.options.css.scoreBar,html:"&nbsp;"}).inject(i);this.scoreText=new Element("span",{"class":this.options.css.scoreText});this.container.adopt(i).adopt(this.scoreText).setStyle("display","");this.input.addEvent("keyup",this.updateDisplay.bind(this));this.updateDisplay()},checkPassword:function(n){var q=this.options.modifiers,j=0,o=0,f=[],s=0,g={},r=[],l,m,h,p,k;
if(!n||$type(n)!=="string"){return j}for(l in a){f[a[l]]=0}for(l=0,m=n.length;l<m;++l){h=e(n,l);if(h.chr.length===2){++l}h.index=o++;r.push(h);f[h.type]++;k=h.chr.toLowerCase();g[k]=(g[k]||0)+1;h.charCount=g[k];if(p&&p.type===h.type){h.consecutive=p.consecutive||++s;if((h.type&a.alpha)||(h.type&a.digit)){if(p.code+1===h.code){h.seqAsc=p.seqAsc+1}else{if(p.code-1===h.code){h.seqDesc=p.seqDesc+1}}}}p=h}f[a.alpha]=f[a.letterLowerCase]+f[a.letterUpperCase];r.each(function(u){var t=q.base,i=q.sequentialAlpha;
switch(u.type){case a.digit:i=q.sequentialNumber;if(f[u.type]<o){t+=q.digit}break;case a.symbol:t+=q.symbol;break}if(!(u.type&a.alpha)&&u.index>0&&u.index<o-1){if(!u.consecutive||(u.index>1&&u.consecutive!==s)){t+=q.middleNonAlpha}}if(u.seqAsc>1||u.seqDesc>1){t+=i}if(u.consecutive){t+=(q[u.typeKey+"Consecutive"]||0)}else{if(u.type&a.alpha){t+=q.nonConsecutiveAlpha}}if(u.charCount>1){t+=q.repeatedChar}if(f[u.type]===o){t+=q.oneTypeOnly}if(t>0){j+=t}});if(o>=this.options.requirements.minLength){k=0;
for(l in a){if(l==="alpha"){continue}if(f[a[l]]>0){++k}}if(k>=this.options.requirements.minDifferentTypes){j+=k*q.requirementFulfilled}}return j},updateDisplay:function(){var h=this.input.get("value"),k,g,f,j="&nbsp;";if(h.length===0){this.scoreBar.setStyles({width:0,backgroundPosition:"0 0"});this.scoreText.innerHTML=this.options.emptyText;return}k=this.checkPassword(h);k=k>100?100:(k<0?0:k);this.scoreBar.setStyles({width:(k<1?1:k)+"%",backgroundPosition:(k*-3)+"px 0"});for(g=0,f=this.options.limits.length;
g<f;++g){if(k<=this.options.limits[g]){j=this.options.texts[g]||"";break}}this.scoreText.innerHTML=j}})})();Vx.UI.ReadMore=new Class({Implements:[Options],options:{limit:250,cutLimit:22,saving:50,linkText:"... read more"},initialize:function(a,b){a=$splat(a);this.setOptions(b);a.each(this.setup,this)},setup:function(d){d=$(d);if(!d){return}var g=d.get("html")||"",a=this.options.limit,f,b,e,c;if(g.length<a+this.options.saving){return}f=this.options.cutLimit;if(f+a>=g.length){f=g.length-a-1}b=g.slice(a,a+f).search(/[!?)(>]|[.,](?!\d)|\s(?![^<]*>)/);
b=(b===-1)?a:a+b+1;e=new Element("span",{html:g.slice(b),styles:{display:"none"}});c=new Element("a",{text:this.options.linkText,href:"javascript:void(0);",styles:{"white-space":"nowrap"}});c.addEvent("click",this.showMore.pass([c,e]));d.set("html",g.slice(0,b)).adopt([e,c])}.protect(),showMore:function(a,b){a.setStyle("display","none");b.setStyle("display","")}});(function(){var a={sliderArea:"sliderArea",sliderKnob:"sliderKnob",sliderKnobDisabled:"sliderKnobDisabled",sliderLine:"sliderLine",sliderUpd:"sliderUpd"};
Vx.UI.AssociatedSlider=new Class({Implements:[Events,Options],Binds:["clickedElement","draggedKnob","scrolledElement","enableSlider"],options:{onTick:function(b){if(this.options.snap){b=this.toPosition(this.step)}this.sliderKnob.setStyle(this.property,b)},snap:false,offset:0,range:false,wheel:true,steps:false,mode:"horizontal",sliderCaption:"",multiplier:1},initialize:function(g,e){Vx.UI.AssociatedSlider.sliders[g]=this;this.setOptions(e);if($type(this.options.steps)==="array"){this.valueArray=this.options.steps;
this.linear=false}else{if($type(this.options.steps)==="number"){this.linear=true}else{this.steps=0;this.linear=true}}if($type(this.options.clientChange)==="function"){this.clientChangeFunction=this.options.clientChange}this.associatedId=e.associatedId;this.valueElement=$(this.options.associatedId);this.sliderArea=$(g);this.sliderKnob=new Element("div",{"class":a.sliderKnob});this.sliderLine=new Element("div",{"class":a.sliderLine});this.sliderUpd=new Element("div",{"class":a.sliderUpd});this.sliderArea.adopt(this.sliderKnob,this.sliderLine,this.sliderUpd);
if(this.valueElement){this.valueElement.addEvent("change",this.onValueElementChange.bind(this))}this.sliderKnob.addEvent("click",this.focusElement.bind(this));this.sliderKnob.addEvent("focus",function(h){h.target.set("tabindex",0)});this.sliderKnob.addEvent("blur",function(h){h.target.set("tabindex",-1)});this.sliderKnob.addEvent("keyup",this.keyPressed.bind(this));this.previousChange=this.previousEnd=this.step=-1;var f="offsetWidth",b={},d={x:false,y:false};this.axis="x";this.property="left";this.full=this.sliderArea.measure(function(){this.half=this.sliderKnob[f]/2;
return this.sliderArea[f]-this.sliderKnob[f]+(this.options.offset*2)}.bind(this));if(!this.linear){this.min=this.valueArray[0];this.max=this.valueArray.getLast();this.range=this.max-this.min;this.steps=this.valueArray.length-1;this.stepWidth=this.full/this.steps;this.options.multiplier=1}else{this.steps=this.options.steps;this.min=this.options.minValue||0;this.max=this.steps+this.min;this.range=this.max-this.min;this.stepSize=Math.abs(this.range)/this.steps;this.stepWidth=this.stepSize*this.full/Math.abs(this.range)
}this.sliderUpd.set("html",this.options.sliderCaption);this.inputValid=true;d[this.axis]=this.property;b[this.axis]=[-this.options.offset,this.full-this.options.offset];var c={snap:0,limit:b,modifiers:d,onDrag:this.draggedKnob,onStart:this.draggedKnob,onBeforeStart:(function(){this.isDragging=true}).bind(this),onCancel:function(){this.isDragging=false}.bind(this),onComplete:function(){this.isDragging=false;this.draggedKnob();this.end()}.bind(this)};if(c.snap){c.grid=Math.floor(this.stepWidth);c.limit[this.axis][1]=this.full
}this.drag=new Drag(this.sliderKnob,c);this.isEnabled=!this.sliderArea.get("disabled");this.enableSlider(this.isEnabled);if(this.valueElement){this.initialValue=this.valueElement.get("value").toInt();this.initialValue=this.initialValue?this.initialValue:this.min}else{this.initialValue=this.min}this.initial=true;this.set(this.initialValue)},onValueElementChange:function(b){var c=b.target.get("value").toInt();this.preventRecursion=true;if(isNaN(c)){this.inputValid=false;this.set(this.min)}else{this.inputValid=true;
this.set(c/this.options.multiplier)}},focusElement:function(b){if(!this.isEnabled){return}b.target.focus()},keyPressed:function(d){this.checkAssociatedInput();if(d.key==="left"||d.key==="right"){var e,c,b;c=d.key==="left"?-1:1;if(this.linear){this.set(this.previousEnd+c)}else{b=this.valueArray[this.valueArray.indexOf(this.previousEnd)+c];if(!isNaN(b)){this.set(b)}}}},attach:function(){this.sliderArea.addEvent("mousedown",this.clickedElement);if(this.options.wheel){this.sliderArea.addEvent("mousewheel",this.scrolledElement)
}this.drag.attach();return this},detach:function(){this.sliderArea.removeEvent("mousedown",this.clickedElement);this.sliderArea.removeEvent("mousewheel",this.scrolledElement);this.drag.detach();return this},set:function(b){if(!this.isEnabled){return}if(!((this.range>0)^(b<this.min))){b=this.min;this.inputValid=false}if(!((this.range>0)^(b>this.max))){b=this.max;this.inputValid=false}if(this.initial){this.sliderKnob.setStyle("position","relative").setStyle(this.property,this.toPosition(this.initialValue))
}this.step=Math.round(b);this.checkStep();this.fireEvent("tick",this.toPosition(this.step));this.end();return this},clickedElement:function(d){if(this.isDragging||(d.type!=="keyup"&&d.target==this.sliderKnob)){return}this.checkAssociatedInput();var c=this.range<0?-1:1;var b=d.page[this.axis]-this.sliderArea.getPosition()[this.axis]-this.half;b=b.limit(-this.options.offset,this.full-this.options.offset);if(this.linear){this.step=Math.round(this.min+c*this.toStep(b))}else{this.step=this.valueArray[this.toStep(b)]
}this.checkStep();this.fireEvent("tick",b);this.end()},scrolledElement:function(c){this.checkAssociatedInput();var d=(this.options.mode=="horizontal")?(c.wheel<0):(c.wheel>0);if(this.linear){this.set(d?this.step-this.stepSize:this.step+this.stepSize);c.stop()}else{var b=this.valueArray[this.valueArray.indexOf(this.step)+(d?-1:1)];if(!$defined(b)){return}this.set(b);c.stop()}},draggedKnob:function(){this.checkAssociatedInput();var c=this.range<0?-1:1;var b=this.drag.value.now[this.axis];b=b.limit(-this.options.offset,this.full-this.options.offset);
if(this.linear){this.step=Math.round(this.min+c*this.toStep(b))}else{this.step=this.valueArray[this.toStep(b)]}this.checkStep()},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step}if(this.valueElement&&this.inputValid&&!this.initial){if(this.linear){this.valueElement.set("value",this.step*this.options.multiplier)}else{this.valueElement.set("value",this.step)}}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("complete",this.step+"")
}if(this.initial){this.initial=false;return}this.fireChangeEvents()},toStep:function(b){if(this.linear){var c=(b+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(c-=c%this.stepSize):c}else{var c=((b+this.options.offset)/this.stepWidth).round();return c}},toPosition:function(e){var d,b,f,c;if(this.linear){return(this.full*Math.abs(this.min-e))/(this.steps*this.stepSize)-this.options.offset}else{if(this.valueArray.indexOf(e)!=-1){return this.valueArray.indexOf(e)*this.stepWidth+this.options.offset
}else{this.valueArray.each(function(h,g,i){if(h<=e&&i[g+1]>=h){d=g;b=d+1}},e);f=this.valueArray[b]-this.valueArray[d];c=(e-this.valueArray[d])/f;return this.stepWidth*(d+c)}}},checkAssociatedInput:function(){if(!this.inputValid){this.set(this.min);this.inputValid=true}},fireChangeEvents:function(){if(this.clientChangeFunction){this.clientChangeFunction.call(this)}if(this.valueElement){this.valueElement.fireEvent("blur");if(!this.preventRecursion){this.valueElement.fireEvent("change",{target:this.valueElement})
}else{this.preventRecursion=false}}},enableSlider:function(b){if(b){this.isEnabled=true;this.sliderArea.set("disabled","");this.sliderKnob.erase("class").addClass(a.sliderKnob);this.attach()}else{this.isEnabled=false;this.sliderArea.set("disabled","disabled");this.sliderKnob.erase("class").addClass(a.sliderKnobDisabled);this.detach()}}});Vx.UI.AssociatedSlider.sliders={}})();Vx.UI.MasterSlaveAdjuster=new Class({Implements:[Options,Events],Binds:["adjust"],options:{calculationMethod:"addition"},initialize:function(b,a){var c,d;
this.setOptions(a);this.slaveControls=[];this.masterControl=$(b);if(this.masterControl){this.masterControl.addEvent("change",this.adjust)}for(c=0;c<this.options.slaveControls.length;c++){d=$(this.options.slaveControls[c].slaveId);if(d){d.addEvent("change",this.adjust);d.slaveConstant=this.options.slaveControls[c].slaveConstant;this.slaveControls[c]=d}}this.calculationMethod=this.options.calculationMethod},adjust:function(a){if(!this.options.enabled){return}switch(this.calculationMethod){case"addition":this.performAddition(a);
break;default:this.performAddition(a);break}},adjustMaster:function(){if($defined(this.slaveControls[0])&&$type(this.slaveControls[0])==="element"){this.adjust({target:this.slaveControls[0]})}},adjustSlaves:function(){this.adjust({target:this.masterControl})},performAddition:function(h){var c,f,j,b,a,k,d=false,g=false;if(this.locked||this.masterControl.disabled){return}if(h.target===this.masterControl){this.locked=true;j=this.masterControl.get("value").toInt();if($type(j)!=="number"){j=0}k=0;a=this.slaveControls.length;
for(c=0;c<a;c++){f=this.slaveControls[c];if(f.disabled){continue}b=Math.floor(j*f.slaveConstant-k);k+=b-j*f.slaveConstant;if(c===a-1&&k!==0){b=b-k.round()}f.set("value",b);f.fireEvent("change",{target:f})}this.locked=false}else{j=0;for(c=0;c<this.slaveControls.length;c++){if(!this.slaveControls[c].disabled){b=this.slaveControls[c].get("value").toInt();if($type(b)!=="number"){b=0}j+=b}}this.masterControl.set("value",j.toInt());this.locked=true;this.masterControl.fireEvent("change",{target:this.masterControl});
this.locked=false}}});(function(){var a=(function(){var b=document.createElement("input");return"placeholder" in b})();Vx.UI.TextPlaceholder=new Class({Binds:["show","hide","submit"],options:{cssClass:"placeholder-text"},initialize:function(d){var c,b;if(a){return null}this.input=$(d);this.placeholder=this.input?this.input.get("placeholder"):null;if(!this.input||!this.placeholder){return null}if(Browser.Engine.gecko){if(this.input.get("value")===this.placeholder){this.input.set("value","")}}this.input.removeProperty("placeholder");
this.input.store("placeholder",this).addEvents({focus:this.hide,blur:this.show});if((c=$(this.input.form))){b=c.retrieve("validator");if(b&&b.options.evaluateOnSubmit){b.addEvent("submit",this.submit)}else{c.addEvent("submit",this.submit)}}this.visible=false;this.reset(true)},submit:function(b,c){if(c!==false&&this.visible){this.hide()}},show:function(){if(!this.visible&&this.input.get("value",true)===""){this.input.set("value",this.placeholder,this).addClass(this.options.cssClass);this.visible=true
}},hide:function(){if(this.visible&&this.input.get("value",true)===this.placeholder){this.input.set("value","",this)}this.input.removeClass(this.options.cssClass);this.visible=false},reset:function(b){this.visible&=!b;this.hide();this.show();return this}});if(!a){(function(){var b=Element.Properties.value;Element.Properties.value={get:function(d){var c=this.retrieve("placeholder");if(c&&c.visible&&!d){return""}return(b&&b.get)?b.get.apply(this,Array.slice(arguments,1)):this.value},set:function(e,d){var f=this.retrieve("placeholder"),c;
if(b&&b.set){c=Array.slice(arguments,0);if(d&&f===d){c.splice(1,1)}b.set.apply(this,c)}else{this.value=e}if(f&&f!==d){f.reset(true)}}}})()}})();Vx.UI.Switch=new Class({Implements:[Options],options:{magicValue:"|",useSlide:false,slideOptions:{mode:"vertical",link:"cancel",duration:350,noDisplayOnHide:true},activeCss:"",resetLayerValidator:true,resetParentFormValidator:true,historyKey:""},initialize:function(e,d,c,b,a){this.hiddenField=$(e);if(!this.hiddenField||!c||!b){return}this.setOptions(a);this.activeLayer=d||"";
this.storeActive(this.activeLayer);this.setupLayers(c);this.setupTriggers(b);this.history=HistoryManager.getInstance().register(this.options.historyKey||e,this.stateChanged.bind(this))},setupLayers:function(f){var d,a,e,c,b;this.layers={};for(d=0,a=f.length;d<a;++d){e=$(f[d].id);b=f[d].key;if(e&&$type(b)==="string"){c=this.layers[b];if(!c){this.layers[b]=c=[]}c.push(e);if(this.options.useSlide){e.get("slide",this.options.slideOptions);this.toggleLayer(e,b===this.activeLayer,true)}else{e.setStyle("display",b===this.activeLayer?"":"none")
}}}}.protect(),setupTriggers:function(e){var f,j,m,c=$(this.hiddenField.form),b=function(){var i=this.keys[this.elem.value];if(!$defined(i)){i=this.elem.value}return i||""},l=function(r){var q=r,t=this.elem.selectedIndex,s,o,n,p=false;for(s in this.keys){if(this.keys[s]===r){q=s;break}}for(o=0,n=this.elem.options.length;o<n;++o){p|=this.elem.options[o].selected=(this.elem.options[o].value===q)}if(!p&&t!==-1){this.elem.selectedIndex=0}if(t!==this.elem.selectedIndex){this.elem.fireEvent("change")}return !!p
},g=function(){return this.elem.checked?this.key:""},a=function(n){var i=this.elem.checked;this.elem.checked=(this.key===n);if(((this.elem.type==="radio"&&this.elem.checked)||this.elem.type==="checkbox")&&i!==this.elem.checked){this.elem.fireEvent("click")}return this.elem.checked},k=function(i){if($defined(this.toggled)){if(i){this.toggled=!this.toggled}return this.toggled?this.key:""}return this.key},d=function(n){var i=this.key===n;if($defined(this.toggled)){this.toggled=i}return i},h=function(s,p,w,x,r,n,i){if(!p){return null
}var o={elem:p,activeCss:r||"",inactiveCss:n},q="click",u=false,t,v;if($defined(w)){o.key=w}else{if(x||p.options){o.keys=x||{}}else{throw"Key property missing for element "+p.id}}t=p.type||p.get("tag");switch(t){case"select-one":case"select-multiple":o.getLayerKey=b;o.setLayerKey=l;q="change";break;case"radio":case"checkbox":o.getLayerKey=g;o.setLayerKey=a;break;case"submit":v=p.getParent();if(v&&v.get("tag")==="div"&&v.getStyle("display")==="none"){v.setStyle("display","");o.isCssButton=true}case"reset":case"button":case"a":p.setStyle("display","");
default:if($defined(i)){o.toggled=!!i}o.getLayerKey=k;o.setLayerKey=d;u=true;break}p.addEvent(q,s.triggered.bindWithEvent(s,[o,u]));s.triggers.push(o);return o};this.triggers=[];for(f=0,j=e.length;f<j;++f){m=e[f];if(m.id){h(this,$(m.id),m.key,m.keys,m.css,m.oldCss,m.toggled)}else{if(m.name){(c.getElements("input[type=radio][name="+m.name+"]")||[]).each(function(i){var n=m.keys&&$defined(m.keys[i.value])?m.keys[i.value]:i.value;h(this,i,n,null,m.css,m.oldCss)},this)}}}}.protect(),stateChanged:function(a){var b=a[""]||[];
if(b.length===1&&b[0]!==this.activeLayer){this.setActive(b[0],true)}},triggered:function(c,b,a){if(c&&a){c.stop()}this.setActive(b.getLayerKey(true));return !a},setActive:function(c,b){if(this.lock||this.activeLayer===c){return}this.lock=true;var a=[];(this.layers[this.activeLayer]||[]).each(function(d){this.toggleLayer(d,false,b);if(this.options.resetParentFormValidator){this.addParentForm(d,a)}},this);(this.layers[c]||[]).each(function(d){this.toggleLayer(d,true,b)},this);this.triggers.each(function(e){var d=e.getLayerKey()===c||e.setLayerKey(c);
d&=c!=="";this.toggleCssClass(e,d)},this);if(this.options.resetParentFormValidator&&a.length>0){a.each(function(e){var d=$(e).retrieve("validator");if(d){d.reset()}});a=null}this.activeLayer=c;this.storeActive(c);if(this.history){this.history.setValues({"":[c]})}delete this.lock},toggleLayer:function(b,a,c){if(this.options.useSlide){if(a){b.setStyle("display","")}b.measure(function(){var d;if(!c){d="slide"+(a?"In":"Out")}else{d=a?"show":"hide"}b.get("slide")[d]()})}else{b.setStyle("display",a?"":"none")
}if(!a&&this.options.resetLayerValidator){b.getElements("form").each(function(e){var d=$(e).retrieve("validator");if(d){d.reset()}})}}.protect(),toggleCssClass:function(d,c){var a=d.activeCss||this.options.activeCss,b=d.elem;if(a){if(d.isCssButton){b=b.getParent()}if(d.inactiveCss===false){b[(c?"add":"remove")+"Class"](a)}else{if(!$defined(d.inactiveCss)){d.inactiveCss=b.className}b.className=c?a:d.inactiveCss}}}.protect(),addParentForm:function(b,c){if(b.get("tag")==="form"){c.include(b);return}var a=b.getParent();
while(a&&a!==document.body){if(a.get("tag")==="form"){if(!c.contains(a)){c.push(a)}break}a=a.getParent()}}.protect(),storeActive:function(a){this.hiddenField.value=this.options.magicValue+(a||"")}.protect()});Vx.UI.Webtrekk=new Class({initialize:function(a){if(typeof(wt_sendinfo)!="function"){return}a.each(this.setup)},setup:function(b){var a=$(b.id);if(a){a.addEvent("click",wt_sendinfo.pass([b.value,"click"]))}}});