var Prototype={Version:"1.6.0.3",Browser:{IE:!!(window.attachEvent&&navigator.userAgent.indexOf("Opera")===-1),Opera:navigator.userAgent.indexOf("Opera")>-1,WebKit:navigator.userAgent.indexOf("AppleWebKit/")>-1,Gecko:navigator.userAgent.indexOf("Gecko")>-1&&navigator.userAgent.indexOf("KHTML")===-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement("div")["__proto__"]&&document.createElement("div")["__proto__"]!==document.createElement("form")["__proto__"]},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(A){return A}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Class={create:function(){var E=null,D=$A(arguments);if(Object.isFunction(D[0])){E=D.shift()}function A(){this.initialize.apply(this,arguments)}Object.extend(A,Class.Methods);A.superclass=E;A.subclasses=[];if(E){var B=function(){};B.prototype=E.prototype;A.prototype=new B;E.subclasses.push(A)}for(var C=0;C<D.length;C++){A.addMethods(D[C])}if(!A.prototype.initialize){A.prototype.initialize=Prototype.emptyFunction}A.prototype.constructor=A;return A}};Class.Methods={addMethods:function(G){var C=this.superclass&&this.superclass.prototype;var B=Object.keys(G);if(!Object.keys({toString:true}).length){B.push("toString","valueOf")}for(var A=0,D=B.length;A<D;A++){var F=B[A],E=G[F];if(C&&Object.isFunction(E)&&E.argumentNames().first()=="$super"){var H=E;E=(function(I){return function(){return C[I].apply(this,arguments)}})(F).wrap(H);E.valueOf=H.valueOf.bind(H);E.toString=H.toString.bind(H)}this.prototype[F]=E}return this}};var Abstract={};Object.extend=function(A,C){for(var B in C){A[B]=C[B]}return A};Object.extend(Object,{inspect:function(A){try{if(Object.isUndefined(A)){return"undefined"}if(A===null){return"null"}return A.inspect?A.inspect():String(A)}catch(B){if(B instanceof RangeError){return"..."}throw B}},toJSON:function(A){var C=typeof A;switch(C){case"undefined":case"function":case"unknown":return ;case"boolean":return A.toString()}if(A===null){return"null"}if(A.toJSON){return A.toJSON()}if(Object.isElement(A)){return }var B=[];for(var E in A){var D=Object.toJSON(A[E]);if(!Object.isUndefined(D)){B.push(E.toJSON()+": "+D)}}return"{"+B.join(", ")+"}"},toQueryString:function(A){return $H(A).toQueryString()},toHTML:function(A){return A&&A.toHTML?A.toHTML():String.interpret(A)},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)},isElement:function(A){return !!(A&&A.nodeType==1)},isArray:function(A){return A!=null&&typeof A=="object"&&"splice" in A&&"join" in A},isHash:function(A){return A instanceof Hash},isFunction:function(A){return typeof A=="function"},isString:function(A){return typeof A=="string"},isNumber:function(A){return typeof A=="number"},isUndefined:function(A){return typeof A=="undefined"}});Object.extend(Function.prototype,{argumentNames:function(){var A=this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g,"").split(",");return A.length==1&&!A[0]?[]:A},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var A=this,C=$A(arguments),B=C.shift();return function(){return A.apply(B,C.concat($A(arguments)))}},bindAsEventListener:function(){var A=this,C=$A(arguments),B=C.shift();return function(D){return A.apply(B,[D||window.event].concat(C))}},curry:function(){if(!arguments.length){return this}var A=this,B=$A(arguments);return function(){return A.apply(this,B.concat($A(arguments)))}},delay:function(){var A=this,B=$A(arguments),C=B.shift()*1000;return window.setTimeout(function(){return A.apply(A,B)},C)},defer:function(){var A=[0.01].concat($A(arguments));return this.delay.apply(this,A)},wrap:function(B){var A=this;return function(){return B.apply(this,[A.bind(this)].concat($A(arguments)))}},methodize:function(){if(this._methodized){return this._methodized}var A=this;return this._methodized=function(){return A.apply(null,[this].concat($A(arguments)))}}});Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+'Z"'};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}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(A){return String(A).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var PeriodicalExecuter=Class.create({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)},execute:function(){this.callback(this)},stop:function(){if(!this.timer){return }clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute()}finally{this.currentlyExecuting=false}}}});Object.extend(String,{interpret:function(A){return A==null?"":String(A)},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});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=Object.isUndefined(B)?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 String(this)},truncate:function(B,A){B=B||30;A=Object.isUndefined(A)?"...":A;return this.length>B?this.slice(0,B-A.length)+A:String(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 A=arguments.callee;A.text.data=this;return A.div.innerHTML},unescapeHTML:function(){var A=new Element("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.shift());var D=F.length>1?F.join("="):F[0];if(D!=undefined){D=decodeURIComponent(D)}if(C in E){if(!Object.isArray(E[C])){E[C]=[E[C]]}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)},times:function(A){return A<1?"":new Array(A+1).join(this)},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.gsub(/[\x00-\x1f\\]/,function(C){var D=String.specialChar[C[0]];return D?D:"\\u00"+C[0].charCodeAt().toPaddedString(2,16)});if(B){return'"'+A.replace(/"/g,'\\"')+'"'}return"'"+A.replace(/'/g,"\\'")+"'"},toJSON:function(){return this.inspect(true)},unfilterJSON:function(A){return this.sub(A||Prototype.JSONFilter,"#{1}")},isJSON:function(){var A=this;if(A.blank()){return false}A=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(A)},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())},include:function(A){return this.indexOf(A)>-1},startsWith:function(A){return this.indexOf(A)===0},endsWith:function(A){var B=this.length-A.length;return B>=0&&this.lastIndexOf(A)===B},empty:function(){return this==""},blank:function(){return/^\s*$/.test(this)},interpolate:function(A,B){return new Template(this,B).evaluate(A)}});if(Prototype.Browser.WebKit||Prototype.Browser.IE){Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},unescapeHTML:function(){return this.stripTags().replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">")}})}String.prototype.gsub.prepareReplacement=function(B){if(Object.isFunction(B)){return B}var A=new Template(B);return function(C){return A.evaluate(C)}};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement("div"),text:document.createTextNode("")});String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);var Template=Class.create({initialize:function(A,B){this.template=A.toString();this.pattern=B||Template.Pattern},evaluate:function(A){if(Object.isFunction(A.toTemplateReplacements)){A=A.toTemplateReplacements()}return this.template.gsub(this.pattern,function(D){if(A==null){return""}var F=D[1]||"";if(F=="\\"){return D[2]}var B=A,G=D[3];var E=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;D=E.exec(G);if(D==null){return F}while(D!=null){var C=D[1].startsWith("[")?D[2].gsub("\\\\]","]"):D[1];B=B[C];if(null==B||""==D[3]){break}G=G.substring("["==D[3]?D[1].length:D[0].length);D=E.exec(G)}return F+String.interpret(B)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(C,B){var A=0;try{this._each(function(E){C.call(B,E,A++)})}catch(D){if(D!=$break){throw D}}return this},eachSlice:function(D,C,B){var A=-D,E=[],F=this.toArray();if(D<1){return F}while((A+=D)<F.length){E.push(F.slice(A,A+D))}return E.collect(C,B)},all:function(C,B){C=C||Prototype.K;var A=true;this.each(function(E,D){A=A&&!!C.call(B,E,D);if(!A){throw $break}});return A},any:function(C,B){C=C||Prototype.K;var A=false;this.each(function(E,D){if(A=!!C.call(B,E,D)){throw $break}});return A},collect:function(C,B){C=C||Prototype.K;var A=[];this.each(function(E,D){A.push(C.call(B,E,D))});return A},detect:function(C,B){var A;this.each(function(E,D){if(C.call(B,E,D)){A=E;throw $break}});return A},findAll:function(C,B){var A=[];this.each(function(E,D){if(C.call(B,E,D)){A.push(E)}});return A},grep:function(D,C,B){C=C||Prototype.K;var A=[];if(Object.isString(D)){D=new RegExp(D)}this.each(function(F,E){if(D.match(F)){A.push(C.call(B,F,E))}});return A},include:function(A){if(Object.isFunction(this.indexOf)){if(this.indexOf(A)!=-1){return true}}var B=false;this.each(function(C){if(C==A){B=true;throw $break}});return B},inGroupsOf:function(B,A){A=Object.isUndefined(A)?null:A;return this.eachSlice(B,function(C){while(C.length<B){C.push(A)}return C})},inject:function(A,C,B){this.each(function(E,D){A=C.call(B,A,E,D)});return A},invoke:function(B){var A=$A(arguments).slice(1);return this.map(function(C){return C[B].apply(C,A)})},max:function(C,B){C=C||Prototype.K;var A;this.each(function(E,D){E=C.call(B,E,D);if(A==null||E>=A){A=E}});return A},min:function(C,B){C=C||Prototype.K;var A;this.each(function(E,D){E=C.call(B,E,D);if(A==null||E<A){A=E}});return A},partition:function(D,B){D=D||Prototype.K;var C=[],A=[];this.each(function(F,E){(D.call(B,F,E)?C:A).push(F)});return[C,A]},pluck:function(B){var A=[];this.each(function(C){A.push(C[B])});return A},reject:function(C,B){var A=[];this.each(function(E,D){if(!C.call(B,E,D)){A.push(E)}});return A},sortBy:function(B,A){return this.map(function(D,C){return{value:D,criteria:B.call(A,D,C)}}).sort(function(F,E){var D=F.criteria,C=E.criteria;return D<C?-1:D>C?1:0}).pluck("value")},toArray:function(){return this.map()},zip:function(){var B=Prototype.K,A=$A(arguments);if(Object.isFunction(A.last())){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,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(C){if(!C){return[]}if(C.toArray){return C.toArray()}var B=C.length||0,A=new Array(B);while(B--){A[B]=C[B]}return A}if(Prototype.Browser.WebKit){$A=function(C){if(!C){return[]}if(!(typeof C==="function"&&typeof C.length==="number"&&typeof C.item==="function")&&C.toArray){return C.toArray()}var B=C.length||0,A=new Array(B);while(B--){A[B]=C[B]}return A}}Array.from=$A;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(Object.isArray(A)?A.flatten():[A])})},without:function(){var A=$A(arguments);return this.select(function(B){return !A.include(B)})},reverse:function(A){return(A!==false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(A){return this.inject([],function(D,C,B){if(0==B||(A?D.last()!=C:!D.include(C))){D.push(C)}return D})},intersect:function(A){return this.uniq().findAll(function(B){return A.detect(function(C){return B===C})})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]"},toJSON:function(){var A=[];this.each(function(B){var C=Object.toJSON(B);if(!Object.isUndefined(C)){A.push(C)}});return"["+A.join(", ")+"]"}});if(Object.isFunction(Array.prototype.forEach)){Array.prototype._each=Array.prototype.forEach}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(C,A){A||(A=0);var B=this.length;if(A<0){A=B+A}for(;A<B;A++){if(this[A]===C){return A}}return -1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(B,A){A=isNaN(A)?this.length:(A<0?this.length+A:A)+1;var C=this.slice(0,A).reverse().indexOf(B);return(C<0)?C:A-C-1}}Array.prototype.toArray=Array.prototype.clone;function $w(A){if(!Object.isString(A)){return[]}A=A.strip();return A?A.split(/\s+/):[]}if(Prototype.Browser.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(Object.isArray(arguments[B])){for(var A=0,D=arguments[B].length;A<D;A++){E.push(arguments[B][A])}}else{E.push(arguments[B])}}return E}}Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16)},succ:function(){return this+1},times:function(B,A){$R(0,this,true).each(B,A);return this},toPaddedString:function(C,B){var A=this.toString(B||10);return"0".times(C-A.length)+A},toJSON:function(){return isFinite(this)?this.toString():"null"}});$w("abs round ceil floor").each(function(A){Number.prototype[A]=Math[A].methodize()});function $H(A){return new Hash(A)}var Hash=Class.create(Enumerable,(function(){function A(B,C){if(Object.isUndefined(C)){return B}return B+"="+encodeURIComponent(String.interpret(C))}return{initialize:function(B){this._object=Object.isHash(B)?B.toObject():Object.clone(B)},_each:function(C){for(var B in this._object){var D=this._object[B],E=[B,D];E.key=B;E.value=D;C(E)}},set:function(B,C){return this._object[B]=C},get:function(B){if(this._object[B]!==Object.prototype[B]){return this._object[B]}},unset:function(B){var C=this._object[B];delete this._object[B];return C},toObject:function(){return Object.clone(this._object)},keys:function(){return this.pluck("key")},values:function(){return this.pluck("value")},index:function(C){var B=this.detect(function(D){return D.value===C});return B&&B.key},merge:function(B){return this.clone().update(B)},update:function(B){return new Hash(B).inject(this,function(C,D){C.set(D.key,D.value);return C})},toQueryString:function(){return this.inject([],function(D,E){var C=encodeURIComponent(E.key),B=E.value;if(B&&typeof B=="object"){if(Object.isArray(B)){return D.concat(B.map(A.curry(C)))}}else{D.push(A(C,B))}return D}).join("&")},inspect:function(){return"#<Hash:{"+this.map(function(B){return B.map(Object.inspect).join(": ")}).join(", ")+"}>"},toJSON:function(){return Object.toJSON(this.toObject())},clone:function(){return new Hash(this)}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{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(Object.isFunction(E[D])){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=Class.create({initialize:function(A){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,A||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else{if(Object.isHash(this.options.parameters)){this.options.parameters=this.options.parameters.toObject()}}}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,B,A){$super(A);this.transport=Ajax.getTransport();this.request(B)},request:function(B){this.url=B;this.method=this.options.method;var D=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){D._method=this.method;this.method="post"}this.parameters=D;if(D=Object.toQueryString(D)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+D}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){D+="&_="}}}try{var A=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(A)}Ajax.Responders.dispatch("onCreate",this,A);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?(this.options.postBody||D):null;this.transport.send(this.body);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.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(Object.isFunction(C.push)){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(){var A=this.getStatus();return !A||(A>=200&&A<300)},getStatus:function(){try{return this.transport.status||0}catch(A){return 0}},respondToReadyState:function(A){var C=Ajax.Request.Events[A],B=new Ajax.Response(this);if(C=="Complete"){try{this._complete=true;(this.options["on"+B.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(B,B.headerJSON)}catch(D){this.dispatchException(D)}var E=B.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&E&&E.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()}}try{(this.options["on"+C]||Prototype.emptyFunction)(B,B.headerJSON);Ajax.Responders.dispatch("on"+C,this,B,B.headerJSON)}catch(D){this.dispatchException(D)}if(C=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var A=this.url.match(/^\s*https?:\/\/[^\/]*/);return !A||(A[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))},getHeader:function(A){try{return this.transport.getResponseHeader(A)||null}catch(B){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(A){(this.options.onException||Prototype.emptyFunction)(this,A);Ajax.Responders.dispatch("onException",this,A)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(C){this.request=C;var D=this.transport=C.transport,A=this.readyState=D.readyState;if((A>2&&!Prototype.Browser.IE)||A==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(D.responseText);this.headerJSON=this._getHeaderJSON()}if(A==4){var B=D.responseXML;this.responseXML=Object.isUndefined(B)?null:B;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(A){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(A){return null}},getResponseHeader:function(A){return this.transport.getResponseHeader(A)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var A=this.getHeader("X-JSON");if(!A){return null}A=decodeURIComponent(escape(A));try{return A.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(B){this.request.dispatchException(B)}},_getResponseJSON:function(){var A=this.request.options;if(!A.evalJSON||(A.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null}try{return this.responseText.evalJSON(A.sanitizeJSON||!this.request.isSameOrigin())}catch(B){this.request.dispatchException(B)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,A,C,B){this.container={success:(A.success||A),failure:(A.failure||(A.success?null:A))};B=Object.clone(B);var D=B.onComplete;B.onComplete=(function(E,F){this.updateContent(E.responseText);if(Object.isFunction(D)){D(E,F)}}).bind(this);$super(C,B)},updateContent:function(D){var C=this.container[this.success()?"success":"failure"],A=this.options;if(!A.evalScripts){D=D.stripScripts()}if(C=$(C)){if(A.insertion){if(Object.isString(A.insertion)){var B={};B[A.insertion]=D;C.insert(B)}else{A.insertion(C,D)}}else{C.update(D)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,A,C,B){$super(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=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},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(Object.isString(B)){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(Element.extend(E.snapshotItem(B)))}return C}}if(!window.Node){var Node={}}if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})}(function(){var A=this.Element;this.Element=function(D,C){C=C||{};D=D.toLowerCase();var B=Element.cache;if(Prototype.Browser.IE&&C.name){D="<"+D+' name="'+C.name+'">';delete C.name;return Element.writeAttribute(document.createElement(D),C)}if(!B[D]){B[D]=Element.extend(document.createElement(D))}return Element.writeAttribute(B[D].cloneNode(false),C)};Object.extend(this.Element,A||{});if(A){this.Element.prototype=A.prototype}}).call(window);Element.cache={};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=$(A);A.style.display="none";return A},show:function(A){A=$(A);A.style.display="";return A},remove:function(A){A=$(A);A.parentNode.removeChild(A);return A},update:function(A,B){A=$(A);if(B&&B.toElement){B=B.toElement()}if(Object.isElement(B)){return A.update().insert(B)}B=Object.toHTML(B);A.innerHTML=B.stripScripts();B.evalScripts.bind(B).defer();return A},replace:function(B,C){B=$(B);if(C&&C.toElement){C=C.toElement()}else{if(!Object.isElement(C)){C=Object.toHTML(C);var A=B.ownerDocument.createRange();A.selectNode(B);C.evalScripts.bind(C).defer();C=A.createContextualFragment(C.stripScripts())}}B.parentNode.replaceChild(C,B);return B},insert:function(C,E){C=$(C);if(Object.isString(E)||Object.isNumber(E)||Object.isElement(E)||(E&&(E.toElement||E.toHTML))){E={bottom:E}}var D,F,B,G;for(var A in E){D=E[A];A=A.toLowerCase();F=Element._insertionTranslations[A];if(D&&D.toElement){D=D.toElement()}if(Object.isElement(D)){F(C,D);continue}D=Object.toHTML(D);B=((A=="before"||A=="after")?C.parentNode:C).tagName.toUpperCase();G=Element._getContentFromAnonymousElement(B,D.stripScripts());if(A=="top"||A=="after"){G.reverse()}G.each(F.curry(C));D.evalScripts.bind(D).defer()}return C},wrap:function(B,C,A){B=$(B);if(Object.isElement(C)){$(C).writeAttribute(A||{})}else{if(Object.isString(C)){C=new Element(C,A)}else{C=new Element("div",C)}}if(B.parentNode){B.parentNode.replaceChild(C,B)}C.appendChild(B);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).select("*")},firstDescendant:function(A){A=$(A).firstChild;while(A&&A.nodeType!=1){A=A.nextSibling}return $(A)},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(Object.isString(A)){A=new Selector(A)}return A.match($(B))},up:function(B,D,A){B=$(B);if(arguments.length==1){return $(B.parentNode)}var C=B.ancestors();return Object.isNumber(D)?C[D]:Selector.findElement(C,D,A)},down:function(B,C,A){B=$(B);if(arguments.length==1){return B.firstDescendant()}return Object.isNumber(C)?B.descendants()[C]:Element.select(B,C)[A||0]},previous:function(B,D,A){B=$(B);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(B))}var C=B.previousSiblings();return Object.isNumber(D)?C[D]:Selector.findElement(C,D,A)},next:function(C,D,B){C=$(C);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(C))}var A=C.nextSiblings();return Object.isNumber(D)?A[D]:Selector.findElement(A,D,B)},select:function(){var A=$A(arguments),B=$(A.shift());return Selector.findChildElements(B,A)},adjacent:function(){var A=$A(arguments),B=$(A.shift());return Selector.findChildElements(B.parentNode,A).without(B)},identify:function(B){B=$(B);var C=B.readAttribute("id"),A=arguments.callee;if(C){return C}do{C="anonymous_element_"+A.counter++}while($(C));B.writeAttribute("id",C);return C},readAttribute:function(C,A){C=$(C);if(Prototype.Browser.IE){var B=Element._attributeTranslations.read;if(B.values[A]){return B.values[A](C,A)}if(B.names[A]){A=B.names[A]}if(A.include(":")){return(!C.attributes||!C.attributes[A])?null:C.attributes[A].value}}return C.getAttribute(A)},writeAttribute:function(E,C,F){E=$(E);var B={},D=Element._attributeTranslations.write;if(typeof C=="object"){B=C}else{B[C]=Object.isUndefined(F)?true:F}for(var A in B){C=D.names[A]||A;F=B[A];if(D.values[A]){C=D.values[A](E,F)}if(F===false||F===null){E.removeAttribute(C)}else{if(F===true){E.setAttribute(C,C)}else{E.setAttribute(C,F)}}}return E},getHeight:function(A){return $(A).getDimensions().height},getWidth:function(A){return $(A).getDimensions().width},classNames:function(A){return new Element.ClassNames(A)},hasClassName:function(A,B){if(!(A=$(A))){return }var C=A.className;return(C.length>0&&(C==B||new RegExp("(^|\\s)"+B+"(\\s|$)").test(C)))},addClassName:function(A,B){if(!(A=$(A))){return }if(!A.hasClassName(B)){A.className+=(A.className?" ":"")+B}return A},removeClassName:function(A,B){if(!(A=$(A))){return }A.className=A.className.replace(new RegExp("(^|\\s+)"+B+"(\\s+|$)")," ").strip();return A},toggleClassName:function(A,B){if(!(A=$(A))){return }return A[A.hasClassName(B)?"removeClassName":"addClassName"](B)},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.blank()},descendantOf:function(B,A){B=$(B),A=$(A);if(B.compareDocumentPosition){return(B.compareDocumentPosition(A)&8)===8}if(A.contains){return A.contains(B)&&A!==B}while(B=B.parentNode){if(B==A){return true}}return false},scrollTo:function(A){A=$(A);var B=A.cumulativeOffset();window.scrollTo(B[0],B[1]);return A},getStyle:function(B,C){B=$(B);C=C=="float"?"cssFloat":C.camelize();var D=B.style[C];if(!D||D=="auto"){var A=document.defaultView.getComputedStyle(B,null);D=A?A[C]:null}if(C=="opacity"){return D?parseFloat(D):1}return D=="auto"?null:D},getOpacity:function(A){return $(A).getStyle("opacity")},setStyle:function(B,C){B=$(B);var E=B.style,A;if(Object.isString(C)){B.style.cssText+=";"+C;return C.include("opacity")?B.setOpacity(C.match(/opacity:\s*(\d?\.?\d*)/)[1]):B}for(var D in C){if(D=="opacity"){B.setOpacity(C[D])}else{E[(D=="float"||D=="cssFloat")?(Object.isUndefined(E.styleFloat)?"cssFloat":"styleFloat"):D]=C[D]}}return B},setOpacity:function(A,B){A=$(A);A.style.opacity=(B==1||B==="")?"":(B<0.00001)?0:B;return A},getDimensions:function(C){C=$(C);var G=C.getStyle("display");if(G!="none"&&G!=null){return{width:C.offsetWidth,height:C.offsetHeight}}var B=C.style;var F=B.visibility;var D=B.position;var A=B.display;B.visibility="hidden";B.position="absolute";B.display="block";var H=C.clientWidth;var E=C.clientHeight;B.display=A;B.position=D;B.visibility=F;return{width:H,height:E}},makePositioned:function(A){A=$(A);var B=Element.getStyle(A,"position");if(B=="static"||!B){A._madePositioned=true;A.style.position="relative";if(Prototype.Browser.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=Element.getStyle(A,"overflow")||"auto";if(A._overflow!=="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},cumulativeOffset:function(B){var A=0,C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;B=B.offsetParent}while(B);return Element._returnOffset(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.toUpperCase()=="BODY"){break}var C=Element.getStyle(B,"position");if(C!=="static"){break}}}while(B);return Element._returnOffset(D,A)},absolutize:function(B){B=$(B);if(B.getStyle("position")=="absolute"){return B}var D=B.positionedOffset();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";return B},relativize:function(A){A=$(A);if(A.getStyle("position")=="relative"){return A}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;return A},cumulativeScrollOffset:function(B){var A=0,C=0;do{A+=B.scrollTop||0;C+=B.scrollLeft||0;B=B.parentNode}while(B);return Element._returnOffset(C,A)},getOffsetParent: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)},viewportOffset:function(D){var A=0,C=0;var B=D;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body&&Element.getStyle(B,"position")=="absolute"){break}}while(B=B.offsetParent);B=D;do{if(!Prototype.Browser.Opera||(B.tagName&&(B.tagName.toUpperCase()=="BODY"))){A-=B.scrollTop||0;C-=B.scrollLeft||0}}while(B=B.parentNode);return Element._returnOffset(C,A)},clonePosition:function(B,D){var A=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});D=$(D);var E=D.viewportOffset();B=$(B);var F=[0,0];var C=null;if(Element.getStyle(B,"position")=="absolute"){C=B.getOffsetParent();F=C.viewportOffset()}if(C==document.body){F[0]-=document.body.offsetLeft;F[1]-=document.body.offsetTop}if(A.setLeft){B.style.left=(E[0]-F[0]+A.offsetLeft)+"px"}if(A.setTop){B.style.top=(E[1]-F[1]+A.offsetTop)+"px"}if(A.setWidth){B.style.width=D.offsetWidth+"px"}if(A.setHeight){B.style.height=D.offsetHeight+"px"}return B}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(D,B,C){switch(C){case"left":case"top":case"right":case"bottom":if(D(B,"position")==="static"){return null}case"height":case"width":if(!Element.visible(B)){return null}var E=parseInt(D(B,C),10);if(E!==B["offset"+C.capitalize()]){return E+"px"}var A;if(C==="height"){A=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{A=["border-left-width","padding-left","padding-right","border-right-width"]}return A.inject(E,function(F,G){var H=D(B,G);return H===null?F:F-parseInt(H,10)})+"px";default:return D(B,C)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(C,A,B){if(B==="title"){return A.title}return C(A,B)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(C,B){B=$(B);try{B.offsetParent}catch(E){return $(document.body)}var A=B.getStyle("position");if(A!=="static"){return C(B)}B.setStyle({position:"relative"});var D=C(B);B.setStyle({position:A});return D});$w("positionedOffset viewportOffset").each(function(A){Element.Methods[A]=Element.Methods[A].wrap(function(E,C){C=$(C);try{C.offsetParent}catch(G){return Element._returnOffset(0,0)}var B=C.getStyle("position");if(B!=="static"){return E(C)}var D=C.getOffsetParent();if(D&&D.getStyle("position")==="fixed"){D.setStyle({zoom:1})}C.setStyle({position:"relative"});var F=E(C);C.setStyle({position:B});return F})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(B,A){try{A.offsetParent}catch(C){return Element._returnOffset(0,0)}return B(A)});Element.Methods.getStyle=function(A,B){A=$(A);B=(B=="float"||B=="cssFloat")?"styleFloat":B.camelize();var C=A.style[B];if(!C&&A.currentStyle){C=A.currentStyle[B]}if(B=="opacity"){if(C=(A.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(C[1]){return parseFloat(C[1])/100}}return 1}if(C=="auto"){if((B=="width"||B=="height")&&(A.getStyle("display")!="none")){return A["offset"+B.capitalize()]+"px"}return null}return C};Element.Methods.setOpacity=function(B,E){function F(G){return G.replace(/alpha\([^\)]*\)/gi,"")}B=$(B);var A=B.currentStyle;if((A&&!A.hasLayout)||(!A&&B.style.zoom=="normal")){B.style.zoom=1}var D=B.getStyle("filter"),C=B.style;if(E==1||E===""){(D=F(D))?C.filter=D:C.removeAttribute("filter");return B}else{if(E<0.00001){E=0}}C.filter=F(D)+"alpha(opacity="+(E*100)+")";return B};Element._attributeTranslations={read:{names:{"class":"className","for":"htmlFor"},values:{_getAttr:function(A,B){return A.getAttribute(B,2)},_getAttrNode:function(A,C){var B=A.getAttributeNode(C);return B?B.value:""},_getEv:function(A,B){B=A.getAttribute(B);return B?B.toString().slice(23,-2):null},_flag:function(A,B){return $(A).hasAttribute(B)?B:null},style:function(A){return A.style.cssText.toLowerCase()},title:function(A){return A.title}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(A,B){A.checked=!!B},style:function(A,B){A.style.cssText=B?B:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(A){Element._attributeTranslations.write.names[A.toLowerCase()]=A;Element._attributeTranslations.has[A.toLowerCase()]=A});(function(A){Object.extend(A,{href:A._getAttr,src:A._getAttr,type:A._getAttr,action:A._getAttrNode,disabled:A._flag,checked:A._flag,readonly:A._flag,multiple:A._flag,onload:A._getEv,onunload:A._getEv,onclick:A._getEv,ondblclick:A._getEv,onmousedown:A._getEv,onmouseup:A._getEv,onmouseover:A._getEv,onmousemove:A._getEv,onmouseout:A._getEv,onfocus:A._getEv,onblur:A._getEv,onkeypress:A._getEv,onkeydown:A._getEv,onkeyup:A._getEv,onsubmit:A._getEv,onreset:A._getEv,onselect:A._getEv,onchange:A._getEv})})(Element._attributeTranslations.read.values)}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(A,B){A=$(A);A.style.opacity=(B==1)?0.999999:(B==="")?"":(B<0.00001)?0:B;return A}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(A,B){A=$(A);A.style.opacity=(B==1||B==="")?"":(B<0.00001)?0:B;if(B==1){if(A.tagName.toUpperCase()=="IMG"&&A.width){A.width++;A.width--}else{try{var D=document.createTextNode(" ");A.appendChild(D);A.removeChild(D)}catch(C){}}}return A};Element.Methods.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 Element._returnOffset(C,A)}}}}}if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(B,C){B=$(B);if(C&&C.toElement){C=C.toElement()}if(Object.isElement(C)){return B.update().insert(C)}C=Object.toHTML(C);var A=B.tagName.toUpperCase();if(A in Element._insertionTranslations.tags){$A(B.childNodes).each(function(D){B.removeChild(D)});Element._getContentFromAnonymousElement(A,C.stripScripts()).each(function(D){B.appendChild(D)})}else{B.innerHTML=C.stripScripts()}C.evalScripts.bind(C).defer();return B}}if("outerHTML" in document.createElement("div")){Element.Methods.replace=function(C,E){C=$(C);if(E&&E.toElement){E=E.toElement()}if(Object.isElement(E)){C.parentNode.replaceChild(E,C);return C}E=Object.toHTML(E);var D=C.parentNode,B=D.tagName.toUpperCase();if(Element._insertionTranslations.tags[B]){var F=C.next();var A=Element._getContentFromAnonymousElement(B,E.stripScripts());D.removeChild(C);if(F){A.each(function(G){D.insertBefore(G,F)})}else{A.each(function(G){D.appendChild(G)})}}else{C.outerHTML=E.stripScripts()}E.evalScripts.bind(E).defer();return C}}Element._returnOffset=function(B,C){var A=[B,C];A.left=B;A.top=C;return A};Element._getContentFromAnonymousElement=function(C,B){var D=new Element("div"),A=Element._insertionTranslations.tags[C];if(A){D.innerHTML=A[0]+B+A[1];A[2].times(function(){D=D.firstChild})}else{D.innerHTML=B}return $A(D.childNodes)};Element._insertionTranslations={before:function(A,B){A.parentNode.insertBefore(B,A)},top:function(A,B){A.insertBefore(B,A.firstChild)},bottom:function(A,B){A.appendChild(B)},after:function(A,B){A.parentNode.insertBefore(B,A.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD})}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(A,C){C=Element._attributeTranslations.has[C]||C;var B=$(A).getAttributeNode(C);return !!(B&&B.specified)}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement("div")["__proto__"]){window.HTMLElement={};window.HTMLElement.prototype=document.createElement("div")["__proto__"];Prototype.BrowserFeatures.ElementExtensions=true}Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions){return Prototype.K}var A={},B=Element.Methods.ByTag;var C=Object.extend(function(F){if(!F||F._extendedByPrototype||F.nodeType!=1||F==window){return F}var D=Object.clone(A),E=F.tagName.toUpperCase(),H,G;if(B[E]){Object.extend(D,B[E])}for(H in D){G=D[H];if(Object.isFunction(G)&&!(H in F)){F[H]=G.methodize()}}F._extendedByPrototype=Prototype.emptyFunction;return F},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(A,Element.Methods);Object.extend(A,Element.Methods.Simulated)}}});C.refresh();return C})();Element.hasAttribute=function(A,B){if(A.hasAttribute){return A.hasAttribute(B)}return Element.Methods.Simulated.hasAttribute(A,B)};Element.addMethods=function(C){var I=Prototype.BrowserFeatures,D=Element.Methods.ByTag;if(!C){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var B=C;C=arguments[1]}if(!B){Object.extend(Element.Methods,C||{})}else{if(Object.isArray(B)){B.each(H)}else{H(B)}}function H(F){F=F.toUpperCase();if(!Element.Methods.ByTag[F]){Element.Methods.ByTag[F]={}}Object.extend(Element.Methods.ByTag[F],C)}function A(L,K,F){F=F||false;for(var N in L){var M=L[N];if(!Object.isFunction(M)){continue}if(!F||!(N in K)){K[N]=M.methodize()}}}function E(L){var F;var K={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(K[L]){F="HTML"+K[L]+"Element"}if(window[F]){return window[F]}F="HTML"+L+"Element";if(window[F]){return window[F]}F="HTML"+L.capitalize()+"Element";if(window[F]){return window[F]}window[F]={};window[F].prototype=document.createElement(L)["__proto__"];return window[F]}if(I.ElementExtensions){A(Element.Methods,HTMLElement.prototype);A(Element.Methods.Simulated,HTMLElement.prototype,true)}if(I.SpecificElementExtensions){for(var J in Element.Methods.ByTag){var G=E(J);if(Object.isUndefined(G)){continue}A(D[J],G.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}};document.viewport={getDimensions:function(){var A={},C=Prototype.Browser;$w("width height").each(function(E){var B=E.capitalize();if(C.WebKit&&!document.evaluate){A[E]=self["inner"+B]}else{if(C.Opera&&parseFloat(window.opera.version())<9.5){A[E]=document.body["client"+B]}else{A[E]=document.documentElement["client"+B]}}});return A},getWidth:function(){return this.getDimensions().width},getHeight:function(){return this.getDimensions().height},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};var Selector=Class.create({initialize:function(A){this.expression=A.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI"}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher()}else{this.mode="normal";this.compileMatcher()}}},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath){return false}var A=this.expression;if(Prototype.Browser.WebKit&&(A.include("-of-type")||A.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(A)){return false}return true},shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false}if(!Selector._div){Selector._div=new Element("div")}try{Selector._div.querySelector(this.expression)}catch(A){return false}return true},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return }this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var E=this.expression,F=Selector.patterns,B=Selector.xpath,D,A;if(Selector._cache[E]){this.xpath=Selector._cache[E];return }this.matcher=[".//*"];while(E&&D!=E&&(/\S/).test(E)){D=E;for(var C in F){if(A=E.match(F[C])){this.matcher.push(Object.isFunction(B[C])?B[C](A):new Template(B[C]).evaluate(A));E=E.replace(A[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(A){A=A||document;var C=this.expression,B;switch(this.mode){case"selectorsAPI":if(A!==document){var D=A.id,E=$(A).identify();C="#"+E+" "+C}B=$A(A.querySelectorAll(C)).map(Element.extend);A.id=D;return B;case"xpath":return document._getElementsByXPath(this.xpath,A);default:return this.matcher(A)}},match:function(H){this.tokens=[];var L=this.expression,A=Selector.patterns,E=Selector.assertions;var B,D,F;while(L&&B!==L&&(/\S/).test(L)){B=L;for(var I in A){D=A[I];if(F=L.match(D)){if(E[I]){this.tokens.push([I,Object.clone(F)]);L=L.replace(F[0],"")}else{return this.findElements(document).include(H)}}}}var K=true,C,J;for(var I=0,G;G=this.tokens[I];I++){C=G[0],J=G[1];if(!Selector.assertions[C](H,J)){K=false;break}}return K},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(A){if(A[1]=="*"){return""}return"[local-name()='"+A[1].toLowerCase()+"' or local-name()='"+A[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(A){A[1]=A[1].toLowerCase();return new Template("[@#{1}]").evaluate(A)},attr:function(A){A[1]=A[1].toLowerCase();A[3]=A[5]||A[6];return new Template(Selector.xpath.operators[A[2]]).evaluate(A)},pseudo:function(A){var B=Selector.xpath.pseudos[A[1]];if(!B){return""}if(Object.isFunction(B)){return B(A)}return new Template(Selector.xpath.pseudos[A[1]]).evaluate(A)},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0)]",checked:"[@checked]",disabled:"[(@disabled) and (@type!='hidden')]",enabled:"[not(@disabled) and (@type!='hidden')]",not:function(B){var H=B[6],G=Selector.patterns,A=Selector.xpath,E,C;var F=[];while(H&&E!=H&&(/\S/).test(H)){E=H;for(var D in G){if(B=H.match(G[D])){C=Object.isFunction(A[D])?A[D](B):new Template(A[D]).evaluate(B);F.push("("+C.substring(1,C.length-1)+")");H=H.replace(B[0],"");break}}}return"[not("+F.join(" and ")+")]"},"nth-child":function(A){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",A)},"nth-last-child":function(A){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",A)},"nth-of-type":function(A){return Selector.xpath.pseudos.nth("position() ",A)},"nth-last-of-type":function(A){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",A)},"first-of-type":function(A){A[6]="1";return Selector.xpath.pseudos["nth-of-type"](A)},"last-of-type":function(A){A[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](A)},"only-of-type":function(A){var B=Selector.xpath.pseudos;return B["first-of-type"](A)+B["last-of-type"](A)},nth:function(E,C){var F,G=C[6],B;if(G=="even"){G="2n+0"}if(G=="odd"){G="2n+1"}if(F=G.match(/^(\d+)$/)){return"["+E+"= "+F[1]+"]"}if(F=G.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(F[1]=="-"){F[1]=-1}var D=F[1]?Number(F[1]):1;var A=F[2]?Number(F[2]):0;B="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(B).evaluate({fragment:E,a:D,b:A})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(A){A[3]=(A[5]||A[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(A)},pseudo:function(A){if(A[6]){A[6]=A[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(A)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[((?:[\w]+:)?[\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(A,B){return B[1].toUpperCase()==A.tagName.toUpperCase()},className:function(A,B){return Element.hasClassName(A,B[1])},id:function(A,B){return A.id===B[1]},attrPresence:function(A,B){return Element.hasAttribute(A,B[1])},attr:function(B,C){var A=Element.readAttribute(B,C[1]);return A&&Selector.operators[C[2]](A,C[5]||C[6])}},handlers:{concat:function(B,A){for(var C=0,D;D=A[C];C++){B.push(D)}return B},mark:function(A){var D=Prototype.emptyFunction;for(var B=0,C;C=A[B];B++){C._countedByPrototype=D}return A},unmark:function(A){for(var B=0,C;C=A[B];B++){C._countedByPrototype=undefined}return A},index:function(A,D,G){A._countedByPrototype=Prototype.emptyFunction;if(D){for(var B=A.childNodes,E=B.length-1,C=1;E>=0;E--){var F=B[E];if(F.nodeType==1&&(!G||F._countedByPrototype)){F.nodeIndex=C++}}}else{for(var E=0,C=1,B=A.childNodes;F=B[E];E++){if(F.nodeType==1&&(!G||F._countedByPrototype)){F.nodeIndex=C++}}}},unique:function(B){if(B.length==0){return B}var D=[],E;for(var C=0,A=B.length;C<A;C++){if(!(E=B[C])._countedByPrototype){E._countedByPrototype=Prototype.emptyFunction;D.push(Element.extend(E))}}return Selector.handlers.unmark(D)},descendant:function(A){var D=Selector.handlers;for(var C=0,B=[],E;E=A[C];C++){D.concat(B,E.getElementsByTagName("*"))}return B},child:function(A){var E=Selector.handlers;for(var D=0,C=[],F;F=A[D];D++){for(var B=0,G;G=F.childNodes[B];B++){if(G.nodeType==1&&G.tagName!="!"){C.push(G)}}}return C},adjacent:function(A){for(var C=0,B=[],E;E=A[C];C++){var D=this.nextElementSibling(E);if(D){B.push(D)}}return B},laterSibling:function(A){var D=Selector.handlers;for(var C=0,B=[],E;E=A[C];C++){D.concat(B,Element.nextSiblings(E))}return B},nextElementSibling:function(A){while(A=A.nextSibling){if(A.nodeType==1){return A}}return null},previousElementSibling:function(A){while(A=A.previousSibling){if(A.nodeType==1){return A}}return null},tagName:function(A,H,C,B){var I=C.toUpperCase();var E=[],G=Selector.handlers;if(A){if(B){if(B=="descendant"){for(var F=0,D;D=A[F];F++){G.concat(E,D.getElementsByTagName(C))}return E}else{A=this[B](A)}if(C=="*"){return A}}for(var F=0,D;D=A[F];F++){if(D.tagName.toUpperCase()===I){E.push(D)}}return E}else{return H.getElementsByTagName(C)}},id:function(B,A,H,F){var G=$(H),D=Selector.handlers;if(!G){return[]}if(!B&&A==document){return[G]}if(B){if(F){if(F=="child"){for(var C=0,E;E=B[C];C++){if(G.parentNode==E){return[G]}}}else{if(F=="descendant"){for(var C=0,E;E=B[C];C++){if(Element.descendantOf(G,E)){return[G]}}}else{if(F=="adjacent"){for(var C=0,E;E=B[C];C++){if(Selector.handlers.previousElementSibling(G)==E){return[G]}}}else{B=D[F](B)}}}}for(var C=0,E;E=B[C];C++){if(E==G){return[G]}}return[]}return(G&&Element.descendantOf(G,A))?[G]:[]},className:function(B,A,C,D){if(B&&D){B=this[D](B)}return Selector.handlers.byClassName(B,A,C)},byClassName:function(C,B,F){if(!C){C=Selector.handlers.descendant([B])}var H=" "+F+" ";for(var E=0,D=[],G,A;G=C[E];E++){A=G.className;if(A.length==0){continue}if(A==F||(" "+A+" ").include(H)){D.push(G)}}return D},attrPresence:function(C,B,A,G){if(!C){C=B.getElementsByTagName("*")}if(C&&G){C=this[G](C)}var E=[];for(var D=0,F;F=C[D];D++){if(Element.hasAttribute(F,A)){E.push(F)}}return E},attr:function(A,I,H,J,C,B){if(!A){A=I.getElementsByTagName("*")}if(A&&B){A=this[B](A)}var K=Selector.operators[C],F=[];for(var E=0,D;D=A[E];E++){var G=Element.readAttribute(D,H);if(G===null){continue}if(K(G,J)){F.push(D)}}return F},pseudo:function(B,C,E,A,D){if(B&&D){B=this[D](B)}if(!B){B=A.getElementsByTagName("*")}return Selector.pseudos[C](B,E,A)}},pseudos:{"first-child":function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(Selector.handlers.previousElementSibling(E)){continue}C.push(E)}return C},"last-child":function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(Selector.handlers.nextElementSibling(E)){continue}C.push(E)}return C},"only-child":function(B,G,A){var E=Selector.handlers;for(var D=0,C=[],F;F=B[D];D++){if(!E.previousElementSibling(F)&&!E.nextElementSibling(F)){C.push(F)}}return C},"nth-child":function(B,C,A){return Selector.pseudos.nth(B,C,A)},"nth-last-child":function(B,C,A){return Selector.pseudos.nth(B,C,A,true)},"nth-of-type":function(B,C,A){return Selector.pseudos.nth(B,C,A,false,true)},"nth-last-of-type":function(B,C,A){return Selector.pseudos.nth(B,C,A,true,true)},"first-of-type":function(B,C,A){return Selector.pseudos.nth(B,"1",A,false,true)},"last-of-type":function(B,C,A){return Selector.pseudos.nth(B,"1",A,true,true)},"only-of-type":function(B,D,A){var C=Selector.pseudos;return C["last-of-type"](C["first-of-type"](B,D,A),D,A)},getIndices:function(B,A,C){if(B==0){return A>0?[A]:[]}return $R(1,C).inject([],function(D,E){if(0==(E-A)%B&&(E-A)/B>=0){D.push(E)}return D})},nth:function(A,L,N,K,C){if(A.length==0){return[]}if(L=="even"){L="2n+0"}if(L=="odd"){L="2n+1"}var J=Selector.handlers,I=[],B=[],E;J.mark(A);for(var H=0,D;D=A[H];H++){if(!D.parentNode._countedByPrototype){J.index(D.parentNode,K,C);B.push(D.parentNode)}}if(L.match(/^\d+$/)){L=Number(L);for(var H=0,D;D=A[H];H++){if(D.nodeIndex==L){I.push(D)}}}else{if(E=L.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(E[1]=="-"){E[1]=-1}var O=E[1]?Number(E[1]):1;var M=E[2]?Number(E[2]):0;var P=Selector.pseudos.getIndices(O,M,A.length);for(var H=0,D,F=P.length;D=A[H];H++){for(var G=0;G<F;G++){if(D.nodeIndex==P[G]){I.push(D)}}}}}J.unmark(A);J.unmark(B);return I},empty:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(E.tagName=="!"||E.firstChild){continue}C.push(E)}return C},not:function(A,D,I){var G=Selector.handlers,J,C;var H=new Selector(D).findElements(I);G.mark(H);for(var F=0,E=[],B;B=A[F];F++){if(!B._countedByPrototype){E.push(B)}}G.unmark(H);return E},enabled:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(!E.disabled&&(!E.type||E.type!=="hidden")){C.push(E)}}return C},disabled:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(E.disabled){C.push(E)}}return C},checked:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(E.checked){C.push(E)}}return C}},operators:{"=":function(B,A){return B==A},"!=":function(B,A){return B!=A},"^=":function(B,A){return B==A||B&&B.startsWith(A)},"$=":function(B,A){return B==A||B&&B.endsWith(A)},"*=":function(B,A){return B==A||B&&B.include(A)},"$=":function(B,A){return B.endsWith(A)},"*=":function(B,A){return B.include(A)},"~=":function(B,A){return(" "+B+" ").include(" "+A+" ")},"|=":function(B,A){return("-"+(B||"").toUpperCase()+"-").include("-"+(A||"").toUpperCase()+"-")}},split:function(B){var A=[];B.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(C){A.push(C[1].strip())});return A},matchElements:function(F,G){var E=$$(G),D=Selector.handlers;D.mark(E);for(var C=0,B=[],A;A=F[C];C++){if(A._countedByPrototype){B.push(A)}}D.unmark(E);return B},findElement:function(B,C,A){if(Object.isNumber(C)){A=C;C=false}return Selector.matchElements(B,C||"*")[A||0]},findChildElements:function(E,G){G=Selector.split(G.join(","));var D=[],F=Selector.handlers;for(var C=0,B=G.length,A;C<B;C++){A=new Selector(G[C].strip());F.concat(D,A.findElements(E))}return(B>1)?F.unique(D):D}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(B,A){for(var C=0,D;D=A[C];C++){if(D.tagName!=="!"){B.push(D)}}return B},unmark:function(A){for(var B=0,C;C=A[B];B++){C.removeAttribute("_countedByPrototype")}return A}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(A){$(A).reset();return A},serializeElements:function(G,B){if(typeof B!="object"){B={hash:!!B}}else{if(Object.isUndefined(B.hash)){B.hash=true}}var C,F,A=false,E=B.submit;var D=G.inject({},function(H,I){if(!I.disabled&&I.name){C=I.name;F=$(I).getValue();if(F!=null&&I.type!="file"&&(I.type!="submit"||(!A&&E!==false&&(!E||C==E)&&(A=true)))){if(C in H){if(!Object.isArray(H[C])){H[C]=[H[C]]}H[C].push(F)}else{H[C]=F}}}return H});return B.hash?D:Object.toQueryString(D)}};Form.Methods={serialize:function(B,A){return Form.serializeElements(Form.getElements(B),A)},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");if(!C&&!D){return $A(A).map(Element.extend)}for(var E=0,H=[],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);Form.getElements(A).invoke("disable");return A},enable:function(A){A=$(A);Form.getElements(A).invoke("enable");return A},findFirstElement:function(B){var C=$(B).getElements().findAll(function(D){return"hidden"!=D.type&&!D.disabled});var A=C.findAll(function(D){return D.hasAttribute("tabIndex")&&D.tabIndex>=0}).sortBy(function(D){return D.tabIndex}).first();return A?A:C.find(function(D){return["input","select","textarea"].include(D.tagName.toLowerCase())})},focusFirstElement:function(A){A=$(A);A.findFirstElement().activate();return A},request:function(B,A){B=$(B),A=Object.clone(A||{});var D=A.parameters,C=B.readAttribute("action")||"";if(C.blank()){C=window.location.href}A.parameters=B.serialize(true);if(D){if(Object.isString(D)){D=D.toQueryParams()}Object.extend(A.parameters,D)}if(B.hasAttribute("method")&&!A.method){A.method=B.method}return new Ajax.Request(C,A)}};Form.Element={focus:function(A){$(A).focus();return A},select:function(A){$(A).select();return A}};Form.Element.Methods={serialize:function(A){A=$(A);if(!A.disabled&&A.name){var B=A.getValue();if(B!=undefined){var C={};C[A.name]=B;return Object.toQueryString(C)}}return""},getValue:function(A){A=$(A);var B=A.tagName.toLowerCase();return Form.Element.Serializers[B](A)},setValue:function(A,B){A=$(A);var C=A.tagName.toLowerCase();Form.Element.Serializers[C](A,B);return A},clear:function(A){$(A).value="";return A},present:function(A){return $(A).value!=""},activate:function(A){A=$(A);try{A.focus();if(A.select&&(A.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(A.type))){A.select()}}catch(B){}return A},disable:function(A){A=$(A);A.disabled=true;return A},enable:function(A){A=$(A);A.disabled=false;return A}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(A,B){switch(A.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(A,B);default:return Form.Element.Serializers.textarea(A,B)}},inputSelector:function(A,B){if(Object.isUndefined(B)){return A.checked?A.value:null}else{A.checked=!!B}},textarea:function(A,B){if(Object.isUndefined(B)){return A.value}else{A.value=B}},select:function(C,F){if(Object.isUndefined(F)){return this[C.type=="select-one"?"selectOne":"selectMany"](C)}else{var B,D,G=!Object.isArray(F);for(var A=0,E=C.length;A<E;A++){B=C.options[A];D=this.optionValue(B);if(G){if(D==F){B.selected=true;return }}else{B.selected=F.include(D)}}}},selectOne:function(B){var A=B.selectedIndex;return A>=0?this.optionValue(B.options[A]):null},selectMany:function(D){var A,E=D.length;if(!E){return null}for(var C=0,A=[];C<E;C++){var B=D.options[C];if(B.selected){A.push(this.optionValue(B))}}return A},optionValue:function(A){return Element.extend(A).hasAttribute("value")?A.value:A.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,A,B,C){$super(C,B);this.element=$(A);this.lastValue=this.getValue()},execute:function(){var A=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(A)?this.lastValue!=A:String(this.lastValue)!=String(A)){this.callback(this.element,A);this.lastValue=A}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=Class.create({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,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(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});if(!window.Event){var Event={}}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,KEY_INSERT:45,cache:{},relatedTarget:function(B){var A;switch(B.type){case"mouseover":A=B.fromElement;break;case"mouseout":A=B.toElement;break;default:return null}return Element.extend(A)}});Event.Methods=(function(){var A;if(Prototype.Browser.IE){var B={0:1,1:4,2:2};A=function(D,C){return D.button==B[C]}}else{if(Prototype.Browser.WebKit){A=function(D,C){switch(C){case 0:return D.which==1&&!D.metaKey;case 1:return D.which==1&&D.metaKey;default:return false}}}else{A=function(D,C){return D.which?(D.which===C+1):(D.button===C)}}}return{isLeftClick:function(C){return A(C,0)},isMiddleClick:function(C){return A(C,1)},isRightClick:function(C){return A(C,2)},element:function(E){E=Event.extend(E);var D=E.target,C=E.type,F=E.currentTarget;if(F&&F.tagName){if(C==="load"||C==="error"||(C==="click"&&F.tagName.toLowerCase()==="input"&&F.type==="radio")){D=F}}if(D.nodeType==Node.TEXT_NODE){D=D.parentNode}return Element.extend(D)},findElement:function(D,F){var C=Event.element(D);if(!F){return C}var E=[C].concat(C.ancestors());return Selector.findElement(E,F,0)},pointer:function(E){var D=document.documentElement,C=document.body||{scrollLeft:0,scrollTop:0};return{x:E.pageX||(E.clientX+(D.scrollLeft||C.scrollLeft)-(D.clientLeft||0)),y:E.pageY||(E.clientY+(D.scrollTop||C.scrollTop)-(D.clientTop||0))}},pointerX:function(C){return Event.pointer(C).x},pointerY:function(C){return Event.pointer(C).y},stop:function(C){Event.extend(C);C.preventDefault();C.stopPropagation();C.stopped=true}}})();Event.extend=(function(){var A=Object.keys(Event.Methods).inject({},function(B,C){B[C]=Event.Methods[C].methodize();return B});if(Prototype.Browser.IE){Object.extend(A,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(B){if(!B){return false}if(B._extendedByPrototype){return B}B._extendedByPrototype=Prototype.emptyFunction;var C=Event.pointer(B);Object.extend(B,{target:B.srcElement,relatedTarget:Event.relatedTarget(B),pageX:C.x,pageY:C.y});return Object.extend(B,A)}}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents")["__proto__"];Object.extend(Event.prototype,A);return Prototype.K}})();Object.extend(Event,(function(){var B=Event.cache;function C(J){if(J._prototypeEventID){return J._prototypeEventID[0]}arguments.callee.id=arguments.callee.id||1;return J._prototypeEventID=[++arguments.callee.id]}function G(J){if(J&&J.include(":")){return"dataavailable"}return J}function A(J){return B[J]=B[J]||{}}function F(L,J){var K=A(L);return K[J]=K[J]||[]}function H(K,J,L){var O=C(K);var N=F(O,J);if(N.pluck("handler").include(L)){return false}var M=function(P){if(!Event||!Event.extend||(P.eventName&&P.eventName!=J)){return false}Event.extend(P);L.call(K,P)};M.handler=L;N.push(M);return M}function I(M,J,K){var L=F(M,J);return L.find(function(N){return N.handler==K})}function D(M,J,K){var L=A(M);if(!L[J]){return false}L[J]=L[J].without(I(M,J,K))}function E(){for(var K in B){for(var J in B[K]){B[K][J]=null}}}if(window.attachEvent){window.attachEvent("onunload",E)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}return{observe:function(L,J,M){L=$(L);var K=G(J);var N=H(L,J,M);if(!N){return L}if(L.addEventListener){L.addEventListener(K,N,false)}else{L.attachEvent("on"+K,N)}return L},stopObserving:function(L,J,M){L=$(L);var O=C(L),K=G(J);if(!M&&J){F(O,J).each(function(P){L.stopObserving(J,P.handler)});return L}else{if(!J){Object.keys(A(O)).each(function(P){L.stopObserving(P)});return L}}var N=I(O,J,M);if(!N){return L}if(L.removeEventListener){L.removeEventListener(K,N,false)}else{L.detachEvent("on"+K,N)}D(O,J,M);return L},fire:function(L,K,J){L=$(L);if(L==document&&document.createEvent&&!L.dispatchEvent){L=document.documentElement}var M;if(document.createEvent){M=document.createEvent("HTMLEvents");M.initEvent("dataavailable",true,true)}else{M=document.createEventObject();M.eventType="ondataavailable"}M.eventName=K;M.memo=J||{};if(document.createEvent){L.dispatchEvent(M)}else{L.fireEvent(M.eventType,M)}return Event.extend(M)}}})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var B;function A(){if(document.loaded){return }if(B){window.clearInterval(B)}document.fire("dom:loaded");document.loaded=true}if(document.addEventListener){if(Prototype.Browser.WebKit){B=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){A()}},0);Event.observe(window,"load",A)}else{document.addEventListener("DOMContentLoaded",A,false)}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;A()}}}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(A,B){return Element.insert(A,{before:B})},Top:function(A,B){return Element.insert(A,{top:B})},Bottom:function(A,B){return Element.insert(A,{bottom:B})},After:function(A,B){return Element.insert(A,{after:B})}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');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},within:function(B,A,C){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(B,A,C)}this.xcomp=A;this.ycomp=C;this.offset=Element.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=Element.cumulativeScrollOffset(B);this.xcomp=A+C[0]-this.deltaX;this.ycomp=D+C[1]-this.deltaY;this.offset=Element.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}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(A){Position.prepare();return Element.absolutize(A)},relativize:function(A){Position.prepare();return Element.relativize(A)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(B,C,A){A=A||{};return Element.clonePosition(C,B,A)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(B){function A(C){return C.blank()?null:"[contains(concat(' ', @class, ' '), ' "+C+" ')]"}B.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(C,E){E=E.toString().strip();var D=/\s/.test(E)?$w(E).map(A).join(""):A(E);return D?document._getElementsByXPath(".//*"+D,C):[]}:function(E,F){F=F.toString().strip();var G=[],H=(/\s/.test(F)?$w(F):null);if(!H&&!F){return G}var C=$(E).getElementsByTagName("*");F=" "+F+" ";for(var D=0,J,I;J=C[D];D++){if(J.className&&(I=" "+J.className+" ")&&(I.include(F)||(H&&H.all(function(K){return !K.toString().blank()&&I.include(" "+K+" ")})))){G.push(Element.extend(J))}}return G};return function(D,C){return $(C||document.body).getElementsByClassName(D)}}(Element.Methods)}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);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,{}))


// 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.
//

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);}
})


function getDefvalue() {
	if (typeof defvalue == 'undefined') {
		defvalue = document.getElementById('searchForm').query.value;
	}
	return(defvalue);
}

function toggleValue(field) {
	defvalue = getDefvalue();
	if (defvalue) {
		if (field.value == defvalue) {
			field.value = '';
		}
		else if (field.value == '') {
			field.value = defvalue;
		}
	}
}

function submitSearch(searchForm) {
	defvalue = getDefvalue();
	if (document.getElementById(searchForm).query.value == defvalue) {
		document.getElementById(searchForm).query.value=''
	}
	document.getElementById(searchForm).submit();
}



var SERVER_URL = 'http://www.swisscom.ch';
var CURRENT_LANGUAGE = 'en';
var URL_MAGIC = '/solutions';
if (URL_MAGIC.length > 1) {
	URL_MAGIC += '/';
}



var Rules = { 
  	rules: "1.0",
   
	'a.loadNews:click' : function(element, event) {
		var tmp = element.rel.split('$$');
		var oAjax = new Ajax.Request(
			SERVER_URL + URL_MAGIC + CURRENT_LANGUAGE + '/loadnews',
			{
				method:		'get', 
				parameters:	"?id=" + tmp[0],
				onSuccess:	function(transport, json) {
					$('news').update(transport.responseText);
				},
				onFailure:	function(transport, json) {
					$('news-lead').update("<h3>An error occurred when loading the news. Please try again later.</h3>");
					var oElement = $('news').down(1).next(1);
					oElement.remove();
				}
			}
		);	
	
		Event.stop(event);
	},
	
	'a.loadNewsArchive:click' : function(element, event) {
		var tmp = element.rel.split('$$');
		var aParams = new Array();
		if (tmp[0] && parseInt(tmp[0])) {
			aParams.push("p=" + tmp[0]);
		}
		if (tmp[1] && parseInt(tmp[1])) {
			aParams.push("id=" + tmp[1]);
		}
		
		var sParams = aParams.join("&");
		var oAjax = new Ajax.Request(
			SERVER_URL + URL_MAGIC + CURRENT_LANGUAGE + '/loadnewsarchive',
			{
				method:		'get', 
				parameters:	'?' + sParams,
				onSuccess:	function(transport, json) {
					$('news-archiv').update(transport.responseText);
				},
				onFailure:	function(transport, json) {
					$('news-lead').update("<h3>Fehler beim laden des Newsarchives. Bitte versuchen sie es sp&#228;ter erneut.</h3>");
					$('news').down(1).next(1).remove();
					$('news-archiv').remove();
					
				}
			}
		);	
	
		Event.stop(event);
	},
	
	'ul#tab-navigation a:click' : function(element, event) {
		var iTabId = element.rel;
		
		if (iTabId) {
			var oDisplayContent = $('tab-content-' + iTabId);
			var oCurrentContent = $$('#tab-content .current');
			oCurrentContent[0].removeClassName("current");
			oDisplayContent.addClassName("current");
			var oDisplayTab = $('tab-' + iTabId);
			var oCurrentTab = $$('#tab-navigation .current');
			oCurrentTab[0].removeClassName("current");
			oDisplayTab.addClassName("current");
			
		}
		Event.stop(event);
	}
}


function openURL()
{ 
    selInd = document.subdd.dd.selectedIndex; 
    goURL = document.subdd.dd.options[selInd].value;
    if (goURL != "") {
        location.href = goURL;
    } 
}

function openPopup(url)
{
	var string = "toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=0,width=520,height=450,dependent=1";
	var winname = "cmspopup";
	var mywin = this.open(url,winname,string);
	mywin.focus();
}

function openPopupPrint(url)
{
	var string = "toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=1,width=810,height=500,dependent=1";
	var winname = "printpopup";
	var mywin = this.open(url,winname,string);
	mywin.focus();
}

function openPopup_ipplus(url)
{
	var string = "toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=0,width=637,height=700,dependent=1";
	var winname = "cmspopup";
	var mywin = this.open(url,winname,string);
	mywin.focus();
}

function openPopup_0800(url)
{
	var string = "toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=620,height=550,dependent=1";
	var winname = "cmspopup";
	var mywin = this.open(url,winname,string);
	mywin.focus();
}

function openPopup_sprachstudio(url)
{
	var string = "toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=0,width=417,height=550,dependent=1";
	var winname = "cmspopup";
	var mywin = this.open(url,winname,string);
	mywin.focus();
}

function openPopup_sound(url)
{
	var string = "toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=200,height=165,dependent=1";
	var winname = "sound";
	var mywin = this.open(url,winname,string);
	mywin.focus();
}

function selDirectLink(){
var s;
var f=document.HomePage;
s = f.compNavigationMeta_MetaGroup.value;
f.compNavigationMeta_MetaGroup.selectedIndex = 0;
if (s != '0'){
		if(s.indexOf('popup') == -1){
         location.href=s;
		}
		else{
			l = s.length;
			s = s.substring(5,l)
			window.open(s);
		}
	}
}

function loadAccordions(sFocus) {
	if ($('product')) {
		var oProductAccordion = new accordion('product', {
			focus : sFocus
		});
	}
	if ($('reference')) {
		var oReferenceAccordion = new accordion('reference', {
			focus : sFocus
		});
	}
}

function addAccordionState(iPaneId) {
	var sHash = window.location.hash;
	if (sHash.indexOf("#focus=") != -1) {
		if (sHash.search(/\d+/) != -1) {
			window.location.hash += ","+iPaneId;
		}
		else {
			window.location.hash += iPaneId;
		}
	}
	else {
		window.location.hash += "focus="+iPaneId;
	}
}

function removeAccordionState(iPaneId) {
	var sHash = window.location.hash;
	if (sHash.indexOf("#focus=") != -1) {
		if (sHash.indexOf(iPaneId+",") != -1) {
			window.location.hash = sHash.replace(iPaneId+",", "");
		}
		else {
			var iCrop = iPaneId.length + 1;
			if (sHash.lastIndexOf(","+iPaneId) == sHash.length - iCrop) {
				window.location.hash = sHash.replace(","+iPaneId, "");
			}
			else {
				window.location.hash = sHash.replace(iPaneId, "");
			}
		}
	}
}

// accordion.js v2.0.1
//
// Copyright (c) 2007 stickmanlabs
// Author: Kevin P Miller | http://www.stickmanlabs.com
// 
// Accordion is freely distributable under the terms of an MIT-style license.
//
// New features added by PhR | philipp.rebsamen@unic.com | www.unic.com
// - Allows you to have multiple open panes
// - URL-Parameter <?focus=<id>,<id>,..> controlled opening of panes
// - Now works with Prototype 1.6
// - No flickering
// - Tested in IE 6/7/8(RC1), FF 2/3, Opera 9.5/9.6
//
var accordion = Class.create();
accordion.prototype = {

	//
	//  Setup the Variables
	//
	showAccordion : null,
	currentAccordion : null,
	duration : null,
	effects : [],
	animating : false,
	
	//  
	//  Initialize the accordions
	//
	initialize: function(container, options) {
		if (!$(container)) {
	    	throw(container+" doesn't exist!");
	    	return false;
	  	}	
	  
		this.options = Object.extend({
			resizeSpeed : 8,
			classNames : {
				toggle : 'accordion_toggle',
				toggleActive : 'accordion_active',
				content : 'accordion_content'
			},
			defaultSize : {
				height : null,
				width : null
			},
			direction : 'vertical',
			onEvent : 'click',
			focus : null
		}, options || {});

		var accordions = $$('#'+container+' .'+this.options.classNames.toggle);
		accordions.each(function(accordion) {
			Event.observe(accordion, this.options.onEvent, this.activate.bind(this, accordion), false);
			if (this.options.onEvent == 'click') {
			  accordion.onclick = function() {return false;};
			}
			var iId = accordion.identify().substr(1);
			accordion.writeAttribute("id", iId);
			if (this.options.direction == 'horizontal') {
				var options = {width: '0px', display:'none'};
			} else {
				var options = {height: '0px', display:'none'};			
			}
			Object.extend(options, {display: 'none'});	
			this.currentAccordion = $(accordion.next(0)).setStyle(options);			
		}.bind(this));
		
		var openAll = $('open_all');
		var closeAll = $('close_all');
		if (openAll && closeAll) {
			openAll.show();
			closeAll.show();
			Event.observe(openAll, 'click', function(event) {
				window.location.hash = "#";
				accordions.each(function(accordion) {
					var current = $(accordion.next(0));
					current.setStyle({
						display: 'block',
						height: 'auto'
					});
					addAccordionState(accordion.id);
					accordion.addClassName('accordion_active');
				}.bind(this));
				Event.stop(event);
			});
		}
		
		if (this.options.focus) {
			var sFocus = this.options.focus;
			var aFocus = sFocus.split(",");
			for (var iCount = 0; iCount < aFocus.length; ++iCount) {
				if (!isNaN(parseInt(aFocus[iCount]))) {
					this.open($(aFocus[iCount]));
				}
			}
		}
		if (window.location.hash.indexOf("#focus=") != -1) {
			var sFocus = window.location.hash.replace("#focus=", "");
			var aFocus = sFocus.split(",");
			for (var iCount = 0; iCount < aFocus.length; ++iCount) {
				if (!isNaN(parseInt(aFocus[iCount]))) {
					this.open($(aFocus[iCount]));
				}
			}
		}
	},
	
	//
	// Opens an accordion without animation (used at page-load)
	//
	open : function(accordion) {
		if (this.animating) {
			return false;
		}
		this.currentAccordion = $(accordion.next(0));
		this.currentAccordion.setStyle({
			display: 'block',
			height: 'auto'
		});
		this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);	
	},
	
	//
	//  Activate an accordion
	//
	activate : function(accordion) {
		if (this.animating && !this.options.focus && !window.location.hash) {
			return false;
		}
		
		this.effects = [];
	
		this.currentAccordion = $(accordion.next(0));
		var display = this.currentAccordion.getStyle('display');

		this.currentAccordion.setStyle({
			display: 'block'
		});		

		this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);

		if (this.options.direction == 'horizontal') {
			this.scaling = {
				scaleX: true,
				scaleY: false
			};
		} else {
			this.scaling = {
				scaleX: false,
				scaleY: true
			};			
		}
		
		if (window.location.href.indexOf(accordion.id) == -1) {
			addAccordionState(accordion.id);
		}
		
		if (this.currentAccordion == this.showAccordion) {
			//same pane closing again
			this.deactivate();
		} else {
			if (display == 'block') {
				this.deactivate();
			}
			else {
				this._handleAccordion();
			}
		}
	},
	// 
	// Deactivate an active accordion
	//
	deactivate : function() {
		var options = {
			duration: 0.5,
		  	fps: 35,
			scaleContent: false,
			transition: Effect.Transitions.sinoidal,
			queue: {
				position: 'end', 
				scope: 'accordionAnimation'
			},
			scaleMode: { 
				originalHeight: this.options.defaultSize.height ? this.options.defaultSize.height : this.currentAccordion.scrollHeight,
				originalWidth: this.options.defaultSize.width ? this.options.defaultSize.width : this.currentAccordion.scrollWidth
			},
			afterFinish: function() {
				if (this.showAccordion) {
					this.showAccordion.setStyle({
						height: 'auto',
						display: 'block'
					});	
				}
				else {
					this.currentAccordion.setStyle({
						height: '0px',
						display: 'none'
					});	
				}
				this.currentAccordion.setStyle({
					height: '0px',
					display: 'none'
				});				
				this.showAccordion = null;
				this.animating = false;
			}.bind(this)
		};    
		Object.extend(options, this.scaling);

		removeAccordionState(this.currentAccordion.previous(0).id);
		
		if (this.currentAccordion.getHeight() > 0) {
			this.currentAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);
			
			new Effect.Scale(this.currentAccordion, 0, options);
		}
		else {
			this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);

			new Effect.Scale(this.showAccordion, 0, options);
		}
	},

  //
  // Handle the open/close actions of the accordion
  //
	_handleAccordion : function() {
		var options = {
			sync: true,
			scaleFrom: 0,
			scaleContent: false,
			transition: Effect.Transitions.sinoidal,
			scaleMode: { 
				originalHeight: this.options.defaultSize.height ? this.options.defaultSize.height : this.currentAccordion.scrollHeight,
				originalWidth: this.options.defaultSize.width ? this.options.defaultSize.width : this.currentAccordion.scrollWidth
			}
		};
		Object.extend(options, this.scaling);
		
		this.effects.push(
			new Effect.Scale(this.currentAccordion, 100, options)
		);

		if (this.showAccordion) {
			//this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);

			options = {
				sync: true,
				scaleContent: false,
				transition: Effect.Transitions.sinoidal
			};
			Object.extend(options, this.scaling);
			
			this.effects.push(
				new Effect.Scale(this.showAccordion, 100, options)
			);			
		}
		
   		new Effect.Parallel(this.effects, {
			duration: 0.5,
			fps: 35,
			queue: {
				position: 'end', 
				scope: 'accordionAnimation'
			},
			beforeStart: function() {
				this.animating = true;
			}.bind(this),
			afterFinish: function() {
				if (this.showAccordion) {
					this.showAccordion.setStyle({
						display: 'block'
					});				
				}
				$(this.currentAccordion).setStyle({
					height: 'auto'
				});
				this.showAccordion = this.currentAccordion;
				this.animating = false;
			}.bind(this)
		});
	}
}