var MooTools={version:"1.11"};function $defined(A){return(A!=undefined);}function $type(B){if(!$defined(B)){return false;}if(B.htmlElement){return"element";
}var A=typeof B;if(A=="object"&&B.nodeName){switch(B.nodeType){case 1:return"element";case 3:return(/\S/).test(B.nodeValue)?"textnode":"whitespace";}}if(A=="object"||A=="function"){switch(B.constructor){case Array:return"array";
case RegExp:return"regexp";case Class:return"class";}if(typeof B.length=="number"){if(B.item){return"collection";}if(B.callee){return"arguments";}}}return A;
}function $merge(){var C={};for(var B=0;B<arguments.length;B++){for(var E in arguments[B]){var A=arguments[B][E];var D=C[E];if(D&&$type(A)=="object"&&$type(D)=="object"){C[E]=$merge(D,A);
}else{C[E]=A;}}}return C;}var $extend=function(){var A=arguments;if(!A[1]){A=[this,A[0]];}for(var B in A[1]){A[0][B]=A[1][B];}return A[0];};var $native=function(){for(var B=0,A=arguments.length;
B<A;B++){arguments[B].extend=function(C){for(var D in C){if(!this.prototype[D]){this.prototype[D]=C[D];}if(!this[D]){this[D]=$native.generic(D);}}};}};
$native.generic=function(A){return function(B){return this.prototype[A].apply(B,Array.prototype.slice.call(arguments,1));};};$native(Function,Array,String,Number);
function $chk(A){return !!(A||A===0);}function $pick(B,A){return $defined(B)?B:A;}function $random(B,A){return Math.floor(Math.random()*(A-B+1)+B);}function $time(){return new Date().getTime();
}function $clear(A){clearTimeout(A);clearInterval(A);return null;}var Abstract=function(A){A=A||{};A.extend=$extend;return A;};var Window=new Abstract(window);
var Document=new Abstract(document);document.head=document.getElementsByTagName("head")[0];window.xpath=!!(document.evaluate);if(window.ActiveXObject){window.ie=window[window.XMLHttpRequest?"ie7":"ie6"]=true;
}else{if(document.childNodes&&!document.all&&!navigator.taintEnabled){window.webkit=window[window.xpath?"webkit420":"webkit419"]=true;}else{if(document.getBoxObjectFor!=null){window.gecko=true;
}}}window.khtml=window.webkit;Object.extend=$extend;if(typeof HTMLElement=="undefined"){var HTMLElement=function(){};if(window.webkit){document.createElement("iframe");
}HTMLElement.prototype=(window.webkit)?window["[[DOMElement.prototype]]"]:{};}HTMLElement.prototype.htmlElement=function(){};if(window.ie6){try{document.execCommand("BackgroundImageCache",false,true);
}catch(e){}}var Class=function(B){var A=function(){return(arguments[0]!==null&&this.initialize&&$type(this.initialize)=="function")?this.initialize.apply(this,arguments):this;
};$extend(A,this);A.prototype=B;A.constructor=Class;return A;};Class.empty=function(){};Class.prototype={extend:function(B){var C=new this(null);for(var D in B){var A=C[D];
C[D]=Class.Merge(A,B[D]);}return new Class(C);},implement:function(){for(var B=0,A=arguments.length;B<A;B++){$extend(this.prototype,arguments[B]);}}};Class.Merge=function(C,D){if(C&&C!=D){var B=$type(D);
if(B!=$type(C)){return D;}switch(B){case"function":var A=function(){this.parent=arguments.callee.parent;return D.apply(this,arguments);};A.parent=C;return A;
case"object":return $merge(C,D);}}return D;};var Chain=new Class({chain:function(A){this.chains=this.chains||[];this.chains.push(A);return this;},callChain:function(){if(this.chains&&this.chains.length){this.chains.shift().delay(10,this);
}},clearChain:function(){this.chains=[];}});var Events=new Class({addEvent:function(B,A){if(A!=Class.empty){this.$events=this.$events||{};this.$events[B]=this.$events[B]||[];
this.$events[B].include(A);}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].each(function(D){D.create({bind:this,delay:A,"arguments":B})();
},this);}return this;},removeEvent:function(B,A){if(this.$events&&this.$events[B]){this.$events[B].remove(A);}return this;}});var Options=new Class({setOptions:function(){this.options=$merge.apply(null,[this.options].extend(arguments));
if(this.addEvent){for(var A in this.options){if($type(this.options[A]=="function")&&(/^on[A-Z]/).test(A)){this.addEvent(A,this.options[A]);}}}return this;
}});Array.extend({forEach:function(C,D){for(var B=0,A=this.length;B<A;B++){C.call(D,this[B],B,this);}},filter:function(D,E){var C=[];for(var B=0,A=this.length;
B<A;B++){if(D.call(E,this[B],B,this)){C.push(this[B]);}}return C;},map:function(D,E){var C=[];for(var B=0,A=this.length;B<A;B++){C[B]=D.call(E,this[B],B,this);
}return C;},every:function(C,D){for(var B=0,A=this.length;B<A;B++){if(!C.call(D,this[B],B,this)){return false;}}return true;},some:function(C,D){for(var B=0,A=this.length;
B<A;B++){if(C.call(D,this[B],B,this)){return true;}}return false;},indexOf:function(C,D){var A=this.length;for(var B=(D<0)?Math.max(0,A+D):D||0;B<A;B++){if(this[B]===C){return B;
}}return -1;},copy:function(D,C){D=D||0;if(D<0){D=this.length+D;}C=C||(this.length-D);var A=[];for(var B=0;B<C;B++){A[B]=this[D++];}return A;},remove:function(C){var B=0;
var A=this.length;while(B<A){if(this[B]===C){this.splice(B,1);A--;}else{B++;}}return this;},contains:function(A,B){return this.indexOf(A,B)!=-1;},associate:function(C){var D={},B=Math.min(this.length,C.length);
for(var A=0;A<B;A++){D[C[A]]=this[A];}return D;},extend:function(C){for(var B=0,A=C.length;B<A;B++){this.push(C[B]);}return this;},merge:function(C){for(var B=0,A=C.length;
B<A;B++){this.include(C[B]);}return this;},include:function(A){if(!this.contains(A)){this.push(A);}return this;},getRandom:function(){return this[$random(0,this.length-1)]||null;
},getLast:function(){return this[this.length-1]||null;}});Array.prototype.each=Array.prototype.forEach;Array.each=Array.forEach;function $A(A){return Array.copy(A);
}function $each(C,B,D){if(C&&typeof C.length=="number"&&$type(C)!="object"){Array.forEach(C,B,D);}else{for(var A in C){B.call(D||C,C[A],A);}}}Array.prototype.test=Array.prototype.contains;
String.extend({test:function(A,B){return(($type(A)=="string")?new RegExp(A,B):A).test(this);},toInt:function(){return parseInt(this,10);},toFloat:function(){return parseFloat(this);
},camelCase:function(){return this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/\w[A-Z]/g,function(A){return(A.charAt(0)+"-"+A.charAt(1).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(A){return A.toUpperCase();});},trim:function(){return this.replace(/^\s+|\s+$/g,"");
},clean:function(){return this.replace(/\s{2,}/g," ").trim();},rgbToHex:function(B){var A=this.match(/\d{1,3}/g);return(A)?A.rgbToHex(B):false;},hexToRgb:function(B){var A=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(A)?A.slice(1).hexToRgb(B):false;},contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.indexOf(A)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1");
}});Array.extend({rgbToHex:function(D){if(this.length<3){return false;}if(this.length==4&&this[3]==0&&!D){return"transparent";}var B=[];for(var A=0;A<3;
A++){var C=(this[A]-0).toString(16);B.push((C.length==1)?"0"+C:C);}return D?B:"#"+B.join("");},hexToRgb:function(C){if(this.length!=3){return false;}var A=[];
for(var B=0;B<3;B++){A.push(parseInt((this[B].length==1)?this[B]+this[B]:this[B],16));}return C?A:"rgb("+A.join(",")+")";}});Function.extend({create:function(A){var B=this;
A=$merge({bind:B,event:false,"arguments":null,delay:false,periodical:false,attempt:false},A);if($chk(A.arguments)&&$type(A.arguments)!="array"){A.arguments=[A.arguments];
}return function(E){var C;if(A.event){E=E||window.event;C=[(A.event===true)?E:new A.event(E)];if(A.arguments){C.extend(A.arguments);}}else{C=A.arguments||arguments;
}var F=function(){return B.apply($pick(A.bind,B),C);};if(A.delay){return setTimeout(F,A.delay);}if(A.periodical){return setInterval(F,A.periodical);}if(A.attempt){try{return F();
}catch(D){return false;}}return F();};},pass:function(A,B){return this.create({"arguments":A,bind:B});},attempt:function(A,B){return this.create({"arguments":A,bind:B,attempt:true})();
},bind:function(B,A){return this.create({bind:B,"arguments":A});},bindAsEventListener:function(B,A){return this.create({bind:B,event:true,"arguments":A});
},delay:function(B,C,A){return this.create({delay:B,bind:C,"arguments":A})();},periodical:function(A,C,B){return this.create({periodical:A,bind:C,"arguments":B})();
}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(B,A){return Math.min(A,Math.max(B,this));
},round:function(A){A=Math.pow(10,A||0);return Math.round(this*A)/A;},times:function(B){for(var A=0;A<this;A++){B(A);}}});var Element=new Class({initialize:function(D,C){if($type(D)=="string"){if(window.ie&&C&&(C.name||C.type)){var A=(C.name)?' name="'+C.name+'"':"";
var B=(C.type)?' type="'+C.type+'"':"";delete C.name;delete C.type;D="<"+D+A+B+">";}D=document.createElement(D);}D=$(D);return(!C||!D)?D:D.set(C);}});var Elements=new Class({initialize:function(A){return(A)?$extend(A,this):this;
}});Elements.extend=function(A){for(var B in A){this.prototype[B]=A[B];this[B]=$native.generic(B);}};function $(B){if(!B){return null;}if(B.htmlElement){return Garbage.collect(B);
}if([window,document].contains(B)){return B;}var A=$type(B);if(A=="string"){B=document.getElementById(B);A=(B)?"element":false;}if(A!="element"){return null;
}if(B.htmlElement){return Garbage.collect(B);}if(["object","embed"].contains(B.tagName.toLowerCase())){return B;}$extend(B,Element.prototype);B.htmlElement=function(){};
return Garbage.collect(B);}document.getElementsBySelector=document.getElementsByTagName;function $$(){var D=[];for(var C=0,B=arguments.length;C<B;C++){var A=arguments[C];
switch($type(A)){case"element":D.push(A);case"boolean":break;case false:break;case"string":A=document.getElementsBySelector(A,true);default:D.extend(A);
}}return $$.unique(D);}$$.unique=function(G){var D=[];for(var C=0,A=G.length;C<A;C++){if(G[C].$included){continue;}var B=$(G[C]);if(B&&!B.$included){B.$included=true;
D.push(B);}}for(var F=0,E=D.length;F<E;F++){D[F].$included=null;}return new Elements(D);};Elements.Multi=function(A){return function(){var D=arguments;
var B=[];var G=true;for(var E=0,C=this.length,F;E<C;E++){F=this[E][A].apply(this[E],D);if($type(F)!="element"){G=false;}B.push(F);}return(G)?$$.unique(B):B;
};};Element.extend=function(A){for(var B in A){HTMLElement.prototype[B]=A[B];Element.prototype[B]=A[B];Element[B]=$native.generic(B);var C=(Array.prototype[B])?B+"Elements":B;
Elements.prototype[C]=Elements.Multi(B);}};Element.extend({set:function(A){for(var C in A){var B=A[C];switch(C){case"styles":this.setStyles(B);break;case"events":if(this.addEvents){this.addEvents(B);
}break;case"properties":this.setProperties(B);break;default:this.setProperty(C,B);}}return this;},inject:function(C,A){C=$(C);switch(A){case"before":C.parentNode.insertBefore(this,C);
break;case"after":var B=C.getNext();if(!B){C.parentNode.appendChild(this);}else{C.parentNode.insertBefore(this,B);}break;case"top":var D=C.firstChild;if(D){C.insertBefore(this,D);
break;}default:C.appendChild(this);}return this;},injectBefore:function(A){return this.inject(A,"before");},injectAfter:function(A){return this.inject(A,"after");
},injectInside:function(A){return this.inject(A,"bottom");},injectTop:function(A){return this.inject(A,"top");},adopt:function(){var A=[];$each(arguments,function(B){A=A.concat(B);
});$$(A).inject(this);return this;},remove:function(){return this.parentNode.removeChild(this);},clone:function(C){var B=$(this.cloneNode(C!==false));if(!B.$events){return B;
}B.$events={};for(var A in this.$events){B.$events[A]={keys:$A(this.$events[A].keys),values:$A(this.$events[A].values)};}return B.removeEvents();},replaceWith:function(A){A=$(A);
this.parentNode.replaceChild(A,this);return A;},appendText:function(A){this.appendChild(document.createTextNode(A));return this;},hasClass:function(A){return this.className.contains(A," ");
},addClass:function(A){if(!this.hasClass(A)){this.className=(this.className+" "+A).clean();}return this;},removeClass:function(A){this.className=this.className.replace(new RegExp("(^|\\s)"+A+"(?:\\s|$)"),"$1").clean();
return this;},toggleClass:function(A){return this.hasClass(A)?this.removeClass(A):this.addClass(A);},setStyle:function(B,A){switch(B){case"opacity":return this.setOpacity(parseFloat(A));
case"float":B=(window.ie)?"styleFloat":"cssFloat";}B=B.camelCase();switch($type(A)){case"number":if(!["zIndex","zoom"].contains(B)){A+="px";}break;case"array":A="rgb("+A.join(",")+")";
}this.style[B]=A;return this;},setStyles:function(A){switch($type(A)){case"object":Element.setMany(this,"setStyle",A);break;case"string":this.style.cssText=A;
}return this;},setOpacity:function(A){if(A==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden";}}else{if(this.style.visibility!="visible"){this.style.visibility="visible";
}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1;}if(window.ie){this.style.filter=(A==1)?"":"alpha(opacity="+A*100+")";}this.style.opacity=this.$tmp.opacity=A;
return this;},getStyle:function(C){C=C.camelCase();var A=this.style[C];if(!$chk(A)){if(C=="opacity"){return this.$tmp.opacity;}A=[];for(var B in Element.Styles){if(C==B){Element.Styles[B].each(function(F){var E=this.getStyle(F);
A.push(parseInt(E)?E:"0px");},this);if(C=="border"){var D=A.every(function(E){return(E==A[0]);});return(D)?A[0]:false;}return A.join(" ");}}if(C.contains("border")){if(Element.Styles.border.contains(C)){return["Width","Style","Color"].map(function(E){return this.getStyle(C+E);
},this).join(" ");}else{if(Element.borderShort.contains(C)){return["Top","Right","Bottom","Left"].map(function(E){return this.getStyle("border"+E+C.replace("border",""));
},this).join(" ");}}}if(document.defaultView){A=document.defaultView.getComputedStyle(this,null).getPropertyValue(C.hyphenate());}else{if(this.currentStyle){A=this.currentStyle[C];
}}}if(window.ie){A=Element.fixStyle(C,A,this);}if(A&&C.test(/color/i)&&A.contains("rgb")){return A.split("rgb").splice(1,4).map(function(E){return E.rgbToHex();
}).join(" ");}return A;},getStyles:function(){return Element.getMany(this,"getStyle",arguments);},walk:function(A,C){A+="Sibling";var B=(C)?this[C]:this[A];
while(B&&$type(B)!="element"){B=B[A];}return $(B);},getPrevious:function(){return this.walk("previous");},getNext:function(){return this.walk("next");},getFirst:function(){return this.walk("next","firstChild");
},getLast:function(){return this.walk("previous","lastChild");},getParent:function(){return $(this.parentNode);},getChildren:function(){return $$(this.childNodes);
},hasChild:function(A){return !!$A(this.getElementsByTagName("*")).contains(A);},getProperty:function(D){var B=Element.Properties[D];if(B){return this[B];
}var A=Element.PropertiesIFlag[D]||0;if(!window.ie||A){return this.getAttribute(D,A);}var C=this.attributes[D];return(C)?C.nodeValue:null;},removeProperty:function(B){var A=Element.Properties[B];
if(A){this[A]="";}else{this.removeAttribute(B);}return this;},getProperties:function(){return Element.getMany(this,"getProperty",arguments);},setProperty:function(C,B){var A=Element.Properties[C];
if(A){this[A]=B;}else{this.setAttribute(C,B);}return this;},setProperties:function(A){return Element.setMany(this,"setProperty",A);},setHTML:function(){this.innerHTML=$A(arguments).join("");
return this;},setText:function(B){var A=this.getTag();if(["style","script"].contains(A)){if(window.ie){if(A=="style"){this.styleSheet.cssText=B;}else{if(A=="script"){this.setProperty("text",B);
}}return this;}else{this.removeChild(this.firstChild);return this.appendText(B);}}this[$defined(this.innerText)?"innerText":"textContent"]=B;return this;
},getText:function(){var A=this.getTag();if(["style","script"].contains(A)){if(window.ie){if(A=="style"){return this.styleSheet.cssText;}else{if(A=="script"){return this.getProperty("text");
}}}else{return this.innerHTML;}}return($pick(this.innerText,this.textContent));},getTag:function(){return this.tagName.toLowerCase();},empty:function(){Garbage.trash(this.getElementsByTagName("*"));
return this.setHTML("");}});Element.fixStyle=function(E,A,D){if($chk(parseInt(A))){return A;}if(["height","width"].contains(E)){var B=(E=="width")?["left","right"]:["top","bottom"];
var C=0;B.each(function(F){C+=D.getStyle("border-"+F+"-width").toInt()+D.getStyle("padding-"+F).toInt();});return D["offset"+E.capitalize()]-C+"px";}else{if(E.test(/border(.+)Width|margin|padding/)){return"0px";
}}return A;};Element.Styles={border:[],padding:[],margin:[]};["Top","Right","Bottom","Left"].each(function(B){for(var A in Element.Styles){Element.Styles[A].push(A+B);
}});Element.borderShort=["borderWidth","borderStyle","borderColor"];Element.getMany=function(B,D,C){var A={};$each(C,function(E){A[E]=B[D](E);});return A;
};Element.setMany=function(B,D,C){for(var A in C){B[D](A,C[A]);}return B;};Element.Properties=new Abstract({"class":"className","for":"htmlFor",colspan:"colSpan",rowspan:"rowSpan",accesskey:"accessKey",tabindex:"tabIndex",maxlength:"maxLength",readonly:"readOnly",frameborder:"frameBorder",value:"value",disabled:"disabled",checked:"checked",multiple:"multiple",selected:"selected"});
Element.PropertiesIFlag={href:2,src:2};Element.Methods={Listeners:{addListener:function(B,A){if(this.addEventListener){this.addEventListener(B,A,false);
}else{this.attachEvent("on"+B,A);}return this;},removeListener:function(B,A){if(this.removeEventListener){this.removeEventListener(B,A,false);}else{this.detachEvent("on"+B,A);
}return this;}}};window.extend(Element.Methods.Listeners);document.extend(Element.Methods.Listeners);Element.extend(Element.Methods.Listeners);var Garbage={elements:[],collect:function(A){if(!A.$tmp){Garbage.elements.push(A);
A.$tmp={opacity:1};}return A;},trash:function(D){for(var B=0,A=D.length,C;B<A;B++){if(!(C=D[B])||!C.$tmp){continue;}if(C.$events){C.fireEvent("trash").removeEvents();
}for(var E in C.$tmp){C.$tmp[E]=null;}for(var F in Element.prototype){C[F]=null;}Garbage.elements[Garbage.elements.indexOf(C)]=null;C.htmlElement=C.$tmp=C=null;
}Garbage.elements.remove(null);},empty:function(){Garbage.collect(window);Garbage.collect(document);Garbage.trash(Garbage.elements);}};window.addListener("beforeunload",function(){window.addListener("unload",Garbage.empty);
if(window.ie){window.addListener("unload",CollectGarbage);}});var Event=new Class({initialize:function(C){if(C&&C.$extended){return C;}this.$extended=true;
C=C||window.event;this.event=C;this.type=C.type;this.target=C.target||C.srcElement;if(this.target.nodeType==3){this.target=this.target.parentNode;}this.shift=C.shiftKey;
this.control=C.ctrlKey;this.alt=C.altKey;this.meta=C.metaKey;if(["DOMMouseScroll","mousewheel"].contains(this.type)){this.wheel=(C.wheelDelta)?C.wheelDelta/120:-(C.detail||0)/3;
}else{if(this.type.contains("key")){this.code=C.which||C.keyCode;for(var B in Event.keys){if(Event.keys[B]==this.code){this.key=B;break;}}if(this.type=="keydown"){var A=this.code-111;
if(A>0&&A<13){this.key="f"+A;}}this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else{if(this.type.test(/(click|mouse|menu)/)){this.page={x:C.pageX||C.clientX+document.documentElement.scrollLeft,y:C.pageY||C.clientY+document.documentElement.scrollTop};
this.client={x:C.pageX?C.pageX-window.pageXOffset:C.clientX,y:C.pageY?C.pageY-window.pageYOffset:C.clientY};this.rightClick=(C.which==3)||(C.button==2);
switch(this.type){case"mouseover":this.relatedTarget=C.relatedTarget||C.fromElement;break;case"mouseout":this.relatedTarget=C.relatedTarget||C.toElement;
}this.fixRelatedTarget();}}}return this;},stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation();
}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();}else{this.event.returnValue=false;
}return this;}});Event.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3){this.relatedTarget=this.relatedTarget.parentNode;
}},relatedTargetGecko:function(){try{Event.fix.relatedTarget.call(this);}catch(A){this.relatedTarget=this.target;}}};Event.prototype.fixRelatedTarget=(window.gecko)?Event.fix.relatedTargetGecko:Event.fix.relatedTarget;
Event.keys=new Abstract({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Element.Methods.Events={addEvent:function(C,B){this.$events=this.$events||{};
this.$events[C]=this.$events[C]||{keys:[],values:[]};if(this.$events[C].keys.contains(B)){return this;}this.$events[C].keys.push(B);var A=C;var D=Element.Events[C];
if(D){if(D.add){D.add.call(this,B);}if(D.map){B=D.map;}if(D.type){A=D.type;}}if(!this.addEventListener){B=B.create({bind:this,event:true});}this.$events[C].values.push(B);
return(Element.NativeEvents.contains(A))?this.addListener(A,B):this;},removeEvent:function(C,B){if(!this.$events||!this.$events[C]){return this;}var F=this.$events[C].keys.indexOf(B);
if(F==-1){return this;}var A=this.$events[C].keys.splice(F,1)[0];var E=this.$events[C].values.splice(F,1)[0];var D=Element.Events[C];if(D){if(D.remove){D.remove.call(this,B);
}if(D.type){C=D.type;}}return(Element.NativeEvents.contains(C))?this.removeListener(C,E):this;},addEvents:function(A){return Element.setMany(this,"addEvent",A);
},removeEvents:function(A){if(!this.$events){return this;}if(!A){for(var B in this.$events){this.removeEvents(B);}this.$events=null;}else{if(this.$events[A]){this.$events[A].keys.each(function(C){this.removeEvent(A,C);
},this);this.$events[A]=null;}}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].keys.each(function(D){D.create({bind:this,delay:A,"arguments":B})();
},this);}return this;},cloneEvents:function(C,A){if(!C.$events){return this;}if(!A){for(var B in C.$events){this.cloneEvents(C,B);}}else{if(C.$events[A]){C.$events[A].keys.each(function(D){this.addEvent(A,D);
},this);}}return this;}};window.extend(Element.Methods.Events);document.extend(Element.Methods.Events);Element.extend(Element.Methods.Events);Element.Events=new Abstract({mouseenter:{type:"mouseover",map:function(A){A=new Event(A);
if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseenter",A);}}},mouseleave:{type:"mouseout",map:function(A){A=new Event(A);
if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseleave",A);}}},mousewheel:{type:(window.gecko)?"DOMMouseScroll":"mousewheel"}});
Element.NativeEvents=["click","dblclick","mouseup","mousedown","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","keydown","keypress","keyup","load","unload","beforeunload","resize","move","focus","blur","change","submit","reset","select","error","abort","contextmenu","scroll"];
Function.extend({bindWithEvent:function(B,A){return this.create({bind:B,"arguments":A,event:Event});}});Elements.extend({filterByTag:function(A){return new Elements(this.filter(function(B){return(Element.getTag(B)==A);
}));},filterByClass:function(A,C){var B=this.filter(function(D){return(D.className&&D.className.contains(A," "));});return(C)?B:new Elements(B);},filterById:function(C,B){var A=this.filter(function(D){return(D.id==C);
});return(B)?A:new Elements(A);},filterByAttribute:function(B,A,D,E){var C=this.filter(function(F){var G=Element.getProperty(F,B);if(!G){return false;}if(!A){return true;
}switch(A){case"=":return(G==D);case"*=":return(G.contains(D));case"^=":return(G.substr(0,D.length)==D);case"$=":return(G.substr(G.length-D.length)==D);
case"!=":return(G!=D);case"~=":return G.contains(D," ");}return false;});return(E)?C:new Elements(C);}});function $E(A,B){return($(B)||document).getElement(A);
}function $ES(A,B){return($(B)||document).getElementsBySelector(A);}$$.shared={regexp:/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,xpath:{getParam:function(B,D,E,C){var A=[D.namespaceURI?"xhtml:":"",E[1]];
if(E[2]){A.push('[@id="',E[2],'"]');}if(E[3]){A.push('[contains(concat(" ", @class, " "), " ',E[3],' ")]');}if(E[4]){if(E[5]&&E[6]){switch(E[5]){case"*=":A.push("[contains(@",E[4],', "',E[6],'")]');
break;case"^=":A.push("[starts-with(@",E[4],', "',E[6],'")]');break;case"$=":A.push("[substring(@",E[4],", string-length(@",E[4],") - ",E[6].length,' + 1) = "',E[6],'"]');
break;case"=":A.push("[@",E[4],'="',E[6],'"]');break;case"!=":A.push("[@",E[4],'!="',E[6],'"]');}}else{A.push("[@",E[4],"]");}}B.push(A.join(""));return B;
},getItems:function(B,E,G){var F=[];var A=document.evaluate(".//"+B.join("//"),E,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var D=0,C=A.snapshotLength;
D<C;D++){F.push(A.snapshotItem(D));}return(G)?F:new Elements(F.map($));}},normal:{getParam:function(A,C,E,B){if(B==0){if(E[2]){var D=C.getElementById(E[2]);
if(!D||((E[1]!="*")&&(Element.getTag(D)!=E[1]))){return false;}A=[D];}else{A=$A(C.getElementsByTagName(E[1]));}}else{A=$$.shared.getElementsByTagName(A,E[1]);
if(E[2]){A=Elements.filterById(A,E[2],true);}}if(E[3]){A=Elements.filterByClass(A,E[3],true);}if(E[4]){A=Elements.filterByAttribute(A,E[4],E[5],E[6],true);
}return A;},getItems:function(A,B,C){return(C)?A:$$.unique(A);}},resolver:function(A){return(A=="xhtml")?"http://www.w3.org/1999/xhtml":false;},getElementsByTagName:function(D,C){var E=[];
for(var B=0,A=D.length;B<A;B++){E.extend(D[B].getElementsByTagName(C));}return E;}};$$.shared.method=(window.xpath)?"xpath":"normal";Element.Methods.Dom={getElements:function(A,H){var C=[];
A=A.trim().split(" ");for(var E=0,D=A.length;E<D;E++){var F=A[E];var G=F.match($$.shared.regexp);if(!G){break;}G[1]=G[1]||"*";var B=$$.shared[$$.shared.method].getParam(C,this,G,E);
if(!B){break;}C=B;}return $$.shared[$$.shared.method].getItems(C,this,H);},getElement:function(A){return $(this.getElements(A,true)[0]||false);},getElementsBySelector:function(A,E){var D=[];
A=A.split(",");for(var C=0,B=A.length;C<B;C++){D=D.concat(this.getElements(A[C],true));}return(E)?D:$$.unique(D);}};Element.extend({getElementById:function(C){var B=document.getElementById(C);
if(!B){return false;}for(var A=B.parentNode;A!=this;A=A.parentNode){if(!A){return false;}}return B;},getElementsByClassName:function(A){return this.getElements("."+A);
}});document.extend(Element.Methods.Dom);Element.extend(Element.Methods.Dom);Element.extend({getValue:function(){switch(this.getTag()){case"select":var A=[];
$each(this.options,function(B){if(B.selected){A.push($pick(B.value,B.text));}});return(this.multiple)?A:A[0];case"input":if(!(this.checked&&["checkbox","radio"].contains(this.type))&&!["hidden","text","password"].contains(this.type)){break;
}case"textarea":return this.value;}return false;},getFormElements:function(){return $$(this.getElementsByTagName("input"),this.getElementsByTagName("select"),this.getElementsByTagName("textarea"));
},toQueryString:function(){var A=[];this.getFormElements().each(function(D){var C=D.name;var E=D.getValue();if(E===false||!C||D.disabled){return ;}var B=function(F){A.push(C+"="+encodeURIComponent(F));
};if($type(E)=="array"){E.each(B);}else{B(E);}});return A.join("&");}});Element.extend({scrollTo:function(A,B){this.scrollLeft=A;this.scrollTop=B;},getSize:function(){return{scroll:{x:this.scrollLeft,y:this.scrollTop},size:{x:this.offsetWidth,y:this.offsetHeight},scrollSize:{x:this.scrollWidth,y:this.scrollHeight}};
},getPosition:function(A){A=A||[];var B=this,D=0,C=0;do{D+=B.offsetLeft||0;C+=B.offsetTop||0;B=B.offsetParent;}while(B);A.each(function(E){D-=E.scrollLeft||0;
C-=E.scrollTop||0;});return{x:D,y:C};},getTop:function(A){return this.getPosition(A).y;},getLeft:function(A){return this.getPosition(A).x;},getCoordinates:function(B){var A=this.getPosition(B);
var C={width:this.offsetWidth,height:this.offsetHeight,left:A.x,top:A.y};C.right=C.left+C.width;C.bottom=C.top+C.height;return C;}});Element.Events.domready={add:function(B){if(window.loaded){B.call(this);
return ;}var A=function(){if(window.loaded){return ;}window.loaded=true;window.timer=$clear(window.timer);this.fireEvent("domready");}.bind(this);if(document.readyState&&window.webkit){window.timer=function(){if(["loaded","complete"].contains(document.readyState)){A();
}}.periodical(50);}else{if(document.readyState&&window.ie){if(!$("ie_ready")){var C=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script id="ie_ready" defer src="'+C+'"><\/script>');
$("ie_ready").onreadystatechange=function(){if(this.readyState=="complete"){A();}};}}else{window.addListener("load",A);document.addListener("DOMContentLoaded",A);
}}}};window.onDomReady=function(A){return this.addEvent("domready",A);};window.extend({getWidth:function(){if(this.webkit419){return this.innerWidth;}if(this.opera){return document.body.clientWidth;
}return document.documentElement.clientWidth;},getHeight:function(){if(this.webkit419){return this.innerHeight;}if(this.opera){return document.body.clientHeight;
}return document.documentElement.clientHeight;},getScrollWidth:function(){if(this.ie){return Math.max(document.documentElement.offsetWidth,document.documentElement.scrollWidth);
}if(this.webkit){return document.body.scrollWidth;}return document.documentElement.scrollWidth;},getScrollHeight:function(){if(this.ie){return Math.max(document.documentElement.offsetHeight,document.documentElement.scrollHeight);
}if(this.webkit){return document.body.scrollHeight;}return document.documentElement.scrollHeight;},getScrollLeft:function(){return this.pageXOffset||document.documentElement.scrollLeft;
},getScrollTop:function(){return this.pageYOffset||document.documentElement.scrollTop;},getSize:function(){return{size:{x:this.getWidth(),y:this.getHeight()},scrollSize:{x:this.getScrollWidth(),y:this.getScrollHeight()},scroll:{x:this.getScrollLeft(),y:this.getScrollTop()}};
},getPosition:function(){return{x:0,y:0};}});var Drag={};Drag.Base=new Class({options:{handle:false,unit:"px",onStart:Class.empty,onBeforeStart:Class.empty,onComplete:Class.empty,onSnap:Class.empty,onDrag:Class.empty,limit:false,modifiers:{x:"left",y:"top"},grid:false,snap:6},initialize:function(B,A){this.setOptions(A);
this.element=$(B);this.handle=$(this.options.handle)||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.bound={start:this.start.bindWithEvent(this),check:this.check.bindWithEvent(this),drag:this.drag.bindWithEvent(this),stop:this.stop.bind(this)};
this.attach();if(this.options.initialize){this.options.initialize.call(this);}},attach:function(){this.handle.addEvent("mousedown",this.bound.start);return this;
},detach:function(){this.handle.removeEvent("mousedown",this.bound.start);return this;},start:function(C){this.fireEvent("onBeforeStart",this.element);
this.mouse.start=C.page;var A=this.options.limit;this.limit={x:[],y:[]};for(var D in this.options.modifiers){if(!this.options.modifiers[D]){continue;}this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt();
this.mouse.pos[D]=C.page[D]-this.value.now[D];if(A&&A[D]){for(var B=0;B<2;B++){if($chk(A[D][B])){this.limit[D][B]=($type(A[D][B])=="function")?A[D][B]():A[D][B];
}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};}document.addListener("mousemove",this.bound.check);
document.addListener("mouseup",this.bound.stop);this.fireEvent("onStart",this.element);C.stop();},check:function(A){var B=Math.round(Math.sqrt(Math.pow(A.page.x-this.mouse.start.x,2)+Math.pow(A.page.y-this.mouse.start.y,2)));
if(B>this.options.snap){document.removeListener("mousemove",this.bound.check);document.addListener("mousemove",this.bound.drag);this.drag(A);this.fireEvent("onSnap",this.element);
}A.stop();},drag:function(A){this.out=false;this.mouse.now=A.page;for(var B in this.options.modifiers){if(!this.options.modifiers[B]){continue;}this.value.now[B]=this.mouse.now[B]-this.mouse.pos[B];
if(this.limit[B]){if($chk(this.limit[B][1])&&(this.value.now[B]>this.limit[B][1])){this.value.now[B]=this.limit[B][1];this.out=true;}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0];
this.out=true;}}}if(this.options.grid[B]){this.value.now[B]-=(this.value.now[B]%this.options.grid[B]);}this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit);
}this.fireEvent("onDrag",this.element);A.stop();},stop:function(){document.removeListener("mousemove",this.bound.check);document.removeListener("mousemove",this.bound.drag);
document.removeListener("mouseup",this.bound.stop);this.fireEvent("onComplete",this.element);}});Drag.Base.implement(new Events,new Options);Element.extend({makeResizable:function(A){return new Drag.Base(this,$merge({modifiers:{x:"width",y:"height"}},A));
}});Drag.Move=Drag.Base.extend({options:{droppables:[],container:false,overflown:[]},initialize:function(B,A){this.setOptions(A);this.element=$(B);this.droppables=$$(this.options.droppables);
this.container=$(this.options.container);this.position={element:this.element.getStyle("position"),container:false};if(this.container){this.position.container=this.container.getStyle("position");
}if(!["relative","absolute","fixed"].contains(this.position.element)){this.position.element="absolute";}var D=this.element.getStyle("top").toInt();var C=this.element.getStyle("left").toInt();
if(this.position.element=="absolute"&&!["relative","absolute","fixed"].contains(this.position.container)){D=$chk(D)?D:this.element.getTop(this.options.overflown);
C=$chk(C)?C:this.element.getLeft(this.options.overflown);}else{D=$chk(D)?D:0;C=$chk(C)?C:0;}this.element.setStyles({top:D,left:C,position:this.position.element});
this.parent(this.element);},start:function(C){this.overed=null;if(this.container){var A=this.container.getCoordinates();var B=this.element.getCoordinates();
if(this.position.element=="absolute"&&!["relative","absolute","fixed"].contains(this.position.container)){this.options.limit={x:[A.left,A.right-B.width],y:[A.top,A.bottom-B.height]};
}else{this.options.limit={y:[0,A.height-B.height],x:[0,A.width-B.width]};}}this.parent(C);},drag:function(A){this.parent(A);var B=this.out?false:this.droppables.filter(this.checkAgainst,this).getLast();
if(this.overed!=B){if(this.overed){this.overed.fireEvent("leave",[this.element,this]);}this.overed=B?B.fireEvent("over",[this.element,this]):null;}return this;
},checkAgainst:function(B){B=B.getCoordinates(this.options.overflown);var A=this.mouse.now;return(A.x>B.left&&A.x<B.right&&A.y<B.bottom&&A.y>B.top);},stop:function(){if(this.overed&&!this.out){this.overed.fireEvent("drop",[this.element,this]);
}else{this.element.fireEvent("emptydrop",this);}this.parent();return this;}});Element.extend({makeDraggable:function(A){return new Drag.Move(this,A);}});
var XHR=new Class({options:{method:"post",async:true,onRequest:Class.empty,onSuccess:Class.empty,onFailure:Class.empty,urlEncoded:true,encoding:"utf-8",autoCancel:false,headers:{}},setTransport:function(){this.transport=(window.XMLHttpRequest)?new XMLHttpRequest():(window.ie?new ActiveXObject("Microsoft.XMLHTTP"):false);
return this;},initialize:function(A){this.setTransport().setOptions(A);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers={};if(this.options.urlEncoded&&this.options.method=="post"){var B=(this.options.encoding)?"; charset="+this.options.encoding:"";
this.setHeader("Content-type","application/x-www-form-urlencoded"+B);}if(this.options.initialize){this.options.initialize.call(this);}},onStateChange:function(){if(this.transport.readyState!=4||!this.running){return ;
}this.running=false;var A=0;try{A=this.transport.status;}catch(B){}if(this.options.isSuccess.call(this,A)){this.onSuccess();}else{this.onFailure();}this.transport.onreadystatechange=Class.empty;
},isSuccess:function(A){return((A>=200)&&(A<300));},onSuccess:function(){this.response={text:this.transport.responseText,xml:this.transport.responseXML};
this.fireEvent("onSuccess",[this.response.text,this.response.xml]);this.callChain();},onFailure:function(){this.fireEvent("onFailure",this.transport);},setHeader:function(A,B){this.headers[A]=B;
return this;},send:function(A,C){if(this.options.autoCancel){this.cancel();}else{if(this.running){return this;}}this.running=true;if(C&&this.options.method=="get"){A=A+(A.contains("?")?"&":"?")+C;
C=null;}this.transport.open(this.options.method.toUpperCase(),A,this.options.async);this.transport.onreadystatechange=this.onStateChange.bind(this);if((this.options.method=="post")&&this.transport.overrideMimeType){this.setHeader("Connection","close");
}$extend(this.headers,this.options.headers);for(var B in this.headers){try{this.transport.setRequestHeader(B,this.headers[B]);}catch(D){}}this.fireEvent("onRequest");
this.transport.send($pick(C,null));return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.transport.abort();this.transport.onreadystatechange=Class.empty;
this.setTransport();this.fireEvent("onCancel");return this;}});XHR.implement(new Chain,new Events,new Options);var Ajax=XHR.extend({options:{data:null,update:null,onComplete:Class.empty,evalScripts:false,evalResponse:false},initialize:function(B,A){this.addEvent("onSuccess",this.onComplete);
this.setOptions(A);this.options.data=this.options.data||this.options.postBody;if(!["post","get"].contains(this.options.method)){this._method="_method="+this.options.method;
this.options.method="post";}this.parent();this.setHeader("X-Requested-With","XMLHttpRequest");this.setHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*");
this.url=B;},onComplete:function(){if(this.options.update){$(this.options.update).empty().setHTML(this.response.text);}if(this.options.evalScripts||this.options.evalResponse){this.evalScripts();
}this.fireEvent("onComplete",[this.response.text,this.response.xml],20);},request:function(A){A=A||this.options.data;switch($type(A)){case"element":A=$(A).toQueryString();
break;case"object":A=Object.toQueryString(A);}if(this._method){A=(A)?[this._method,A].join("&"):this._method;}return this.send(this.url,A);},evalScripts:function(){var B,A;
if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){A=this.response.text;}else{A=[];var C=/<script[^>]*>([\s\S]*?)<\/script>/gi;
while((B=C.exec(this.response.text))){A.push(B[1]);}A=A.join("\n");}if(A){(window.execScript)?window.execScript(A):window.setTimeout(A,0);}},getHeader:function(A){try{return this.transport.getResponseHeader(A);
}catch(B){}return null;}});Object.toQueryString=function(B){var C=[];for(var A in B){C.push(encodeURIComponent(A)+"="+encodeURIComponent(B[A]));}return C.join("&");
};Element.extend({send:function(A){return new Ajax(this.getProperty("action"),$merge({data:this.toQueryString()},A,{method:"post"})).request();}});var Cookie=new Abstract({options:{domain:false,path:false,duration:false,secure:false},set:function(C,D,B){B=$merge(this.options,B);
D=encodeURIComponent(D);if(B.domain){D+="; domain="+B.domain;}if(B.path){D+="; path="+B.path;}if(B.duration){var A=new Date();A.setTime(A.getTime()+B.duration*24*60*60*1000);
D+="; expires="+A.toGMTString();}if(B.secure){D+="; secure";}document.cookie=C+"="+D;return $extend(B,{key:C,value:D});},get:function(A){var B=document.cookie.match("(?:^|;)\\s*"+A.escapeRegExp()+"=([^;]*)");
return B?decodeURIComponent(B[1]):false;},remove:function(B,A){if($type(B)=="object"){this.set(B.key,"",$merge(B,{duration:-1}));}else{this.set(B,"",$merge(A,{duration:-1}));
}}});var Json={toString:function(C){switch($type(C)){case"string":return'"'+C.replace(/(["\\])/g,"\\$1")+'"';case"array":return"["+C.map(Json.toString).join(",")+"]";
case"object":var A=[];for(var B in C){A.push(Json.toString(B)+":"+Json.toString(C[B]));}return"{"+A.join(",")+"}";case"number":if(isFinite(C)){break;}case false:return"null";
}return String(C);},evaluate:function(str,secure){return(($type(str)!="string")||(secure&&!str.test(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/)))?null:eval("("+str+")");
}};Json.Remote=XHR.extend({initialize:function(B,A){this.url=B;this.addEvent("onSuccess",this.onComplete);this.parent(A);this.setHeader("X-Request","JSON");
},send:function(A){return this.parent(this.url,"json="+Json.toString(A));},onComplete:function(){this.fireEvent("onComplete",[Json.evaluate(this.response.text,this.options.secure)]);
}});var Asset=new Abstract({javascript:function(C,B){B=$merge({onload:Class.empty},B);var A=new Element("script",{src:C}).addEvents({load:B.onload,readystatechange:function(){if(this.readyState=="complete"){this.fireEvent("load");
}}});delete B.onload;return A.setProperties(B).inject(document.head);},css:function(B,A){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:B},A)).inject(document.head);
},image:function(C,B){B=$merge({onload:Class.empty,onabort:Class.empty,onerror:Class.empty},B);var D=new Image();D.src=C;var A=new Element("img",{src:C});
["load","abort","error"].each(function(E){var F=B["on"+E];delete B["on"+E];A.addEvent(E,function(){this.removeEvent(E,arguments.callee);F.call(this);});
});if(D.width&&D.height){A.fireEvent("load",A,1);}return A.setProperties(B);},images:function(D,C){C=$merge({onComplete:Class.empty,onProgress:Class.empty},C);
if(!D.push){D=[D];}var A=[];var B=0;D.each(function(F){var E=new Asset.image(F,{onload:function(){C.onProgress.call(this,B);B++;if(B==D.length){C.onComplete();
}}});A.push(E);});return new Elements(A);}});var Hash=new Class({length:0,initialize:function(A){this.obj=A||{};this.setLength();},get:function(A){return(this.hasKey(A))?this.obj[A]:null;
},hasKey:function(A){return(A in this.obj);},set:function(A,B){if(!this.hasKey(A)){this.length++;}this.obj[A]=B;return this;},setLength:function(){this.length=0;
for(var A in this.obj){this.length++;}return this;},remove:function(A){if(this.hasKey(A)){delete this.obj[A];this.length--;}return this;},each:function(A,B){$each(this.obj,A,B);
},extend:function(A){$extend(this.obj,A);return this.setLength();},merge:function(){this.obj=$merge.apply(null,[this.obj].extend(arguments));return this.setLength();
},empty:function(){this.obj={};this.length=0;return this;},keys:function(){var A=[];for(var B in this.obj){A.push(B);}return A;},values:function(){var A=[];
for(var B in this.obj){A.push(this.obj[B]);}return A;}});function $H(A){return new Hash(A);}var HistoryManager={options:{observeDelay:100,stateSeparator:";",iframeSrc:"blank.html",onStart:Class.empty,onRegister:Class.empty,onUnregister:Class.empty,onStart:Class.empty,onUpdate:Class.empty,onStateChange:Class.empty,onObserverChange:Class.empty},dataOptions:{skipDefaultMatch:true,defaults:[],regexpParams:""},initialize:function(A){if(this.modules){return this}this.setOptions(A);this.modules=$H({});this.count=history.length;this.states=[];this.states[this.count]=this.getHash();this.state=null;return this},start:function(){this.observe.periodical(this.options.observeDelay,this);this.started=true;this.observe();this.update();this.fireEvent("onStart",[this.state]);return this},register:function(B,G,C,F,E,A){if(!this.modules){this.initialize()}var D=$merge(this.dataOptions,A||{},{defaults:G,onMatch:C,onGenerate:F,regexp:E});D.regexp=D.regexp||B+"-([\\w_-]*)";if(typeof D.regexp=="string"){D.regexp=new RegExp(D.regexp,D.regexpParams)}D.onGenerate=D.onGenerate||function(H){return B+"-"+H[0]};D.values=D.defaults.copy();this.modules.set(B,D);this.fireEvent("onUnregister",[B,D]);return{setValues:function(H){return this.setValues(B,H)}.bind(this),setValue:function(H,I){return this.setValue(B,H,I)}.bind(this),generate:function(H){return this.generate(B,H)}.bind(this),unregister:function(){return this.unregister(B)}.bind(this)}},unregister:function(A){this.fireEvent("onRegister",[A]);this.modules.remove(A)},setValues:function(B,A){var C=this.modules.get(B);if(!C||C.values.isSimilar(A)){return this}C.values=A;this.update();return this},setValue:function(B,A,D){var C=this.modules.get(B);if(!C||C.values[A]==D){return this}C.values[A]=D;this.update();return this},generate:function(B,A){var D=this.modules.get(B);var E=D.values.copy();D.values=A;var C=this.generateState();D.values=E;return"#"+C},observe:function(){if(this.timeout){return }var A=this.getState();if(this.state==A){return }if((window.ie||window.webkit419)&&(this.state!==null)){this.setState(A,true)}else{this.state=A}this.modules.each(function(D,B){var C=A.match(D.regexp);if(C){C.splice(0,1);C.complement(D.defaults);if(!C.isSimilar(D.defaults)){D.values=C}}else{D.values=D.defaults.copy()}D.onMatch(D.values,D.defaults)});this.fireEvent("onStateChange",[A]).fireEvent("onObserverChange",[A])},generateState:function(){var A=[];this.modules.each(function(C,B){if(C.skipDefaultMatch&&C.values.isSimilar(C.defaults)){return }A.push(C.onGenerate(C.values))});return A.join(this.options.stateSeparator)},update:function(){if(!this.started){return this}var A=this.generateState();if((!this.state&&!A)||(this.state==A)){return this}this.setState(A);this.fireEvent("onStateChange",[A]).fireEvent("onUpdate",[A]);return this},observeTimeout:function(){if(this.timeout){this.timeout=$clear(this.timeout)}else{this.timeout=this.observeTimeout.delay(200,this)}},getHash:function(){var A=top.location.href;var B=A.indexOf("#")+1;return(B)?A.substr(B):""},getState:function(){var B=this.getHash();if(this.iframe){var C=this.iframe.contentWindow.document;if(C&&C.body.id=="state"){var A=C.body.innerText;if(this.state==B){return A}this.istateOld=true}else{return this.istate}}if(window.webkit419&&history.length!=this.count){this.count=history.length;return $pick(this.states[this.count-1],B)}return B},setState:function(C,A){C=$pick(C,"");var B=(C==="")?[window.getScrollLeft(),window.getScrollTop()]:false;if(window.webkit419){if(!this.form){this.form=new Element("form",{method:"get"}).injectInside(document.body)}this.count=history.length;this.states[this.count]=C;this.observeTimeout();this.form.setProperty("action","#"+C).submit()}else{top.location.hash=B?"#":C}if(B){window.scrollTo(B[0],B[1])}if(window.ie&&(!A||this.istateOld)){if(!this.iframe){this.iframe=new Element("iframe",{src:this.options.iframeSrc,styles:"visibility: hidden;"}).injectInside(document.body);this.istate=this.state}try{var E=this.iframe.contentWindow.document;E.open();E.write('<html><body id="state">'+C+"</body></html>");E.close();this.istateOld=false}catch(D){}}this.state=C},extend:$extend};HistoryManager.extend(Events.prototype);HistoryManager.extend(Options.prototype);Array.extend({isSimilar:function(A){return(this.toString()==A.toString())},complement:function(C){for(var B=0,A=this.length;B<A;B++){this[B]=$pick(this[B],C[B]||null)}return this}});var initialScreen=true;var resultsBox,searchbar,sortMenu,filterMenu,currentTime,histM;var commentsPerPage=6,commentsPagesPerPager=5;var videosPerPage=10,videosPerRequest=10,minVideosPerPage=5;var maxCharsPerDescription=500,maxLinesPerDescription=7;var panelCounter=10;Time=new Class({initialize:function(D,E,B,A,F,C){this.year=D;this.month=E;this.day=B;this.hour=A;this.minute=F;this.second=C},getSecondsSince1970:function(){return(this.year-1970)*31556926+this.month*2629744+this.day*86400+this.hour*3600+this.minute*60+this.second},getMonthDateYearFormat:function(){var A;switch(this.month){case 1:A="Jan.";break;case 2:A="Feb.";break;case 3:A="Mar.";break;case 4:A="Apr.";break;case 5:A="May";break;case 6:A="June";break;case 7:A="July";break;case 8:A="Aug.";break;case 9:A="Sep.";break;case 10:A="Oct.";break;case 11:A="Nov.";break;case 12:A="Dec.";break}return A+" "+this.day+", "+this.year},getTimeDifference:function(A){var I=A-this.getSecondsSince1970();var B,J;var E=Math.floor(I/31556926);if(E>0){J=E;B=E+" year"}else{var C=Math.floor(I/2629744);if(C>0){J=C;B=C+" month"}else{var H=Math.floor(I/604800);if(H>0){J=H;B=H+" week"}else{var D=Math.floor(I/86400);if(D>0){J=D;B=D+" day"}else{var G=Math.floor(I/3600);if(G>0){J=G;B=G+" hour"}else{var F=Math.floor(I/60);if(F>0){J=F;B=F+" minute"}else{J=Math.floor(I);B=I+" second"}}}}}}if(J==1){B+=" ago"}else{B+="s ago"}return B}});Comment=new Class({initialize:function(E,C,B,D){this.el=new Element("div",{"class":"comment"});var F=new Element("div",{"class":"commentHeader"}).injectInside(this.el);var A=new Element("div",{"class":"commentBody"}).injectInside(this.el).setText(D);new Element("a",{"class":"commentAuthor",href:E.searchEngine.getAuthorUrl(C),target:"tab"}).setText(C).injectInside(F);F.appendText("  / "+B.getTimeDifference(currentTime));if(E.author==C){this.el.addClass("ownedByAuthor")}}});CommentsBox=new Class({initialize:function(A){this.video=A;this.el=new Element("div");this.commentsHolder=new Element("div",{"class":"commentsHolder"}).injectInside(this.el);if(this.video.numberOfComments==0){this.commentsHolder.setText("No comments")}else{this.commentsHolder.setText("Requesting comments...")}this.pager=new Element("div",{"class":"commentsPager"}).injectInside(this.el);this.totalPages=Math.ceil(this.video.numberOfComments/commentsPerPage)},changePage:function(A){this.commentsHolder.setHTML('<img src="images/largeloader.gif">');this.video.searchEngine.requestComments(this.video.id,A);this.createPager(A)},fillPage:function(B){if(B.length==0){this.commentsHolder.setText("No Comments")}else{if(this.commentsHolder.empty){this.commentsHolder.empty()}for(var A=0;A<B.length;A++){if(A%2==0){B[A].el.addClass("alt")}B[A].el.injectInside(this.commentsHolder)}}},createPager:function(A){this.pager.empty();if(this.totalPages>1){createPagerElement(A,this.totalPages,commentsPagesPerPager,this.changePage.bind(this)).injectInside(this.pager);new Element("a",{"class":"commentsViewAll",href:this.video.searchEngine.getAllCommentsUrl(this.video.id),target:"tab"}).injectInside(this.pager).setText("View all comments")}}});Video=new Class({initialize:function(B,O,G,I,L,H,N,E,K,J,C,F,D,P,A,M){this.properlyInitialized=false;this.id=B;this.searchEngine=O;this.thumbUrl=G;this.title=I;this.description=L;this.added=H;this.views=N;this.rating=E;this.votes=K;this.numberOfComments=J;this.length=C;this.author=F;this.searchResultsIndex=D;this.tags=P;if(A){this.width=A;this.height=M}this.sortableProperties=new Array(this.added.getSecondsSince1970(),N,E,this.getRanking());this.properlyInitialized=true},getRanking:function(){var B=resultsBox.currentSearchTerm.toLowerCase();var C=100/(this.searchResultsIndex+1);if(this.title.toLowerCase().indexOf(B)!=-1){C+=25}var A=0;while(A<10&&this.tags[A]){if(B.indexOf(this.tags[A].toLowerCase())!=-1){C+=5}A++}C+=this.searchEngine.searchQuality;return Math.round(C)},getElement:function(){this.el=new Element("div",{"class":"video"});this.el.obj=this;this.summaryRow=new Element("div",{"class":"videoSummaryRow",events:{click:function(){this.toggleBody()}.bind(this),mouseenter:function(){this.thumb.addClass("hovered")}.bind(this),mouseleave:function(){this.thumb.removeClass("hovered")}.bind(this)}}).injectInside(this.el);this.bodyRow=new Element("div",{"class":"videoBodyRow"}).injectInside(this.el);this.thumb=new Element("img",{"class":"videoThumb",src:this.thumbUrl}).injectInside(this.summaryRow);this.titleAndDescription=new Element("div",{"class":"videoTitleDescription"}).injectInside(this.summaryRow);this.fillShortDescription();var A=new Element("div",{"class":"videoEtc"}).injectInside(this.summaryRow);if(this.author){if(this.author.length>10){var I=this.author.substr(0,10)+"..."}else{I=this.author}var H=new Element("a",{"class":"videoAuthorUrl",href:this.searchEngine.getAuthorUrl(this.author),target:"tab",events:{click:function(P){var P=new Event(P);P.stopPropagation()}}}).setText(I)}if(this.views){var N=makeStringWithCommas(this.views)}else{if(this.views==0){var N="0"}else{var N=false}}if(this.rating){var G;if(this.rating<50){G="red"}else{if(this.rating<85){G="yellow"}else{G="green"}}var F="<strong class="+G+">"+this.rating+"%</strong> - "+makeStringWithCommas(this.votes)+" votes"}else{if(this.searchEngine==youtubeSearchEngine){var F="No votes yet"}else{var F=false}}if(this.numberOfComments){var M=makeStringWithCommas(this.numberOfComments)}else{var M=false}if(this.length){var L=this.length%60;if(L<10){L="0"+L}var C=Math.floor(this.length/60)+":"+L}else{var C=false}var D=new Array("From","Added","Views","Rating","Comments","Length");var O=new Array(H,this.added.getMonthDateYearFormat(),N,F,M,C);for(var E=0;E<D.length;E++){if(O[E]){var J=new Element("div",{"class":"videoEtcRow"}).injectInside(A);new Element("div",{"class":"videoEtcProperty"}).setHTML(D[E]).injectInside(J);if(E==0&&O[E]){O[E].injectInside(J)}else{new Element("div",{"class":"videoEtcValue"}).setHTML(O[E]).injectInside(J)}}}var B=new Element("div",{"class":"videoSite"}).injectInside(this.summaryRow);var K=new Element("img",{"class":"videoSiteLogo",src:"images/largeicons/"+this.searchEngine.name+".png",events:{click:function(P){var P=new Event(P);P.stopPropagation()},mouseenter:function(){this.addClass("hovered")},mouseleave:function(){this.removeClass("hovered")}}});new Element("a",{href:this.searchEngine.getVideoUrl(this.id),target:"tab"}).adopt(K).injectInside(B);return this.el},fillShortDescription:function(){if(this.description){var B=this.description.length>maxCharsPerDescription;var D=this.description.split("<br />");if(D.length>maxLinesPerDescription){B=true;D=D.slice(0,maxLinesPerDescription)}var A=0,E=D.length-1,G=maxCharsPerDescription;for(var C=0;C<D.length;C++){if(A+D[C].length<maxCharsPerDescription){A+=D[C].length}else{G=maxCharsPerDescription-A;E=C;break}}var F="";for(var C=0;C<=E;C++){if(C!=0){F+="<br />"}if(C==E){D[C]=D[C].substr(0,G)}F+=D[C]}}else{var F="Description could not be retrieved"}new Element("strong").setText(this.title).injectInside(this.titleAndDescription);new Element("p").setHTML(F.replace(/(<([^>]+)>)/ig,"")).injectInside(this.titleAndDescription);if(B){new Element("a",{events:{click:function(H){var H=new Event(H);this.titleAndDescription.empty();this.fillLongDescription();H.stopPropagation()}.bind(this)}}).setText("(full description)").injectInside(this.titleAndDescription)}},fillLongDescription:function(){if(this.description){var B=this.description.split("<br />");var C="";for(var A=0;A<B.length;A++){if(A!=0){C+="<br />"}C+=B[A]}}else{var C="Description could not be retrieved"}new Element("strong").setText(this.title).injectInside(this.titleAndDescription);new Element("p").setHTML(C.replace(/(<([^>]+)>)/ig,"")).injectInside(this.titleAndDescription);if(this.description.length>maxCharsPerDescription||B.length>maxLinesPerDescription){new Element("a",{events:{click:function(D){var D=new Event(D);this.titleAndDescription.empty();this.fillShortDescription();D.stopPropagation()}.bind(this)}}).setText("(less)").injectInside(this.titleAndDescription)}},removeElement:function(){if(this==resultsBox.currentVideo){resultsBox.currentVideo=false}if(this.el){this.el.empty();this.el.remove()}},compareTo:function(B,D){var A=this.sortableProperties[D];var C=B.sortableProperties[D];if(!A){A=0}if(!C){C=0}if(A>C){return 1}if(A<C){return-1}return 0},toggleBody:function(){if(this.bodyRow.opened){resultsBox.currentVideo=false;this.bodyRow.opened=false;this.thumb.removeClass("opened");this.bodyRow.empty()}else{if(resultsBox.currentVideo){resultsBox.currentVideo.toggleBody()}resultsBox.currentVideo=this;this.bodyRow.opened=true;this.thumb.addClass("opened");var A=new Element("div").injectInside(this.bodyRow);var B=new Element("div",{"class":"videoPlayer"}).injectInside(A).setHTML(this.searchEngine.getEmbedSrc(this.id,this.width,this.height));if(this.searchEngine.requestComments){this.commentsBox=new CommentsBox(this);if(this.commentsBox.video.id){this.commentsBox.changePage(0)}this.commentsBox.el.setStyle("margin-left",B.offsetWidth).injectInside(A)}}}});ResultsBox=new Class({initialize:function(B,A){this.el=$("resultsBox");this.overlay=new Element("div",{id:"resultsOverlay"}).injectInside(this.el).setStyle("display","none");this.overlayText=new Element("div",{id:"resultsOverlayText"}).injectInside(this.overlay);this.searchMessage=new Element("div",{id:"resultsBoxSearchMessage"}).injectInside(this.el).setStyle("display","none");this.header=new Element("div",{id:"resultsBoxHeader"}).injectInside(this.el);this.headerText=new Element("div",{id:"resultsBoxHeaderText"}).injectInside(this.header);this.headerPager=new Element("div",{id:"resultsBoxPager"}).injectInside(this.header);this.videosHolder=new Element("div",{id:"resultsVideosHolder"}).injectInside(this.el);this.footer=new Element("div",{id:"resultsBoxFooter"}).injectInside(this.el);this.footerInfo=new Element("div",{id:"resultsBoxHeaderText"}).injectInside(this.footer);this.footerPager=new Element("div",{id:"resultsBoxPager"}).injectInside(this.footer);this.independentSearchEngines=[];this.pagesOfVideos=[];this.requesting=false;this.currentSearchTerm="";this.currentSortMethod=B;this.currentTimePeriod=A;sortMenu.updateTo(B,A);this.totalResults=0;this.totalValidVideosProcessed=0;this.totalInvalidVideosProcessed=0;this.currentPage=0;this.currentVideo=0},getVideoById:function(D){var B=this.pagesOfVideos[this.currentPage];for(var A=0;A<B.length;A++){var C=B[A];if(C.id==D){return C}}return false},getEnabledEngines:function(){for(var A=0;A<filterMenu.options.length;A++){var B=filterMenu.options[A];if(B.a.hasClass("enabled")){B.searchEngine.enabled=true}else{B.searchEngine.enabled=false}}truveoSearchEngine.updateIsEnabled();var C=[];for(var A=0;A<this.independentSearchEngines.length;A++){if(this.independentSearchEngines[A].enabled){C.push(this.independentSearchEngines[A])}}return C},resetForNewQuery:function(){for(var A=0;A<this.independentSearchEngines.length;A++){this.independentSearchEngines[A].resetForNewQuery()}this.pagesOfVideos=[];this.totalResults=0;this.totalValidVideosProcessed=0;this.totalInvalidVideosProcessed=0;this.currentPage=0;this.currentVideo=false;this.headerPager.empty();this.footerPager.empty()},clearCurrentPage:function(){var A=this.videosHolder.getChildren();for(var B=0;B<A.length;B++){A[B].obj.removeElement()}},updateResultsBoxHeader:function(){this.headerPager.empty();this.footerPager.empty();var D=Math.ceil(this.totalResults/videosPerPage);if(D>1){var A=videosPerRequest/videosPerPage;createPagerElement(this.currentPage,D,A,this.changePage.bind(this)).injectInside(this.headerPager);createPagerElement(this.currentPage,D,A,this.changePage.bind(this)).injectInside(this.footerPager)}if(this.totalResults==1){var C="Showing the only result"}else{var E=0;for(var B=0;B<this.currentPage;B++){E+=this.pagesOfVideos[B].length}var C="Showing <b>"+(E+1)+" - "+(E+this.pagesOfVideos[this.currentPage].length)+"</b> out of <b>"+makeStringWithCommas(this.totalResults)+"</b> results"}C+=" for <b>"+this.currentSearchTerm+"</b>";this.headerText.setHTML(C);this.footerInfo.setHTML(C)},changePage:function(A){if(!this.requesting&&this.currentPage!=A){window.scrollTo(0,0);this.currentPage=A;var C=this.pagesOfVideos[A];if(C&&C.length>=minVideosPerPage||(this.totalValidVideosProcessed==this.totalResults)){this.clearCurrentPage();this.updateResultsBoxHeader();for(var B=0;B<C.length;B++){C[B].getElement().injectInside(this.videosHolder)}histM.setValue(2,A)}else{this.showOverlay("loading more pages, starting with: <strong>"+(A+1)+"</strong>");this.requestVideos(this.currentSearchTerm,this.currentSortMethod,this.currentTimePeriod,A)}}},requestVideos:function(N,H,A,Q){if(!this.requesting){this.requesting=true;var G=this.getEnabledEngines();document.title=N+" - Search";this.currentSearchTerm=N;N=N.replace(/[^a-zA-Z 0-9]+/g,"");if(N.replace(/\s+/g,"")==""){this.hideOverlay();this.hideHeaderAndFooter();this.showSearchMessage("No query entered.",true);this.requesting=false;return}this.currentSortMethod=H;this.currentTimePeriod=A;var M=0;for(var L=0;L<G.length;L++){M+=G[L].baseWeight}for(var L=0;L<G.length;L++){G[L].currentWeight=G[L].baseWeight/M}if(this.totalResults!=0){var J=[],B=1;for(var L=0;L<G.length;L++){var R=G[L];var P=R.getOptimalWeight();if(P<R.currentWeight){R.currentWeight=P;B-=P}else{J.push(R)}}var E=0;for(var L=0;L<J.length;L++){E+=J[L].currentWeight}for(var L=0;L<J.length;L++){J[L].currentWeight=B*J[L].currentWeight/E}}var O=new Element("div",{id:"resultsBoxLoadingElement"});if(this.overlay.style.display==""){O.injectInside(this.overlay)}else{O.injectAfter(this.searchMessage)}for(var L=0;L<G.length;L++){var R=G[L];var F=R.totalValidVideosProcessed+R.totalInvalidVideosProcessed;var D=Math.round(videosPerRequest*R.currentWeight);G[L].requestVideos(N,H,A,D,F);G[L].updateLoadingElement();G[L].getLoadingElement().injectInside(O)}var C=new Element("div",{id:"resultsBoxJustShowResults",events:{click:function(){clearInterval(requestCompleteChecker);O.remove();this.requesting=false;this.aggregateVideos(G,Q)}.bind(this),mouseenter:function(){this.addClass("hovered")},mouseleave:function(){this.removeClass("hovered")}}}).injectInside(O).setText("Click to stop search!").setStyle("display","none");requestCompleteChecker=window.setInterval(function(){var S=true,U=0;for(var T=0;T<G.length;T++){if(G[T].requesting){S=false}else{U++;G[T].updateLoadingElement();if(U==1){C.setStyle("display","")}}}if(S){clearInterval(requestCompleteChecker);O.remove();this.requesting=false;this.aggregateVideos(G,Q)}}.bind(this),200);var K="";for(var L=0;L<filterMenu.options.length;L++){var I=filterMenu.options[L];if(I.searchEngine.enabled){if(K!=""){K+=","}K+=I.searchEngine.name}}histM.setValues([escape(this.currentSearchTerm),H,Q,K])}},aggregateVideos:function(E,K){this.totalResults=0;this.totalValidVideosProcessed=0;this.totalInvalidVideosProcessed=0;var G=[];for(var H=0;H<E.length;H++){var J=E[H];if(!J.requesting){this.totalResults+=J.totalResults;this.totalValidVideosProcessed+=J.totalValidVideosProcessed;this.totalInvalidVideosProcessed+=J.totalInvalidVideosProcessed;for(var M=0;M<J.currentResults.length;M++){var B=J.currentResults[M];if(B.properlyInitialized){G.push(B)}}}else{J.resetForNewQuery()}}this.clearCurrentPage();if(G.length>0){switch(this.currentSortMethod){case"date":var L=0;break;case"views":var L=1;break;case"rating":var L=2;break;default:var L=3}shellSort(G,L);for(var A=0;A<this.pagesOfVideos.length;A++){var I=this.pagesOfVideos[A];if(I.length<minVideosPerPage){while(I.length<videosPerPage&&G.length>0){I.push(G.shift())}}}var D=Math.ceil(G.length/videosPerPage);for(var A=0;A<D;A++){var C=new Array();while(C.length<videosPerPage&&G.length>0){C.push(G.shift())}this.pagesOfVideos.push(C)}}this.hideOverlay();this.hideSearchMessage();this.showHeaderAndFooter();var F=this.pagesOfVideos[K];if((F&&F.length>=minVideosPerPage)||(this.totalValidVideosProcessed==this.totalResults)){this.currentPage=K;this.footerInfo.empty();if(E.length==0){this.hideHeaderAndFooter();this.showSearchMessage("No search engines were selected.",true)}else{if(this.totalResults==0){this.headerText.setHTML("No results for <b>"+this.currentSearchTerm+"</b>")}else{for(var M=0;M<F.length;M++){F[M].getElement().injectInside(this.videosHolder)}this.updateResultsBoxHeader()}}}else{this.showOverlay("requesting more videos, starting with: <strong>"+(this.pagesOfVideos.length-1)+"</strong>");this.requestVideos(this.currentSearchTerm,this.currentSortMethod,this.currentTimePeriod,K)}},search:function(B,C,A){if(!this.requesting){if(initialScreen){toResultsView()}else{window.scrollTo(0,0)}this.resetForNewQuery();this.clearCurrentPage();this.hideHeaderAndFooter();this.showSearchMessage("searching for: <strong>"+B+"</strong>");if(!C){C=this.currentSortMethod}if(!A){A=this.currentTimePeriod}this.requestVideos(B,C,A,0)}},toggleSearchEngines:function(){if(!initialScreen){window.scrollTo(0,0);this.resetForNewQuery();this.showOverlay("updating sites...");this.requestVideos(searchbar.value,this.currentSortMethod,this.currentTimePeriod,0)}},sort:function(B,A){if(!this.requesting&&(this.currentSortMethod!=B||this.currentTimePeriod!=A)){window.scrollTo(0,0);this.resetForNewQuery();sortMenu.updateTo(B,A);if(!initialScreen){this.showOverlay("sorting by: <strong>"+B+"</strong>");this.requestVideos(this.currentSearchTerm,B,A,0)}else{this.currentSortMethod=B;this.currentTimePeriod=A}}},showHeaderAndFooter:function(){this.header.setStyle("display","");this.footer.setStyle("display","")},hideHeaderAndFooter:function(){this.header.setStyle("display","none");this.footer.setStyle("display","none")},showSearchMessage:function(B,A){this.searchMessage.setStyle("display","");this.searchMessage.empty();if(A){this.searchMessage.setHTML(B)}else{this.searchMessage.setHTML('<img class="resultsBoxSmallLoader" src="images/smallloader.gif">'+B)}},hideSearchMessage:function(){this.searchMessage.setStyle("display","none")},showOverlay:function(A){if(this.el.offsetHeight<450){this.el.setStyle("height","450px")}this.overlay.setStyle("display","");this.overlayText.empty();this.overlayText.setHTML('<img class="resultsBoxSmallLoader" src="images/smallloader.gif">'+A)},hideOverlay:function(){this.el.setStyle("height","auto");this.overlay.setStyle("display","none")},savePreferences:function(){var C=new Date();C.setTime(C.getTime()+(365*24*60*60*1000));var A="; expires="+C.toGMTString();var D="";for(var B=0;B<filterMenu.options.length;B++){if(filterMenu.options[B].a.hasClass("enabled")){if(D!=""){D+=","}D+=filterMenu.options[B].searchEngine.name}}document.cookie="khanspreferences="+D+A+"; path=/"},getPreferences:function(){var B="khanspreferences=";var D=document.cookie.split(";"),H=null;for(var E=0;E<D.length;E++){var G=D[E];while(G.charAt(0)==" "){G=G.substring(1,G.length)}if(G.indexOf(B)==0){H=G.substring(B.length,G.length)}}if(H||H==""){var A=H.split(","),K=[],F=[];for(var C=0;C<filterMenu.options.length;C++){var I=filterMenu.options[C].searchEngine;var J=false;for(var E=0;E<A.length;E++){if(I.name==A[E]){K.push(I);J=true;break}}if(!J){F.push(I)}}for(var C=0;C<K.length;C++){K[C].menuOption.addEnabledStyle();K[C].enabled=true}for(var C=0;C<F.length;C++){F[C].menuOption.removeEnabledStyle();F[C].enabled=false}truveoSearchEngine.updateIsEnabled();filterMenu.updateText()}}});SearchEngine=new Class({initialize:function(B,A,C){this.name=A;if(C){this.searchQuality=C}else{this.searchQuality=0}this.menuOption=new FilterMenuOption(this);if(B){this.menuOption.enable();this.enabled=true}else{this.enabled=false}this.loadingElement=new Element("div",{"class":"videoLoadingElement"}).setText(A)},getLoadingElement:function(){return this.loadingElement},getAuthorUrl:function(A){return"http://www.google.com/search?q"+A}});TruveoDependantSearchEngine=SearchEngine.extend({initialize:function(B,A,C){this.parent(B,A,C);this.channelName=A;truveoSearchEngine.dependantEngines.push(this)},getId:function(D){var A=D.videoPlayerEmbedTag;var C=A.indexOf("/i/");var B=A.indexOf("/a/");return A.substr(C+3,B-C-3)},getEmbedSrc:function(C,B,A){return'<embed wmode="transparent" FlashVars="autoPlay=true&playerVars=autoPlay=yes" type="application/x-shockwave-flash" width="425" height="350" src="http://xml.truveo.com/eb/i/'+C+'/a/73cb9ac47b904db59e1863297b9c047a/p/1"></embed>'},getVideoUrl:function(A){return"http://xml.truveo.com/rd?i="+A+"&a=73cb9ac47b904db59e1863297b9c047a&p=1"}});IndependentSearchEngine=SearchEngine.extend({initialize:function(B,A,D,C){this.parent(B,A,D);this.baseWeight=C;this.currentWeight;this.currentResults=[];this.totalResults=0;this.totalValidVideosProcessed=0;this.totalInvalidVideosProcessed=0;this.requesting=false;resultsBox.independentSearchEngines.push(this)},resetForNewQuery:function(){this.currentResults=[];this.requesting=false;this.totalResults=0;this.totalValidVideosProcessed=0;this.totalInvalidVideosProcessed=0},requestVideos:function(B,C,A,D,E){this.requesting=true;this.currentResults=[];if(D>0){this.makeVideoRequest(B,C,A,D,E)}else{this.requesting=false}},onVideosComplete:function(A){this.makeVideos(A);this.totalResults-=this.totalInvalidVideosProcessed;this.requesting=false},getOptimalWeight:function(){return(this.totalResults-this.totalValidVideosProcessed)/videosPerRequest},updateLoadingElement:function(){if(this.requesting){this.loadingElement.addClass("requesting")}else{this.loadingElement.removeClass("requesting")}}});YouTubeSearchEngine=IndependentSearchEngine.extend({initialize:function(A,C,B){this.parent(A,"youtube",C,B)},getAuthorUrl:function(A){return"http://www.youtube.com/"+A},getAllCommentsUrl:function(A){return"http://www.youtube.com/comment_servlet?all_comments&v="+A},getId:function(A){return A.id.$t.substring(38)},getEmbedSrc:function(C,B,A){return'<embed src="http://www.youtube.com/v/'+C+'&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed>'},getVideoUrl:function(A){return"http://www.youtube.com/watch?v="+A},getTime:function(H){var E=parseInt(H.substr(0,4));var J=superParseInt(H.substr(5,2));var D=superParseInt(H.substr(8,2));var C=H.substr(23,1);var A=superParseInt(H.substr(11,2));var I=superParseInt(H.substr(14,2));var B=superParseInt(H.substr(24,2));var F=superParseInt(H.substr(27,2));if(C=="-"){var A=A+B;var I=I+F}else{var A=A-B;var I=I-F}var G=superParseInt(H.substr(17,2));return new Time(E,J,D,A,I,G)},makeVideoRequest:function(C,I,B,D,G){var E;switch(I){case"relevance":E="relevance";break;case"date":E="published";break;case"views":E="viewCount";break;case"rating":E="rating";break}var H="youtubeSearchEngine.onVideosComplete";G++;var A="http://gdata.youtube.com/feeds/videos?alt=json-in-script&format=5&vq="+C+"&max-results="+D+"&callback="+H+"&orderby="+E+"&start-index="+G;var F=new Element("script",{src:A}).injectInside(document.body)},makeVideos:function(O){this.currentResults=[];if(O.feed.entry){this.totalResults=parseInt(O.feed.openSearch$totalResults.$t);for(var F=0;F<O.feed.entry.length;F++){var M=O.feed.entry[F];var I=M.title.$t;var L=M.media$group.media$description.$t.replace(/\n/g,"<br />");var G=M.media$group.media$thumbnail[0].url;var H=this.getTime(M.published.$t);if(M.yt$statistics){var N=parseInt(M.yt$statistics.viewCount)}else{var N=0}var E=M.author[0].name.$t;if(M.gd$rating){var D=Math.floor(M.gd$rating.average*20);var K=M.gd$rating.numRaters}else{var D=false;var K=false}var C=M.media$group.yt$duration.seconds;var B=M.id.$t.substring(38);if(M.media$group.media$keywords){var P=M.media$group.media$keywords.$t.split(", ",10)}else{var P=[]}if(M.gd$comments){var J=M.gd$comments.gd$feedLink.countHint}else{var J=0}var A=new Video(B,this,G,I,L,H,N,D,K,J,C,E,F,P);this.currentResults.push(A);this.totalValidVideosProcessed++}}else{this.totalResults=0}},requestComments:function(D,C){var A=commentsPerPage;var F="youtubeSearchEngine.onCommentsComplete";var E=C*commentsPerPage+1;var B="http://gdata.youtube.com/feeds/videos/"+D+"/comments";new Element("script",{src:B+"?&alt=json-in-script&max-results="+A+"&callback="+F+"&start-index="+E}).injectInside(document.body)},onCommentsComplete:function(D){var F=D.feed.link[0].href.substring(38);var B=resultsBox.getVideoById(F);var C=[];if(D.feed.entry){for(var A=0;A<D.feed.entry.length;A++){var E=D.feed.entry[A];C.push(new Comment(B,E.author[0].name.$t,this.getTime(E.published.$t),E.content.$t))}}B.commentsBox.fillPage(C)}});DailymotionSearchEngine=TruveoDependantSearchEngine.extend({initialize:function(A,B){this.parent(A,"dailymotion",B)},getAuthorUrl:function(A){return"http://www.dailymotion.com/"+A}});MetacafeSearchEngine=TruveoDependantSearchEngine.extend({initialize:function(A,B){this.parent(A,"metacafe",B)},getAuthorUrl:function(A){return"http://www.metacafe.com/channels/"+A}});AolmusicSearchEngine=TruveoDependantSearchEngine.extend({initialize:function(A,B){this.parent(A,"aol",B);this.channelName='"aol music"';this.menuOption.a.setText("aol music")},getId:function(A){return A.pmmsID},getEmbedSrc:function(C,B,A){return'<embed src="http://cdn.channel.aol.com/aolexd_widgets/aolwidget_9.swf" quality="high" width="424" height="360" wmode="transparent" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="settings=90177&pmms='+C+'&previewImage=&size=large&autoPlay=1" ></embed>'},getVideoUrl:function(A){return"http://us.video.aol.com/player/launcher?pmmsid="+A}});MegavideoSearchEngine=TruveoDependantSearchEngine.extend({initialize:function(A,B){this.parent(A,"megavideo",B)},getAuthorUrl:function(A){return"http://www.megavideo.com/?c=profile&user="+A}});GoogleSearchEngine=TruveoDependantSearchEngine.extend({initialize:function(A,B){this.parent(A,"google",B)}});MyspaceSearchEngine=TruveoDependantSearchEngine.extend({initialize:function(A,B){this.parent(A,"myspace",B)},getId:function(D){var B=D.videoPlayerEmbedTag;var C=B.indexOf("m=");var A=B.indexOf("&v");if(A==-1){A=B.indexOf("&type")}return B.substr(C+2,A-C-2)},getEmbedSrc:function(C,B,A){return'<embed width="430" height="346" wmode="transparent" src="http://lads.myspace.com/videos/vplayer.swf" flashvars="m='+C+'&v=2&type=video&a=1" type="application/x-shockwave-flash"></embed>'},getVideoUrl:function(A){return"http://vids.myspace.com/index.cfm?fuseaction=vids.individual&VideoID="+A},getAuthorUrl:function(A){return"http://www.myspace.com/"+A}});TruveoSearchEngine=IndependentSearchEngine.extend({initialize:function(A,C,B){this.dependantEngines=[];this.parent(A,"truveo",C,B);filterMenu.removeOption(this.menuOption);this.engine=new TruveoVideoSearch("ce4b23e778f11c3ff");this.engine.initialize();this.engine.attachEvent("onupdate","truveoSearchEngine.onVideosComplete();")},updateIsEnabled:function(){this.enabled=false;for(var A=0;A<this.dependantEngines.length;A++){if(this.dependantEngines[A].enabled){this.enabled=true;break}}},getDependantEngine:function(B){for(var A=0;A<this.dependantEngines.length;A++){if(B.indexOf(this.dependantEngines[A].name)!=-1){return this.dependantEngines[A]}}alert("UNRECOGNIZABLE DEPENDANT ENGINE NAME: "+B)},makeVideoRequest:function(B,I,A,E,H){var D="";for(var C=0;C<this.dependantEngines.length;C++){var G=this.dependantEngines[C];if(G.enabled){if(D!=""){D+=" OR "}D+="channel:"+G.channelName}}if(D!=""){var F;switch(I){case"relevance":F="mostRelevant";break;case"date":F="mostRecent";break;case"views":F="mostPopular";break;case"rating":F="highestRated";break}this.engine.results=E;this.engine.getVideos(B+" type:free sort:"+F+" "+D,H)}else{alert("NO DEPENDANT ENGINES SELECTED SOMEHOW")}},makeVideos:function(P){this.totalResults=parseInt(this.engine.VideoSet.totalResultsAvailable);if(this.engine.VideoSet.Video){for(var F=0;F<this.engine.VideoSet.totalResultsReturned;F++){var N=this.engine.VideoSet.Video[F];if(N&&(N.videoPlayerEmbedTag||N.pmmsID)&&(!N.formats||(N.formats.indexOf("flash")!=-1))){var H=N.channel.toLowerCase();var K=this.getDependantEngine(H);var J=N.title;var M=N.description;var G=N.thumbnailUrl;var I=this.getTime(N.dateFound);var O=parseInt(N.viewCount);if(N.author){var E=N.author.replace(/[()]+/g,"")}else{var E=false}var D=Math.floor(parseInt(N.userRating)*20);var L=N.userRatingCount;var C=N.runtime;var B=K.getId(N);if(N.tags){var Q=N.tags.split(", ",10)}else{var Q=[]}var A=new Video(B,K,G,J,M,I,O,D,L,false,C,E,F,Q);this.currentResults.push(A);this.totalValidVideosProcessed++}else{this.totalInvalidVideosProcessed++}}}else{this.totalResults=0}},getTime:function(H){var E=parseInt(H.substr(12,4));var I=H.substr(8,3),K;switch(I){case"Jan":K=1;break;case"Feb":K=2;break;case"Mar":K=3;break;case"Apr":K=4;break;case"May":K=5;break;case"Jun":K=6;break;case"Jul":K=7;break;case"Aug":K=8;break;case"Sep":K=9;break;case"Oct":K=10;break;case"Nov":K=11;break;case"Dec":K=12;break;default:alert("invalid month: "+I)}var D=superParseInt(H.substr(5,2));var C=H.substr(26,1);var A=superParseInt(H.substr(17,2));var J=superParseInt(H.substr(20,2));var B=superParseInt(H.substr(27,2));var F=superParseInt(H.substr(29,2));if(C=="-"){var A=A+B;var J=J+F}else{var A=A-B;var J=J-F}var G=superParseInt(H.substr(23,2));return new Time(E,K,D,A,J,G)},getLoadingElement:function(){var B=new Element("div");for(var A=0;A<this.dependantEngines.length;A++){if(this.dependantEngines[A].enabled){this.dependantEngines[A].getLoadingElement().injectInside(B)}}return B},updateLoadingElement:function(){if(this.requesting){for(var A=0;A<this.dependantEngines.length;A++){if(this.dependantEngines[A].enabled){this.dependantEngines[A].loadingElement.addClass("requesting")}}}else{for(var A=0;A<this.dependantEngines.length;A++){if(this.dependantEngines[A].enabled){this.dependantEngines[A].loadingElement.removeClass("requesting")}}}}});Menu=new Class({initialize:function(A){this.options=[];this.el=new Element("li",{"class":"menuCategory",events:{mouseenter:function(){this.open();this.arrow.setProperty("src","images/redarrow.png")}.bind(this),mouseleave:function(){this.close();this.arrow.setProperty("src","images/blackarrow.png")}.bind(this)}}).injectInside($("headerMenu"));this.header=new Element("div",{"class":"menuTitle"}).injectInside(this.el).setText(A+": ");this.text=new Element("div").injectInside(this.el);this.ul=new Element("ul",{"class":"menuOptionHolder"}).injectInside(this.el);this.arrow=new Element("img",{src:"images/blackarrow.png"})},setHeader:function(A){this.header.setText(A)},setText:function(A){this.text.setHTML(A+" ");this.arrow.injectInside(this.text)},addOption:function(A){this.options.push(A);A.el.injectInside(this.ul)},removeOption:function(A){this.options.splice(this.options.indexOf(A),1);A.a.remove();A.el.remove()},close:function(){this.el.removeClass("opened");this.ul.setStyle("display","none")},open:function(){this.el.addClass("opened");this.ul.setStyle("display","block")},enableOption:function(B){for(var A=0;A<this.options.length;A++){if(this.options[A].name==B){this.options[A].enable();break}}}});FilterMenu=Menu.extend({initialize:function(){this.parent("sites")},finish:function(){var A=new Element("li",{id:"filterMenuMethods"}).injectInside(this.ul);new Element("a",{events:{click:function(){if(!resultsBox.requesting){for(var B=0;B<filterMenu.options.length;B++){filterMenu.options[B].searchEngine.menuOption.enable()}filterMenu.updateText()}}}}).injectInside(A).setText("all");new Element("a",{events:{click:function(){if(!resultsBox.requesting){for(var B=0;B<filterMenu.options.length;B++){filterMenu.options[B].searchEngine.menuOption.disable()}filterMenu.updateText()}}}}).injectInside(A).setText("none");new Element("a",{events:{click:function(B){var B=new Event(B);resultsBox.savePreferences();new Panel("Preferences are stored in a cookie","Saved!",B.page.x,B.page.y,250,20)}}}).injectInside(A).setText("save");this.applyChanges=new Element("li",{id:"filterMenuApplyChanges",events:{click:function(){resultsBox.toggleSearchEngines();this.applyChanges.setStyle("display","none")}.bind(this)}}).injectInside(this.ul).setStyle("display","none");new Element("a").setText("apply changes").injectInside(this.applyChanges);filterMenu.updateText()},updateText:function(){var D=0;var C;for(var B=0;B<this.options.length;B++){if(this.options[B].a.hasClass("enabled")){D++;if(D==1){C=this.options[B].name}}}var A;switch(D){case 0:A="none";break;case 1:A=C;break;case this.options.length:A="all";break;default:A=D+" sites"}this.setText(A)},close:function(){this.parent();if(!resultsBox.requesting&&this.hasPendingChanges()){resultsBox.toggleSearchEngines();this.applyChanges.setStyle("display","none")}},hasPendingChanges:function(){for(var A=0;A<this.options.length;A++){var C=this.options[A].searchEngine.enabled;var B=this.options[A].a.hasClass("enabled");if(C!=B){return true}}return false}});SortMenu=Menu.extend({initialize:function(C){this.parent("sort");for(var A=0;A<C.length;A++){var B=new SortMenuOption(C[A]);this.addOption(B)}},updateTo:function(B,A){this.setText(B);this.setHeader("sort ("+A+"): ");this.enableOption(B)},disableAllOptions:function(){for(var A=0;A<this.options.length;A++){this.options[A].disable()}}});MenuOption=new Class({initialize:function(A){this.name=A;this.el=new Element("li",{"class":"menuOption"});this.a=new Element("a",{"class":"menuOptionTitle"}).injectInside(this.el).setText(A)},addEnabledStyle:function(){this.a.addClass("enabled");this.el.setStyle("background-color","#e6e6e6")},removeEnabledStyle:function(){this.a.removeClass("enabled");this.el.setStyle("background-color","white")}});SortMenuOption=MenuOption.extend({initialize:function(A){this.parent(A);this.a.addEvent("click",function(){if(!resultsBox.requesting){this.enable();resultsBox.sort(this.name,resultsBox.currentTimePeriod)}}.bind(this))},enable:function(){sortMenu.disableAllOptions();this.addEnabledStyle()},disable:function(){this.removeEnabledStyle()}});FilterMenuOption=MenuOption.extend({initialize:function(A){this.parent(A.name);this.a.addClass("filterMenuOptionTitle");this.el.addEvent("click",function(){if(!resultsBox.requesting){if(this.a.hasClass("enabled")){this.disable()}else{this.enable()}filterMenu.updateText()}}.bind(this));this.el.setStyle("background","url(images/smallicons/"+A.name+".png) no-repeat 3px center");this.searchEngine=A;filterMenu.addOption(this)},enable:function(){this.addEnabledStyle();if(!initialScreen){if(filterMenu.hasPendingChanges()){filterMenu.applyChanges.setStyle("display","")}else{filterMenu.applyChanges.setStyle("display","none")}}},disable:function(){this.removeEnabledStyle();if(!initialScreen){if(filterMenu.hasPendingChanges()){filterMenu.applyChanges.setStyle("display","")}else{filterMenu.applyChanges.setStyle("display","none")}}}});Panel=new Class({initialize:function(K,M,E,L,A,O){panelCounter++;this.el=new Element("table",{"class":"panel",styles:{"z-index":panelCounter},events:{mousedown:function(){panelCounter++;this.style.zIndex=panelCounter}}}).injectInside(document.body);var J=new Element("tr").injectInside(this.el);new Element("td",{"class":"panelTL"}).injectInside(J);new Element("td",{"class":"panelTR"}).injectInside(J);var H=new Element("tr").injectInside(this.el);var C=new Element("td",{"class":"panelCL"}).injectInside(H);new Element("td",{"class":"panelCR"}).injectInside(H);var F=new Element("tr").injectInside(this.el);new Element("td",{"class":"panelBL"}).injectInside(F);new Element("td",{"class":"panelBR"}).injectInside(F);new Drag.Move(this.el,{snap:0,grid:0});var N=new Element("table").injectInside(C);var G=new Element("tr").injectInside(N);var I=new Element("td",{colspan:2}).injectInside(G);var D=new Element("div",{"class":"panelContentDiv",events:{mousedown:function(Q){var Q=new Event(Q);panelCounter++;this.el.style.zIndex=panelCounter;Q.stopPropagation()}.bind(this)}}).setHTML(K).injectInside(I);if(!A){A=D.offsetWidth-20;O=D.offsetHeight-20}var B=new Element("tr").injectInside(N);var M=new Element("td",{"class":"panelTitleTD"}).injectInside(B).setHTML(M);var P=new Element("td",{"class":"panelCloseTD"}).injectInside(B);new Element("img",{src:"images/closelabel.png",events:{click:function(){this.close()}.bind(this),mouseenter:function(){this.src="images/closelabelhovered.png"},mouseleave:function(){this.src="images/closelabel.png"}}}).injectInside(P);D.setStyles({width:A+"px",height:O+"px"});M.setStyle("width",D.offsetWidth-66);this.el.style.left=E-this.el.offsetWidth/2+"px";this.el.style.top=L-this.el.offsetHeight/2+"px"},close:function(){this.el.empty();this.el.remove()}});function superParseInt(A){while(A.charAt(0)=="0"&&A.length>1){A=A.substring(1)}return parseInt(A)}function makeStringWithCommas(A){var C=A.toString();for(var B=C.length-3;B>0;B-=3){C=C.substring(0,B)+","+C.substring(B)}return C}function toResultsView(){initialScreen=false;document.body.className="results";$("footer").injectInside(resultsBox.el)}function toSplashView(){initialScreen=true;document.body.className="";$("footer").injectAfter(resultsBox.el);searchbar.value="";resultsBox.currentSearchTerm="";searchbar.focus()}function addOpenSearch(){var B="tube",C="png",A="g";if((typeof window.external=="object")&&((typeof window.external.AddSearchProvider=="unknown")||(typeof window.external.AddSearchProvider=="function"))){window.external.AddSearchProvider("http://mycroft.mozdev.org/externalos.php/"+B+".xml")}else{alert("Unfortunately Safari, Opera, and a few other browsers do not support OpenSearch, which is needed for this plugin.")}}function shellSort(H,G){var E,C,A,B,F=-1;var D=H.length;A=parseInt(D/2);while(A>0){for(E=A;E<D;E++){C=E;B=H[E];while((C>=A)&&H[C-A].compareTo(B,G)==F){H[C]=H[C-A];C=C-A}H[C]=B}if(A==2){A=1}else{A=parseInt(A/2.2)}}}function createPagerElement(E,F,H,I){var C=new Element("div",{"class":"pager"});new Element("span",{"class":"pagerLabel"}).setText("Pages:").injectInside(C);var G,B;if(F<H){G=0;B=F-1}else{var A=(H-1)/2;if(E<(F/2)){G=E-A;if(G<0){G=0}B=G+(H-1)}else{B=E+A;if(B>=F){B=F-1}G=B-(H-1)}}if(E!=0){new Element("div",{"class":"pagerPrevNext",events:{mousedown:function(J){var J=new Event(J);I(E-1);J.stopPropagation()},mouseenter:function(){this.addClass("hovered")},mouseleave:function(){this.removeClass("hovered")}}}).injectInside(C).setText("Prev");if(G!=0){new Element("div",{"class":"pagerDots"}).injectInside(C).setText("...")}}for(var D=G;D<=B;D++){if(D==E){new Element("div",{"class":"pagerCurrentPage"}).injectInside(C).setText(D+1)}else{new Element("div",{"class":"pagerOtherPages",events:{mousedown:function(J){var J=new Event(J);I(parseInt(J.target.firstChild.nodeValue)-1);J.stopPropagation()},mouseenter:function(){this.addClass("hovered")},mouseleave:function(){this.removeClass("hovered")}}}).injectInside(C).setText(D+1)}}if(E!=F-1){if(B!=F-1){new Element("div",{"class":"pagerDots"}).injectInside(C).setText("...")}new Element("div",{"class":"pagerPrevNext",events:{mousedown:function(J){var J=new Event(J);I(E+1);J.stopPropagation()},mouseenter:function(){this.addClass("hovered")},mouseleave:function(){this.removeClass("hovered")}}}).injectInside(C).setText("Next")}return C}function showAbout(){var A=$("footer");new Panel("Free video aggregation tool. Search YouTube, MySpace, Vimeo, and other video hosting sites simultaneously!","about",document.body.offsetWidth/2,A.offsetBottom,200,60);window.scrollTo(9999,9999)}window.addEvent("domready",function(){var A=new Date();currentTime=(new Time(A.getUTCFullYear(),A.getUTCMonth()+1,A.getUTCDate(),A.getUTCHours(),A.getUTCMinutes(),A.getUTCSeconds())).getSecondsSince1970();$("headerLogoImage").addEvents({mouseenter:function(){this.src="images/logohovered.gif"},mouseleave:function(){this.src="images/logo.gif"}});searchbar=$("headerSearchBar");$("headerSearchForm").addEvent("submit",function(B){var B=new Event(B);resultsBox.search(searchbar.value,resultsBox.currentSortMethod);B.stop()});sortMenu=new SortMenu(new Array("relevance","date","views","rating"));filterMenu=new FilterMenu();resultsBox=new ResultsBox("relevance","all time");youtubeSearchEngine=new YouTubeSearchEngine(true,15,0.6);truveoSearchEngine=new TruveoSearchEngine(true,0,0.3);myspaceSearchEngine=new MyspaceSearchEngine(true,10);aolmusicSearchEngine=new AolmusicSearchEngine(true,60);dailymotionSearchEngine=new DailymotionSearchEngine(false,10);metacafeSearchEngine=new MetacafeSearchEngine(false,5);megavideoSearchEngine=new MegavideoSearchEngine(false,5);googleSearchEngine=new GoogleSearchEngine(false,5);filterMenu.finish();resultsBox.getPreferences();histM=HistoryManager.register("searchTerm=",[0],function(J){if(J[0]){var C=unescape(J[0]).replace(/\+/g," ");searchbar.value=C;if(J[3]){if(!J[1]){J[1]=resultsBox.currentSortMethod}if(!J[2]){J[2]=1}var B=J[3].split(","),L=[],G=[];for(var D=0;D<filterMenu.options.length;D++){var H=filterMenu.options[D].searchEngine;var I=false;for(var E=0;E<B.length;E++){if(H.name==B[E]){L.push(H);I=true;break}}if(!I){G.push(H)}}var F=false;if(C==resultsBox.currentSearchTerm&&J[1]==resultsBox.currentSortMethod&&resultsBox.pagesOfVideos[parseInt(J[2])-1]){F=true;for(var D=0;D<L.length;D++){if(!L[D].enabled){F=false;break}}if(F){for(var D=0;D<G.length;D++){if(G[D].enabled){F=false;break}}}}if(F){resultsBox.changePage(parseInt(J[2])-1);return}else{for(var D=0;D<L.length;D++){L[D].menuOption.addEnabledStyle();L[D].enabled=true}for(var D=0;D<G.length;D++){G[D].menuOption.removeEnabledStyle();G[D].enabled=false}truveoSearchEngine.updateIsEnabled();filterMenu.updateText()}}var K=J[1];if(K){if(K!="relevance"&&K!="date"&&K!="views"&&K!="rating"){K="relevance"}}else{K="relevance"}sortMenu.updateTo(K,resultsBox.currentTimePeriod);resultsBox.search(C,K)}else{toSplashView()}},function(B){var C="searchTerm="+B[0];if(B[1]){C+="&orderBy="+B[1]}if(B[2]){C+="&page="+(B[2]+1)}if(B[3]){C+="&sites="+B[3]}return C}.bind(this),/searchTerm=([A-Za-z0-9_%'."+]+)(?:&orderBy=([A-Za-z0-9_%]+))?(?:&page=(\d+))?(?:&sites=([A-Za-z0-9_%,]+))?/);HistoryManager.start()});