var Prototype={Version:"1.5.0_rc2",BrowserFeatures:{XPath:!!document.evaluate},ScriptFragment:"(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)",emptyFunction:function(){},K:function(A){return A}};var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};var Abstract=new Object();Object.extend=function(A,C){for(var B in C){A[B]=C[B]}return A};Object.extend(Object,{inspect:function(A){try{if(A===undefined){return"undefined"}if(A===null){return"null"}return A.inspect?A.inspect():A.toString()}catch(B){if(B instanceof RangeError){return"..."}throw B}},keys:function(A){var B=[];for(var C in A){B.push(C)}return B},values:function(B){var A=[];for(var C in B){A.push(B[C])}return A},clone:function(A){return Object.extend({},A)}});Function.prototype.bind=function(){var A=this,C=$A(arguments),B=C.shift();return function(){return A.apply(B,C.concat($A(arguments)))}};Function.prototype.bindAsEventListener=function(C){var A=this,B=$A(arguments),C=B.shift();return function(D){return A.apply(C,[(D||window.event)].concat(B).concat($A(arguments)))}};Object.extend(Number.prototype,{toColorPart:function(){var A=this.toString(16);if(this<16){return"0"+A}return A},succ:function(){return this+1},times:function(A){$R(0,this,true).each(A);return this}});var Try={these:function(){var C;for(var B=0,D=arguments.length;B<D;B++){var A=arguments[B];try{C=A();break}catch(E){}}return C}};var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(B,A){this.callback=B;this.frequency=A;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},stop:function(){if(!this.timer){return }clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback(this)}finally{this.currentlyExecuting=false}}}};String.interpret=function(A){return A==null?"":String(A)};Object.extend(String.prototype,{gsub:function(E,C){var A="",D=this,B;C=arguments.callee.prepareReplacement(C);while(D.length>0){if(B=D.match(E)){A+=D.slice(0,B.index);A+=String.interpret(C(B));D=D.slice(B.index+B[0].length)}else{A+=D,D=""}}return A},sub:function(C,A,B){A=this.gsub.prepareReplacement(A);B=B===undefined?1:B;return this.gsub(C,function(D){if(--B<0){return D[0]}return A(D)})},scan:function(B,A){this.gsub(B,A);return this},truncate:function(B,A){B=B||30;A=A===undefined?"...":A;return this.length>B?this.slice(0,B-A.length)+A:this},strip:function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,"")},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")},extractScripts:function(){var B=new RegExp(Prototype.ScriptFragment,"img");var A=new RegExp(Prototype.ScriptFragment,"im");return(this.match(B)||[]).map(function(C){return(C.match(A)||["",""])[1]})},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)})},escapeHTML:function(){var B=document.createElement("div");var A=document.createTextNode(this);B.appendChild(A);return B.innerHTML},unescapeHTML:function(){var A=document.createElement("div");A.innerHTML=this.stripTags();return A.childNodes[0]?(A.childNodes.length>1?$A(A.childNodes).inject("",function(B,C){return B+C.nodeValue}):A.childNodes[0].nodeValue):""},toQueryParams:function(B){var A=this.strip().match(/([^?#]*)(#.*)?$/);if(!A){return{}}return A[1].split(B||"&").inject({},function(E,F){if((F=F.split("="))[0]){var C=decodeURIComponent(F[0]);var D=F[1]?decodeURIComponent(F[1]):undefined;if(E[C]!==undefined){if(E[C].constructor!=Array){E[C]=[E[C]]}if(D){E[C].push(D)}}else{E[C]=D}}return E})},toArray:function(){return this.split("")},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)},camelize:function(){var D=this.split("-"),A=D.length;if(A==1){return D[0]}var C=this.charAt(0)=="-"?D[0].charAt(0).toUpperCase()+D[0].substring(1):D[0];for(var B=1;B<A;B++){C+=D[B].charAt(0).toUpperCase()+D[B].substring(1)}return C},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()},underscore:function(){return this.gsub(/::/,"/").gsub(/([A-Z]+)([A-Z][a-z])/,"#{1}_#{2}").gsub(/([a-z\d])([A-Z])/,"#{1}_#{2}").gsub(/-/,"_").toLowerCase()},dasherize:function(){return this.gsub(/_/,"-")},inspect:function(B){var A=this.replace(/\\/g,"\\\\");if(B){return'"'+A.replace(/"/g,'\\"')+'"'}else{return"'"+A.replace(/'/g,"\\'")+"'"}}});String.prototype.gsub.prepareReplacement=function(B){if(typeof B=="function"){return B}var A=new Template(B);return function(C){return A.evaluate(C)}};String.prototype.parseQuery=String.prototype.toQueryParams;var Template=Class.create();Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;Template.prototype={initialize:function(A,B){this.template=A.toString();this.pattern=B||Template.Pattern},evaluate:function(A){return this.template.gsub(this.pattern,function(B){var C=B[1];if(C=="\\"){return B[2]}return C+String.interpret(A[B[3]])})}};var $break=new Object();var $continue=new Object();var Enumerable={each:function(B){var A=0;try{this._each(function(D){try{B(D,A++)}catch(E){if(E!=$continue){throw E}}})}catch(C){if(C!=$break){throw C}}return this},eachSlice:function(C,B){var A=-C,D=[],E=this.toArray();while((A+=C)<E.length){D.push(E.slice(A,A+C))}return D.map(B)},all:function(B){var A=true;this.each(function(D,C){A=A&&!!(B||Prototype.K)(D,C);if(!A){throw $break}});return A},any:function(B){var A=false;this.each(function(D,C){if(A=!!(B||Prototype.K)(D,C)){throw $break}});return A},collect:function(B){var A=[];this.each(function(D,C){A.push((B||Prototype.K)(D,C))});return A},detect:function(B){var A;this.each(function(D,C){if(B(D,C)){A=D;throw $break}});return A},findAll:function(B){var A=[];this.each(function(D,C){if(B(D,C)){A.push(D)}});return A},grep:function(C,B){var A=[];this.each(function(F,E){var D=F.toString();if(D.match(C)){A.push((B||Prototype.K)(F,E))}});return A},include:function(A){var B=false;this.each(function(C){if(C==A){B=true;throw $break}});return B},inGroupsOf:function(B,A){A=A===undefined?null:A;return this.eachSlice(B,function(C){while(C.length<B){C.push(A)}return C})},inject:function(A,B){this.each(function(D,C){A=B(A,D,C)});return A},invoke:function(B){var A=$A(arguments).slice(1);return this.map(function(C){return C[B].apply(C,A)})},max:function(B){var A;this.each(function(D,C){D=(B||Prototype.K)(D,C);if(A==undefined||D>=A){A=D}});return A},min:function(B){var A;this.each(function(D,C){D=(B||Prototype.K)(D,C);if(A==undefined||D<A){A=D}});return A},partition:function(C){var B=[],A=[];this.each(function(E,D){((C||Prototype.K)(E,D)?B:A).push(E)});return[B,A]},pluck:function(B){var A=[];this.each(function(D,C){A.push(D[B])});return A},reject:function(B){var A=[];this.each(function(D,C){if(!B(D,C)){A.push(D)}});return A},sortBy:function(A){return this.map(function(C,B){return{value:C,criteria:A(C,B)}}).sort(function(E,D){var C=E.criteria,B=D.criteria;return C<B?-1:C>B?1:0}).pluck("value")},toArray:function(){return this.map()},zip:function(){var B=Prototype.K,A=$A(arguments);if(typeof A.last()=="function"){B=A.pop()}var C=[this].concat(A).map($A);return this.map(function(E,D){return B(C.pluck(D))})},size:function(){return this.toArray().length},inspect:function(){return"#<Enumerable:"+this.toArray().inspect()+">"}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(D){if(!D){return[]}if(D.toArray){return D.toArray()}else{var B=[];for(var A=0,C=D.length;A<C;A++){B.push(D[A])}return B}};Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse){Array.prototype._reverse=Array.prototype.reverse}Object.extend(Array.prototype,{_each:function(B){for(var A=0,C=this.length;A<C;A++){B(this[A])}},clear:function(){this.length=0;return this},first:function(){return this[0]},last:function(){return this[this.length-1]},compact:function(){return this.select(function(A){return A!=null})},flatten:function(){return this.inject([],function(B,A){return B.concat(A&&A.constructor==Array?A.flatten():[A])})},without:function(){var A=$A(arguments);return this.select(function(B){return !A.include(B)})},indexOf:function(A){for(var B=0,C=this.length;B<C;B++){if(this[B]==A){return B}}return -1},reverse:function(A){return(A!==false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(){return this.inject([],function(B,A){return B.include(A)?B:B.concat([A])})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]"}});Array.prototype.toArray=Array.prototype.clone;function $w(A){A=A.strip();return A?A.split(/\s+/):[]}if(window.opera){Array.prototype.concat=function(){var E=[];for(var B=0,C=this.length;B<C;B++){E.push(this[B])}for(var B=0,C=arguments.length;B<C;B++){if(arguments[B].constructor==Array){for(var A=0,D=arguments[B].length;A<D;A++){E.push(arguments[B][A])}}else{E.push(arguments[B])}}return E}}var Hash={_each:function(B){for(var A in this){var C=this[A];if(typeof C=="function"){continue}var D=[A,C];D.key=A;D.value=C;B(D)}},keys:function(){return this.pluck("key")},values:function(){return this.pluck("value")},merge:function(A){return $H(A).inject(this,function(B,C){B[C.key]=C.value;return B})},toQueryString:function(){return this.map(function(B){if(!B.key){return null}if(B.value&&B.value.constructor==Array){B.value=B.value.compact();if(B.value.length<2){B.value=B.value.reduce()}else{var A=encodeURIComponent(B.key);return B.value.map(function(C){return A+"="+encodeURIComponent(C)}).join("&")}}if(B.value==undefined){B[1]=""}return B.map(encodeURIComponent).join("=")}).join("&")},inspect:function(){return"#<Hash:{"+this.map(function(A){return A.map(Object.inspect).join(": ")}).join(", ")+"}>"}};function $H(A){var B=Object.extend({},A||{});Object.extend(B,Enumerable);Object.extend(B,Hash);return B}ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(C,A,B){this.start=C;this.end=A;this.exclusive=B},_each:function(A){var B=this.start;while(this.include(B)){A(B);B=B.succ()}},include:function(A){if(A<this.start){return false}if(this.exclusive){return A<this.end}return A<=this.end}});var $R=function(C,A,B){return new ObjectRange(C,A,B)};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(A){this.responders._each(A)},register:function(A){if(!this.include(A)){this.responders.push(A)}},unregister:function(A){this.responders=this.responders.without(A)},dispatch:function(D,B,C,A){this.each(function(E){if(typeof E[D]=="function"){try{E[D].apply(E,[B,C,A])}catch(F){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(A){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:""};Object.extend(this.options,A||{});this.options.method=this.options.method.toLowerCase();this.options.parameters=$H(typeof this.options.parameters=="string"?this.options.parameters.toQueryParams():this.options.parameters)}};Ajax.Request=Class.create();Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{_complete:false,initialize:function(B,A){this.transport=Ajax.getTransport();this.setOptions(A);this.request(B)},request:function(B){var D=this.options.parameters;if(D.any()){D._=""}if(!["get","post"].include(this.options.method)){D._method=this.options.method;this.options.method="post"}this.url=B;if(this.options.method=="get"&&D.any()){this.url+=(this.url.indexOf("?")>=0?"&":"?")+D.toQueryString()}try{Ajax.Responders.dispatch("onCreate",this,this.transport);this.transport.open(this.options.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){setTimeout(function(){this.respondToReadyState(1)}.bind(this),10)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();var A=this.options.method=="post"?(this.options.postBody||D.toQueryString()):null;this.transport.send(A);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(C){this.dispatchException(C)}},onStateChange:function(){var A=this.transport.readyState;if(A>1&&!((A==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var E={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.options.method=="post"){E["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){E.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var C=this.options.requestHeaders;if(typeof C.push=="function"){for(var B=0,D=C.length;B<D;B+=2){E[C[B]]=C[B+1]}}else{$H(C).each(function(F){E[F.key]=F.value})}}for(var A in E){this.transport.setRequestHeader(A,E[A])}},success:function(){return !this.transport.status||(this.transport.status>=200&&this.transport.status<300)},respondToReadyState:function(A){var C=Ajax.Request.Events[A];var E=this.transport,B=this.evalJSON();if(C=="Complete"){try{this._complete=true;(this.options["on"+this.transport.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(E,B)}catch(D){this.dispatchException(D)}}try{(this.options["on"+C]||Prototype.emptyFunction)(E,B);Ajax.Responders.dispatch("on"+C,this,E,B)}catch(D){this.dispatchException(D)}if(C=="Complete"){if((this.getHeader("Content-type")||"").strip().match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i)){this.evalResponse()}this.transport.onreadystatechange=Prototype.emptyFunction}},getHeader:function(A){try{return this.transport.getResponseHeader(A)}catch(B){return null}},evalJSON:function(){try{var json=this.getHeader("X-JSON");return json?eval("("+json+")"):null}catch(e){return null}},evalResponse:function(){try{return eval(this.transport.responseText)}catch(e){this.dispatchException(e)}},dispatchException:function(A){(this.options.onException||Prototype.emptyFunction)(this,A);Ajax.Responders.dispatch("onException",this,A)}});Ajax.Updater=Class.create();Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(A,C,B){this.container={success:(A.success||A),failure:(A.failure||(A.success?null:A))};this.transport=Ajax.getTransport();this.setOptions(B);var D=this.options.onComplete||Prototype.emptyFunction;this.options.onComplete=(function(F,E){this.updateContent();D(F,E)}).bind(this);this.request(C)},updateContent:function(){var B=this.container[this.success()?"success":"failure"];var A=this.transport.responseText;if(!this.options.evalScripts){A=A.stripScripts()}if(B=$(B)){if(this.options.insertion){new this.options.insertion(B,A)}else{B.update(A)}}if(this.success()){if(this.onComplete){setTimeout(this.onComplete.bind(this),10)}}}});Ajax.PeriodicalUpdater=Class.create();Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(A,C,B){this.setOptions(B);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=A;this.url=C;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(A){if(this.options.decay){this.decay=(A.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=A.responseText}this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});function $(B){if(arguments.length>1){for(var A=0,D=[],C=arguments.length;A<C;A++){D.push($(arguments[A]))}return D}if(typeof B=="string"){B=document.getElementById(B)}return Element.extend(B)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(F,A){var C=[];var E=document.evaluate(F,$(A)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var B=0,D=E.snapshotLength;B<D;B++){C.push(E.snapshotItem(B))}return C}}document.getElementsByClassName=function(D,A){if(Prototype.BrowserFeatures.XPath){var G=".//*[contains(concat(' ', @class, ' '), ' "+D+" ')]";return document._getElementsByXPath(G,A)}else{var C=($(A)||document.body).getElementsByTagName("*");var F=[],H;for(var B=0,E=C.length;B<E;B++){H=C[B];if(Element.hasClassName(H,D)){F.push(Element.extend(H))}}return F}};if(!window.Element){var Element=new Object()}Element.extend=function(C){if(!C||_nativeExtensions||C.nodeType==3){return C}if(!C._extended&&C.tagName&&C!=window){var B=Object.clone(Element.Methods),A=Element.extend.cache;if(C.tagName=="FORM"){Object.extend(B,Form.Methods)}if(["INPUT","TEXTAREA","SELECT"].include(C.tagName)){Object.extend(B,Form.Element.Methods)}Object.extend(B,Element.Methods.Simulated);for(var E in B){var D=B[E];if(typeof D=="function"&&!(E in C)){C[E]=A.findOrStore(D)}}}C._extended=true;return C};Element.extend.cache={findOrStore:function(A){return this[A]=this[A]||function(){return A.apply(null,[this].concat($A(arguments)))}}};Element.Methods={visible:function(A){return $(A).style.display!="none"},toggle:function(A){A=$(A);Element[Element.visible(A)?"hide":"show"](A);return A},hide:function(A){$(A).style.display="none";return A},show:function(A){$(A).style.display="";return A},remove:function(A){A=$(A);A.parentNode.removeChild(A);return A},update:function(B,A){A=typeof A=="undefined"?"":A.toString();$(B).innerHTML=A.stripScripts();setTimeout(function(){A.evalScripts()},10);return B},replace:function(C,B){C=$(C);if(C.outerHTML){C.outerHTML=B.stripScripts()}else{var A=C.ownerDocument.createRange();A.selectNodeContents(C);C.parentNode.replaceChild(A.createContextualFragment(B.stripScripts()),C)}setTimeout(function(){B.evalScripts()},10);return C},inspect:function(B){B=$(B);var A="<"+B.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(F){var E=F.first(),C=F.last();var D=(B[E]||"").toString();if(D){A+=" "+C+"="+D.inspect(true)}});return A+">"},recursivelyCollect:function(A,C){A=$(A);var B=[];while(A=A[C]){if(A.nodeType==1){B.push(Element.extend(A))}}return B},ancestors:function(A){return $(A).recursivelyCollect("parentNode")},descendants:function(A){return $A($(A).getElementsByTagName("*"))},immediateDescendants:function(A){if(!(A=$(A).firstChild)){return[]}while(A&&A.nodeType!=1){A=A.nextSibling}if(A){return[A].concat($(A).nextSiblings())}return[]},previousSiblings:function(A){return $(A).recursivelyCollect("previousSibling")},nextSiblings:function(A){return $(A).recursivelyCollect("nextSibling")},siblings:function(A){A=$(A);return A.previousSiblings().reverse().concat(A.nextSiblings())},match:function(B,A){if(typeof A=="string"){A=new Selector(A)}return A.match($(B))},up:function(B,C,A){return Selector.findElement($(B).ancestors(),C,A)},down:function(B,C,A){return Selector.findElement($(B).descendants(),C,A)},previous:function(B,C,A){return Selector.findElement($(B).previousSiblings(),C,A)},next:function(B,C,A){return Selector.findElement($(B).nextSiblings(),C,A)},getElementsBySelector:function(){var A=$A(arguments),B=$(A.shift());return Selector.findChildElements(B,A)},getElementsByClassName:function(A,B){return document.getElementsByClassName(B,A)},readAttribute:function(B,A){return $(B).getAttribute(A)},getHeight:function(A){return $(A).offsetHeight},classNames:function(A){return new Element.ClassNames(A)},hasClassName:function(A,B){if(!(A=$(A))){return }var C=A.className;if(C.length==0){return false}if(C==B||C.match(new RegExp("(^|\\s)"+B+"(\\s|$)"))){return true}return false},addClassName:function(A,B){if(!(A=$(A))){return }Element.classNames(A).add(B);return A},removeClassName:function(A,B){if(!(A=$(A))){return }Element.classNames(A).remove(B);return A},toggleClassName:function(A,B){if(!(A=$(A))){return }Element.classNames(A)[A.hasClassName(B)?"remove":"add"](B);return A},observe:function(){Event.observe.apply(Event,arguments);return $A(arguments).first()},stopObserving:function(){Event.stopObserving.apply(Event,arguments);return $A(arguments).first()},cleanWhitespace:function(B){B=$(B);var C=B.firstChild;while(C){var A=C.nextSibling;if(C.nodeType==3&&!/\S/.test(C.nodeValue)){B.removeChild(C)}C=A}return B},empty:function(A){return $(A).innerHTML.match(/^\s*$/)},childOf:function(B,A){B=$(B),A=$(A);while(B=B.parentNode){if(B==A){return true}}return false},scrollTo:function(A){A=$(A);var B=Position.cumulativeOffset(A);window.scrollTo(B[0],B[1]);return A},getStyle:function(B,C){B=$(B);var E=(C=="float"?(typeof B.style.styleFloat!="undefined"?"styleFloat":"cssFloat"):C).camelize();var D=B.style[E];if(!D){if(document.defaultView&&document.defaultView.getComputedStyle){var A=document.defaultView.getComputedStyle(B,null);D=A?A[E]:null}else{if(B.currentStyle){D=B.currentStyle[E]}}}if((D=="auto")&&["width","height"].include(C)&&(B.getStyle("display")!="none")){D=B["offset"+C.capitalize()]+"px"}if(window.opera&&["left","top","right","bottom"].include(C)){if(Element.getStyle(B,"position")=="static"){D="auto"}}if(C=="opacity"){if(D){return parseFloat(D)}if(D=(B.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(D[1]){return parseFloat(D[1])/100}}return 1}return D=="auto"?null:D},setStyle:function(B,C){B=$(B);for(var A in C){var D=C[A];if(A=="opacity"){if(D==1){D=(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:1;if(/MSIE/.test(navigator.userAgent)&&!window.opera){B.style.filter=B.getStyle("filter").replace(/alpha\([^\)]*\)/gi,"")}}else{if(D<0.00001){D=0}if(/MSIE/.test(navigator.userAgent)&&!window.opera){B.style.filter=B.getStyle("filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+D*100+")"}}}else{if(A=="float"){A=(typeof B.style.styleFloat!="undefined")?"styleFloat":"cssFloat"}}B.style[A.camelize()]=D}return B},getDimensions:function(B){B=$(B);if(Element.getStyle(B,"display")!="none"){return{width:B.offsetWidth,height:B.offsetHeight}}var A=B.style;var E=A.visibility;var C=A.position;A.visibility="hidden";A.position="absolute";A.display="";var F=B.clientWidth;var D=B.clientHeight;A.display="none";A.position=C;A.visibility=E;return{width:F,height:D}},makePositioned:function(A){A=$(A);var B=Element.getStyle(A,"position");if(B=="static"||!B){A._madePositioned=true;A.style.position="relative";if(window.opera){A.style.top=0;A.style.left=0}}return A},undoPositioned:function(A){A=$(A);if(A._madePositioned){A._madePositioned=undefined;A.style.position=A.style.top=A.style.left=A.style.bottom=A.style.right=""}return A},makeClipping:function(A){A=$(A);if(A._overflow){return A}A._overflow=A.style.overflow||"auto";if((Element.getStyle(A,"overflow")||"visible")!="hidden"){A.style.overflow="hidden"}return A},undoClipping:function(A){A=$(A);if(!A._overflow){return A}A.style.overflow=A._overflow=="auto"?"":A._overflow;A._overflow=null;return A}};Element.Methods.Simulated={hasAttribute:function(A,B){return $(A).getAttributeNode(B).specified}};if(document.all){Element.Methods.update=function(C,B){C=$(C);B=typeof B=="undefined"?"":B.toString();var A=C.tagName.toUpperCase();if(["THEAD","TBODY","TR","TD"].include(A)){var D=document.createElement("div");switch(A){case"THEAD":case"TBODY":D.innerHTML="<table><tbody>"+B.stripScripts()+"</tbody></table>";depth=2;break;case"TR":D.innerHTML="<table><tbody><tr>"+B.stripScripts()+"</tr></tbody></table>";depth=3;break;case"TD":D.innerHTML="<table><tbody><tr><td>"+B.stripScripts()+"</td></tr></tbody></table>";depth=4}$A(C.childNodes).each(function(E){C.removeChild(E)});depth.times(function(){D=D.firstChild});$A(D.childNodes).each(function(E){C.appendChild(E)})}else{C.innerHTML=B.stripScripts()}setTimeout(function(){B.evalScripts()},10);return C}}Object.extend(Element,Element.Methods);var _nativeExtensions=false;if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){["","Form","Input","TextArea","Select"].each(function(B){var C="HTML"+B+"Element";if(window[C]){return }var A=window[C]={};A.prototype=document.createElement(B?B.toLowerCase():"div").__proto__})}Element.addMethods=function(A){Object.extend(Element.Methods,A||{});function B(F,D,C){C=C||false;var E=Element.extend.cache;for(var H in F){var G=F[H];if(!C||!(H in D)){D[H]=E.findOrStore(G)}}}if(typeof HTMLElement!="undefined"){B(Element.Methods,HTMLElement.prototype);B(Element.Methods.Simulated,HTMLElement.prototype,true);B(Form.Methods,HTMLFormElement.prototype);[HTMLInputElement,HTMLTextAreaElement,HTMLSelectElement].each(function(C){B(Form.Element.Methods,C.prototype)});_nativeExtensions=true}};var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(A){this.adjacency=A};Abstract.Insertion.prototype={initialize:function(B,C){this.element=$(B);this.content=C.stripScripts();if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content)}catch(D){var A=this.element.tagName.toUpperCase();if(["TBODY","TR"].include(A)){this.insertContent(this.contentFromAnonymousTable())}else{throw D}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange){this.initializeRange()}this.insertContent([this.range.createContextualFragment(this.content)])}setTimeout(function(){C.evalScripts()},10)},contentFromAnonymousTable:function(){var A=document.createElement("div");A.innerHTML="<table><tbody>"+this.content+"</tbody></table>";return $A(A.childNodes[0].childNodes[0].childNodes)}};var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=Object.extend(new Abstract.Insertion("beforeBegin"),{initializeRange:function(){this.range.setStartBefore(this.element)},insertContent:function(A){A.each((function(B){this.element.parentNode.insertBefore(B,this.element)}).bind(this))}});Insertion.Top=Class.create();Insertion.Top.prototype=Object.extend(new Abstract.Insertion("afterBegin"),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true)},insertContent:function(A){A.reverse(false).each((function(B){this.element.insertBefore(B,this.element.firstChild)}).bind(this))}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion("beforeEnd"),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element)},insertContent:function(A){A.each((function(B){this.element.appendChild(B)}).bind(this))}});Insertion.After=Class.create();Insertion.After.prototype=Object.extend(new Abstract.Insertion("afterEnd"),{initializeRange:function(){this.range.setStartAfter(this.element)},insertContent:function(A){A.each((function(B){this.element.parentNode.insertBefore(B,this.element.nextSibling)}).bind(this))}});Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(A){this.element=$(A)},_each:function(A){this.element.className.split(/\s+/).select(function(B){return B.length>0})._each(A)},set:function(A){this.element.className=A},add:function(A){if(this.include(A)){return }this.set($A(this).concat(A).join(" "))},remove:function(A){if(!this.include(A)){return }this.set($A(this).without(A).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);var Selector=Class.create();Selector.prototype={initialize:function(A){this.params={classNames:[]};this.expression=A.toString().strip();this.parseExpression();this.compileMatcher()},parseExpression:function(){function G(H){throw"Parse error in selector: "+H}if(this.expression==""){G("empty expression")}var F=this.params,E=this.expression,B,A,D,C;while(B=E.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){F.attributes=F.attributes||[];F.attributes.push({name:B[2],operator:B[3],value:B[4]||B[5]||""});E=B[1]}if(E=="*"){return this.params.wildcard=true}while(B=E.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)){A=B[1],D=B[2],C=B[3];switch(A){case"#":F.id=D;break;case".":F.classNames.push(D);break;case"":case undefined:F.tagName=D.toUpperCase();break;default:G(E.inspect())}E=C}if(E.length>0){G(E.inspect())}},buildMatchExpression:function(){var E=this.params,D=[],C;if(E.wildcard){D.push("true")}if(C=E.id){D.push("element.id == "+C.inspect())}if(C=E.tagName){D.push("element.tagName.toUpperCase() == "+C.inspect())}if((C=E.classNames).length>0){for(var A=0,B=C.length;A<B;A++){D.push("Element.hasClassName(element, "+C[A].inspect()+")")}}if(C=E.attributes){C.each(function(G){var H="element.getAttribute("+G.name.inspect()+")";var F=function(I){return H+" && "+H+".split("+I.inspect()+")"};switch(G.operator){case"=":D.push(H+" == "+G.value.inspect());break;case"~=":D.push(F(" ")+".include("+G.value.inspect()+")");break;case"|=":D.push(F("-")+".first().toUpperCase() == "+G.value.toUpperCase().inspect());break;case"!=":D.push(H+" != "+G.value.inspect());break;case"":case undefined:D.push(H+" != null");break;default:throw"Unknown operator "+G.operator+" in selector"}})}return D.join(" && ")},compileMatcher:function(){this.match=new Function("element","if (!element.tagName) return false;       return "+this.buildMatchExpression())},findElements:function(D){var C;if(C=$(this.params.id)){if(this.match(C)){if(!D||Element.childOf(C,D)){return[C]}}}D=(D||document).getElementsByTagName(this.params.tagName||"*");var B=[];for(var A=0,E=D.length;A<E;A++){if(this.match(C=D[A])){B.push(Element.extend(C))}}return B},toString:function(){return this.expression}};Object.extend(Selector,{matchElements:function(B,C){var A=new Selector(C);return B.select(A.match.bind(A)).map(Element.extend)},findElement:function(B,C,A){if(typeof C=="number"){A=C,C=false}return Selector.matchElements(B,C||"*")[A||0]},findChildElements:function(A,B){return B.map(function(C){return C.strip().split(/\s+/).inject([null],function(E,F){var D=new Selector(F);return E.inject([],function(H,G){return H.concat(D.findElements(G||A))})})}).flatten()}});function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(A){$(A).reset();return A},serializeElements:function(A){return A.inject([],function(D,C){var B=Form.Element.serialize(C);if(B){D.push(B)}return D}).join("&")}};Form.Methods={serialize:function(A){return Form.serializeElements($(A).getElements())},getElements:function(A){return $A($(A).getElementsByTagName("*")).inject([],function(B,C){if(Form.Element.Serializers[C.tagName.toLowerCase()]){B.push(Element.extend(C))}return B})},getInputs:function(G,C,D){G=$(G);var A=G.getElementsByTagName("input"),H=[];if(!C&&!D){return $A(A).map(Element.extend)}for(var E=0,F=A.length;E<F;E++){var B=A[E];if((C&&B.type!=C)||(D&&B.name!=D)){continue}H.push(Element.extend(B))}return H},disable:function(A){A=$(A);A.getElements().each(function(B){B.blur();B.disabled="true"});return A},enable:function(A){A=$(A);A.getElements().each(function(B){B.disabled=""});return A},findFirstElement:function(A){return $(A).getElements().find(function(B){return B.type!="hidden"&&!B.disabled&&["input","select","textarea"].include(B.tagName.toLowerCase())})},focusFirstElement:function(A){A=$(A);A.findFirstElement().activate();return A}};Object.extend(Form,Form.Methods);Form.Element={focus:function(A){$(A).focus();return A},select:function(A){$(A).select();return A}};Form.Element.Methods={serialize:function(B){B=$(B);if(B.disabled){return""}var D=B.tagName.toLowerCase();var C=Form.Element.Serializers[D](B);if(C){var A=encodeURIComponent(C[0]);if(A.length==0){return }if(C[1].constructor!=Array){C[1]=[C[1]]}return C[1].map(function(E){return A+"="+encodeURIComponent(E)}).join("&")}},getValue:function(A){A=$(A);var C=A.tagName.toLowerCase();var B=Form.Element.Serializers[C](A);if(B){return B[1]}},clear:function(A){$(A).value="";return A},present:function(A){return $(A).value!=""},activate:function(A){A=$(A);A.focus();if(A.select&&(A.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(A.type))){A.select()}return A},disable:function(A){A=$(A);A.disabled=true;return A},enable:function(A){A=$(A);A.blur();A.disabled=false;return A}};Object.extend(Form.Element,Form.Element.Methods);var Field=Form.Element;Form.Element.Serializers={input:function(A){switch(A.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(A);default:return Form.Element.Serializers.textarea(A)}return false},inputSelector:function(A){if(A.checked){return[A.name,A.value]}},textarea:function(A){return[A.name,A.value]},select:function(A){return Form.Element.Serializers[A.type=="select-one"?"selectOne":"selectMany"](A)},selectOne:function(C){var D="",B,A=C.selectedIndex;if(A>=0){B=Element.extend(C.options[A]);D=B.hasAttribute("value")?B.value:B.text}return[C.name,D]},selectMany:function(C){var E=[];for(var B=0,D=C.length;B<D;B++){var A=Element.extend(C.options[B]);if(A.selected){E.push(A.hasAttribute("value")?A.value:A.text)}}return[C.name,E]}};var $F=Form.Element.getValue;Abstract.TimedObserver=function(){};Abstract.TimedObserver.prototype={initialize:function(A,B,C){this.frequency=B;this.element=$(A);this.callback=C;this.lastValue=this.getValue();this.registerCallback()},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},onTimerEvent:function(){var A=this.getValue();var B=("string"==typeof this.lastValue&&"string"==typeof A?this.lastValue!=A:String(this.lastValue)!=String(A));if(B){this.callback(this.element,A);this.lastValue=A}}};Form.Element.Observer=Class.create();Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create();Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=function(){};Abstract.EventObserver.prototype={initialize:function(A,B){this.element=$(A);this.callback=B;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var A=this.getValue();if(this.lastValue!=A){this.callback(this.element,A);this.lastValue=A}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback.bind(this))},registerCallback:function(A){if(A.type){switch(A.type.toLowerCase()){case"checkbox":case"radio":Event.observe(A,"click",this.onElementEvent.bind(this));break;default:Event.observe(A,"change",this.onElementEvent.bind(this));break}}}};Form.Element.EventObserver=Class.create();Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create();Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.serialize(this.element)}});if(!window.Event){var Event=new Object()}Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,element:function(A){return A.target||A.srcElement},isLeftClick:function(A){return(((A.which)&&(A.which==1))||((A.button)&&(A.button==1)))},pointerX:function(A){return A.pageX||(A.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft))},pointerY:function(A){return A.pageY||(A.clientY+(document.documentElement.scrollTop||document.body.scrollTop))},stop:function(A){if(A.preventDefault){A.preventDefault();A.stopPropagation()}else{A.returnValue=false;A.cancelBubble=true}},findElement:function(C,B){var A=Event.element(C);while(A.parentNode&&(!A.tagName||(A.tagName.toUpperCase()!=B.toUpperCase()))){A=A.parentNode}return A},observers:false,_observeAndCache:function(D,C,B,A){if(!this.observers){this.observers=[]}if(D.addEventListener){this.observers.push([D,C,B,A]);D.addEventListener(C,B,A)}else{if(D.attachEvent){this.observers.push([D,C,B,A]);D.attachEvent("on"+C,B)}}},unloadCache:function(){if(!Event.observers){return }for(var A=0,B=Event.observers.length;A<B;A++){Event.stopObserving.apply(this,Event.observers[A]);Event.observers[A][0]=null}Event.observers=false},observe:function(D,C,B,A){D=$(D);A=A||false;if(C=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||D.attachEvent)){C="keydown"}Event._observeAndCache(D,C,B,A)},stopObserving:function(D,C,B,A){D=$(D);A=A||false;if(C=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||D.detachEvent)){C="keydown"}if(D.removeEventListener){D.removeEventListener(C,B,A)}else{if(D.detachEvent){try{D.detachEvent("on"+C,B)}catch(E){}}}}});if(navigator.appVersion.match(/\bMSIE\b/)){Event.observe(window,"unload",Event.unloadCache,false)}var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},realOffset:function(B){var A=0,C=0;do{A+=B.scrollTop||0;C+=B.scrollLeft||0;B=B.parentNode}while(B);return[C,A]},cumulativeOffset:function(B){var A=0,C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;B=B.offsetParent}while(B);return[C,A]},positionedOffset:function(B){var A=0,D=0;do{A+=B.offsetTop||0;D+=B.offsetLeft||0;B=B.offsetParent;if(B){if(B.tagName=="BODY"){break}var C=Element.getStyle(B,"position");if(C=="relative"||C=="absolute"){break}}}while(B);return[D,A]},offsetParent:function(A){if(A.offsetParent){return A.offsetParent}if(A==document.body){return A}while((A=A.parentNode)&&A!=document.body){if(Element.getStyle(A,"position")!="static"){return A}}return document.body},within:function(B,A,C){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(B,A,C)}this.xcomp=A;this.ycomp=C;this.offset=this.cumulativeOffset(B);return(C>=this.offset[1]&&C<this.offset[1]+B.offsetHeight&&A>=this.offset[0]&&A<this.offset[0]+B.offsetWidth)},withinIncludingScrolloffsets:function(B,A,D){var C=this.realOffset(B);this.xcomp=A+C[0]-this.deltaX;this.ycomp=D+C[1]-this.deltaY;this.offset=this.cumulativeOffset(B);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+B.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+B.offsetWidth)},overlap:function(B,A){if(!B){return 0}if(B=="vertical"){return((this.offset[1]+A.offsetHeight)-this.ycomp)/A.offsetHeight}if(B=="horizontal"){return((this.offset[0]+A.offsetWidth)-this.xcomp)/A.offsetWidth}},page:function(D){var A=0,C=0;var B=D;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body){if(Element.getStyle(B,"position")=="absolute"){break}}}while(B=B.offsetParent);B=D;do{if(!window.opera||B.tagName=="BODY"){A-=B.scrollTop||0;C-=B.scrollLeft||0}}while(B=B.parentNode);return[C,A]},clone:function(C,E){var A=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});C=$(C);var D=Position.page(C);E=$(E);var F=[0,0];var B=null;if(Element.getStyle(E,"position")=="absolute"){B=Position.offsetParent(E);F=Position.page(B)}if(B==document.body){F[0]-=document.body.offsetLeft;F[1]-=document.body.offsetTop}if(A.setLeft){E.style.left=(D[0]-F[0]+A.offsetLeft)+"px"}if(A.setTop){E.style.top=(D[1]-F[1]+A.offsetTop)+"px"}if(A.setWidth){E.style.width=C.offsetWidth+"px"}if(A.setHeight){E.style.height=C.offsetHeight+"px"}},absolutize:function(B){B=$(B);if(B.style.position=="absolute"){return }Position.prepare();var D=Position.positionedOffset(B);var F=D[1];var E=D[0];var C=B.clientWidth;var A=B.clientHeight;B._originalLeft=E-parseFloat(B.style.left||0);B._originalTop=F-parseFloat(B.style.top||0);B._originalWidth=B.style.width;B._originalHeight=B.style.height;B.style.position="absolute";B.style.top=F+"px";B.style.left=E+"px";B.style.width=C+"px";B.style.height=A+"px"},relativize:function(A){A=$(A);if(A.style.position=="relative"){return }Position.prepare();A.style.position="relative";var C=parseFloat(A.style.top||0)-(A._originalTop||0);var B=parseFloat(A.style.left||0)-(A._originalLeft||0);A.style.top=C+"px";A.style.left=B+"px";A.style.height=A._originalHeight;A.style.width=A._originalWidth}};if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.cumulativeOffset=function(B){var A=0,C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body){if(Element.getStyle(B,"position")=="absolute"){break}}B=B.offsetParent}while(B);return[C,A]}}Element.addMethods();
// script.aculo.us scriptaculous.js v1.7.0, Fri Jan 19 19:16:36 CET 2007
// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// For details, see the script.aculo.us web site: http://script.aculo.us/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('l 3O={di:{dd:"1W",dc:"3P",db:"3P",da:"3P",d9:"hr",d8:"4k",9s:"4k",d7:"5k",d6:"3P",d5:"3P",d4:"3P",d3:"3P",d2:"3P",d1:"3P"},1L:(g(2u){2u=2u.42();l dh=6.di[2u]||"6j";l 5s=19.2v(dh);a7{5s.37="<"+2u+"></"+2u+">"}a6(e){}l 8=5s.78||14;j(8&&(8.2V.42()!=2u)){8=8.95(2u)[0]}j(!8){8=19.2v(2u)}j(!8){q}j(Y[1]){j(6.7U(Y[1])||(Y[1]4h 34)){6.aa(8,Y[1])}Z{l 5r=6.df(Y[1]);j(5r.12){a7{5s.37="<"+2u+" "+5r+"></"+2u+">"}a6(e){}8=5s.78||14;j(!8){8=19.2v(2u);2l(7V 6k Y[1]){8[7V=="dg"?"3y":7V]=Y[1][7V]}}j(8.2V.42()!=2u){8=5s.95(2u)[0]}}}}j(Y[2]){6.aa(8,Y[2])}q 8}),a9:(g(3z){q 19.6L(3z)}),ac:{3y:"dg",hq:"2l"},df:(g(ab){l 5r=[];2l(6w 6k ab){5r.1J((6w 6k 6.ac?6.ac[6w]:6w)+"=\\""+ab[6w].hp().ho()+"\\"")}q 5r.59(" ")}),aa:(g(8,1B){j(1t 1B=="5k"){1B.3D().1h((g(e){j(1t e=="5k"){8.2h(e)}Z{j(3O.7U(e)){8.2h(3O.a9(e))}}}))}Z{j(3O.7U(1B)){8.2h(3O.a9(1B))}}}),7U:(g(a8){q(1t a8=="2w"||1t a8=="bX")}),hn:(g(de){l 8=6.1L("6j");$(8).11(de.hm());q 8.23()}),hl:(g(3h){j(1t 3h!="5k"&&1t 3h!="g"){3h=1u}l d0=("A hk hj hi hh dd B hg hf he hd hc bF hb bP dc ha h9 h8 db da h7 h6 h5 h4 bt h3 h2 h1 h0 gZ gY gX gW gV gU gT gS gR gQ gP gO gN I gM gL bR gK gJ gI gH d9 8K gG gF gE gD gC gB gA gz d8 9s P d7 gy Q S gx gw bQ gv gu gt gs gr gq gp go d6 d5 bO d4 d3 d2 gn d1 gm U gl gk").cZ(/\\s+/);d0.1h((g(3E){3h[3E]=(g(){q 3O.1L.cY(3O,[3E].8w($A(Y)))})}))})};9D.1d.4a=(g(){l 1G="#";j(6.4p(0,4)=="gj("){l 5L=6.4p(4,6.12-1).cZ(",");l i=0;do{1G+=35(5L[i]).9F()}5y(++i<3)}Z{j(6.4p(0,1)=="#"){j(6.12==4){2l(l i=1;i<4;i++){1G+=(6.9A(i)+6.9A(i)).4q()}}j(6.12==7){1G=6.4q()}}}q(1G.12==7?1G:(Y[0]||6))});D.7a=(g(8){q $A($(8).3Y).89((g(1L){q(1L.a5==3?1L.a4:(1L.91()?D.7a(1L):""))})).3D().59("")});D.79=(g(8,3y){q $A($(8).3Y).89((g(1L){q(1L.a5==3?1L.a4:((1L.91()&&!D.gh(1L,3y))?D.79(1L,3y):""))})).3D().59("")});D.c8=(g(8,7O){8=$(8);8.1f({3j:(7O/3p)+"em"});j(2C.4d.1T("4M")>0){1u.80(0,0)}q 8});D.5h=(g(8){q $(8).1w("1Z")});D.7z=(g(8,O){q $(8).1f({1Z:O})});D.3J=(g(8){q $(8).E.1Z||""});D.9B=(g(8){a7{8=$(8);l n=19.6L(" ");8.2h(n);8.bo(n)}a6(e){}});34.1d.gg=(g(){l cX=Y;6.1h((g(f){f.cY(6,cX)}))});l u={5l:{38:"gf",ge:"gd gc gb 8 ga g9 g8, g7 g6 g5 2l 6 t 2k g4"},cW:(g(8){j(1t 3O=="51"){3c("u.cW 8W 8V 8U.8T.8S\' g3.62 8R")}l a3="13:cI";j(/61/.3V(2C.5Z)&&!1u.2Z){a3+=";9H:1"}8=$(8);$A(8.3Y).1h((g(1Q){j(1Q.a5==3){1Q.a4.g2().1h((g(a2){8.57(3O.1L("4S",{E:a3},a2==" "?9D.g1(g0):a2),1Q)}));D.4m(1Q)}}))}),fZ:(g(8,t){l 2U;j(((1t 8=="5k")||(1t 8=="g"))&&(8.12)){2U=8}Z{2U=$(8).3Y}l b=N.M({2x:0.1,27:0},Y[2]||{});l cV=b.27;$A(2U).1h((g(8,1e){X t(8,N.M(b,{27:1e*b.2x+cV}))}))}),a1:{fY:["cs","cr"],fX:["cv","cw"],cU:["7f","8Q"]},fW:(g(8,t){8=$(8);t=(t||"cU").4q();l b=N.M({2z:{13:"2P",3h:(8.1z||"7P"),9Y:1}},Y[2]||{});u[8.fV()?u.a1[t][1]:u.a1[t][0]](8,b)})};l fU=u;u.31={fT:4T.K,4E:(g(18){q(-1s.a0(18*1s.9Z)/ 2) + 0.5;}), 9K:(g (18) {q 1 - 18;}), cu:(g (18) {q ((-1s.a0(18 * 1s.9Z) /4)+0.75)+1s.fS()/ 4;}), fR:(g (18) {q (-1s.a0(18 * 1s.9Z * (9 * 18)) /2)+0.5}),cn:(g(18,3o){3o=3o||5;q(1s.2D((18%(1/3o))*3o)==0?((18*3o*2)-1s.cT(18*3o*2)):1-((18*3o*2)-1s.cT(18*3o*2)))}),41:(g(18){q 0}),cp:(g(18){q 1})};u.9X=1U.1O();N.M(N.M(u.9X.1d,fQ),{1X:(g(){6.1q=[];6.6v=14}),cS:(g(cR){6.1q.cS(cR)}),5c:(g(t){l 4K=(X 7p()).cP();l 13=(1t t.b.2z=="2w")?t.b.2z:t.b.2z.13;7d(13){1K"fP":6.1q.fO((g(e){q e.5o=="9U"})).1h((g(e){e.4b+=t.4c;e.4c+=t.4c}));1P;1K"5P-fN":4K=6.1q.cQ("4b").3s()||4K;1P;1K"2P":4K=6.1q.cQ("4c").3s()||4K;1P;7c:}t.4b+=4K;t.4c+=4K;j(!t.b.2z.9Y||(6.1q.12<t.b.2z.9Y)){6.1q.1J(t)}j(!6.6v){6.6v=bH(6.7S.1l(6),15)}}),4m:(g(t){6.1q=6.1q.6e((g(e){q e==t}));j(6.1q.12==0){bJ(6.6v);6.6v=14}}),7S:(g(){l 5p=(X 7p()).cP();2l(l i=0,cO=6.1q.12;i<cO;i++){j(6.1q[i]){6.1q[i].7S(5p)}}})});u.7R={7T:$H(),7Q:(g(5q){j(1t 5q!="2w"){q 5q}j(!6.7T[5q]){6.7T[5q]=X u.9X()}q 6.7T[5q]})};u.fM=u.7R.7Q("7P");u.cN={2b:u.31.4E,1I:1,cM:60,2r:J,2y:0,2k:1,27:0,2z:"fL"};u.2m=(g(){});u.2m.1d={13:14,1D:(g(b){6.b=N.M(N.M({},u.cN),b||{});6.9W=0;6.5o="9U";6.4b=6.b.27*2H;6.4c=6.4b+(6.b.1I*2H);6.C("fK");j(!6.b.2r){u.7R.7Q(1t 6.b.2z=="2w"?"7P":6.b.2z.3h).5c(6)}}),7S:(g(5p){j(5p>=6.4b){j(5p>=6.4c){6.3a(1);6.54();6.C("cJ");j(6.4J){6.4J()}6.C("9u");q}l 18=(5p-6.4b)/(6.4c-6.4b);l 9V=1s.2D(18*6.b.cM*6.b.1I);j(9V>6.9W){6.3a(18);6.9W=9V}}}),3a:(g(18){j(6.5o=="9U"){6.5o="cL";6.C("4F");j(6.4D){6.4D()}6.C("9O")}j(6.5o=="cL"){j(6.b.2b){18=6.b.2b(18)}18*=(6.b.2k-6.b.2y);18+=6.b.2y;6.13=18;6.C("fJ");j(6.11){6.11(18)}6.C("fI")}}),54:(g(){j(!6.b.2r){u.7R.7Q(1t 6.b.2z=="2w"?"7P":6.b.2z.3h).4m(6)}6.5o="fH"}),C:(g(29){j(6.b[29+"cK"]){6.b[29+"cK"](6)}j(6.b[29]){6.b[29](6)}}),6g:(g(){l 6m=$H();2l(2N 6k 6){j(1t 6[2N]!="g"){6m[2N]=6[2N]}}q"#<u:"+6m.6g()+",b:"+$H(6.b).6g()+">"})};u.4C=1U.1O();N.M(N.M(u.4C.1d,u.2m.1d),{1X:(g(1q){6.1q=1q||[];6.1D(Y[1])}),11:(g(13){6.1q.bC("3a",13)}),4J:(g(13){6.1q.1h((g(t){t.3a(1);t.54();t.C("cJ");j(t.4J){t.4J(13)}t.C("9u")}))})});u.G=1U.1O();N.M(N.M(u.G.1d,u.2m.1d),{1X:(g(){l b=N.M({1I:0},Y[0]||{});6.1D(b)}),11:4T.9d});u.2W=1U.1O();N.M(N.M(u.2W.1d,u.2m.1d),{1X:(g(8){6.8=$(8);j(!6.8){3c(u.5l)}j(/61/.3V(2C.5Z)&&!1u.2Z&&(!6.8.ci.ch)){6.8.1f({9H:1})}l b=N.M({2y:6.8.5h()||0,2k:1},Y[1]||{});6.1D(b)}),11:(g(13){6.8.7z(13)})});u.2p=1U.1O();N.M(N.M(u.2p.1d,u.2m.1d),{1X:(g(8){6.8=$(8);j(!6.8){3c(u.5l)}l b=N.M({x:0,y:0,cH:"cI"},Y[1]||{});6.1D(b)}),4D:(g(){6.8.2G();6.6s=4i(6.8.1w("1c")||"0");6.6t=4i(6.8.1w("1b")||"0");j(6.b.cH=="4t"){6.b.x=6.b.x-6.6s;6.b.y=6.b.y-6.6t}}),11:(g(13){6.8.1f({1c:1s.2D(6.b.x*13+6.6s)+"1E",1b:1s.2D(6.b.y*13+6.6t)+"1E"})})});u.fG=(g(8,cF,cG){q X u.2p(8,N.M({x:cG,y:cF},Y[3]||{}))});u.2A=1U.1O();N.M(N.M(u.2A.1d,u.2m.1d),{1X:(g(8,7O){6.8=$(8);j(!6.8){3c(u.5l)}l b=N.M({3n:V,6r:V,3m:V,7M:J,3N:"9N",4G:3p,cE:7O},Y[2]||{});6.1D(b)}),4D:(g(){6.2O=6.b.2O||J;6.cB=6.8.1w("13");6.9T={};["1b","1c","1k","1a","3j"].1h((g(k){6.9T[k]=6.8.E[k]}).1l(6));6.6t=6.8.bi;6.6s=6.8.fF;l 3j=6.8.1w("fE-56")||"3p%";["em","1E","%","ca"].1h((g(6u){j(3j.1T(6u)>0){6.3j=4i(3j);6.6u=6u}}).1l(6));6.cD=(6.b.cE-6.b.4G)/ 3p;6.1i = 14;j (6.b.3N == "9N") {6.1i = [6.8.3S, 6.8.4g];}j (/^fD/.3V(6.b.3N)){6.1i=[6.8.cx,6.8.fC]}j(!6.1i){6.1i=[6.b.3N.7K,6.b.3N.7J]}}),11:(g(13){l 7N=(6.b.4G/ 3p) + (6.cD * 13);j (6.b.3m && 6.3j) {6.8.1f({3j:6.3j * 7N + 6.6u});}6.cC(6.1i[0] * 7N, 6.1i[1] * 7N);}), 4J:(g (13) {j (6.2O) {6.8.1f(6.9T);}}), cC:(g (1a, 1k) {l d = {};j (6.b.3n) {d.1k = 1s.2D(1k) + "1E";}j (6.b.6r) {d.1a = 1s.2D(1a) + "1E";}j (6.b.7M) {l 9S = (1a - 6.1i[0]) /2;l 9R=(1k-6.1i[1])/2;j(6.cB=="4t"){j(6.b.6r){d.1b=6.6t-9S+"1E"}j(6.b.3n){d.1c=6.6s-9R+"1E"}}Z{j(6.b.6r){d.1b=-9S+"1E"}j(6.b.3n){d.1c=-9R+"1E"}}}6.8.1f(d)})});u.6S=1U.1O();N.M(N.M(u.6S.1d,u.2m.1d),{1X:(g(8){6.8=$(8);j(!6.8){3c(u.5l)}l b=N.M({6R:"#fB"},Y[1]||{});6.1D(b)}),4D:(g(){j(6.8.1w("5X")=="41"){6.54();q}6.2a={};j(!6.b.fA){6.2a.cA=6.8.1w("6Y-fz");6.8.1f({cA:"41"})}j(!6.b.6Q){6.b.6Q=6.8.1w("6Y-1G").4a("#ck")}j(!6.b.6P){6.b.6P=6.8.1w("6Y-1G")}6.9Q=$R(0,2).1W((g(i){q 35(6.b.6R.4p(i*2+1,i*2+3),16)}).1l(6));6.cz=$R(0,2).1W((g(i){q 35(6.b.6Q.4p(i*2+1,i*2+3),16)-6.9Q[i]}).1l(6))}),11:(g(13){6.8.1f({3v:$R(0,2).cf("#",(g(m,v,i){q m+(1s.2D(6.9Q[i]+(6.cz[i]*13)).9F())}).1l(6))})}),4J:(g(){6.8.1f(N.M(6.2a,{3v:6.b.6P}))})});u.cy=1U.1O();N.M(N.M(u.cy.1d,u.2m.1d),{1X:(g(8){6.8=$(8);6.1D(Y[1]||{})}),4D:(g(){1o.6b();l 1H=1o.3R(6.8);j(6.b.2e){1H[1]+=6.b.2e}l 3s=1u.9g?1u.1a-1u.9g:19.45.cx-(19.3f.4u?19.3f.4u:19.45.4u);6.9P=1o.9p;6.2f=(1H[1]>3s?3s:1H[1])-6.9P}),11:(g(13){1o.6b();1u.9j(1o.9q,6.9P+(13*6.2f))})});u.8Q=(g(8){8=$(8);l 5m=8.3J();l b=N.M({2y:8.5h()||1,2k:0,1C:(g(t){j(t.b.2k!=0){q}t.8.1A().1f({1Z:5m})})},Y[1]||{});q X u.2W(8,b)});u.7f=(g(8){8=$(8);l b=N.M({2y:(8.1w("5X")=="41"?0:8.5h()||0),2k:1,1C:(g(t){t.8.9B()}),4F:(g(t){t.8.7z(t.b.2y).22()})},Y[1]||{});q X u.2W(8,b)});u.fy=(g(8){8=$(8);l 2a={1Z:8.3J(),13:8.1w("13"),1b:8.E.1b,1c:8.E.1c,1k:8.E.1k,1a:8.E.1a};q X u.4C([X u.2A(8,fx,{2r:V,7M:V,3m:V,2O:V}),X u.2W(8,{2r:V,2k:0})],N.M({1I:1,fw:(g(t){1o.bN(t.1q[0].8)}),1C:(g(t){t.1q[0].8.1A().1f(2a)})},Y[1]||{}))});u.cw=(g(8){8=$(8);8.3L();q X u.2A(8,0,N.M({3m:J,3n:J,2O:V,1C:(g(t){t.8.1A().3K()})},Y[1]||{}))});u.cv=(g(8){8=$(8);l 5n=8.7I();q X u.2A(8,3p,N.M({3m:J,3n:J,4G:0,3N:{7K:5n.1a,7J:5n.1k},2O:V,9O:(g(t){t.8.3L().1f({1a:"9M"}).22()}),1C:(g(t){t.8.3K()})},Y[1]||{}))});u.fv=(g(8){8=$(8);l 5m=8.3J();q X u.7f(8,N.M({1I:0.4,2y:0,2b:u.31.cu,1C:(g(t){X u.2A(t.8,1,{1I:0.3,7M:V,3n:J,3m:J,2O:V,4F:(g(t){t.8.2G().3L()}),1C:(g(t){t.8.1A().3K().3M().1f({1Z:5m})})})})},Y[1]||{}))});u.fu=(g(8){8=$(8);l 2a={1b:8.1w("1b"),1c:8.1w("1c"),1Z:8.3J()};q X u.4C([X u.2p(8,{x:0,y:3p,2r:V}),X u.2W(8,{2r:V,2k:0})],N.M({1I:0.5,4F:(g(t){t.1q[0].8.2G()}),1C:(g(t){t.1q[0].8.1A().3M().1f(2a)})},Y[1]||{}))});u.ft=(g(8){8=$(8);l 2a={1b:8.1w("1b"),1c:8.1w("1c")};q X u.2p(8,{x:20,y:0,1I:0.ct,1C:(g(t){X u.2p(t.8,{x:-40,y:0,1I:0.1,1C:(g(t){X u.2p(t.8,{x:40,y:0,1I:0.1,1C:(g(t){X u.2p(t.8,{x:-40,y:0,1I:0.1,1C:(g(t){X u.2p(t.8,{x:40,y:0,1I:0.1,1C:(g(t){X u.2p(t.8,{x:-20,y:0,1I:0.ct,1C:(g(t){t.8.3M().1f(2a)})})})})})})})})})})})})});u.cs=(g(8){8=$(8).5U();l 7L=8.23().1w("30");l 5n=8.7I();q X u.2A(8,3p,N.M({3m:J,3n:J,4G:1u.2Z?0:1,3N:{7K:5n.1a,7J:5n.1k},2O:V,9O:(g(t){t.8.2G();t.8.23().2G();j(1u.2Z){t.8.1f({1b:""})}t.8.3L().1f({1a:"9M"}).22()}),cq:(g(t){t.8.23().1f({30:(t.1i[0]-t.8.4u)+"1E"})}),1C:(g(t){t.8.3K().3M();t.8.23().3M().1f({30:7L})})},Y[1]||{}))});u.cr=(g(8){8=$(8).5U();l 7L=8.23().1w("30");q X u.2A(8,1u.2Z?0:1,N.M({3m:J,3n:J,3N:"9N",4G:3p,2O:V,co:(g(t){t.8.2G();t.8.23().2G();j(1u.2Z){t.8.1f({1b:""})}t.8.3L().22()}),cq:(g(t){t.8.23().1f({30:(t.1i[0]-t.8.4u)+"1E"})}),1C:(g(t){t.8.1A().3K().3M().1f({30:7L});t.8.23().3M()})},Y[1]||{}))});u.fs=(g(8){q X u.2A(8,1u.2Z?1:0,{2O:V,4F:(g(t){t.8.3L()}),1C:(g(t){t.8.1A().3K()})})});u.fr=(g(8){8=$(8);l b=N.M({7H:"7G",7D:u.31.4E,7E:u.31.4E,7F:u.31.cp},Y[1]||{});l 2a={1b:8.E.1b,1c:8.E.1c,1a:8.E.1a,1k:8.E.1k,1Z:8.3J()};l 1i=8.7I();l 4I,4H;l 2t,2s;7d(b.7H){1K"1b-1c":4I=4H=2t=2s=0;1P;1K"1b-6l":4I=1i.1k;4H=2s=0;2t=-1i.1k;1P;1K"30-1c":4I=2t=0;4H=1i.1a;2s=-1i.1a;1P;1K"30-6l":4I=1i.1k;4H=1i.1a;2t=-1i.1k;2s=-1i.1a;1P;1K"7G":4I=1i.1k/ 2;4H = 1i.1a /2;2t=-1i.1k/ 2;2s = -1i.1a /2;1P;7c:}q X u.2p(8,{x:4I,y:4H,1I:0.fq,4F:(g(t){t.8.1A().3L().2G()}),1C:(g(t){X u.4C([X u.2W(t.8,{2r:V,2k:1,2y:0,2b:b.7F}),X u.2p(t.8,{x:2t,y:2s,2r:V,2b:b.7D}),X u.2A(t.8,3p,{3N:{7K:1i.1a,7J:1i.1k},2r:V,4G:1u.2Z?1:0,2b:b.7E,2O:V})],N.M({4F:(g(t){t.1q[0].8.1f({1a:"9M"}).22()}),1C:(g(t){t.1q[0].8.3K().3M().1f(2a)})},b))})})});u.fp=(g(8){8=$(8);l b=N.M({7H:"7G",7D:u.31.4E,7E:u.31.4E,7F:u.31.41},Y[1]||{});l 2a={1b:8.E.1b,1c:8.E.1c,1a:8.E.1a,1k:8.E.1k,1Z:8.3J()};l 1i=8.7I();l 2t,2s;7d(b.7H){1K"1b-1c":2t=2s=0;1P;1K"1b-6l":2t=1i.1k;2s=0;1P;1K"30-1c":2t=0;2s=1i.1a;1P;1K"30-6l":2t=1i.1k;2s=1i.1a;1P;1K"7G":2t=1i.1k/ 2;2s = 1i.1a /2;1P;7c:}q X u.4C([X u.2W(8,{2r:V,2k:0,2y:1,2b:b.7F}),X u.2A(8,1u.2Z?1:0,{2r:V,2b:b.7E,2O:V}),X u.2p(8,{x:2t,y:2s,2r:V,2b:b.7D})],N.M({co:(g(t){t.1q[0].8.2G().3L()}),1C:(g(t){t.1q[0].8.1A().3K().3M().1f(2a)})},b))});u.fo=(g(8){8=$(8);l b=Y[1]||{};l 5m=8.3J();l 2b=b.2b||u.31.4E;l 9L=(g(18){q 2b(1-u.31.cn(18,b.3o))});9L.1l(2b);q X u.2W(8,N.M(N.M({1I:2,2y:0,1C:(g(t){t.8.1f({1Z:5m})})},b),{2b:9L}))});u.fn=(g(8){8=$(8);l 2a={1b:8.E.1b,1c:8.E.1c,1k:8.E.1k,1a:8.E.1a};8.3L();q X u.2A(8,5,N.M({3m:J,3n:J,1C:(g(t){X u.2A(8,1,{3m:J,6r:J,1C:(g(t){t.8.1A().3K().1f(2a)})})})},Y[1]||{}))});u.7A=1U.1O();N.M(N.M(u.7A.1d,u.2m.1d),{1X:(g(8){6.8=$(8);j(!6.8){3c(u.5l)}l b=N.M({E:{}},Y[1]||{});j(1t b.E=="2w"){j(b.E.1T(":")==-1){l 6o="",73="."+b.E;$A(19.fm).9K().1h((g(6q){j(6q.6p){6p=6q.6p}Z{j(6q.cl){6p=6q.cl}}$A(6p).9K().1h((g(9J){j(73==9J.fl){6o=9J.E.6o;3c $1P}}));j(6o){3c $1P}}));6.E=6o.9C();b.1C=(g(t){t.8.3r(t.b.E);t.9G.1h((g(1R){j(1R.E!="1Z"){t.8.E[1R.E.c5()]=""}}))})}Z{6.E=b.E.9C()}}Z{6.E=$H(b.E)}6.1D(b)}),4D:(g(){g 4a(1G){j(!1G||["fk(0, 0, 0, 0)","aQ"].8Z(1G)){1G="#ck"}1G=1G.4a();q $R(0,2).1W((g(i){q 35(1G.4p(i*2+1,i*2+3),16)}))}6.9G=6.E.1W((g(9I){l 2N=9I[0].fj().fi(),O=9I[1],3k=14;j(O.4a("#cj")!="#cj"){O=O.4a();3k="1G"}Z{j(2N=="1Z"){O=4i(O);j(/61/.3V(2C.5Z)&&!1u.2Z&&(!6.8.ci.ch)){6.8.1f({9H:1})}}Z{j(D.cb.3V(O)){l 7C=O.2j(/^([\\+\\-]?[0-9\\.]+)(.*)$/),O=4i(7C[1]),3k=(7C.12==3)?7C[2]:14}}}l 3l=6.8.1w(2N);q $H({E:2N,3l:3k=="1G"?4a(3l):4i(3l||0),6n:3k=="1G"?4a(O):O,3k:3k})}).1l(6)).6e((g(1R){q((1R.3l==1R.6n)||(1R.3k!="1G"&&(cg(1R.3l)||cg(1R.6n))))}))}),11:(g(13){l E=$H(),O=14;6.9G.1h((g(1R){O=1R.3k=="1G"?$R(0,2).cf("#",(g(m,v,i){q m+(1s.2D(1R.3l[i]+(1R.6n[i]-1R.3l[i])*13)).9F()})):1R.3l+1s.2D(((1R.6n-1R.3l)*13)*2H)/2H+1R.3k;E[1R.E]=O}));6.8.1f(E)})});u.ce=1U.1O();N.M(u.ce.1d,{1X:(g(4B){6.4B=[];6.b=Y[1]||{};6.cd(4B)}),cd:(g(4B){4B.1h((g(1y){l 6m=$H(1y).1S().cc();6.4B.1J($H({9E:$H(1y).fh().cc(),t:u.7A,b:{E:6m}}))}).1l(6));q 6}),fg:(g(){q X u.4C(6.4B.1W((g(1y){l 2U=[$(1y.9E)||$$(1y.9E)].3D();q 2U.1W((g(e){q X 1y.t(e,N.M({2r:V},1y.b))}))})).3D(),6.b)})});D.c9=$w("3v ff fe fd fc fb fa f9 f8 f7 f6 f5 f4 f3 f2 30 f1 1G 3j f0 1a 1c eZ eY eX eW eV eU eT eS eR eQ eP 1Z eO eN eM eL eK eJ eI 6l eH 1b 1k eG 5Y");D.cb=/^(([\\+\\-]?[0-9\\.]+)(em|ex|1E|6k|cm|eF|ca|eE|\\%))|0$/;9D.1d.9C=(g(){l 8=D.M(19.2v("6j"));8.37="<6j E=\\""+6+"\\"></6j>";l E=8.23().E,7B=$H();D.c9.1h((g(2N){j(E[2N]){7B[2N]=E[2N]}}));j(/61/.3V(2C.5Z)&&!1u.2Z&&6.1T("1Z")>-1){7B.1Z=6.2j(/1Z:\\s*((?:0|1)?(?:\\.\\d*)?)/)[1]}q 7B});D.c7=(g(8,E){X u.7A(8,N.M({E:E},Y[2]||{}));q 8});["7z","5h","3J","9B","c8","7a","79","c7"].1h((g(f){D.c6[f]=D[f]}));D.c6.eD=(g(8,t,b){s=t.eC(/7m/,"-").c5();c4=s.9A(0).42()+s.eB(1);X u[c4](8,b);q $(8)});D.eA();j(1t u=="51"){3c("ez.62 8W 8V 8U.8T.8S\' 1q.62 8R")}l 2K={2Y:[],4m:(g(8){6.2Y=6.2Y.6e((g(d){q d.8==$(8)}))}),5c:(g(8){8=$(8);l b=N.M({ey:V,3e:14,2o:J},Y[1]||{});j(b.2L){b.6i=[];l 2L=b.2L;j((1t 2L=="5k")&&(2L.ew==34)){2L.1h((g(c){b.6i.1J($(c))}))}Z{b.6i.1J($(2L))}}j(b.6h){b.6h=[b.6h].3D()}D.2G(8);b.8=8;6.2Y.1J(b)}),c2:(g(2Y){7y=2Y[0];2l(i=1;i<2Y.12;++i){j(D.64(2Y[i].8,7y.8)){7y=2Y[i]}}q 7y}),c3:(g(8,1m){l 7x;j(1m.2o){7x=8.9a}Z{7x=8.1F}q 1m.6i.90((g(c){q 7x==c}))}),9z:(g(3I,8,1m){q((1m.8!=8)&&((!1m.6i)||6.c3(8,1m))&&((!1m.6h)||(D.bj(8).90((g(v){q 1m.6h.8Z(v)}))))&&1o.c1(1m.8,3I[0],3I[1]))}),6c:(g(1m){j(1m.3e){D.4Q(1m.8,1m.3e)}6.2X=14}),58:(g(1m){j(1m.3e){D.3r(1m.8,1m.3e)}6.2X=1m}),22:(g(3I,8){j(!6.2Y.12){q}l 7w=[];j(6.2X){6.6c(6.2X)}6.2Y.1h((g(1m){j(2K.9z(3I,8,1m)){7w.1J(1m)}}));j(7w.12>0){1m=2K.c2(7w);1o.c1(1m.8,3I[0],3I[1]);j(1m.3X){1m.3X(8,1m.8,1o.1V(1m.1V,1m.8))}2K.58(1m)}}),bM:(g(C,8){j(!6.2X){q}1o.6b();j(6.9z([G.5w(C),G.5v(C)],8,6.2X)){j(6.2X.c0){6.2X.c0(8,6.2X.8,C)}}}),bK:(g(){j(6.2X){6.6c(6.2X)}})};l 1r={5j:[],5i:[],bU:(g(2q){j(6.5j.12==0){6.4X=6.4L.26(6);6.4W=6.7u.26(6);6.9y=6.7s.26(6);G.1N(19,"6J",6.4X);G.1N(19,"6I",6.4W);G.1N(19,"8P",6.9y)}6.5j.1J(2q)}),bT:(g(2q){6.5j=6.5j.6e((g(d){q d==2q}));j(6.5j.12==0){G.2g(19,"6J",6.4X);G.2g(19,"6I",6.4W);G.2g(19,"8P",6.9y)}}),58:(g(2q){j(2q.b.27){6.6f=4Z((g(){1r.6f=14;1u.8H();1r.3i=2q}).1l(6),2q.b.27)}Z{1u.8H();6.3i=2q}}),6c:(g(){6.3i=14}),7u:(g(C){j(!6.3i){q}l 1n=[G.5w(C),G.5v(C)];j(6.5f&&(6.5f.6g()==1n.6g())){q}6.5f=1n;6.3i.7u(C,1n)}),4L:(g(C){j(6.6f){8a(6.6f);6.6f=14}j(!6.3i){q}6.5f=14;6.3i.4L(C);6.3i=14}),7s:(g(C){j(6.3i){6.3i.7s(C)}}),by:(g(3b){6.5i.1J(3b);6.9x()}),bD:(g(8){6.5i=6.5i.6e((g(o){q o.8==8}));6.9x()}),6a:(g(29,2q,C){j(6[29+"bZ"]>0){6.5i.1h((g(o){j(o[29]){o[29](29,2q,C)}}))}j(2q.b[29]){2q.b[29](2q,C)}}),9x:(g(){["9f","9e","9i"].1h((g(29){1r[29+"bZ"]=1r.5i.4k((g(o){q o[29]})).12}))})};l 49=1U.1O();49.6d={};49.1d={1X:(g(8){l 9t={1j:J,4y:(g(8,9v,9w){l bY=1s.ev(1s.6H(9v^2)+1s.6H(9w^2))*0.eu;X u.2p(8,{x:-9w,y:-9v,1I:bY,2z:{3h:"bV",13:"2P"}})}),4x:(g(8){l bW=1t 8.7v=="bX"?8.7v:1;X u.2W(8,{1I:0.2,2y:0.7,2k:bW,2z:{3h:"bV",13:"2P"},9u:(g(){49.6d[8]=J})})}),4w:2H,3G:J,1g:J,2M:20,28:15,3H:J,27:0};j(!Y[1]||1t Y[1].4x=="51"){N.M(9t,{5d:(g(8){8.7v=D.5h(8);49.6d[8]=V;X u.2W(8,{1I:0.2,2y:8.7v,2k:0.7})})})}l b=N.M(9t,Y[1]||{});6.8=$(8);j(b.1j&&(1t b.1j=="2w")){6.1j=6.8.23("."+b.1j,0)}j(!6.1j){6.1j=$(b.1j)}j(!6.1j){6.1j=6.8}j(b.1g&&!b.1g.9j&&!b.1g.et){b.1g=$(b.1g);6.9h=D.es(6.8,b.1g)}D.2G(6.8);6.2f=6.7r();6.b=b;6.2B=J;6.3T=6.bS.26(6);G.1N(6.1j,"4V",6.3T);1r.bU(6)}),7l:(g(){G.2g(6.1j,"4V",6.3T);1r.bT(6)}),7r:(g(){q([35(D.1w(6.8,"1c")||"0"),35(D.1w(6.8,"1b")||"0")])}),bS:(g(C){j(1t 49.6d[6.8]!="51"&&49.6d[6.8]){q}j(G.ae(C)){l 8N=G.8(C);j((5g=8N.2V.42())&&(5g=="bR"||5g=="bQ"||5g=="9s"||5g=="bP"||5g=="bO")){q}l 1n=[G.5w(C),G.5v(C)];l 18=1o.3R(6.8);6.2e=[0,1].1W((g(i){q(1n[i]-18[i])}));1r.58(6);G.2c(C)}}),6A:(g(C){6.2B=V;j(6.b.4w){6.bL=35(D.1w(6.8,"z-1e")||0);6.8.E.5Y=6.b.4w}j(6.b.46){6.7t=6.8.er(V);1o.bN(6.8);6.8.1F.57(6.7t,6.8)}j(6.b.1g){j(6.b.1g==1u){l 9r=6.7n(6.b.1g);6.9o=9r.1c;6.9n=9r.1b}Z{6.9o=6.b.1g.5e;6.9n=6.b.1g.4A}}1r.6a("9f",6,C);j(6.b.5d){6.b.5d(6.8)}}),7u:(g(C,1n){j(!6.2B){6.6A(C)}1o.6b();2K.22(1n,6.8);1r.6a("9i",6,C);6.5x(1n);j(6.b.7o){6.b.7o(6)}j(6.b.1g){6.9m();l p;j(6.b.1g==1u){5P(6.7n(6.b.1g)){p=[1c,1b,1c+1k,1b+1a]}}Z{p=1o.eq(6.b.1g);p[0]+=6.b.1g.5e+1o.9q;p[1]+=6.b.1g.4A+1o.9p;p.1J(p[0]+6.b.1g.4g);p.1J(p[1]+6.b.1g.3S)}l 2x=[0,0];j(1n[0]<(p[0]+6.b.2M)){2x[0]=1n[0]-(p[0]+6.b.2M)}j(1n[1]<(p[1]+6.b.2M)){2x[1]=1n[1]-(p[1]+6.b.2M)}j(1n[0]>(p[2]-6.b.2M)){2x[0]=1n[0]-(p[2]-6.b.2M)}j(1n[1]>(p[3]-6.b.2M)){2x[1]=1n[1]-(p[3]-6.b.2M)}6.bI(2x)}j(2C.4d.1T("4M")>0){1u.80(0,0)}G.2c(C)}),5t:(g(C,6y){6.2B=J;j(6.b.46){1o.ep(6.8);D.4m(6.7t);6.7t=14}j(6y){2K.bM(C,6.8)}1r.6a("9e",6,C);l 3G=6.b.3G;j(3G&&1t 3G=="g"){3G=3G(6.8)}l d=6.7r();j(3G&&6.b.4y){6.b.4y(6.8,d[1]-6.2f[1],d[0]-6.2f[0])}Z{6.2f=d}j(6.b.4w){6.8.E.5Y=6.bL}j(6.b.4x){6.b.4x(6.8)}1r.6c(6);2K.bK()}),7s:(g(C){j(C.5W!=G.bc){q}6.5t(C,J);G.2c(C)}),4L:(g(C){j(!6.2B){q}6.9m();6.5t(C,V);G.2c(C)}),5x:(g(3I){l 18=1o.3R(6.8);j(6.b.46){l r=1o.eo(6.8);18[0]+=r[0]-1o.9q;18[1]+=r[1]-1o.9p}l d=6.7r();18[0]-=d[0];18[1]-=d[1];j(6.b.1g&&(6.b.1g!=1u&&6.9h)){18[0]-=6.b.1g.5e-6.9o;18[1]-=6.b.1g.4A-6.9n}l p=[0,1].1W((g(i){q(3I[i]-18[i]-6.2e[i])}).1l(6));j(6.b.3H){j(1t 6.b.3H=="g"){p=6.b.3H(p[0],p[1],6)}Z{j(6.b.3H 4h 34){p=p.1W((g(v,i){q 1s.2D(v/ 6.b.3H[i]) * 6.b.3H[i];}).1l(6));} Z {p = p.1W((g (v) {q 1s.2D(v /6.b.3H)*6.b.3H}).1l(6))}}}l E=6.8.E;j((!6.b.4z)||(6.b.4z=="88")){E.1c=p[0]+"1E"}j((!6.b.4z)||(6.b.4z=="5z")){E.1b=p[1]+"1E"}j(E.7k=="98"){E.7k=""}}),9m:(g(){j(6.7q){bJ(6.7q);6.7q=14;1r.3g=14}}),bI:(g(2x){j(!(2x[0]||2x[1])){q}6.28=[2x[0]*6.b.28,2x[1]*6.b.28];6.9l=X 7p();6.7q=bH(6.1g.1l(6),10)}),1g:(g(){l 9k=X 7p();l 2f=9k-6.9l;6.9l=9k;j(6.b.1g==1u){5P(6.7n(6.b.1g)){j(6.28[0]||6.28[1]){l d=2f/ 2H;6.b.1g.9j(1c + d * 6.28[0], 1b + d * 6.28[1]);}}} Z {6.b.1g.5e += 6.28[0] * 2f /2H;6.b.1g.4A+=6.28[1]*2f/ 2H;}1o.6b();2K.22(1r.5f, 6.8);1r.6a("9i", 6);j (6.9h) {1r.3g = 1r.3g || $A(1r.5f);1r.3g[0] += 6.28[0] * 2f /2H;1r.3g[1]+=6.28[1]*2f/2H;j(1r.3g[0]<0){1r.3g[0]=0}j(1r.3g[1]<0){1r.3g[1]=0}6.5x(1r.3g)}j(6.b.7o){6.b.7o(6)}}),7n:(g(w){l T,L,W,H;5P(w.19){j(w.19.3f&&3f.4A){T=3f.4A;L=3f.5e}Z{j(w.19.45){T=45.4A;L=45.5e}}j(w.bG){W=w.bG;H=w.9g}Z{j(w.19.3f&&3f.94){W=3f.94;H=3f.4u}Z{W=45.4g;H=45.3S}}}q{1b:T,1c:L,1k:W,1a:H}})};l 99=1U.1O();99.1d={1X:(g(8,3b){6.8=$(8);6.3b=3b;6.4Y=17.5O(6.8)}),9f:(g(){6.4Y=17.5O(6.8)}),9e:(g(){17.bu();j(6.4Y!=17.5O(6.8)){6.3b(6.8)}})};l 17={bB:/^[^7m\\-](?:[A-en-el-9\\-\\7m]*)[7m](.*)$/,68:{},bE:(g(8){5y(8.2V.42()!="bF"){j(8.1z&&17.68[8.1z]){q 8}8=8.1F}}),b:(g(8){8=17.bE($(8));j(!8){q}q 17.68[8.1z]}),7l:(g(8){l s=17.b(8);j(s){1r.bD(s.8);s.69.1h((g(d){2K.4m(d)}));s.9c.bC("7l");bm 17.68[s.8.1z]}}),1O:(g(8){8=$(8);l b=N.M({8:8,3E:"5R",bA:J,2o:J,67:"8v",1V:"5z",4z:"5z",2L:8,1j:J,2n:J,27:0,3e:14,46:J,1g:J,2M:20,28:15,43:6.bB,3q:4T.9d,bx:4T.9d},Y[1]||{});6.7l(8);l 4v={3G:V,1g:b.1g,28:b.28,2M:b.2M,27:b.27,46:b.46,4z:b.4z,1j:b.1j};j(b.5d){4v.5d=b.5d}j(b.4y){4v.4y=b.4y}Z{j(b.46){4v.4y=(g(8){8.E.1b=0;8.E.1c=0})}}j(b.4x){4v.4x=b.4x}j(b.4w){4v.4w=b.4w}l bz={1V:b.1V,2L:b.2L,2o:b.2o,3e:b.3e,3X:17.3X};l 9b={3X:17.bv,1V:b.1V,2L:b.2L,3e:b.3e};D.5U(8);b.9c=[];b.69=[];j(b.bA||b.2o){2K.5c(8,9b);b.69.1J(8)}(6.5b(8,b)||[]).1h((g(e){l 1j=b.1j?$(e).23("."+b.1j,0):e;b.9c.1J(X 49(e,N.M(4v,{1j:1j})));2K.5c(e,bz);j(b.2o){e.9a=8}b.69.1J(e)}));j(b.2o){(17.bw(8,b)||[]).1h((g(e){2K.5c(e,9b);e.9a=8;b.69.1J(e)}))}6.68[8.1z]=b;1r.by(X 99(8,b.bx))}),5b:(g(8,b){q D.7g(8,b.2n,b.2o?V:J,b.3E)}),bw:(g(8,b){q D.7g(8,b.2n,b.2o?V:J,b.67)}),3X:(g(8,1x,1V){j(D.64(1x,8)){q}j(1V>0.33&&1V<0.66&&17.b(1x).2o){q}Z{j(1V>0.5){17.96(1x,"ek");j(1x.ej!=8){l 48=8.1F;8.E.7k="98";1x.1F.57(8,1x);j(1x.1F!=48){17.b(48).3q(8)}17.b(1x.1F).3q(8)}}Z{17.96(1x,"bq");l 97=1x.ei||14;j(97!=8){l 48=8.1F;8.E.7k="98";1x.1F.57(8,97);j(1x.1F!=48){17.b(48).3q(8)}17.b(1x.1F).3q(8)}}}}),bv:(g(8,1x,1V){l 48=8.1F;l 47=17.b(1x);j(!D.64(1x,8)){l 1e;l 1B=17.5b(1x,{3E:47.3E,2n:47.2n});l 1Q=14;j(1B){l 2e=D.63(1x,47.1V)*(1-1V);2l(1e=0;1e<1B.12;1e+=1){j(2e-D.63(1B[1e],47.1V)>=0){2e-=D.63(1B[1e],47.1V)}Z{j(2e-(D.63(1B[1e],47.1V)/2)>=0){1Q=1e+1<1B.12?1B[1e+1]:14;1P}Z{1Q=1B[1e];1P}}}}1x.57(8,1Q);17.b(48).3q(8);47.3q(8)}}),bu:(g(){j(17.3F){17.3F.1A()}}),96:(g(1x,13){l 7j=17.b(1x.1F);j(7j&&!7j.46){q}j(!17.3F){17.3F=($("bs")||D.M(19.2v("bt"))).1A().3r("bs").1f({13:"4t"});19.95("45").3d(0).2h(17.3F)}l 1H=1o.3R(1x);17.3F.1f({1c:1H[0]+"1E",1b:1H[1]+"1E"});j(13=="bq"){j(7j.1V=="88"){17.3F.1f({1c:(1H[0]+1x.94)+"1E"})}Z{17.3F.1f({1b:(1H[1]+1x.4u)+"1E"})}}17.3F.22()}),93:(g(8,b,44){l 1B=17.5b(8,b)||[];2l(l i=0;i<1B.12;++i){l 2j=1B[i].1z.2j(b.43);j(!2j){eh}l 1Q={1z:4j(2j?2j[1]:14),8:8,44:44,1B:[],13:44.1B.12,7i:$(1B[i]).23(b.67)};j(1Q.7i){6.93(1Q.7i,b,1Q)}44.1B.1J(1Q)}q 44}),2o:(g(8){8=$(8);l 65=6.b(8);l b=N.M({3E:65.3E,67:65.67,2n:65.2n,38:8.1z,43:65.43},Y[1]||{});l bp={1z:14,44:14,1B:[],7i:8,13:0};q 17.93(8,b,bp)}),bl:(g(1L){l 1e="";do{j(1L.1z){1e="["+1L.13+"]"+1e}}5y((1L=1L.44)!=14);q 1e}),bk:(g(8){8=$(8);l b=N.M(6.b(8),Y[1]||{});q $(6.5b(8,b)||[]).1W((g(3d){q 3d.1z.2j(b.43)?3d.1z.2j(b.43)[1]:""}))}),eg:(g(8,bn){8=$(8);l b=N.M(6.b(8),Y[2]||{});l 7h={};6.5b(8,b).1h((g(n){j(n.1z.2j(b.43)){7h[n.1z.2j(b.43)[1]]=[n,n.1F]}n.1F.bo(n)}));bn.1h((g(92){l n=7h[92];j(n){n[1].2h(n[0]);bm 7h[92]}}))}),5O:(g(8){8=$(8);l b=N.M(17.b(8),Y[1]||{});l 38=4j((Y[1]&&Y[1].38)?Y[1].38:8.1z);j(b.2o){q 17.2o(8,Y[1]).1B.1W((g(3d){q[38+17.bl(3d)+"[1z]="+4j(3d.1z)].8w(3d.1B.1W(Y.ef))})).3D().59("&")}Z{q 17.bk(8,Y[1]).1W((g(3d){q 38+"[]="+4j(3d)})).59("&")}})};D.64=(g(1Q,8){j(!1Q.1F||1Q==8){q J}j(1Q.1F==8){q V}q D.64(1Q.1F,8)});D.7g=(g(8,2n,8Y,2V){j(!8.91()){q 14}2V=2V.42();j(2n){2n=[2n].3D()}l 2U=[];$A(8.3Y).1h((g(e){j(e.2V&&e.2V.42()==2V&&(!2n||(D.bj(e).90((g(v){q 2n.8Z(v)}))))){2U.1J(e)}j(8Y){l 8X=D.7g(e,2n,8Y,2V);j(8X){2U.1J(8X)}}}));q(2U.12>0?2U.3D():[])});D.63=(g(8,5M){q 8["2e"+((5M=="5z"||5M=="1a")?"ee":"ed")]});j(1t u=="51"){3c("ec.62 8W 8V 8U.8T.8S\' 1q.62 8R")}l 3B={};3B.2m=(g(){});3B.2m.1d={8A:(g(8,11,b){6.8=$(8);6.11=$(11);6.5a=J;6.5T=J;6.24=J;6.1e=0;6.3C=0;j(6.8y){6.8y(b)}Z{6.b=b||{}}6.b.55=6.b.55||6.8.38;6.b.4r=6.b.4r||[];6.b.8L=6.b.8L||0.4;6.b.8F=6.b.8F||1;6.b.8O=6.b.8O||(g(8,11){j(!11.E.13||11.E.13=="4t"){11.E.13="4t";1o.be(8,11,{eb:J,bi:8.3S})}u.7f(11,{1I:0.15})});6.b.8M=6.b.8M||(g(8,11){X u.8Q(11,{1I:0.15})});j(1t(6.b.4r)=="2w"){6.b.4r=X 34(6.b.4r)}6.3b=14;6.8.ea("e9","e8");D.1A(6.11);G.1N(6.8,"e7",6.b8.26(6));G.1N(6.8,"8P",6.bd.26(6))}),22:(g(){j(D.1w(6.11,"5X")=="41"){6.b.8O(6.8,6.11)}j(!6.3Z&&(2C.4d.1T("61")>0)&&(2C.5Z.1T("e6")<0)&&(D.1w(6.11,"13")=="4t")){X e5.e4(6.11,"<bh 1z=\\""+6.11.1z+"bg\\" "+"E=\\"5X:41;13:4t;e3:e2:e1.e0.dZ(1Z=0);\\" "+"8N=\\"dY:J;\\" dX=\\"0\\" dW=\\"dV\\"></bh>");6.3Z=$(6.11.1z+"bg")}j(6.3Z){4Z(6.bf.1l(6),50)}}),bf:(g(){1o.be(6.11,6.3Z,{dU:(!6.11.E.1a)});6.3Z.E.5Y=1;6.11.E.5Y=2;D.22(6.3Z)}),1A:(g(){6.8G();j(D.1w(6.11,"5X")!="41"){6.b.8M(6.8,6.11)}j(6.3Z){D.1A(6.3Z)}}),aZ:(g(){j(6.b.7e){D.22(6.b.7e)}}),8G:(g(){j(6.b.7e){D.1A(6.b.7e)}}),bd:(g(C){j(6.24){7d(C.5W){1K G.bb:1K G.ba:6.76();G.2c(C);1K G.bc:6.1A();6.24=J;G.2c(C);q;1K G.dT:1K G.dS:q;1K G.dR:6.b7();6.3a();j(2C.4d.1T("4M")>0){G.2c(C)}q;1K G.dQ:7c:6.b6();6.3a();j(2C.4d.1T("4M")>0){G.2c(C)}q}}Z{j(C.5W==G.bb||C.5W==G.ba||(2C.4d.1T("4M")>0&&C.5W==0)){q}}6.5T=V;6.5a=V;j(6.3b){8a(6.3b)}6.3b=4Z(6.b0.1l(6),6.b.8L*2H)}),58:(g(){6.5T=J;6.5a=V;6.74()}),3X:(g(C){l 8=G.b9(C,"8K");j(6.1e!=8.77){6.1e=8.77;6.3a()}G.2c(C)}),b1:(g(C){l 8=G.b9(C,"8K");6.1e=8.77;6.76();6.1A()}),b8:(g(C){4Z(6.1A.1l(6),dP);6.5a=J;6.24=J}),3a:(g(){j(6.3C>0){2l(l i=0;i<6.3C;i++){6.1e==i?D.3r(6.4s(i),"4P"):D.4Q(6.4s(i),"4P")}j(6.5a){6.22();6.24=V}}Z{6.24=J;6.1A()}}),b7:(g(){j(6.1e>0){6.1e--}Z{6.1e=6.3C-1}6.4s(6.1e).b5(V)}),b6:(g(){j(6.1e<6.3C-1){6.1e++}Z{6.1e=0}6.4s(6.1e).b5(J)}),4s:(g(1e){q 6.11.78.3Y[1e]}),b4:(g(){q 6.4s(6.1e)}),76:(g(){6.24=J;6.7b(6.b4())}),7b:(g(5V){j(6.b.7b){6.b.7b(5V);q}l O="";j(6.b.4k){l 8J=19.dO(6.b.4k,5V)||[];j(8J.12>0){O=D.7a(8J[0],6.b.4k)}}Z{O=D.79(5V,"dN")}l 3W=6.8D();j(3W!=-1){l 4U=6.8.O.3A(0,3W+1);l 8I=6.8.O.3A(3W+1).2j(/^\\s+/);j(8I){4U+=8I[0]}6.8.O=4U+O}Z{6.8.O=O}6.8.8H();j(6.b.b3){6.b.b3(6.8,5V)}}),8z:(g(5Q){j(!6.5T&&6.5a){6.11.37=5Q;D.5U(6.11);D.5U(6.11.23());j(6.11.78&&6.11.23().3Y){6.3C=6.11.23().3Y.12;2l(l i=0;i<6.3C;i++){l 1Y=6.4s(i);1Y.77=i;6.b2(1Y)}}Z{6.3C=0}6.8G();6.1e=0;j(6.3C==1&&6.b.dM){6.76();6.1A()}Z{6.3a()}}}),b2:(g(8){G.1N(8,"5G",6.3X.26(6));G.1N(8,"5I",6.b1.26(6))}),b0:(g(){6.5T=J;j(6.72().12>=6.b.8F){6.aZ();6.74()}Z{6.24=J;6.1A()}}),72:(g(){l 8E=6.8D();j(8E!=-1){l 2R=6.8.O.3A(8E+1).32(/^\\s+/,"").32(/\\s+$/,"")}Z{l 2R=6.8.O}q/\\n/.3V(2R)?"":2R}),8D:(g(){l 3W=-1;2l(l i=0;i<6.b.4r.12;i++){l 8C=6.8.O.dL(6.b.4r[i]);j(8C>3W){3W=8C}}q 3W})};2i.3B=1U.1O();N.M(N.M(2i.3B.1d,3B.2m.1d),{1X:(g(8,11,3w,b){6.8A(8,11,b);6.b.8m=V;6.b.2I=6.2I.1l(6);6.b.8B=6.b.5K||14;6.3w=3w}),74:(g(){1Y=4j(6.b.55)+"="+4j(6.72());6.b.5K=6.b.36?6.b.36(6.8,1Y):1Y;j(6.b.8B){6.b.5K+="&"+6.b.8B}X 2i.8n(6.3w,6.b)}),2I:(g(aY){6.8z(aY.8p)})});3B.aX=1U.1O();3B.aX.1d=N.M(X 3B.2m(),{1X:(g(8,11,5S,b){6.8A(8,11,b);6.b.5S=5S}),74:(g(){6.8z(6.b.73(6))}),8y:(g(b){6.b=N.M({5Q:10,aV:V,aW:2,8x:V,aU:J,73:(g(2S){l 2R=[];l 70=[];l 1Y=2S.72();l dK=0;2l(l i=0;i<2S.b.5S.12&&2R.12<2S.b.5Q;i++){l 2J=2S.b.5S[i];l 2T=2S.b.8x?2J.4q().1T(1Y.4q()):2J.1T(1Y);5y(2T!=-1){j(2T==0&&2J.12!=1Y.12){2R.1J("<5R><71>"+2J.3A(0,1Y.12)+"</71>"+2J.3A(1Y.12)+"</5R>");1P}Z{j(1Y.12>=2S.b.aW&&2S.b.aV&&2T!=-1){j(2S.b.aU||/\\s/.3V(2J.3A(2T-1,1))){70.1J("<5R>"+2J.3A(0,2T)+"<71>"+2J.3A(2T,1Y.12)+"</71>"+2J.3A(2T+1Y.12)+"</5R>");1P}}}2T=2S.b.8x?2J.4q().1T(1Y.4q(),2T+1):2J.1T(1Y,2T+1)}}j(70.12){2R=2R.8w(70.4p(0,2S.b.5Q-2R.12))}q"<8v>"+2R.59("")+"</8v>"})},b||{})})});6V.8o=(g(aT){4Z((g(){6V.58(aT)}),1)});2i.5D=1U.1O();2i.5D.aR="#dJ";2i.5D.1d={1X:(g(8,3w,b){6.3w=3w;6.8=$(8);6.b=N.M({55:"O",4o:V,8t:"aS",3U:V,aL:"54",ax:"dI...",aP:"dH 2k dG",8t:"aS",6W:1,2I:(g(3u,8){X u.6S(8,{6R:6.b.5J})}),4n:(g(3u){dF("dE dD 5P dC dB: "+3u.8p.aB())}),36:(g(1v){q 8b.5O(1v)}),aK:V,aJ:"dA...",8k:"6Z-52",8q:"6Z-dz",aM:"6Z-1v",5J:2i.5D.aR,au:"#dy",21:14,8r:J,6T:{},8l:J},b||{});j(!6.b.5N&&6.8.1z){6.b.5N=6.8.1z+"-6Z";j($(6.b.5N)){6.b.5N=14}}j(6.b.21){6.b.21=$(6.b.21)}6.53=D.1w(6.8,"6Y-1G");j(!6.53){6.53="aQ"}6.8.dx=6.b.aP;6.5H=6.aO.26(6);6.5F=6.aw.26(6);6.5E=6.6O.26(6);G.1N(6.8,"5I",6.5H);G.1N(6.8,"5G",6.5F);G.1N(6.8,"6M",6.5E);j(6.b.21){G.1N(6.b.21,"5I",6.5H);G.1N(6.b.21,"5G",6.5F);G.1N(6.b.21,"6M",6.5E)}}),aO:(g(8u){j(6.52){q}j(6.8i){q}6.8i=V;6.at();j(6.b.21){D.1A(6.b.21)}D.1A(6.8);6.aN();6.8.1F.57(6.1v,6.8);j(!6.b.5C){6V.8o(6.2Q)}j(8u){G.2c(8u)}q J}),aN:(g(){6.1v=19.2v("1v");6.1v.1z=6.b.5N;D.3r(6.1v,6.b.aM);6.1v.dw=6.6U.1l(6);6.8g();j(6.b.6X){l br=19.2v("br");6.1v.2h(br)}j(6.b.4o){4o=19.2v("aH");4o.5M="dv";4o.O=6.b.8t;4o.3y="du";6.1v.2h(4o)}j(6.b.3U){3U=19.2v("a");3U.dt="#";3U.2h(19.6L(6.b.aL));3U.ds=6.aA.1l(6);3U.3y="dr";6.1v.2h(3U)}}),aI:(g(2w){j(!6.b.aK){q J}q 2w.2j(/<br/i)||2w.2j(/<p>/i)}),aG:(g(2w){q 2w.32(/<br>/gi,"\\n").32(/<br\\/>/gi,"\\n").32(/<\\/p>/gi,"\\n").32(/<p>/gi,"")}),8g:(g(){l 3z;j(6.b.5C){3z=6.b.aJ}Z{3z=6.aD()}l 8s=6;j(6.b.6W==1&&!6.aI(3z)){6.b.6X=J;l 39=19.2v("aH");39.8s=6;39.5M="3z";39.38=6.b.55;39.O=3z;39.E.3v=6.b.5J;39.3y="aF";l 56=6.b.56||6.b.5L||0;j(56!=0){39.56=56}j(6.b.8r){39.aE=6.6U.1l(6)}6.2Q=39}Z{6.b.6X=V;l 3x=19.2v("6X");3x.8s=6;3x.38=6.b.55;3x.O=6.aG(3z);3x.6W=6.b.6W;3x.5L=6.b.5L||40;3x.3y="aF";j(6.b.8r){3x.aE=6.6U.1l(6)}6.2Q=3x}j(6.b.5C){6.8c()}6.1v.2h(6.2Q)}),aD:(g(){q 6.8.37}),8c:(g(){D.3r(6.1v,6.b.8q);6.2Q.4e=V;X 2i.8n(6.b.5C,N.M({8m:V,2I:6.aC.1l(6)},6.b.6T))}),aC:(g(3u){D.4Q(6.1v,6.b.8q);6.2Q.4e=J;6.2Q.O=3u.8p.aB();6V.8o(6.2Q)}),aA:(g(){6.2I();6.6N();q J}),4n:(g(3u){6.b.4n(3u);j(6.4l){6.8.37=6.4l;6.4l=14}q J}),6U:(g(){l 1v=6.1v;l O=6.2Q.O;6.az();j(6.b.8l){X 2i.8n(6.3w,N.M({5K:6.b.36(1v,O),2I:6.2I.1l(6),4n:6.4n.1l(6),8m:V,8l:V},6.b.6T))}Z{X 2i.dq({6y:6.8,dp:14},6.3w,N.M({5K:6.b.36(1v,O),2I:6.2I.1l(6),4n:6.4n.1l(6)},6.b.6T))}j(Y.12>1){G.2c(Y[0])}q J}),az:(g(){6.52=V;6.8j();6.6O();6.ay()}),ay:(g(){6.4l=6.8.37;6.8.37=6.b.ax;D.3r(6.8,6.b.8k);6.8.E.3v=6.53;D.22(6.8)}),8j:(g(){j(6.1v){j(6.1v.1F){D.4m(6.1v)}6.1v=14}}),aw:(g(){j(6.52){q}6.8.E.3v=6.b.5J;j(6.t){6.t.54()}D.3r(6.8,6.b.av)}),6O:(g(){j(6.b.3v){6.8.E.3v=6.dn}D.4Q(6.8,6.b.av);j(6.52){q}6.t=X u.6S(6.8,{6R:6.b.5J,6Q:6.b.au,6P:6.53})}),6N:(g(){D.4Q(6.8,6.b.8k);6.8j();6.6O();6.8.E.3v=6.53;D.22(6.8);j(6.b.21){D.22(6.b.21)}6.8i=J;6.52=J;6.4l=14;6.as()}),2I:(g(3u){6.6N();6.b.2I.1l(6)(3u,6.8)}),at:(g(){}),as:(g(){}),al:(g(){j(6.4l){6.8.37=6.4l}6.6N();G.2g(6.8,"5I",6.5H);G.2g(6.8,"5G",6.5F);G.2g(6.8,"6M",6.5E);j(6.b.21){G.2g(6.b.21,"5I",6.5H);G.2g(6.b.21,"5G",6.5F);G.2g(6.b.21,"6M",6.5E)}})};2i.8h=1U.1O();N.M(2i.8h.1d,2i.5D.1d);N.M(2i.8h.1d,{8g:(g(){j(!6.8d){l 8e=19.2v("4k");l 8f=6.b.8f||[];l 3t;8f.1h((g(e,i){3t=19.2v("dm");3t.O=(e 4h 34)?e[0]:e;j((1t 6.b.O=="51")&&((e 4h 34)?6.8.37==e[1]:e==3t.O)){3t.4P=V}j(6.b.O==3t.O){3t.4P=V}3t.2h(19.6L((e 4h 34)?e[1]:e));8e.2h(3t)}).1l(6));6.8d=8e}6.2Q=6.8d;j(6.b.5C){6.8c()}6.1v.2h(6.2Q);6.b.36=(g(1v,O){q"O="+4j(O)})})});8b.D.ar=1U.1O();8b.D.ar.1d={1X:(g(8,27,36){6.27=27||0.5;6.8=$(8);6.36=36;6.5B=14;6.4Y=$F(6.8);G.1N(6.8,"dl",6.aq.26(6))}),aq:(g(C){j(6.4Y==$F(6.8)){q}j(6.5B){8a(6.5B)}6.5B=4Z(6.ap.1l(6),6.27*2H);6.4Y=$F(6.8)}),ap:(g(){6.5B=14;6.36(6.8,$F(6.8))})};j(!6K){l 6K={}}6K.ao=1U.1O();6K.ao.1d={1X:(g(1j,1y,b){l 2d=6;j(1j 4h 34){6.1M=1j.89((g(e){q $(e)}))}Z{6.1M=[$(1j)]}6.1y=$(1y);6.b=b||{};6.82=6.b.82||"88";6.an=6.b.an||1;6.am=35(6.b.am||"1");6.1p=6.b.1p||$R(0,1);6.O=0;6.1S=6.1M.1W((g(){q 0}));6.4f=6.b.4f?6.b.4f.1W((g(s){q $(s)})):J;6.b.6G=$(6.b.6G||14);6.b.6E=$(6.b.6E||14);6.85=6.b.85||J;6.6C=6.b.6C||6.1p.2P;6.87=6.b.87||6.1p.1D;6.83=35(6.b.83||"0");6.5A=35(6.b.5A||"0");6.84=6.ag()-6.ah();6.6z=6.3Q()?(6.1M[0].3S!=0?6.1M[0].3S:6.1M[0].E.1a.32(/1E$/,"")):(6.1M[0].4g!=0?6.1M[0].4g:6.1M[0].E.1k.32(/1E$/,""));6.24=J;6.2B=J;6.4e=J;j(6.b.4e){6.ak()}6.2F=6.b.1S?6.b.1S.ai(4T.K):J;j(6.2F){6.87=6.2F.6F();6.6C=6.2F.3s()}6.3T=6.6A.26(6);6.4X=6.4L.26(6);6.4W=6.11.26(6);6.1M.1h((g(h,i){i=2d.1M.12-1-i;2d.5u(4i((2d.b.2E 4h 34?2d.b.2E[i]:2d.b.2E)||2d.1p.1D),i);D.2G(h);G.1N(h,"4V",2d.3T)}));G.1N(6.1y,"4V",6.3T);G.1N(19,"6J",6.4X);G.1N(19,"6I",6.4W);6.6x=V}),al:(g(){l 2d=6;G.2g(6.1y,"4V",6.3T);G.2g(19,"6J",6.4X);G.2g(19,"6I",6.4W);6.1M.1h((g(h){G.2g(h,"4V",2d.3T)}))}),ak:(g(){6.4e=V}),dk:(g(){6.4e=J}),aj:(g(O){j(6.2F){j(O>=6.2F.3s()){q(6.2F.3s())}j(O<=6.2F.6F()){q(6.2F.6F())}l 2e=1s.6H(6.2F[0]-O);l 4U=6.2F[0];6.2F.1h((g(v){l 86=1s.6H(v-O);j(86<=2e){4U=v;2e=86}}));q 4U}j(O>6.1p.2P){q 6.1p.2P}j(O<6.1p.1D){q 6.1p.1D}q O}),5u:(g(2E,25){j(!6.24){6.4O=25||0;6.4N=6.1M[6.4O];6.81()}25=25||6.4O||0;j(6.6x&&6.85){j((25>0)&&(2E<6.1S[25-1])){2E=6.1S[25-1]}j((25<(6.1M.12-1))&&(2E>6.1S[25+1])){2E=6.1S[25+1]}}2E=6.aj(2E);6.1S[25]=2E;6.O=6.1S[0];6.1M[25].E[6.3Q()?"1b":"1c"]=6.4R(2E);6.af();j(!6.2B||!6.C){6.7W()}}),dj:(g(2f,25){6.5u(6.1S[25||6.4O||0]+2f,25||6.4O||0)}),4R:(g(O){q 1s.2D(((6.84-6.6z)/ (6.1p.2P - 6.1p.1D)) * (O - 6.1p.1D)) + "1E";}), 7X:(g (2e) {q ((2e /(6.84-6.6z)*(6.1p.2P-6.1p.1D))+6.1p.1D)}),6D:(g(1p){l v=6.1S.ai(4T.K);1p=1p||0;q $R(v[1p],v[1p+1])}),ah:(g(){q(6.3Q()?6.5A:6.83)}),ag:(g(){q(6.3Q()?(6.1y.3S!=0?6.1y.3S:6.1y.E.1a.32(/1E$/,""))-6.5A:(6.1y.4g!=0?6.1y.4g:6.1y.E.1k.32(/1E$/,""))-6.5A)}),3Q:(g(){q(6.82=="5z")}),af:(g(){l 2d=6;j(6.4f){$R(0,6.4f.12-1).1h((g(r){2d.6B(2d.4f[r],2d.6D(r))}))}j(6.b.6G){6.6B(6.b.6G,$R(0,6.1S.12>1?6.6D(0).6F():6.O))}j(6.b.6E){6.6B(6.b.6E,$R(6.1S.12>1?6.6D(6.4f.12-1).3s():6.O,6.6C))}}),6B:(g(4S,1p){j(6.3Q()){4S.E.1b=6.4R(1p.1D);4S.E.1a=6.4R(1p.2P-1p.1D+6.1p.1D)}Z{4S.E.1c=6.4R(1p.1D);4S.E.1k=6.4R(1p.2P-1p.1D+6.1p.1D)}}),81:(g(){6.1M.1h((g(h){D.4Q(h,"4P")}));D.3r(6.4N,"4P")}),6A:(g(C){j(G.ae(C)){j(!6.4e){6.24=V;l 1j=G.8(C);l 1n=[G.5w(C),G.5v(C)];l 1y=1j;j(1y==6.1y){l 1H=1o.3R(6.1y);6.C=C;6.5u(6.7X((6.3Q()?1n[1]-1H[1]:1n[0]-1H[0])-(6.6z/2)));l 1H=1o.3R(6.4N);6.7Z=(1n[0]-1H[0]);6.7Y=(1n[1]-1H[1])}Z{5y((6.1M.1T(1j)==-1)&&1j.1F){1j=1j.1F}j(6.1M.1T(1j)!=-1){6.4N=1j;6.4O=6.1M.1T(6.4N);6.81();l 1H=1o.3R(6.4N);6.7Z=(1n[0]-1H[0]);6.7Y=(1n[1]-1H[1])}}}G.2c(C)}}),11:(g(C){j(6.24){j(!6.2B){6.2B=V}6.5x(C);j(2C.4d.1T("4M")>0){1u.80(0,0)}G.2c(C)}}),5x:(g(C){l 1n=[G.5w(C),G.5v(C)];l 1H=1o.3R(6.1y);1n[0]-=6.7Z+1H[0];1n[1]-=6.7Y+1H[1];6.C=C;6.5u(6.7X(6.3Q()?1n[1]:1n[0]));j(6.6x&&6.b.ad){6.b.ad(6.1S.12>1?6.1S:6.O,6)}}),4L:(g(C){j(6.24&&6.2B){6.5t(C,V);G.2c(C)}6.24=J;6.2B=J}),5t:(g(C,6y){6.24=J;6.2B=J;6.7W()}),7W:(g(){j(6.6x&&6.b.3q){6.b.3q(6.1S.12>1?6.1S:6.O,6)}6.C=14})};',62,1082,'||||||this||element|||options|||||function|||if||var|||||return|||effect|Effect||||||||event|Element|style||Event|||false|||extend|Object|value|||||||true||new|arguments|else||update|length|position|null|||Sortable|pos|document|height|top|left|prototype|index|setStyle|scroll|each|dims|handle|width|bind|drop|pointer|Position|range|effects|Draggables|Math|typeof|window|form|getStyle|dropon|track|id|hide|children|afterFinishInternal|start|px|parentNode|color|offsets|duration|push|case|node|handles|observe|create|break|child|transform|values|indexOf|Class|overlap|map|initialize|entry|opacity||externalControl|show|down|active|handleIdx|bindAsEventListener|delay|scrollSpeed|eventName|oldStyle|transition|stop|slider|offset|delta|stopObserving|appendChild|Ajax|match|to|for|Base|only|tree|Move|draggable|sync|moveY|moveX|elementName|createElement|string|speed|from|queue|Scale|dragging|navigator|round|sliderValue|allowedValues|makePositioned|1000|onComplete|elem|Droppables|containment|scrollSensitivity|property|restoreAfterFinish|end|editField|ret|instance|foundPos|elements|tagName|Opacity|last_active|drops|opera|bottom|Transitions|replace||Array|parseInt|callback|innerHTML|name|textField|render|observer|throw|item|hoverclass|documentElement|_lastScrollPointer|scope|activeDraggable|fontSize|unit|originalValue|scaleContent|scaleX|pulses|100|onChange|addClassName|max|optionTag|transport|backgroundColor|url|textArea|className|text|substr|Autocompleter|entryCount|flatten|tag|_marker|revert|snap|point|getInlineOpacity|undoClipping|makeClipping|undoPositioned|scaleMode|Builder|table|isVertical|cumulativeOffset|offsetHeight|eventMouseDown|cancelLink|test|lastTokenPos|onHover|childNodes|iefix||none|toUpperCase|format|parent|body|ghosting|droponOptions|oldParentNode|Draggable|parseColor|startOn|finishOn|appVersion|disabled|spans|offsetWidth|instanceof|parseFloat|encodeURIComponent|select|oldInnerHTML|remove|onFailure|okButton|slice|toLowerCase|tokens|getEntry|absolute|clientHeight|options_for_draggable|zindex|endeffect|reverteffect|constraint|scrollTop|tracks|Parallel|setup|sinoidal|beforeSetup|scaleFrom|initialMoveY|initialMoveX|finish|timestamp|endDrag|AppleWebKit|activeHandle|activeHandleIdx|selected|removeClassName|translateToPx|span|Prototype|newValue|mousedown|eventMouseMove|eventMouseUp|lastValue|setTimeout||undefined|saving|originalBackground|cancel|paramName|size|insertBefore|activate|join|hasFocus|findElements|add|starteffect|scrollLeft|_lastPointer|tag_name|getOpacity|observers|drags|object|_elementDoesNotExistError|oldOpacity|elementDimensions|state|timePos|queueName|attrs|parentElement|finishDrag|setValue|pointerY|pointerX|draw|while|vertical|alignY|timer|loadTextURL|InPlaceEditor|mouseoutListener|mouseoverListener|mouseover|onclickListener|click|highlightcolor|parameters|cols|type|formId|serialize|with|choices|li|array|changed|cleanWhitespace|selectedElement|keyCode|display|zIndex|userAgent||MSIE|js|offsetSize|isParent|sortableOptions||treeTag|sortables|droppables|notify|prepare|deactivate|_dragging|reject|_timeout|inspect|accept|_containers|div|in|right|data|targetValue|cssText|cssRules|styleSheet|scaleY|originalLeft|originalTop|fontSizeType|interval|attribute|initialized|success|handleLength|startDrag|setSpan|maximum|getRange|endSpan|min|startSpan|abs|mousemove|mouseup|Control|createTextNode|mouseout|leaveEditMode|leaveHover|restorecolor|endcolor|startcolor|Highlight|ajaxOptions|onSubmit|Field|rows|textarea|background|inplaceeditor|partial|strong|getToken|selector|getUpdatedChoices||selectEntry|autocompleteIndex|firstChild|collectTextNodesIgnoreClass|collectTextNodes|updateElement|default|switch|indicator|Appear|findChildren|nodeMap|container|sortable|visibility|destroy|_|_getWindowScroll|change|Date|scrollInterval|currentDelta|keyPress|_clone|updateDrag|_opacity|affected|containmentNode|deepest|setOpacity|Morph|styleRules|components|moveTransition|scaleTransition|opacityTransition|center|direction|getDimensions|originalWidth|originalHeight|oldInnerBottom|scaleFromCenter|currentScale|percent|global|get|Queues|loop|instances|_isStringOrNumber|attr|updateFinished|translateToValue|offsetY|offsetX|scrollBy|updateStyles|axis|alignX|trackLength|restricted|currentOffset|minimum|horizontal|collect|clearTimeout|Form|loadExternalText|cached_selectTag|selectTag|collection|createEditField|InPlaceCollectionEditor|editing|removeForm|savingClassName|evalScripts|asynchronous|Request|scrollFreeActivate|responseText|loadingClassName|submitOnBlur|obj|okText|evt|ul|concat|ignoreCase|setOptions|updateChoices|baseInitialize|defaultParams|thisTokenPos|findLastToken|tokenPos|minChars|stopIndicator|focus|whitespace|nodes|LI|frequency|onHide|src|onShow|keypress|Fade|library|us|aculo|script|including|requires|grandchildren|recursive|include|detect|hasChildNodes|ident|_tree|clientWidth|getElementsByTagName|mark|nextElement|hidden|SortableObserver|treeNode|options_for_tree|draggables|emptyFunction|onEnd|onStart|innerHeight|_isScrollChild|onDrag|scrollTo|current|lastScrolled|stopScrolling|originalScrollTop|originalScrollLeft|deltaY|deltaX|where|OPTION|defaults|afterFinish|top_offset|left_offset|_cacheObserverCallbacks|eventKeypress|isAffected|charAt|forceRerendering|parseStyle|String|ids|toColorPart|transforms|zoom|pair|rule|reverse|reverser|0px|box|afterSetup|scrollStart|_base|leftd|topd|originalStyle|idle|frame|currentFrame|ScopedQueue|limit|PI|cos|PAIRS|character|tagifyStyle|nodeValue|nodeType|catch|try|param|_text|_children|attributes|ATTR_MAP|onSlide|isLeftClick|drawSpans|maximumOffset|minimumOffset|sortBy|getNearestValue|setDisabled|dispose|step|increment|Slider|onTimerEvent|delayedListener|DelayedObserver|onLeaveEditMode|onEnterEditMode|highlightendcolor|hoverClassName|enterHover|savingText|showSaving|onLoading|onclickCancel|stripTags|onLoadedExternalText|getText|onblur|editor_field|convertHTMLLineBreaks|input|hasHTMLLineBreaks|loadingText|handleLineBreaks|cancelText|formClassName|createForm|enterEditMode|clickToEditText|transparent|defaultHighlightColor|ok|field|fullSearch|partialSearch|partialChars|Local|request|startIndicator|onObserverEvent|onClick|addObservers|afterUpdateElement|getCurrentEntry|scrollIntoView|markNext|markPrevious|onBlur|findElement|KEY_RETURN|KEY_TAB|KEY_ESC|onKeyPress|clone|fixIEOverlapping|_iefix|iframe|offsetTop|classNames|sequence|_constructIndex|delete|new_sequence|removeChild|root|after||dropmarker|DIV|unmark|onEmptyHover|findTreeElements|onUpdate|addObserver|options_for_droppable|dropOnEmpty|SERIALIZE_RULE|invoke|removeObserver|_findRootElement|BODY|innerWidth|setInterval|startScrolling|clearInterval|reset|originalZ|fire|absolutize|TEXTAREA|BUTTON|SELECT|INPUT|initDrag|unregister|register|_draggable|toOpacity|number|dur|Count|onDrop|within|findDeepestChild|isContained|effect_class|camelize|Methods|morph|setContentZoom|CSS_PROPERTIES|pt|CSS_LENGTH|first|addTracks|Transform|inject|isNaN|hasLayout|currentStyle|zzzzzz|ffffff|rules||pulse|beforeStartInternal|full|afterUpdateInternal|SlideUp|SlideDown|05|flicker|BlindDown|BlindUp|scrollHeight|ScrollTo|_delta|backgroundImage|elementPositioning|setDimensions|factor|scaleTo|toTop|toLeft|mode|relative|beforeFinish|Internal|running|fps|DefaultOptions|len|getTime|pluck|iterator|_each|floor|appear|masterDelay|tagifyText|args|apply|split|tags|TR|THEAD|TH|TFOOT|TD|TBODY|PARAM|OPTGROUP|LEGEND|COLGROUP|COL|CAPTION|AREA|html|_attributes|class|parentTag|NODEMAP|setValueBy|setEnabled|keyup|option|oldBackground||failure|Updater|editor_cancel|onclick|href|editor_ok_button|submit|onsubmit|title|FFFFFF|loading|Loading|server|the|communicating|Error|alert|edit|Click|Saving|FFFF99|count|lastIndexOf|autoSelect|informal|getElementsByClassName|250|KEY_DOWN|KEY_UP|KEY_RIGHT|KEY_LEFT|setTop|no|scrolling|frameborder|javascript|Alpha|Microsoft|DXImageTransform|progid|filter|After|Insertion|Opera|blur|off|autocomplete|setAttribute|setHeight|controls|Width|Height|callee|setSequence|continue|nextSibling|previousSibling|before|z0||Za|realOffset|relativize|page|cloneNode|childOf|outerHTML|02|sqrt|constructor||greedy|dragdrop|addMethods|substring|gsub|visualEffect|pc|mm|wordSpacing|textIndent|paddingTop|paddingRight|paddingLeft|paddingBottom|outlineWidth|outlineOffset|outlineColor|minWidth|minHeight|maxWidth|maxHeight|markerOffset|marginTop|marginRight|marginLeft|marginBottom|lineHeight|letterSpacing|fontWeight|clip|borderTopWidth|borderTopStyle|borderTopColor|borderSpacing|borderRightWidth|borderRightStyle|borderRightColor|borderLeftWidth|borderLeftStyle|borderLeftColor|borderBottomWidth|borderBottomStyle|borderBottomColor|backgroundPosition|play|keys|dasherize|underscore|rgba|selectorText|styleSheets|Fold|Pulsate|Shrink|01|Grow|Squish|Shake|DropOut|SwitchOff|beforeSetupInternal|200|Puff|image|keepBackgroundImage|ffff99|scrollWidth|content|font|offsetLeft|MoveBy|finished|afterUpdate|beforeUpdate|beforeStart|parallel|Queue|last|findAll|front|Enumerable|wobble|random|linear|Effect2|visible|toggle|blind|slide|multiple|160|fromCharCode|toArray|builder|operate|required|is|but|exist|not|does|DOM|specified|The|message|ElementDoesNotExistError|call|hasClassName||rgb|VAR|UL|TT|TITLE|TABLE|SUP|SUB|STYLE|STRONG|STRIKE|SPAN|SMALL|SCRIPT|SAMP|PRE|OL|OBJECT|NOSCRIPT|NOFRAMES|META|MENU|MAP|LINK|LABEL|KBD|ISINDEX|INS|IMG|IFRAME|HTML|HR|HEAD|H6|H5|H4|H3|H2|H1|FRAMESET|FRAME|FORM|FONT|FIELDSET|EM|DT|DL|DIR|DFN|DEL|DD|CODE|CITE|CENTER|BR|BLOCKQUOTE|BIG|BDO|BASEFONT|BASE|APPLET|ADDRESS|ACRONYM|ABBR|dump|strip|build|escapeHTML|toString|htmlFor|fieldset'.split('|'),0,{}))

/*
* Really easy field validation with Prototype
* http://tetlaw.id.au/view/javascript/really-easy-field-validation
* Andrew Tetlaw
* (Version 1.5.4.1 (2007-01-05) - original version)
* Version 1.5.4.1unic2
* 
* Copyright (c) 2007 Andrew Tetlaw
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* 
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* 
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
* 
*/

/*
 * @changelog 1.5.4.1unic1/AlR	Added support for error messages in label element.
 * @changelog 1.5.4.1unic2/AlR	Bugfix: Error messages in label are now properly removed if validated.
 */
var Validator = Class.create();

Validator.prototype = {
	initialize : function(className, error, test, options) {
		if(typeof test == 'function'){
			this.options = $H(options);
			this._test = test;
		} else {
			this.options = $H(test);
			this._test = function(){return true};
		}
		this.error = error || 'Validation failed.';
		this.className = className;
	},
	test : function(v, elm) {
		return (this._test(v,elm) && this.options.all(function(p){
			return Validator.methods[p.key] ? Validator.methods[p.key](v,elm,p.value) : true;
		}));
	}
}
Validator.methods = {
	pattern : function(v,elm,opt) {return Validation.get('IsEmpty').test(v) || opt.test(v)},
	minLength : function(v,elm,opt) {return v.length >= opt},
	maxLength : function(v,elm,opt) {return v.length <= opt},
	min : function(v,elm,opt) {return v >= parseFloat(opt)}, 
	max : function(v,elm,opt) {return v <= parseFloat(opt)},
	notOneOf : function(v,elm,opt) {return $A(opt).all(function(value) {
		return v != value;
	})},
	oneOf : function(v,elm,opt) {return $A(opt).any(function(value) {
		return v == value;
	})},
	is : function(v,elm,opt) {return v == opt},
	isNot : function(v,elm,opt) {return v != opt},
	equalToField : function(v,elm,opt) {return v == $F(opt)},
	notEqualToField : function(v,elm,opt) {return v != $F(opt)},
	include : function(v,elm,opt) {return $A(opt).all(function(value) {
		return Validation.get(value).test(v,elm);
	})}
}

var Validation = Class.create();

Validation.prototype = {
	initialize : function(form, options){
		this.options = Object.extend({
			onSubmit : true,
			stopOnFirst : false,
			immediate : false,
			focusOnError : true,
			useTitles : false,
			onFormValidate : function(result, form) {},
			onElementValidate : function(result, elm) {}
		}, options || {});
		this.form = $(form);
		if(this.options.onSubmit) Event.observe(this.form,'submit',this.onSubmit.bind(this),false);
		if(this.options.immediate) {
			var useTitles = this.options.useTitles;
			var callback = this.options.onElementValidate;
			Form.getElements(this.form).each(function(input) { // Thanks Mike!
				Event.observe(input, 'blur', function(ev) { Validation.validate(Event.element(ev),{useTitle : useTitles, onElementValidate : callback}); });
			});
		}
	},
	onSubmit :  function(ev){
		if(!this.validate()) Event.stop(ev);
	},
	validate : function() {
		var result = false;
		var useTitles = this.options.useTitles;
		var callback = this.options.onElementValidate;
		if(this.options.stopOnFirst) {
			result = Form.getElements(this.form).all(function(elm) { return Validation.validate(elm,{useTitle : useTitles, onElementValidate : callback}); });
		} else {
			result = Form.getElements(this.form).collect(function(elm) { return Validation.validate(elm,{useTitle : useTitles, onElementValidate : callback}); }).all();
		}
		if(!result && this.options.focusOnError) {
			Form.getElements(this.form).findAll(function(elm){return $(elm).hasClassName('validation-failed')}).first().focus()
		}
		this.options.onFormValidate(result, this.form);
		return result;
	},
	reset : function() {
		Form.getElements(this.form).each(Validation.reset);
	}
}

Object.extend(Validation, {
	validate : function(elm, options){
		options = Object.extend({
			useTitle : false,
			onElementValidate : function(result, elm) {}
		}, options || {});
		elm = $(elm);
		var cn = elm.classNames();
		return result = cn.all(function(value) {
			var test = Validation.test(value,elm,options.useTitle);
			options.onElementValidate(test, elm);
			return test;
		});
	},
	test : function(name, elm, useTitle) {
		var v = Validation.get(name);
		var prop = '__advice'+name.camelize();
		try {
		if(Validation.isVisible(elm) && !v.test($F(elm), elm)) {
			if(!elm[prop]) {
				var advice = Validation.getAdvice(name, elm);
				if(advice == null) {
					var errorMsg = useTitle ? ((elm && elm.title) ? elm.title : v.error) : v.error;
					advice = '<div class="validation-advice" id="advice-' + name + '-' + Validation.getElmID(elm) +'" style="display:none">' + errorMsg + '</div>'
					switch (elm.type.toLowerCase()) {
						case 'checkbox':
						case 'radio':
							var p = elm.parentNode;
							if(p) {
								new Insertion.Bottom(p, advice);
							} else {
								new Insertion.After(elm, advice);
							}
							break;
						default:
							new Insertion.After(elm, advice);
				    }
					advice = Validation.getAdvice(name, elm);
					
					/* validation advice into label*/
					var labels = document.getElementsByTagName('label');
					var idOrName = (elm? elm.getAttribute('id') : name);
					
					for (var i = 0; i < labels.length; ++i){
						var currentNode = labels[i];
						if (currentNode.getAttributeNode('for').nodeValue == idOrName){
							var errorMessageLabel = '<span class="validation-advice-hidden">' + errorMsg + '</span>';
							currentNode.innerHTML += errorMessageLabel;
							break;
						}
					}
					
					
				}
				if(typeof Effect == 'undefined') {
					advice.style.display = 'block';
				} else {
					new Effect.Appear(advice, {duration : 1 });
				}
			}
			elm[prop] = true;
			elm.removeClassName('validation-passed');
			elm.addClassName('validation-failed');
			
			return false;
		} else {
			var advice = Validation.getAdvice(name, elm);
			if(advice != null) advice.hide();
			
			/* remove validation advice from label */
			var labels = document.getElementsByTagName('label');
			var idOrName = (elm? elm.getAttribute('id') : name);
			
			for (var i = 0; i < labels.length; ++i){
				var currentNode = labels[i];
				if (currentNode.getAttributeNode('for').nodeValue == idOrName){
					var childNodes = currentNode.childNodes;
					if (childNodes){
						for (var j = 0; j < childNodes.length; ++j){
							//alert(childNodes[j].nodeName);
							if (childNodes[j].nodeName.toLowerCase() == 'span'){
								currentNode.removeChild(childNodes[j]);
								break;
							}
						}
					}
					//alert(currentNode.innerHTML);
					break;
				}
			}
			
			elm[prop] = '';
			elm.removeClassName('validation-failed');
			elm.addClassName('validation-passed');
			return true;
		}
		} catch(e) {
			throw(e)
		}
	},
	isVisible : function(elm) {
		while(elm.tagName != 'BODY') {
			if(!$(elm).visible()) return false;
			elm = elm.parentNode;
		}
		return true;
	},
	getAdvice : function(name, elm) {
		return $('advice-' + name + '-' + Validation.getElmID(elm)) || $('advice-' + Validation.getElmID(elm));
	},
	getElmID : function(elm) {
		return elm.id ? elm.id : elm.name;
	},
	reset : function(elm) {
		elm = $(elm);
		var cn = elm.classNames();
		cn.each(function(value) {
			var prop = '__advice'+value.camelize();
			if(elm[prop]) {
				var advice = Validation.getAdvice(value, elm);
				advice.hide();
				elm[prop] = '';
			}
			elm.removeClassName('validation-failed');
			elm.removeClassName('validation-passed');
		});
	},
	add : function(className, error, test, options) {
		var nv = {};
		nv[className] = new Validator(className, error, test, options);
		Object.extend(Validation.methods, nv);
	},
	addAllThese : function(validators) {
		var nv = {};
		$A(validators).each(function(value) {
				nv[value[0]] = new Validator(value[0], value[1], value[2], (value.length > 3 ? value[3] : {}));
			});
		Object.extend(Validation.methods, nv);
	},
	get : function(name) {
		return  Validation.methods[name] ? Validation.methods[name] : Validation.methods['_LikeNoIDIEverSaw_'];
	},
	methods : {
		'_LikeNoIDIEverSaw_' : new Validator('_LikeNoIDIEverSaw_','',{})
	}
});





var sRequired = "This is a required field.";
var sValidateNumber = "Please enter a valid number in this field.";
var sValidateDigits = "Please use numbers only in this field. please avoid spaces or other characters such as dots or commas.";
var sValidateAlpha = "Please use letters only (a-z) in this field.";
var sValidateAlphanum = "Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.";
var sValidateDate = "Please enter a valid date.";
var sValidateEmail = "Please enter a valid email address. For example fred@domain.com .";
var sValidateUrl = "Please enter a valid URL.";
var sValidateDateAu = "Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.";
var sValidateCurrencyDollar = "Please enter a valid $ amount. For example $100.00 .";
var sValidateSelection = "Please make a selection.";
var sValidateOneRequired = "Please select one of the above options.";
var sValidatePasswordConfirm = "Your confirmation password does not match your first password.";

/*
 * Really easy field validation with Prototype
 * http://tetlaw.id.au/view/javascript/really-easy-field-validation
 * Andrew Tetlaw
 * (Original Version 1.5.4.1 (2007-01-05))
 * @version 1.5.4.1unic1
 * 
 * @changelog 1.5.4.1unic1/AlR:		validate-one-required: added check for serverside functioning.
 *									and clientside validation by name instead of by parent element.<br/>
 *									validate-selection: added check for serverside functioning.
 *
 * Copyright (c) 2007 Andrew Tetlaw
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use, copy,
 * modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * 
 */

Validation.add('IsEmpty', '', function(v) {
				return  ((v == null) || (v.length == 0)); // || /^\s+$/.test(v));
			});

Validation.addAllThese([
	['required', sRequired, function(v) {
				return !Validation.get('IsEmpty').test(v);
			}],
	['validate-number', sValidateNumber, function(v) {
				return Validation.get('IsEmpty').test(v) || (!isNaN(v) && !/^\s+$/.test(v));
			}],
	['validate-digits', sValidateDigits, function(v) {
				return Validation.get('IsEmpty').test(v) ||  !/[^\d]/.test(v);
			}],
	['validate-alpha', sValidateAlpha, function (v) {
				return Validation.get('IsEmpty').test(v) ||  /^[a-zA-Z]+$/.test(v)
			}],
	['validate-alphanum', sValidateAlphanum, function(v) {
				return Validation.get('IsEmpty').test(v) ||  !/\W/.test(v)
			}],
	['validate-date', sValidateDate, function(v) {
				var test = new Date(v);
				return Validation.get('IsEmpty').test(v) || !isNaN(test);
			}],
	['validate-email', sValidateEmail, function (v) {
				return Validation.get('IsEmpty').test(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)
			}],
	['validate-url', sValidateUrl, function (v) {
				return Validation.get('IsEmpty').test(v) || /^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v)
			}],
	['validate-date-au', sValidateDateAu, function(v) {
				if(Validation.get('IsEmpty').test(v)) return true;
				var regex = /^(\d{2})\/(\d{2})\/(\d{4})$/;
				if(!regex.test(v)) return false;
				var d = new Date(v.replace(regex, '$2/$1/$3'));
				return ( parseInt(RegExp.$2, 10) == (1+d.getMonth()) ) && 
							(parseInt(RegExp.$1, 10) == d.getDate()) && 
							(parseInt(RegExp.$3, 10) == d.getFullYear() );
			}],
	['validate-currency-dollar', sValidateCurrencyDollar, function(v) {
				// [$]1[##][,###]+[.##]
				// [$]1###+[.##]
				// [$]0.##
				// [$].##
				return Validation.get('IsEmpty').test(v) ||  /^\$?\-?([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(v)
			}],
			
	/* dropdownlists */
	['validate-selection', sValidateSelection, function(v,elm){
				/* clientside javascript */
				if (elm){
					return elm.options ? elm.selectedIndex > 0 : !Validation.get('IsEmpty').test(v);
				}
				/* serverside ll script */
				else{
					return !Validation.get('IsEmpty').test(v);
				}
			}],
	
	/* checkboxes, radiobuttons */
	['validate-one-required', sValidateOneRequired, function (v,elm) {
				/* clientside javascript */
				if(elm){
					var sName = elm.getAttribute('name');
					var options = document.getElementsByName(sName);
					return $A(options).any(function(elm) {
						return $F(elm);
					});
				}
				/* serverside ll script */
				else{
					return !Validation.get('IsEmpty').test(v);
				}
			}],
			
			
	/* custom */
	/* captcha */
	['sinformation_1', ' ', function(v) {
				return Validation.get('IsEmpty').test(v);
			}],
			
	['sinformation_2', ' ', function(v) {
				return v=='Ascom AG';
			}]
			
]);

/*
 * Really easy field validation with Prototype
 * http://tetlaw.id.au/view/javascript/really-easy-field-validation
 * Andrew Tetlaw
 * (Original Version 1.5.4.1 (2007-01-05))
 * @version 1.5.4.1unic1
 * 
 * @changelog 1.5.4.1unic1/AlR:		validate-one-required: added check for serverside functioning.
 *									and clientside validation by name instead of by parent element.<br/>
 *									validate-selection: added check for serverside functioning.
 *
 * Copyright (c) 2007 Andrew Tetlaw
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use, copy,
 * modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * 
 */

Validation.add('IsEmpty', '', function(v) {
				return  ((v == null) || (v.length == 0)); // || /^\s+$/.test(v));
			});

Validation.addAllThese([
	['required', sRequired, function(v) {
				return !Validation.get('IsEmpty').test(v);
			}],
	['validate-number', sValidateNumber, function(v) {
				return Validation.get('IsEmpty').test(v) || (!isNaN(v) && !/^\s+$/.test(v));
			}],
	['validate-digits', sValidateDigits, function(v) {
				return Validation.get('IsEmpty').test(v) ||  !/[^\d]/.test(v);
			}],
	['validate-alpha', sValidateAlpha, function (v) {
				return Validation.get('IsEmpty').test(v) ||  /^[a-zA-Z]+$/.test(v)
			}],
	['validate-alphanum', sValidateAlphanum, function(v) {
				return Validation.get('IsEmpty').test(v) ||  !/\W/.test(v)
			}],
	['validate-date', sValidateDate, function(v) {
				var test = new Date(v);
				return Validation.get('IsEmpty').test(v) || !isNaN(test);
			}],
	['validate-email', sValidateEmail, function (v) {
				return Validation.get('IsEmpty').test(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)
			}],
	['validate-url', sValidateUrl, function (v) {
				return Validation.get('IsEmpty').test(v) || /^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v)
			}],
	['validate-date-au', sValidateDateAu, function(v) {
				if(Validation.get('IsEmpty').test(v)) return true;
				var regex = /^(\d{2})\/(\d{2})\/(\d{4})$/;
				if(!regex.test(v)) return false;
				var d = new Date(v.replace(regex, '$2/$1/$3'));
				return ( parseInt(RegExp.$2, 10) == (1+d.getMonth()) ) && 
							(parseInt(RegExp.$1, 10) == d.getDate()) && 
							(parseInt(RegExp.$3, 10) == d.getFullYear() );
			}],
	['validate-currency-dollar', sValidateCurrencyDollar, function(v) {
				// [$]1[##][,###]+[.##]
				// [$]1###+[.##]
				// [$]0.##
				// [$].##
				return Validation.get('IsEmpty').test(v) ||  /^\$?\-?([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(v)
			}],
			
	/* dropdownlists */
	['validate-selection', sValidateSelection, function(v,elm){
				/* clientside javascript */
				if (elm){
					return elm.options ? elm.selectedIndex > 0 : !Validation.get('IsEmpty').test(v);
				}
				/* serverside ll script */
				else{
					return !Validation.get('IsEmpty').test(v);
				}
			}],
	
	/* checkboxes, radiobuttons */
	['validate-one-required', sValidateOneRequired, function (v,elm) {
				/* clientside javascript */
				if(elm){
					var sName = elm.getAttribute('name');
					var options = document.getElementsByName(sName);
					return $A(options).any(function(elm) {
						return $F(elm);
					});
				}
				/* serverside ll script */
				else{
					return !Validation.get('IsEmpty').test(v);
				}
			}]
			
			
	/* custom */
	// ...
]);
// EventSelectors 
// Copyright (c) 2005-2006 Justin Palmer (http://encytemedia.com)
// Examples and documentation (http://encytemedia.com/event-selectors)
// 
// EventSelectors allow you access to Javascript events using a CSS style syntax.
// It goes one step beyond Javascript events to also give you :loaded, which allows 
// you to wait until an item is loaded in the document before you begin to interact
// with it.
//
// Inspired by the work of Ben Nolan's Behaviour (http://bennolan.com/behaviour)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
// 
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

// Probably want to remove these and create your own.
var Rules = {
  
  '#icons a:mouseover': function(element) {
    var app = element.id;
    new Effect.BlindDown(app + '-content', {queue: 'end', duration: 0.2});
  },
  
  '#icons a:mouseout': function(element) {
    var app = element.id;
    new Effect.BlindUp(app + '-content', {queue: 'end', duration: 0.2});
  },
  
  '#features:mouseover': function(element) {
    //alert('wee mouse');
  },
  
  '#features': function(element) {
    Sortable.create(element);
  },
  
  '#features li:click': function(element, event) {
    new Ajax.Updater('features', 'item.html', {
      asynchronous:true, 
      method: 'get', 
      evalScripts: true, 
      insertion: Insertion.Bottom
    });
  }
}

var EventSelectors = {
  version: '1.0_pre',
  cache: [],
  
  start: function(rules) {
    this.rules = rules || {};
    this.timer = new Array();
    this._extendRules();
    this.assign(this.rules);
  },
  
  assign: function(rules) {
    var observer = null;
    this._unloadCache();
    rules._each(function(rule) {
      var selectors = $A(rule.key.split(','));
      selectors.each(function(selector) {        
        var pair = selector.split(':');
        var event = pair[1];
        $$(pair[0]).each(function(element) {
          if(pair[1] == '' || pair.length == 1) return rule.value(element);
          if(event.toLowerCase() == 'loaded') {
            this.timer[pair[0]] = setInterval(this._checkLoaded.bind(this, element, pair[0], rule), 15);
          } else {
            observer = function(event) {
              var element = Event.element(event);
              if (element.nodeType == 3) // Safari Bug (Fixed in Webkit)
            		element = element.parentNode;
              rule.value($(element), event);
            }
            this.cache.push([element, event, observer]);
            Event.observe(element, event, observer);
          }
        }.bind(this));
      }.bind(this));
    }.bind(this));
  },
  
  // Scoped caches would rock.
  _unloadCache: function() {
    if (!this.cache) return;
    for (var i = 0; i < this.cache.length; i++) {
      Event.stopObserving.apply(this, this.cache[i]);
      this.cache[i][0] = null;
    }
    this.cache = [];
  },
  
  _checkLoaded: function(element, timer, rule) {
    var node = $(element);
    if(element.tagName != 'undefined') {
      clearInterval(this.timer[timer]);
      rule.value(node);
    }
  },
  
  _extendRules: function() {
    Object.extend(this.rules, {
     _each: function(iterator) {
       for (key in this) {
         if(key == '_each') continue;         
         var value = this[key];
         var pair = [key, value];
         pair.key = key;
         pair.value = value;
         iterator(pair);
       }
     }  
    });
  }
}

// Remove/Comment this if you do not wish to reapply Rules automatically
// on Ajax request.
Ajax.Responders.register({
  onComplete: function() { EventSelectors.assign(Rules);}
})


var Rules = { 
  	rules: "1.0",
   
	'a.popup:click': function(element, event) {
		var sHref = getHref(element);
		var sClasses = element ? element.className : "";
		var iHeight = 600;
		var iWidth = 760;
		var sParam;
		var asParam;
		var oRegExp;
		
		if(!sClasses){
			sClasses = element ? element.parentNode.className : "";
		}
				
		if (sClasses) {
			oRegExp = RegExp(/dim@[0-9]*@[0-9]*/i);
			sParam = sClasses.match(oRegExp);
			
			if (sParam)
			{
				asParam = sParam.toString().split("@");
				iHeight = asParam[2];
				iWidth = asParam[1];
			}
		}

		var iTop = (screen.height-iHeight)/2;
		var iLeft= (screen.width-iWidth)/2;
		
		window.open(sHref, "popup", 'height='+ iHeight + ',width=' + iWidth + ',toolbar=no,status=no,resizable=yes,scrollbars=yes,top=' + iTop + ',left=' + iLeft);
		
		Event.stop(event);
	},
	
	'a.print:click': function(element, event) {
		window.print();
		Event.stop(event);
	},
		
	'a.dcs:click' : function(element, event) {
		
		var title = element.getAttribute('title') || '';
		var href = element.getAttribute('href');
		
		//alert("dcsMultiTrack(): " + href + ", " + title);
		
		if( href && dcsMultiTrack) {
			dcsMultiTrack('DCS.dcsuri', href, 'WT.ti', title);
		}
	},
	
	'a.back:click': function(element, event) {
		history.back();		
		Event.stop(event);
	},
	
	'.hideonloaded:loaded' : function(element, event) {
		element.hide();
	},
	
	'a.showhidehreftarget:click' : function(element, event) {
		var oMyElement = element;

		if(element.tagName.toLowerCase() == 'img' && element.parentNode.tagName.toLowerCase() == 'a'){
			oMyElement = element.parentNode;
		}

		var href = oMyElement.getAttribute('href');
		var iContentId = href.match(/#(\w.+)/)[1];
		var oContentElement = $(iContentId);
		if(oContentElement.style.display == 'none') {
			oContentElement.style.display = 'block';
		} else {
			oContentElement.style.display = 'none';
		}
		Event.stop(event);
	},
	
	'div.expander a:click' : function(element, event) {
		
		if(element.hasClassName('expanded')) {

			element.removeClassName('expanded');
			
			var aoHiddenElements = element.parentNode.parentNode.getElementsByClassName('expanded');
			
			for(var i=0; i<aoHiddenElements.length; ++i){
				aoHiddenElements[i].removeClassName('expanded');
				aoHiddenElements[i].addClassName('hidden');
				aoHiddenElements[i].hide();
			}
			
		}
		else {

			var aoHiddenElements = element.parentNode.parentNode.getElementsByClassName('hidden');

			for(var i=0; i<aoHiddenElements.length; ++i){
				
				aoHiddenElements[i].removeClassName('hidden');
				aoHiddenElements[i].addClassName('expanded');
				aoHiddenElements[i].show();
			}
					
			element.addClassName('expanded');
		}
		
		Event.stop(event);
	}
};

// Fallback / Debug
if(!dcsMultiTrack) {
	var dcsMultiTrack = function(v1, href, v2, title) {
		//alert("dcsMultiTrack(): " + href + ", " + title);
	}
}

function validateForm(me) {	
	
	if(me.division && me.division.disabled==false && me.division.value == "") {
		alert("Please select division!");
		return false;
	}
	
	if(me.mode.value == "delete") {		
		var bRet;
		bRet = confirm("Do you realy want to delete current item?");
		if(!bRet) {
			return false;
		}
	}
	return true;		
}
	
function deleteButton(me) {
	if(me && me.form && me.form.mode) {				
		me.form.mode.value = "delete";
	}
}

function saveButton(me) {
	if(me && me.form && me.form.mode) {	
		if(me.form.id == "solutionadminform") {
			var aCheckBox=document.getElementsByName("country");		
			//var aCheckBox = me.form.elements;
			for(var i=0;i<aCheckBox.length;i++) {
				if(aCheckBox[i].type == "checkbox") {				
					aCheckBox[i].disabled=false;								
				}
			}	
		}	
				
		me.form.mode.value = "save";
	}
}

function switchOpenCloseImage(element, sImage1, sImage2) {	

	if(element.src.indexOf(sImage1) != -1) {
		element.src = sImage2;
	}
	else {
		element.src = sImage1;
	}
}

function validateSolutionPopupForm(me) {			
	
	var bRetVal = true;		
	for(var i=0; i<me.elements.length; i++) {		
		if(me.elements[i].id && me.elements[i].id.indexOf("languageId") != -1) {							
			if(me.elements[i].value == "") {									
				if(me.elements[i].getAttribute("parentid") == "languageId_0") {
					me.elements[i].style.background = '#FF6633';
					bRetVal = false;
				} else {
					me.elements[i].value = $(me.elements[i].getAttribute("parentid")).value;
				}
			} 
			else {					
				me.elements[i].style.background = '#FFFFFF';
			}
		}
	}		
	if(!bRetVal) {
		alert("Please fill all mandatory fields!");			
	}		
	return bRetVal;
}

function pausecomp(millis) {
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); } 
	while(curDate-date < millis);
} 


function ourSolutionsCollapse(el) {	
	
	var aItems=document.getElementsByName("OurSolutions-Item");
	if(aItems && aItems.length>0) {
		for(var i=0;i<aItems.length;i++) { 
			if(aItems[i].className == "expanded") {
				aItems[i].className = "expand";
				if(aItems[i].nextSibling && aItems[i].nextSibling.tagName.toUpperCase() == "UL") {
					aItems[i].nextSibling.hide();					
				}
			}
		}
	}	
	return true;
}
	
function ourSolutionsExpand(el) {
	
	if(el) {			
		if(el.className == "expanded") {
			el.className = "expand";
			if(el.nextSibling && el.nextSibling.tagName.toUpperCase() == "DIR") {
				el.nextSibling.hide();
			}
		} else {
			el.className = "expanded";
			if(el.nextSibling && el.nextSibling.tagName.toUpperCase() == "DIR") {
				el.nextSibling.show();
			}
		}			
	}
	
	return true;
	
}

function popUp(evt, tooltipBoxId, el, contentId) {		
	var tooltipBox = $(tooltipBoxId);								
	if (tooltipBox.style.visibility == "visible" || tooltipBox.style.visibility == "show") { 			
		tooltipBox.style.visibility = "hidden"; 		
	} else {						
		var tv;
		var lv;
				
		if (navigator.userAgent.indexOf("MSIE 6.") > 0) {
			tv = Event.pointerY(evt) - Position.cumulativeOffset(tooltipBox.offsetParent)[1] + 7; 
			lv = Event.pointerX(evt) - Position.cumulativeOffset(tooltipBox.offsetParent)[0] - tooltipBox.offsetWidth; 										
		}
		else {
			tv = Position.cumulativeOffset(el.firstChild)[1] - Position.cumulativeOffset(tooltipBox.offsetParent)[1] + el.firstChild.offsetHeight; 
			lv = Position.cumulativeOffset(el.firstChild)[0] - Position.cumulativeOffset(tooltipBox.offsetParent)[0] - tooltipBox.offsetWidth + el.firstChild.offsetWidth;		
		}
		
		//if (lv < 2) lv = 2; 						
		tooltipBox.style.left = lv + 'px'; 
		tooltipBox.style.top = tv + 'px';			
		if(contentId && $(contentId)) {
			$(tooltipBoxId).innerHTML = $(contentId).innerHTML;
		}			 
		tooltipBox.style.visibility = "visible";
	}
}

function onSolutionCountryChange(el) {	
	if(el) {				
		if(el.options && el.selectedIndex && el.options[el.selectedIndex].getAttribute('redirectto')) {				
			//alert("Redirect somewhere " + el.options[el.selectedIndex].getAttribute('redirectto'));
			window.location = el.options[el.selectedIndex].getAttribute('redirectto');
		} 								
	}
}

function getHref(element) {
	
	var sHref="";	

	while (element) {
		if (element.tagName.toLowerCase() == 'a' && element.href) {
			sHref = element.href;
			break;
		}
		else {
			element = element.parentNode;
		}
	}
	return sHref;
}
