//MooTools, <http://mootools.net>, My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2008 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

var MooTools={version:"1.2.0",build:""};var Native=function(J){J=J||{};var F=J.afterImplement||function(){};var G=J.generics;G=(G!==false);var H=J.legacy;
var E=J.initialize;var B=J.protect;var A=J.name;var C=E||H;C.constructor=Native;C.$family={name:"native"};if(H&&E){C.prototype=H.prototype;}C.prototype.constructor=C;
if(A){var D=A.toLowerCase();C.prototype.$family={name:D};Native.typize(C,D);}var I=function(M,K,N,L){if(!B||L||!M.prototype[K]){M.prototype[K]=N;}if(G){Native.genericize(M,K,B);
}F.call(M,K,N);return M;};C.implement=function(L,K,N){if(typeof L=="string"){return I(this,L,K,N);}for(var M in L){I(this,M,L[M],K);}return this;};C.alias=function(M,K,N){if(typeof M=="string"){M=this.prototype[M];
if(M){I(this,K,M,N);}}else{for(var L in M){this.alias(L,M[L],K);}}return this;};return C;};Native.implement=function(D,C){for(var B=0,A=D.length;B<A;B++){D[B].implement(C);
}};Native.genericize=function(B,C,A){if((!A||!B[C])&&typeof B.prototype[C]=="function"){B[C]=function(){var D=Array.prototype.slice.call(arguments);return B.prototype[C].apply(D.shift(),D);
};}};Native.typize=function(A,B){if(!A.type){A.type=function(C){return($type(C)===B);};}};Native.alias=function(E,B,A,F){for(var D=0,C=E.length;D<C;D++){E[D].alias(B,A,F);
}};(function(B){for(var A in B){Native.typize(B[A],A);}})({"boolean":Boolean,"native":Native,object:Object});(function(B){for(var A in B){new Native({name:A,initialize:B[A],protect:true});
}})({String:String,Function:Function,Number:Number,Array:Array,RegExp:RegExp,Date:Date});(function(B,A){for(var C=A.length;C--;C){Native.genericize(B,A[C],true);
}return arguments.callee;})(Array,["pop","push","reverse","shift","sort","splice","unshift","concat","join","slice","toString","valueOf","indexOf","lastIndexOf"])(String,["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]);
function $chk(A){return !!(A||A===0);}function $clear(A){clearTimeout(A);clearInterval(A);return null;}function $defined(A){return(A!=undefined);}function $empty(){}function $arguments(A){return function(){return arguments[A];
};}function $lambda(A){return(typeof A=="function")?A:function(){return A;};}function $extend(C,A){for(var B in (A||{})){C[B]=A[B];}return C;}function $unlink(C){var B;
switch($type(C)){case"object":B={};for(var E in C){B[E]=$unlink(C[E]);}break;case"hash":B=$unlink(C.getClean());break;case"array":B=[];for(var D=0,A=C.length;
D<A;D++){B[D]=$unlink(C[D]);}break;default:return C;}return B;}function $merge(){var E={};for(var D=0,A=arguments.length;D<A;D++){var B=arguments[D];if($type(B)!="object"){continue;
}for(var C in B){var G=B[C],F=E[C];E[C]=(F&&$type(G)=="object"&&$type(F)=="object")?$merge(F,G):$unlink(G);}}return E;}function $pick(){for(var B=0,A=arguments.length;
B<A;B++){if(arguments[B]!=undefined){return arguments[B];}}return null;}function $random(B,A){return Math.floor(Math.random()*(A-B+1)+B);}function $splat(B){var A=$type(B);
return(A)?((A!="array"&&A!="arguments")?[B]:B):[];}var $time=Date.now||function(){return new Date().getTime();};function $try(){for(var B=0,A=arguments.length;
B<A;B++){try{return arguments[B]();}catch(C){}}return null;}function $type(A){if(A==undefined){return false;}if(A.$family){return(A.$family.name=="number"&&!isFinite(A))?false:A.$family.name;
}if(A.nodeName){switch(A.nodeType){case 1:return"element";case 3:return(/\S/).test(A.nodeValue)?"textnode":"whitespace";}}else{if(typeof A.length=="number"){if(A.callee){return"arguments";
}else{if(A.item){return"collection";}}}}return typeof A;}var Hash=new Native({name:"Hash",initialize:function(A){if($type(A)=="hash"){A=$unlink(A.getClean());
}for(var B in A){this[B]=A[B];}return this;}});Hash.implement({getLength:function(){var B=0;for(var A in this){if(this.hasOwnProperty(A)){B++;}}return B;
},forEach:function(B,C){for(var A in this){if(this.hasOwnProperty(A)){B.call(C,this[A],A,this);}}},getClean:function(){var B={};for(var A in this){if(this.hasOwnProperty(A)){B[A]=this[A];
}}return B;}});Hash.alias("forEach","each");function $H(A){return new Hash(A);}Array.implement({forEach:function(C,D){for(var B=0,A=this.length;B<A;B++){C.call(D,this[B],B,this);
}}});Array.alias("forEach","each");function $A(C){if(C.item){var D=[];for(var B=0,A=C.length;B<A;B++){D[B]=C[B];}return D;}return Array.prototype.slice.call(C);
}function $each(C,B,D){var A=$type(C);((A=="arguments"||A=="collection"||A=="array")?Array:Hash).each(C,B,D);}var Browser=new Hash({Engine:{name:"unknown",version:""},Platform:{name:(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime)},Plugins:{}});
if(window.opera){Browser.Engine={name:"presto",version:(document.getElementsByClassName)?950:925};}else{if(window.ActiveXObject){Browser.Engine={name:"trident",version:(window.XMLHttpRequest)?5:4};
}else{if(!navigator.taintEnabled){Browser.Engine={name:"webkit",version:(Browser.Features.xpath)?420:419};}else{if(document.getBoxObjectFor!=null){Browser.Engine={name:"gecko",version:(document.getElementsByClassName)?19:18};
}}}}Browser.Engine[Browser.Engine.name]=Browser.Engine[Browser.Engine.name+Browser.Engine.version]=true;if(window.orientation!=undefined){Browser.Platform.name="ipod";
}Browser.Platform[Browser.Platform.name]=true;Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject("MSXML2.XMLHTTP");
});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var A=($try(function(){return navigator.plugins["Shockwave Flash"].description;
},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");})||"0 r0").match(/\d+/g);return{version:parseInt(A[0]||0+"."+A[1]||0),build:parseInt(A[2]||0)};
})();function $exec(B){if(!B){return B;}if(window.execScript){window.execScript(B);}else{var A=document.createElement("script");A.setAttribute("type","text/javascript");
A.text=B;document.head.appendChild(A);document.head.removeChild(A);}return B;}Native.UID=1;var $uid=(Browser.Engine.trident)?function(A){return(A.uid||(A.uid=[Native.UID++]))[0];
}:function(A){return A.uid||(A.uid=Native.UID++);};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(A){$uid(A);
if(!A.Element){A.Element=$empty;if(Browser.Engine.webkit){A.document.createElement("iframe");}A.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};
}return $extend(A,Window.Prototype);},afterImplement:function(B,A){window[B]=Window.Prototype[B]=A;}});Window.Prototype={$family:{name:"window"}};new Window(window);
var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(A){$uid(A);A.head=A.getElementsByTagName("head")[0];
A.html=A.getElementsByTagName("html")[0];A.window=A.defaultView||A.parentWindow;if(Browser.Engine.trident4){$try(function(){A.execCommand("BackgroundImageCache",false,true);
});}return $extend(A,Document.Prototype);},afterImplement:function(B,A){document[B]=Document.Prototype[B]=A;}});Document.Prototype={$family:{name:"document"}};
new Document(document);Array.implement({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;
},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;},clean:function(){return this.filter($defined);
},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;},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;},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;},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;},link:function(C){var A={};
for(var E=0,B=this.length;E<B;E++){for(var D in C){if(C[D](this[E])){A[D]=this[E];delete C[D];break;}}}return A;},contains:function(A,B){return this.indexOf(A,B)!=-1;
},extend:function(C){for(var B=0,A=C.length;B<A;B++){this.push(C[B]);}return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;
},include:function(A){if(!this.contains(A)){this.push(A);}return this;},combine:function(C){for(var B=0,A=C.length;B<A;B++){this.include(C[B]);}return this;
},erase:function(B){for(var A=this.length;A--;A){if(this[A]===B){this.splice(A,1);}}return this;},empty:function(){this.length=0;return this;},flatten:function(){var D=[];
for(var B=0,A=this.length;B<A;B++){var C=$type(this[B]);if(!C){continue;}D=D.concat((C=="array"||C=="collection"||C=="arguments")?Array.flatten(this[B]):this[B]);
}return D;},hexToRgb:function(B){if(this.length!=3){return null;}var A=this.map(function(C){if(C.length==1){C+=C;}return C.toInt(16);});return(B)?A:"rgb("+A+")";
},rgbToHex:function(D){if(this.length<3){return null;}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("");}});Function.implement({extend:function(A){for(var B in A){this[B]=A[B];}return this;},create:function(B){var A=this;
B=B||{};return function(D){var C=B.arguments;C=(C!=undefined)?$splat(C):Array.slice(arguments,(B.event)?1:0);if(B.event){C=[D||window.event].extend(C);
}var E=function(){return A.apply(B.bind||null,C);};if(B.delay){return setTimeout(E,B.delay);}if(B.periodical){return setInterval(E,B.periodical);}if(B.attempt){return $try(E);
}return E();};},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});},bindWithEvent: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})();},run:function(A,B){return this.apply(B,$splat(A));}});Number.implement({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,C){for(var A=0;A<this;A++){B.call(C,A,this);}},toFloat:function(){return parseFloat(this);
},toInt:function(A){return parseInt(this,A||10);}});Number.alias("times","each");(function(B){var A={};B.each(function(C){if(!Number[C]){A[C]=function(){return Math[C].apply(null,[this].concat($A(arguments)));
};}});Number.implement(A);})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(A,B){return((typeof A=="string")?new RegExp(A,B):A).test(this);
},contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.indexOf(A)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();
},camelCase:function(){return this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(A){return("-"+A.charAt(0).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(A){return A.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");
},toInt:function(A){return parseInt(this,A||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(B){var A=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(A)?A.slice(1).hexToRgb(B):null;},rgbToHex:function(B){var A=this.match(/\d{1,3}/g);return(A)?A.rgbToHex(B):null;},stripScripts:function(B){var A="";
var C=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){A+=arguments[1]+"\n";return"";});if(B===true){$exec(A);}else{if($type(B)=="function"){B(A,C);
}}return C;},substitute:function(A,B){return this.replace(B||(/\\?\{([^}]+)\}/g),function(D,C){if(D.charAt(0)=="\\"){return D.slice(1);}return(A[C]!=undefined)?A[C]:"";
});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(B){for(var A in this){if(this.hasOwnProperty(A)&&this[A]===B){return A;}}return null;
},hasValue:function(A){return(Hash.keyOf(this,A)!==null);},extend:function(A){Hash.each(A,function(C,B){Hash.set(this,B,C);},this);return this;},combine:function(A){Hash.each(A,function(C,B){Hash.include(this,B,C);
},this);return this;},erase:function(A){if(this.hasOwnProperty(A)){delete this[A];}return this;},get:function(A){return(this.hasOwnProperty(A))?this[A]:null;
},set:function(A,B){if(!this[A]||this.hasOwnProperty(A)){this[A]=B;}return this;},empty:function(){Hash.each(this,function(B,A){delete this[A];},this);
return this;},include:function(B,C){var A=this[B];if(A==undefined){this[B]=C;}return this;},map:function(B,C){var A=new Hash;Hash.each(this,function(E,D){A.set(D,B.call(C,E,D,this));
},this);return A;},filter:function(B,C){var A=new Hash;Hash.each(this,function(E,D){if(B.call(C,E,D,this)){A.set(D,E);}},this);return A;},every:function(B,C){for(var A in this){if(this.hasOwnProperty(A)&&!B.call(C,this[A],A)){return false;
}}return true;},some:function(B,C){for(var A in this){if(this.hasOwnProperty(A)&&B.call(C,this[A],A)){return true;}}return false;},getKeys:function(){var A=[];
Hash.each(this,function(C,B){A.push(B);});return A;},getValues:function(){var A=[];Hash.each(this,function(B){A.push(B);});return A;},toQueryString:function(A){var B=[];
Hash.each(this,function(F,E){if(A){E=A+"["+E+"]";}var D;switch($type(F)){case"object":D=Hash.toQueryString(F,E);break;case"array":var C={};F.each(function(H,G){C[G]=H;
});D=Hash.toQueryString(C,E);break;default:D=E+"="+encodeURIComponent(F);}if(F!=undefined){B.push(D);}});return B.join("&");}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});
var Event=new Native({name:"Event",initialize:function(A,F){F=F||window;var K=F.document;A=A||F.event;if(A.$extended){return A;}this.$extended=true;var J=A.type;
var G=A.target||A.srcElement;while(G&&G.nodeType==3){G=G.parentNode;}if(J.test(/key/)){var B=A.which||A.keyCode;var M=Event.Keys.keyOf(B);if(J=="keydown"){var D=B-111;
if(D>0&&D<13){M="f"+D;}}M=M||String.fromCharCode(B).toLowerCase();}else{if(J.match(/(click|mouse|menu)/i)){K=(!K.compatMode||K.compatMode=="CSS1Compat")?K.html:K.body;
var I={x:A.pageX||A.clientX+K.scrollLeft,y:A.pageY||A.clientY+K.scrollTop};var C={x:(A.pageX)?A.pageX-F.pageXOffset:A.clientX,y:(A.pageY)?A.pageY-F.pageYOffset:A.clientY};
if(J.match(/DOMMouseScroll|mousewheel/)){var H=(A.wheelDelta)?A.wheelDelta/120:-(A.detail||0)/3;}var E=(A.which==3)||(A.button==2);var L=null;if(J.match(/over|out/)){switch(J){case"mouseover":L=A.relatedTarget||A.fromElement;
break;case"mouseout":L=A.relatedTarget||A.toElement;}if(!(function(){while(L&&L.nodeType==3){L=L.parentNode;}return true;}).create({attempt:Browser.Engine.gecko})()){L=false;
}}}}return $extend(this,{event:A,type:J,page:I,client:C,rightClick:E,wheel:H,relatedTarget:L,target:G,code:B,key:M,shift:A.shiftKey,control:A.ctrlKey,alt:A.altKey,meta:A.metaKey});
}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Event.implement({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;}});var Class=new Native({name:"Class",initialize:function(B){B=B||{};var A=function(E){for(var D in this){this[D]=$unlink(this[D]);
}for(var F in Class.Mutators){if(!this[F]){continue;}Class.Mutators[F](this,this[F]);delete this[F];}this.constructor=A;if(E===$empty){return this;}var C=(this.initialize)?this.initialize.apply(this,arguments):this;
if(this.options&&this.options.initialize){this.options.initialize.call(this);}return C;};$extend(A,this);A.constructor=Class;A.prototype=B;return A;}});
Class.implement({implement:function(){Class.Mutators.Implements(this.prototype,Array.slice(arguments));return this;}});Class.Mutators={Implements:function(A,B){$splat(B).each(function(C){$extend(A,($type(C)=="class")?new C($empty):C);
});},Extends:function(self,klass){var instance=new klass($empty);delete instance.parent;delete instance.parentOf;for(var key in instance){var current=self[key],previous=instance[key];
if(current==undefined){self[key]=previous;continue;}var ctype=$type(current),ptype=$type(previous);if(ctype!=ptype){continue;}switch(ctype){case"function":if(!arguments.callee.caller){self[key]=eval("("+String(current).replace(/\bthis\.parent\(\s*(\))?/g,function(full,close){return"arguments.callee._parent_.call(this"+(close||", ");
})+")");}self[key]._parent_=previous;break;case"object":self[key]=$merge(previous,current);}}self.parent=function(){return arguments.callee.caller._parent_.apply(this,arguments);
};self.parentOf=function(descendant){return descendant._parent_.apply(this,Array.slice(arguments,1));};}};var Chain=new Class({chain:function(){this.$chain=(this.$chain||[]).extend(arguments);
return this;},callChain:function(){return(this.$chain&&this.$chain.length)?this.$chain.shift().apply(this,arguments):false;},clearChain:function(){if(this.$chain){this.$chain.empty();
}return this;}});var Events=new Class({addEvent:function(C,B,A){C=Events.removeOn(C);if(B!=$empty){this.$events=this.$events||{};this.$events[C]=this.$events[C]||[];
this.$events[C].include(B);if(A){B.internal=true;}}return this;},addEvents:function(A){for(var B in A){this.addEvent(B,A[B]);}return this;},fireEvent:function(C,B,A){C=Events.removeOn(C);
if(!this.$events||!this.$events[C]){return this;}this.$events[C].each(function(D){D.create({bind:this,delay:A,"arguments":B})();},this);return this;},removeEvent:function(B,A){B=Events.removeOn(B);
if(!this.$events||!this.$events[B]){return this;}if(!A.internal){this.$events[B].erase(A);}return this;},removeEvents:function(C){for(var D in this.$events){if(C&&C!=D){continue;
}var B=this.$events[D];for(var A=B.length;A--;A){this.removeEvent(D,B[A]);}}return this;}});Events.removeOn=function(A){return A.replace(/^on([A-Z])/,function(B,C){return C.toLowerCase();
});};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent){return this;}for(var A in this.options){if($type(this.options[A])!="function"||!(/^on[A-Z]/).test(A)){continue;
}this.addEvent(A,this.options[A]);delete this.options[A];}return this;}});Document.implement({newElement:function(A,B){if(Browser.Engine.trident&&B){["name","type","checked"].each(function(C){if(!B[C]){return ;
}A+=" "+C+'="'+B[C]+'"';if(C!="checked"){delete B[C];}});A="<"+A+">";}return $.element(this.createElement(A)).set(B);},newTextNode:function(A){return this.createTextNode(A);
},getDocument:function(){return this;},getWindow:function(){return this.defaultView||this.parentWindow;},purge:function(){var C=this.getElementsByTagName("*");
for(var B=0,A=C.length;B<A;B++){Browser.freeMem(C[B]);}}});var Element=new Native({name:"Element",legacy:window.Element,initialize:function(A,B){var C=Element.Constructors.get(A);
if(C){return C(B);}if(typeof A=="string"){return document.newElement(A,B);}return $(A).set(B);},afterImplement:function(A,B){if(!Array[A]){Elements.implement(A,Elements.multi(A));
}Element.Prototype[A]=B;}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var E=Array.link(arguments,{properties:Object.type,iframe:$defined});
var C=E.properties||{};var B=$(E.iframe)||false;var D=C.onload||$empty;delete C.onload;C.id=C.name=$pick(C.id,C.name,B.id,B.name,"IFrame_"+$time());B=new Element(B||"iframe",C);
var A=function(){var F=$try(function(){return B.contentWindow.location.host;});if(F&&F==window.location.host){var H=new Window(B.contentWindow);var G=new Document(B.contentWindow.document);
$extend(H.Element.prototype,Element.Prototype);}D.call(B.contentWindow,B.contentWindow.document);};(!window.frames[C.id])?B.addListener("load",A):A();return B;
}});var Elements=new Native({initialize:function(F,B){B=$extend({ddup:true,cash:true},B);F=F||[];if(B.ddup||B.cash){var G={},E=[];for(var C=0,A=F.length;
C<A;C++){var D=$.element(F[C],!B.cash);if(B.ddup){if(G[D.uid]){continue;}G[D.uid]=true;}E.push(D);}F=E;}return(B.cash)?$extend(F,this):F;}});Elements.implement({filter:function(A,B){if(!A){return this;
}return new Elements(Array.filter(this,(typeof A=="string")?function(C){return C.match(A);}:A,B));}});Elements.multi=function(A){return function(){var B=[];
var F=true;for(var D=0,C=this.length;D<C;D++){var E=this[D][A].apply(this[D],arguments);B.push(E);if(F){F=($type(E)=="element");}}return(F)?new Elements(B):B;
};};Window.implement({$:function(B,C){if(B&&B.$family&&B.uid){return B;}var A=$type(B);return($[A])?$[A](B,C,this.document):null;},$$:function(A){if(arguments.length==1&&typeof A=="string"){return this.document.getElements(A);
}var F=[];var C=Array.flatten(arguments);for(var D=0,B=C.length;D<B;D++){var E=C[D];switch($type(E)){case"element":E=[E];break;case"string":E=this.document.getElements(E,true);
break;default:E=false;}if(E){F.extend(E);}}return new Elements(F);},getDocument:function(){return this.document;},getWindow:function(){return this;}});
$.string=function(C,B,A){C=A.getElementById(C);return(C)?$.element(C,B):null;};$.element=function(A,D){$uid(A);if(!D&&!A.$family&&!(/^object|embed$/i).test(A.tagName)){var B=Element.Prototype;
for(var C in B){A[C]=B[C];}}return A;};$.object=function(B,C,A){if(B.toElement){return $.element(B.toElement(A),C);}return null;};$.textnode=$.whitespace=$.window=$.document=$arguments(0);
Native.implement([Element,Document],{getElement:function(A,B){return $(this.getElements(A,true)[0]||null,B);},getElements:function(A,D){A=A.split(",");
var C=[];var B=(A.length>1);A.each(function(E){var F=this.getElementsByTagName(E.trim());(B)?C.extend(F):C=F;},this);return new Elements(C,{ddup:B,cash:!D});
}});Element.Storage={get:function(A){return(this[A]||(this[A]={}));}};Element.Inserters=new Hash({before:function(B,A){if(A.parentNode){A.parentNode.insertBefore(B,A);
}},after:function(B,A){if(!A.parentNode){return ;}var C=A.nextSibling;(C)?A.parentNode.insertBefore(B,C):A.parentNode.appendChild(B);},bottom:function(B,A){A.appendChild(B);
},top:function(B,A){var C=A.firstChild;(C)?A.insertBefore(B,C):A.appendChild(B);}});Element.Inserters.inside=Element.Inserters.bottom;Element.Inserters.each(function(C,B){var A=B.capitalize();
Element.implement("inject"+A,function(D){C(this,$(D,true));return this;});Element.implement("grab"+A,function(D){C($(D,true),this);return this;});});Element.implement({getDocument:function(){return this.ownerDocument;
},getWindow:function(){return this.ownerDocument.getWindow();},getElementById:function(D,C){var B=this.ownerDocument.getElementById(D);if(!B){return null;
}for(var A=B.parentNode;A!=this;A=A.parentNode){if(!A){return null;}}return $.element(B,C);},set:function(D,B){switch($type(D)){case"object":for(var C in D){this.set(C,D[C]);
}break;case"string":var A=Element.Properties.get(D);(A&&A.set)?A.set.apply(this,Array.slice(arguments,1)):this.setProperty(D,B);}return this;},get:function(B){var A=Element.Properties.get(B);
return(A&&A.get)?A.get.apply(this,Array.slice(arguments,1)):this.getProperty(B);},erase:function(B){var A=Element.Properties.get(B);(A&&A.erase)?A.erase.apply(this,Array.slice(arguments,1)):this.removeProperty(B);
return this;},match:function(A){return(!A||Element.get(this,"tag")==A);},inject:function(B,A){Element.Inserters.get(A||"bottom")(this,$(B,true));return this;
},wraps:function(B,A){B=$(B,true);return this.replaces(B).grab(B,A);},grab:function(B,A){Element.Inserters.get(A||"bottom")($(B,true),this);return this;
},appendText:function(B,A){return this.grab(this.getDocument().newTextNode(B),A);},adopt:function(){Array.flatten(arguments).each(function(A){A=$(A,true);
if(A){this.appendChild(A);}},this);return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;},clone:function(D,C){switch($type(this)){case"element":var H={};
for(var G=0,E=this.attributes.length;G<E;G++){var B=this.attributes[G],L=B.nodeName.toLowerCase();if(Browser.Engine.trident&&(/input/i).test(this.tagName)&&(/width|height/).test(L)){continue;
}var K=(L=="style"&&this.style)?this.style.cssText:B.nodeValue;if(!$chk(K)||L=="uid"||(L=="id"&&!C)){continue;}if(K!="inherit"&&["string","number"].contains($type(K))){H[L]=K;
}}var J=new Element(this.nodeName.toLowerCase(),H);if(D!==false){for(var I=0,F=this.childNodes.length;I<F;I++){var A=Element.clone(this.childNodes[I],true,C);
if(A){J.grab(A);}}}return J;case"textnode":return document.newTextNode(this.nodeValue);}return null;},replaces:function(A){A=$(A,true);A.parentNode.replaceChild(this,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);
},getComputedStyle:function(B){if(this.currentStyle){return this.currentStyle[B.camelCase()];}var A=this.getWindow().getComputedStyle(this,null);return(A)?A.getPropertyValue([B.hyphenate()]):null;
},empty:function(){$A(this.childNodes).each(function(A){Browser.freeMem(A);Element.empty(A);Element.dispose(A);},this);return this;},destroy:function(){Browser.freeMem(this.empty().dispose());
return null;},getSelected:function(){return new Elements($A(this.options).filter(function(A){return A.selected;}));},toQueryString:function(){var A=[];
this.getElements("input, select, textarea").each(function(B){if(!B.name||B.disabled){return ;}var C=(B.tagName.toLowerCase()=="select")?Element.getSelected(B).map(function(D){return D.value;
}):((B.type=="radio"||B.type=="checkbox")&&!B.checked)?null:B.value;$splat(C).each(function(D){if(D){A.push(B.name+"="+encodeURIComponent(D));}});});return A.join("&");
},getProperty:function(C){var B=Element.Attributes,A=B.Props[C];var D=(A)?this[A]:this.getAttribute(C,2);return(B.Bools[C])?!!D:(A)?D:D||null;},getProperties:function(){var A=$A(arguments);
return A.map(function(B){return this.getProperty(B);},this).associate(A);},setProperty:function(D,E){var C=Element.Attributes,B=C.Props[D],A=$defined(E);
if(B&&C.Bools[D]){E=(E||!A)?true:false;}else{if(!A){return this.removeProperty(D);}}(B)?this[B]=E:this.setAttribute(D,E);return this;},setProperties:function(A){for(var B in A){this.setProperty(B,A[B]);
}return this;},removeProperty:function(D){var C=Element.Attributes,B=C.Props[D],A=(B&&C.Bools[D]);(B)?this[B]=(A)?false:"":this.removeAttribute(D);return this;
},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;}});(function(){var A=function(D,B,I,C,F,H){var E=D[I||B];var G=[];
while(E){if(E.nodeType==1&&(!C||Element.match(E,C))){G.push(E);if(!F){break;}}E=E[B];}return(F)?new Elements(G,{ddup:false,cash:!H}):$(G[0],H);};Element.implement({getPrevious:function(B,C){return A(this,"previousSibling",null,B,false,C);
},getAllPrevious:function(B,C){return A(this,"previousSibling",null,B,true,C);},getNext:function(B,C){return A(this,"nextSibling",null,B,false,C);},getAllNext:function(B,C){return A(this,"nextSibling",null,B,true,C);
},getFirst:function(B,C){return A(this,"nextSibling","firstChild",B,false,C);},getLast:function(B,C){return A(this,"previousSibling","lastChild",B,false,C);
},getParent:function(B,C){return A(this,"parentNode",null,B,false,C);},getParents:function(B,C){return A(this,"parentNode",null,B,true,C);},getChildren:function(B,C){return A(this,"nextSibling","firstChild",B,true,C);
},hasChild:function(B){B=$(B,true);return(!!B&&$A(this.getElementsByTagName(B.tagName)).contains(B));}});})();Element.Properties=new Hash;Element.Properties.style={set:function(A){this.style.cssText=A;
},get:function(){return this.style.cssText;},erase:function(){this.style.cssText="";}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();
}};Element.Properties.href={get:function(){return(!this.href)?null:this.href.replace(new RegExp("^"+document.location.protocol+"//"+document.location.host),"");
}};Element.Properties.html={set:function(){return this.innerHTML=Array.flatten(arguments).join("");}};Native.implement([Element,Window,Document],{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;},retrieve:function(B,A){var D=Element.Storage.get(this.uid);var C=D[B];if($defined(A)&&!$defined(C)){C=D[B]=A;}return $pick(C);},store:function(B,A){var C=Element.Storage.get(this.uid);
C[B]=A;return this;},eliminate:function(A){var B=Element.Storage.get(this.uid);delete B[A];return this;}});Element.Attributes=new Hash({Props:{html:"innerHTML","class":"className","for":"htmlFor",text:(Browser.Engine.trident)?"innerText":"textContent"},Bools:["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"],Camels:["value","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"]});
Browser.freeMem=function(A){if(!A){return ;}if(Browser.Engine.trident&&(/object/i).test(A.tagName)){for(var B in A){if(typeof A[B]=="function"){A[B]=$empty;
}}Element.dispose(A);}if(A.uid&&A.removeEvents){A.removeEvents();}};(function(B){var C=B.Bools,A=B.Camels;B.Bools=C=C.associate(C);Hash.extend(Hash.combine(B.Props,C),A.associate(A.map(function(D){return D.toLowerCase();
})));B.erase("Camels");})(Element.Attributes);window.addListener("unload",function(){window.removeListener("unload",arguments.callee);document.purge();
if(Browser.Engine.trident){CollectGarbage();}});Element.Properties.events={set:function(A){this.addEvents(A);}};Native.implement([Element,Window,Document],{addEvent:function(E,G){var H=this.retrieve("events",{});
H[E]=H[E]||{keys:[],values:[]};if(H[E].keys.contains(G)){return this;}H[E].keys.push(G);var F=E,A=Element.Events.get(E),C=G,I=this;if(A){if(A.onAdd){A.onAdd.call(this,G);
}if(A.condition){C=function(J){if(A.condition.call(this,J)){return G.call(this,J);}return false;};}F=A.base||F;}var D=function(){return G.call(I);};var B=Element.NativeEvents[F]||0;
if(B){if(B==2){D=function(J){J=new Event(J,I.getWindow());if(C.call(I,J)===false){J.stop();}};}this.addListener(F,D);}H[E].values.push(D);return this;},removeEvent:function(D,C){var B=this.retrieve("events");
if(!B||!B[D]){return this;}var G=B[D].keys.indexOf(C);if(G==-1){return this;}var A=B[D].keys.splice(G,1)[0];var F=B[D].values.splice(G,1)[0];var E=Element.Events.get(D);
if(E){if(E.onRemove){E.onRemove.call(this,C);}D=E.base||D;}return(Element.NativeEvents[D])?this.removeListener(D,F):this;},addEvents:function(A){for(var B in A){this.addEvent(B,A[B]);
}return this;},removeEvents:function(B){var A=this.retrieve("events");if(!A){return this;}if(!B){for(var C in A){this.removeEvents(C);}A=null;}else{if(A[B]){while(A[B].keys[0]){this.removeEvent(B,A[B].keys[0]);
}A[B]=null;}}return this;},fireEvent:function(D,B,A){var C=this.retrieve("events");if(!C||!C[D]){return this;}C[D].keys.each(function(E){E.create({bind:this,delay:A,"arguments":B})();
},this);return this;},cloneEvents:function(D,A){D=$(D);var C=D.retrieve("events");if(!C){return this;}if(!A){for(var B in C){this.cloneEvents(D,B);}}else{if(C[A]){C[A].keys.each(function(E){this.addEvent(A,E);
},this);}}return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};
(function(){var A=function(B){var C=B.relatedTarget;if(C==undefined){return true;}if(C===false){return false;}return($type(this)!="document"&&C!=this&&C.prefix!="xul"&&!this.hasChild(C));
};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:A},mouseleave:{base:"mouseout",condition:A},mousewheel:{base:(Browser.Engine.gecko)?"DOMMouseScroll":"mousewheel"}});
})();Element.Properties.styles={set:function(A){this.setStyles(A);}};Element.Properties.opacity={set:function(A,B){if(!B){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(Browser.Engine.trident){this.style.filter=(A==1)?"":"alpha(opacity="+A*100+")";
}this.style.opacity=A;this.store("opacity",A);},get:function(){return this.retrieve("opacity",1);}};Element.implement({setOpacity:function(A){return this.set("opacity",A,true);
},getOpacity:function(){return this.get("opacity");},setStyle:function(B,A){switch(B){case"opacity":return this.set("opacity",parseFloat(A));case"float":B=(Browser.Engine.trident)?"styleFloat":"cssFloat";
}B=B.camelCase();if($type(A)!="string"){var C=(Element.Styles.get(B)||"@").split(" ");A=$splat(A).map(function(E,D){if(!C[D]){return"";}return($type(E)=="number")?C[D].replace("@",Math.round(E)):E;
}).join(" ");}else{if(A==String(Number(A))){A=Math.round(A);}}this.style[B]=A;return this;},getStyle:function(G){switch(G){case"opacity":return this.get("opacity");
case"float":G=(Browser.Engine.trident)?"styleFloat":"cssFloat";}G=G.camelCase();var A=this.style[G];if(!$chk(A)){A=[];for(var F in Element.ShortStyles){if(G!=F){continue;
}for(var E in Element.ShortStyles[F]){A.push(this.getStyle(E));}return A.join(" ");}A=this.getComputedStyle(G);}if(A){A=String(A);var C=A.match(/rgba?\([\d\s,]+\)/);
if(C){A=A.replace(C[0],C[0].rgbToHex());}}if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(A)))){if(G.test(/^(height|width)$/)){var B=(G=="width")?["left","right"]:["top","bottom"],D=0;
B.each(function(H){D+=this.getStyle("border-"+H+"-width").toInt()+this.getStyle("padding-"+H).toInt();},this);return this["offset"+G.capitalize()]-D+"px";
}if(Browser.Engine.presto&&String(A).test("px")){return A;}if(G.test(/(border(.+)Width|margin|padding)/)){return"0px";}}return A;},setStyles:function(B){for(var A in B){this.setStyle(A,B[A]);
}return this;},getStyles:function(){var A={};Array.each(arguments,function(B){A[B]=this.getStyle(B);},this);return A;}});Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});
Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(G){var F=Element.ShortStyles;
var B=Element.Styles;["margin","padding"].each(function(H){var I=H+G;F[H][I]=B[I]="@px";});var E="border"+G;F.border[E]=B[E]="@px @ rgb(@, @, @)";var D=E+"Width",A=E+"Style",C=E+"Color";
F[E]={};F.borderWidth[D]=F[E][D]=B[D]="@px";F.borderStyle[A]=F[E][A]=B[A]="@";F.borderColor[C]=F[E][C]=B[C]="rgb(@, @, @)";});(function(){Element.implement({scrollTo:function(H,I){if(B(this)){this.getWindow().scrollTo(H,I);
}else{this.scrollLeft=H;this.scrollTop=I;}return this;},getSize:function(){if(B(this)){return this.getWindow().getSize();}return{x:this.offsetWidth,y:this.offsetHeight};
},getScrollSize:function(){if(B(this)){return this.getWindow().getScrollSize();}return{x:this.scrollWidth,y:this.scrollHeight};},getScroll:function(){if(B(this)){return this.getWindow().getScroll();
}return{x:this.scrollLeft,y:this.scrollTop};},getScrolls:function(){var I=this,H={x:0,y:0};while(I&&!B(I)){H.x+=I.scrollLeft;H.y+=I.scrollTop;I=I.parentNode;
}return H;},getOffsetParent:function(){var H=this;if(B(H)){return null;}if(!Browser.Engine.trident){return H.offsetParent;}while((H=H.parentNode)&&!B(H)){if(D(H,"position")!="static"){return H;
}}return null;},getOffsets:function(){var I=this,H={x:0,y:0};if(B(this)){return H;}while(I&&!B(I)){H.x+=I.offsetLeft;H.y+=I.offsetTop;if(Browser.Engine.gecko){if(!F(I)){H.x+=C(I);
H.y+=G(I);}var J=I.parentNode;if(J&&D(J,"overflow")!="visible"){H.x+=C(J);H.y+=G(J);}}else{if(I!=this&&(Browser.Engine.trident||Browser.Engine.webkit)){H.x+=C(I);
H.y+=G(I);}}I=I.offsetParent;if(Browser.Engine.trident){while(I&&!I.currentStyle.hasLayout){I=I.offsetParent;}}}if(Browser.Engine.gecko&&!F(this)){H.x-=C(this);
H.y-=G(this);}return H;},getPosition:function(K){if(B(this)){return{x:0,y:0};}var L=this.getOffsets(),I=this.getScrolls();var H={x:L.x-I.x,y:L.y-I.y};var J=(K&&(K=$(K)))?K.getPosition():{x:0,y:0};
return{x:H.x-J.x,y:H.y-J.y};},getCoordinates:function(J){if(B(this)){return this.getWindow().getCoordinates();}var H=this.getPosition(J),I=this.getSize();
var K={left:H.x,top:H.y,width:I.x,height:I.y};K.right=K.left+K.width;K.bottom=K.top+K.height;return K;},computePosition:function(H){return{left:H.x-E(this,"margin-left"),top:H.y-E(this,"margin-top")};
},position:function(H){return this.setStyles(this.computePosition(H));}});Native.implement([Document,Window],{getSize:function(){var I=this.getWindow();
if(Browser.Engine.presto||Browser.Engine.webkit){return{x:I.innerWidth,y:I.innerHeight};}var H=A(this);return{x:H.clientWidth,y:H.clientHeight};},getScroll:function(){var I=this.getWindow();
var H=A(this);return{x:I.pageXOffset||H.scrollLeft,y:I.pageYOffset||H.scrollTop};},getScrollSize:function(){var I=A(this);var H=this.getSize();return{x:Math.max(I.scrollWidth,H.x),y:Math.max(I.scrollHeight,H.y)};
},getPosition:function(){return{x:0,y:0};},getCoordinates:function(){var H=this.getSize();return{top:0,left:0,bottom:H.y,right:H.x,height:H.y,width:H.x};
}});var D=Element.getComputedStyle;function E(H,I){return D(H,I).toInt()||0;}function F(H){return D(H,"-moz-box-sizing")=="border-box";}function G(H){return E(H,"border-top-width");
}function C(H){return E(H,"border-left-width");}function B(H){return(/^(?:body|html)$/i).test(H.tagName);}function A(H){var I=H.getDocument();return(!I.compatMode||I.compatMode=="CSS1Compat")?I.html:I.body;
}})();Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y;},getWidth:function(){return this.getSize().x;},getScrollTop:function(){return this.getScroll().y;
},getScrollLeft:function(){return this.getScroll().x;},getScrollHeight:function(){return this.getScrollSize().y;},getScrollWidth:function(){return this.getScrollSize().x;
},getTop:function(){return this.getPosition().y;},getLeft:function(){return this.getPosition().x;}});Native.implement([Document,Element],{getElements:function(H,G){H=H.split(",");
var C,E={};for(var D=0,B=H.length;D<B;D++){var A=H[D],F=Selectors.Utils.search(this,A,E);if(D!=0&&F.item){F=$A(F);}C=(D==0)?F:(C.item)?$A(C).concat(F):C.concat(F);
}return new Elements(C,{ddup:(H.length>1),cash:!G});}});Element.implement({match:function(B){if(!B){return true;}var D=Selectors.Utils.parseTagAndID(B);
var A=D[0],E=D[1];if(!Selectors.Filters.byID(this,E)||!Selectors.Filters.byTag(this,A)){return false;}var C=Selectors.Utils.parseSelector(B);return(C)?Selectors.Utils.filter(this,C,{}):true;
}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};
Selectors.Utils={chk:function(B,C){if(!C){return true;}var A=$uid(B);if(!C[A]){return C[A]=true;}return false;},parseNthArgument:function(F){if(Selectors.Cache.nth[F]){return Selectors.Cache.nth[F];
}var C=F.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!C){return false;}var E=parseInt(C[1]);var B=(E||E===0)?E:1;var D=C[2]||false;var A=parseInt(C[3])||0;
if(B!=0){A--;while(A<1){A+=B;}while(A>=B){A-=B;}}else{B=A;D="index";}switch(D){case"n":C={a:B,b:A,special:"n"};break;case"odd":C={a:2,b:0,special:"n"};
break;case"even":C={a:2,b:1,special:"n"};break;case"first":C={a:0,special:"index"};break;case"last":C={special:"last-child"};break;case"only":C={special:"only-child"};
break;default:C={a:(B-1),special:"index"};}return Selectors.Cache.nth[F]=C;},parseSelector:function(E){if(Selectors.Cache.parsed[E]){return Selectors.Cache.parsed[E];
}var D,H={classes:[],pseudos:[],attributes:[]};while((D=Selectors.RegExps.combined.exec(E))){var I=D[1],G=D[2],F=D[3],B=D[4],C=D[5],J=D[6];if(I){H.classes.push(I);
}else{if(C){var A=Selectors.Pseudo.get(C);if(A){H.pseudos.push({parser:A,argument:J});}else{H.attributes.push({name:C,operator:"=",value:J});}}else{if(G){H.attributes.push({name:G,operator:F,value:B});
}}}}if(!H.classes.length){delete H.classes;}if(!H.attributes.length){delete H.attributes;}if(!H.pseudos.length){delete H.pseudos;}if(!H.classes&&!H.attributes&&!H.pseudos){H=null;
}return Selectors.Cache.parsed[E]=H;},parseTagAndID:function(B){var A=B.match(Selectors.RegExps.tag);var C=B.match(Selectors.RegExps.id);return[(A)?A[1]:"*",(C)?C[1]:false];
},filter:function(F,C,E){var D;if(C.classes){for(D=C.classes.length;D--;D){var G=C.classes[D];if(!Selectors.Filters.byClass(F,G)){return false;}}}if(C.attributes){for(D=C.attributes.length;
D--;D){var B=C.attributes[D];if(!Selectors.Filters.byAttribute(F,B.name,B.operator,B.value)){return false;}}}if(C.pseudos){for(D=C.pseudos.length;D--;D){var A=C.pseudos[D];
if(!Selectors.Filters.byPseudo(F,A.parser,A.argument,E)){return false;}}}return true;},getByTagAndID:function(B,A,D){if(D){var C=(B.getElementById)?B.getElementById(D,true):Element.getElementById(B,D,true);
return(C&&Selectors.Filters.byTag(C,A))?[C]:[];}else{return B.getElementsByTagName(A);}},search:function(J,I,O){var B=[];var C=I.trim().replace(Selectors.RegExps.splitter,function(Z,Y,X){B.push(Y);
return":)"+X;}).split(":)");var K,F,E,V;for(var U=0,Q=C.length;U<Q;U++){var T=C[U];if(U==0&&Selectors.RegExps.quick.test(T)){K=J.getElementsByTagName(T);
continue;}var A=B[U-1];var L=Selectors.Utils.parseTagAndID(T);var W=L[0],M=L[1];if(U==0){K=Selectors.Utils.getByTagAndID(J,W,M);}else{var D={},H=[];for(var S=0,R=K.length;
S<R;S++){H=Selectors.Getters[A](H,K[S],W,M,D);}K=H;}var G=Selectors.Utils.parseSelector(T);if(G){E=[];for(var P=0,N=K.length;P<N;P++){V=K[P];if(Selectors.Utils.filter(V,G,O)){E.push(V);
}}K=E;}}return K;}};Selectors.Getters={" ":function(H,G,I,A,E){var D=Selectors.Utils.getByTagAndID(G,I,A);for(var C=0,B=D.length;C<B;C++){var F=D[C];if(Selectors.Utils.chk(F,E)){H.push(F);
}}return H;},">":function(H,G,I,A,F){var C=Selectors.Utils.getByTagAndID(G,I,A);for(var E=0,D=C.length;E<D;E++){var B=C[E];if(B.parentNode==G&&Selectors.Utils.chk(B,F)){H.push(B);
}}return H;},"+":function(C,B,A,E,D){while((B=B.nextSibling)){if(B.nodeType==1){if(Selectors.Utils.chk(B,D)&&Selectors.Filters.byTag(B,A)&&Selectors.Filters.byID(B,E)){C.push(B);
}break;}}return C;},"~":function(C,B,A,E,D){while((B=B.nextSibling)){if(B.nodeType==1){if(!Selectors.Utils.chk(B,D)){break;}if(Selectors.Filters.byTag(B,A)&&Selectors.Filters.byID(B,E)){C.push(B);
}}}return C;}};Selectors.Filters={byTag:function(B,A){return(A=="*"||(B.tagName&&B.tagName.toLowerCase()==A));},byID:function(A,B){return(!B||(A.id&&A.id==B));
},byClass:function(B,A){return(B.className&&B.className.contains(A," "));},byPseudo:function(A,D,C,B){return D.call(A,C,B);},byAttribute:function(C,D,B,E){var A=Element.prototype.getProperty.call(C,D);
if(!A){return false;}if(!B||E==undefined){return true;}switch(B){case"=":return(A==E);case"*=":return(A.contains(E));case"^=":return(A.substr(0,E.length)==E);
case"$=":return(A.substr(A.length-E.length)==E);case"!=":return(A!=E);case"~=":return A.contains(E," ");case"|=":return A.contains(E,"-");}return false;
}};Selectors.Pseudo=new Hash({empty:function(){return !(this.innerText||this.textContent||"").length;},not:function(A){return !Element.match(this,A);},contains:function(A){return(this.innerText||this.textContent||"").contains(A);
},"first-child":function(){return Selectors.Pseudo.index.call(this,0);},"last-child":function(){var A=this;while((A=A.nextSibling)){if(A.nodeType==1){return false;
}}return true;},"only-child":function(){var B=this;while((B=B.previousSibling)){if(B.nodeType==1){return false;}}var A=this;while((A=A.nextSibling)){if(A.nodeType==1){return false;
}}return true;},"nth-child":function(G,E){G=(G==undefined)?"n":G;var C=Selectors.Utils.parseNthArgument(G);if(C.special!="n"){return Selectors.Pseudo[C.special].call(this,C.a,E);
}var F=0;E.positions=E.positions||{};var D=$uid(this);if(!E.positions[D]){var B=this;while((B=B.previousSibling)){if(B.nodeType!=1){continue;}F++;var A=E.positions[$uid(B)];
if(A!=undefined){F=A+F;break;}}E.positions[D]=F;}return(E.positions[D]%C.a==C.b);},index:function(A){var B=this,C=0;while((B=B.previousSibling)){if(B.nodeType==1&&++C>A){return false;
}}return(C==A);},even:function(B,A){return Selectors.Pseudo["nth-child"].call(this,"2n+1",A);},odd:function(B,A){return Selectors.Pseudo["nth-child"].call(this,"2n",A);
}});Element.Events.domready={onAdd:function(A){if(Browser.loaded){A.call(this);}}};(function(){var B=function(){if(Browser.loaded){return ;}Browser.loaded=true;
window.fireEvent("domready");document.fireEvent("domready");};switch(Browser.Engine.name){case"webkit":(function(){(["loaded","complete"].contains(document.readyState))?B():arguments.callee.delay(50);
})();break;case"trident":var A=document.createElement("div");(function(){($try(function(){A.doScroll("left");return $(A).inject(document.body).set("html","temp").dispose();
}))?B():arguments.callee.delay(50);})();break;default:window.addEvent("load",B);document.addEvent("DOMContentLoaded",B);}})();var JSON=new Hash({encode:function(B){switch($type(B)){case"string":return'"'+B.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';
case"array":return"["+String(B.map(JSON.encode).filter($defined))+"]";case"object":case"hash":var A=[];Hash.each(B,function(E,D){var C=JSON.encode(E);if(C){A.push(JSON.encode(D)+":"+C);
}});return"{"+A+"}";case"number":case"boolean":return String(B);case false:return"null";}return null;},$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(A){return JSON.$specialChars[A]||"\\u00"+Math.floor(A.charCodeAt()/16).toString(16)+(A.charCodeAt()%16).toString(16);
},decode:function(string,secure){if($type(string)!="string"||!string.length){return null;}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null;
}return eval("("+string+")");}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this);}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(B,A){this.key=B;
this.setOptions(A);},write:function(B){B=encodeURIComponent(B);if(this.options.domain){B+="; domain="+this.options.domain;}if(this.options.path){B+="; path="+this.options.path;
}if(this.options.duration){var A=new Date();A.setTime(A.getTime()+this.options.duration*24*60*60*1000);B+="; expires="+A.toGMTString();}if(this.options.secure){B+="; secure";
}this.options.document.cookie=this.key+"="+B;return this;},read:function(){var A=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");
return(A)?decodeURIComponent(A[1]):null;},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write("");return this;}});Cookie.write=function(B,C,A){return new Cookie(B,A).write(C);
};Cookie.read=function(A){return new Cookie(A).read();};Cookie.dispose=function(B,A){return new Cookie(B,A).dispose();};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object;
},initialize:function(L,M){this.instance="Swiff_"+$time();this.setOptions(M);M=this.options;var B=this.id=M.id||this.instance;var A=$(M.container);Swiff.CallBacks[this.instance]={};
var E=M.params,G=M.vars,F=M.callBacks;var H=$extend({height:M.height,width:M.width},M.properties);var K=this;for(var D in F){Swiff.CallBacks[this.instance][D]=(function(N){return function(){return N.apply(K.object,arguments);
};})(F[D]);G[D]="Swiff.CallBacks."+this.instance+"."+D;}E.flashVars=Hash.toQueryString(G);if(Browser.Engine.trident){H.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
E.movie=L;}else{H.type="application/x-shockwave-flash";H.data=L;}var J='<object id="'+B+'"';for(var I in H){J+=" "+I+'="'+H[I]+'"';}J+=">";for(var C in E){if(E[C]){J+='<param name="'+C+'" value="'+E[C]+'" />';
}}J+="</object>";this.object=((A)?A.empty():new Element("div")).set("html",J).firstChild;},replaces:function(A){A=$(A,true);A.parentNode.replaceChild(this.toElement(),A);
return this;},inject:function(A){$(A,true).appendChild(this.toElement());return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments));
}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");
return eval(rs);};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore",transition:function(A){return -(Math.cos(Math.PI*A)-1)/2;
}},initialize:function(A){this.subject=this.subject||this;this.setOptions(A);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();
var B=this.options.wait;if(B===false){this.options.link="cancel";}},step:function(){var A=$time();if(A<this.time+this.options.duration){var B=this.options.transition((A-this.time)/this.options.duration);
this.set(this.compute(this.from,this.to,B));}else{this.set(this.compute(this.from,this.to,1));this.complete();}},set:function(A){return A;},compute:function(C,B,A){return Fx.compute(C,B,A);
},check:function(A){if(!this.timer){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(A.bind(this,Array.slice(arguments,1)));
return false;}return false;},start:function(B,A){if(!this.check(arguments.callee,B,A)){return this;}this.from=B;this.to=A;this.time=0;this.startTimer();
this.onStart();return this;},complete:function(){if(this.stopTimer()){this.onComplete();}return this;},cancel:function(){if(this.stopTimer()){this.onCancel();
}return this;},onStart:function(){this.fireEvent("start",this.subject);},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject);
}},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain();},pause:function(){this.stopTimer();return this;},resume:function(){this.startTimer();
return this;},stopTimer:function(){if(!this.timer){return false;}this.time=$time()-this.time;this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer){return false;
}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true;}});Fx.compute=function(C,B,A){return(B-C)*A+C;
};Fx.Durations={"short":250,normal:500,"long":1000};Fx.CSS=new Class({Extends:Fx,prepare:function(D,E,B){B=$splat(B);var C=B[1];if(!$chk(C)){B[1]=B[0];
B[0]=D.getStyle(E);}var A=B.map(this.parse);return{from:A[0],to:A[1]};},parse:function(A){A=$lambda(A)();A=(typeof A=="string")?A.split(" "):$splat(A);
return A.map(function(C){C=String(C);var B=false;Fx.CSS.Parsers.each(function(F,E){if(B){return ;}var D=F.parse(C);if($chk(D)){B={value:D,parser:F};}});
B=B||{value:C,parser:Fx.CSS.Parsers.String};return B;});},compute:function(D,C,B){var A=[];(Math.min(D.length,C.length)).times(function(E){A.push({value:D[E].parser.compute(D[E].value,C[E].value,B),parser:D[E].parser});
});A.$family={name:"fx:css:value"};return A;},serve:function(C,B){if($type(C)!="fx:css:value"){C=this.parse(C);}var A=[];C.each(function(D){A=A.concat(D.parser.serve(D.value,B));
});return A;},render:function(A,D,C,B){A.setStyle(D,this.serve(C,B));},search:function(A){if(Fx.CSS.Cache[A]){return Fx.CSS.Cache[A];}var B={};Array.each(document.styleSheets,function(E,D){var C=E.href;
if(C&&C.contains("://")&&!C.contains(document.domain)){return ;}var F=E.rules||E.cssRules;Array.each(F,function(I,G){if(!I.style){return ;}var H=(I.selectorText)?I.selectorText.replace(/^\w+/,function(J){return J.toLowerCase();
}):null;if(!H||!H.test("^"+A+"$")){return ;}Element.Styles.each(function(K,J){if(!I.style[J]||Element.ShortStyles[J]){return ;}K=String(I.style[J]);B[J]=(K.test(/^rgb/))?K.rgbToHex():K;
});});});return Fx.CSS.Cache[A]=B;}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(A){if(A.match(/^#[0-9a-f]{3,6}$/i)){return A.hexToRgb(true);
}return((A=A.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[A[1],A[2],A[3]]:false;},compute:function(C,B,A){return C.map(function(E,D){return Math.round(Fx.compute(C[D],B[D],A));
});},serve:function(A){return A.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(B,A){return(A)?B+A:B;}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});
Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(B,A){this.element=this.subject=$(B);this.parent(A);},set:function(B,A){if(arguments.length==1){A=B;
B=this.property||this.options.property;}this.render(this.element,B,A,this.options.unit);return this;},start:function(C,E,D){if(!this.check(arguments.callee,C,E,D)){return this;
}var B=Array.flatten(arguments);this.property=this.options.property||B.shift();var A=this.prepare(this.element,this.property,B);return this.parent(A.from,A.to);
}});Element.Properties.tween={set:function(A){var B=this.retrieve("tween");if(B){B.cancel();}return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},A));
},get:function(A){if(A||!this.retrieve("tween")){if(A||!this.retrieve("tween:options")){this.set("tween",A);}this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")));
}return this.retrieve("tween");}};Element.implement({tween:function(A,C,B){this.get("tween").start(arguments);return this;},fade:function(C){var E=this.get("tween"),D="opacity",A;
C=$pick(C,"toggle");switch(C){case"in":E.start(D,1);break;case"out":E.start(D,0);break;case"show":E.set(D,1);break;case"hide":E.set(D,0);break;case"toggle":var B=this.retrieve("fade:flag",this.get("opacity")==1);
E.start(D,(B)?0:1);this.store("fade:flag",!B);A=true;break;default:E.start(D,arguments);}if(!A){this.eliminate("fade:flag");}return this;},highlight:function(C,A){if(!A){A=this.retrieve("highlight:original",this.getStyle("background-color"));
A=(A=="transparent")?"#fff":A;}var B=this.get("tween");B.start("background-color",C||"#ffff88",A).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));
B.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(B,A){this.element=this.subject=$(B);this.parent(A);},set:function(A){if(typeof A=="string"){A=this.search(A);
}for(var B in A){this.render(this.element,B,A[B],this.options.unit);}return this;},compute:function(E,D,C){var A={};for(var B in E){A[B]=this.parent(E[B],D[B],C);
}return A;},start:function(B){if(!this.check(arguments.callee,B)){return this;}if(typeof B=="string"){B=this.search(B);}var E={},D={};for(var C in B){var A=this.prepare(this.element,C,B[C]);
E[C]=A.from;D[C]=A.to;}return this.parent(E,D);}});Element.Properties.morph={set:function(A){var B=this.retrieve("morph");if(B){B.cancel();}return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},A));
},get:function(A){if(A||!this.retrieve("morph")){if(A||!this.retrieve("morph:options")){this.set("morph",A);}this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")));
}return this.retrieve("morph");}};Element.implement({morph:function(A){this.get("morph").start(A);return this;}});(function(){var A=Fx.prototype.initialize;
Fx.prototype.initialize=function(B){A.call(this,B);var C=this.options.transition;if(typeof C=="string"&&(C=C.split(":"))){var D=Fx.Transitions;D=D[C[0]]||D[C[0].capitalize()];
if(C[1]){D=D["ease"+C[1].capitalize()+(C[2]?C[2].capitalize():"")];}this.options.transition=D;}};})();Fx.Transition=function(B,A){A=$splat(A);return $extend(B,{easeIn:function(C){return B(C,A);
},easeOut:function(C){return 1-B(1-C,A);},easeInOut:function(C){return(C<=0.5)?B(2*C,A)/2:(2-B(2*(1-C),A))/2;}});};Fx.Transitions=new Hash({linear:$arguments(0)});
Fx.Transitions.extend=function(A){for(var B in A){Fx.Transitions[B]=new Fx.Transition(A[B]);}};Fx.Transitions.extend({Pow:function(B,A){return Math.pow(B,A[0]||6);
},Expo:function(A){return Math.pow(2,8*(A-1));},Circ:function(A){return 1-Math.sin(Math.acos(A));},Sine:function(A){return 1-Math.sin((1-A)*Math.PI/2);
},Back:function(B,A){A=A[0]||1.618;return Math.pow(B,2)*((A+1)*B-A);},Bounce:function(D){var C;for(var B=0,A=1;1;B+=A,A/=2){if(D>=(7-4*B)/11){C=-Math.pow((11-6*B-11*D)/4,2)+A*A;
break;}}return C;},Elastic:function(B,A){return Math.pow(2,10*--B)*Math.cos(20*B*Math.PI*(A[0]||1)/3);}});["Quad","Cubic","Quart","Quint"].each(function(B,A){Fx.Transitions[B]=new Fx.Transition(function(C){return Math.pow(C,[A+2]);
});});var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false},initialize:function(A){this.xhr=new Browser.Request();
this.setOptions(A);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers);},onStateChange:function(){if(this.xhr.readyState!=4||!this.running){return ;
}this.running=false;this.status=0;$try(function(){this.status=this.xhr.status;}.bind(this));if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};
this.success(this.response.text,this.response.xml);}else{this.response={text:null,xml:null};this.failure();}this.xhr.onreadystatechange=$empty;},isSuccess:function(){return((this.status>=200)&&(this.status<300));
},processScripts:function(A){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return $exec(A);}return A.stripScripts(this.options.evalScripts);
},success:function(B,A){this.onSuccess(this.processScripts(B),A);},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain();
},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr);},setHeader:function(A,B){this.headers.set(A,B);
return this;},getHeader:function(A){return $try(function(){return this.xhr.getResponseHeader(A);}.bind(this));},check:function(A){if(!this.running){return true;
}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(A.bind(this,Array.slice(arguments,1)));return false;}return false;
},send:function(I){if(!this.check(arguments.callee,I)){return this;}this.running=true;var G=$type(I);if(G=="string"||G=="element"){I={data:I};}var D=this.options;
I=$extend({data:D.data,url:D.url,method:D.method},I);var E=I.data,B=I.url,A=I.method;switch($type(E)){case"element":E=$(E).toQueryString();break;case"object":case"hash":E=Hash.toQueryString(E);
}if(this.options.format){var H="format="+this.options.format;E=(E)?H+"&"+E:H;}if(this.options.emulation&&["put","delete"].contains(A)){var F="_method="+A;
E=(E)?F+"&"+E:F;A="post";}if(this.options.urlEncoded&&A=="post"){var C=(this.options.encoding)?"; charset="+this.options.encoding:"";this.headers.set("Content-type","application/x-www-form-urlencoded"+C);
}if(E&&A=="get"){B=B+(B.contains("?")?"&":"?")+E;E=null;}this.xhr.open(A.toUpperCase(),B,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);
this.headers.each(function(K,J){if(!$try(function(){this.xhr.setRequestHeader(J,K);return true;}.bind(this))){this.fireEvent("exception",[J,K]);}},this);
this.fireEvent("request");this.xhr.send(E);if(!this.options.async){this.onStateChange();}return this;},cancel:function(){if(!this.running){return this;
}this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent("cancel");return this;}});(function(){var A={};
["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(B){A[B]=function(){var C=Array.link(arguments,{url:String.type,data:$defined});
return this.send($extend(C,{method:B.toLowerCase()}));};});Request.implement(A);})();Element.Properties.send={set:function(A){var B=this.retrieve("send");
if(B){B.cancel();}return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},A));
},get:function(A){if(A||!this.retrieve("send")){if(A||!this.retrieve("send:options")){this.set("send",A);}this.store("send",new Request(this.retrieve("send:options")));
}return this.retrieve("send");}};Element.implement({send:function(A){var B=this.get("send");B.send({data:this,url:A||B.options.url});return this;}});Request.HTML=new Class({Extends:Request,options:{update:false,evalScripts:true,filter:false},processHTML:function(C){var B=C.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
C=(B)?B[1]:C;var A=new Element("div");return $try(function(){var D="<root>"+C+"</root>",G;if(Browser.Engine.trident){G=new ActiveXObject("Microsoft.XMLDOM");
G.async=false;G.loadXML(D);}else{G=new DOMParser().parseFromString(D,"text/xml");}D=G.getElementsByTagName("root")[0];for(var F=0,E=D.childNodes.length;
F<E;F++){var H=Element.clone(D.childNodes[F],true,true);if(H){A.grab(H);}}return A;})||A.set("html",C);},success:function(D){var C=this.options,B=this.response;
B.html=D.stripScripts(function(E){B.javascript=E;});var A=this.processHTML(B.html);B.tree=A.childNodes;B.elements=A.getElements("*");if(C.filter){B.tree=B.elements.filter(C.filter);
}if(C.update){$(C.update).empty().adopt(B.tree);}if(C.evalScripts){$exec(B.javascript);}this.onSuccess(B.tree,B.elements,B.html,B.javascript);}});Element.Properties.load={set:function(A){var B=this.retrieve("load");
if(B){send.cancel();}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},A));},get:function(A){if(A||!this.retrieve("load")){if(A||!this.retrieve("load:options")){this.set("load",A);
}this.store("load",new Request.HTML(this.retrieve("load:options")));}return this.retrieve("load");}};Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));
return this;}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(A){this.parent(A);this.headers.extend({Accept:"application/json","X-Request":"JSON"});
},success:function(A){this.response.json=JSON.decode(A,this.options.secure);this.onSuccess(this.response.json,A);}});

//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2008 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(B,A){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);
if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper);}},true);this.element=this.subject=$(B);this.parent(A);var C=this.element.retrieve("wrapper");
this.wrapper=C||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);
this.now=[];this.open=true;},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;},horizontal:function(){this.margin="margin-left";
this.layout="width";this.offset=this.element.offsetWidth;},set:function(A){this.element.setStyle(this.margin,A[0]);this.wrapper.setStyle(this.layout,A[1]);
return this;},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B[F]=Fx.compute(E[F],D[F],C);});return B;},start:function(B,E){if(!this.check(arguments.callee,B,E)){return this;
}this[E||this.options.mode]();var D=this.element.getStyle(this.margin).toInt();var C=this.wrapper.getStyle(this.layout).toInt();var A=[[D,C],[0,this.offset]];
var G=[[D,C],[-this.offset,0]];var F;switch(B){case"in":F=A;break;case"out":F=G;break;case"toggle":F=(this.wrapper["offset"+this.layout.capitalize()]==0)?A:G;
}return this.parent(F[0],F[1]);},slideIn:function(A){return this.start("in",A);},slideOut:function(A){return this.start("out",A);},hide:function(A){this[A||this.options.mode]();
this.open=false;return this.set([-this.offset,0]);},show:function(A){this[A||this.options.mode]();this.open=true;return this.set([0,this.offset]);},toggle:function(A){return this.start("toggle",A);
}});Element.Properties.slide={set:function(B){var A=this.retrieve("slide");if(A){A.cancel();}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},B));
},get:function(A){if(A||!this.retrieve("slide")){if(A||!this.retrieve("slide:options")){this.set("slide",A);}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")));
}return this.retrieve("slide");}};Element.implement({slide:function(D,E){D=D||"toggle";var B=this.get("slide"),A;switch(D){case"hide":B.hide(E);break;case"show":B.show(E);
break;case"toggle":var C=this.retrieve("slide:flag",B.open);B[(C)?"slideOut":"slideIn"](E);this.store("slide:flag",!C);A=true;break;default:B.start(D,E);
}if(!A){this.eliminate("slide:flag");}return this;}});Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(B,A){this.element=this.subject=$(B);
this.parent(A);var D=this.cancel.bind(this,false);if($type(this.element)!="element"){this.element=$(this.element.getDocument().body);}var C=this.element;
if(this.options.wheelStops){this.addEvent("start",function(){C.addEvent("mousewheel",D);},true);this.addEvent("complete",function(){C.removeEvent("mousewheel",D);
},true);}},set:function(){var A=Array.flatten(arguments);this.element.scrollTo(A[0],A[1]);},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B.push(Fx.compute(E[F],D[F],C));
});return B;},start:function(C,H){if(!this.check(arguments.callee,C,H)){return this;}var E=this.element.getSize(),F=this.element.getScrollSize();var B=this.element.getScroll(),D={x:C,y:H};
for(var G in D){var A=F[G]-E[G];if($chk(D[G])){D[G]=($type(D[G])=="number")?D[G].limit(0,A):A;}else{D[G]=B[G];}D[G]+=this.options.offset[G];}return this.parent([B.x,B.y],[D.x,D.y]);
},toTop:function(){return this.start(false,0);},toLeft:function(){return this.start(0,false);},toRight:function(){return this.start("right",false);},toBottom:function(){return this.start(false,"bottom");
},toElement:function(B){var A=$(B).getPosition(this.element);return this.start(A.x,A.y);}});Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(B,A){this.elements=this.subject=$$(B);
this.parent(A);},compute:function(G,H,I){var C={};for(var D in G){var A=G[D],E=H[D],F=C[D]={};for(var B in A){F[B]=this.parent(A[B],E[B],I);}}return C;
},set:function(B){for(var C in B){var A=B[C];for(var D in A){this.render(this.elements[C],D,A[D],this.options.unit);}}return this;},start:function(C){if(!this.check(arguments.callee,C)){return this;
}var H={},I={};for(var D in C){var F=C[D],A=H[D]={},G=I[D]={};for(var B in F){var E=this.prepare(this.elements[D],B,F[B]);A[B]=E.from;G[B]=E.to;}}return this.parent(H,I);
}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,modifiers:{x:"left",y:"top"}},initialize:function(){var B=Array.link(arguments,{options:Object.type,element:$defined});
this.element=$(B.element);this.document=this.element.getDocument();this.setOptions(B.options||{});var A=$type(this.options.handle);this.handles=(A=="array"||A=="collection")?$$(this.options.handle):$(this.options.handle)||this.element;
this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};
this.attach();},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this;},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);
return this;},start:function(C){if(this.options.preventDefault){C.preventDefault();}this.fireEvent("beforeStart",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;}if(this.options.style){this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt();
}else{this.value.now[D]=this.element[this.options.modifiers[D]];}if(this.options.invert){this.value.now[D]*=-1;}this.mouse.pos[D]=C.page[D]-this.value.now[D];
if(A&&A[D]){for(var B=2;B--;B){if($chk(A[D][B])){this.limit[D][B]=$lambda(A[D][B])();}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};
}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop);},check:function(A){if(this.options.preventDefault){A.preventDefault();
}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){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});
this.fireEvent("start",this.element).fireEvent("snap",this.element);}},drag:function(A){if(this.options.preventDefault){A.preventDefault();}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.options.invert){this.value.now[B]*=-1;
}if(this.options.limit&&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];}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0];
}}}if(this.options.grid[B]){this.value.now[B]-=(this.value.now[B]%this.options.grid[B]);}if(this.options.style){this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit);
}else{this.element[this.options.modifiers[B]]=this.value.now[B];}}this.fireEvent("drag",this.element);},cancel:function(A){this.document.removeEvent("mousemove",this.bound.check);
this.document.removeEvent("mouseup",this.bound.cancel);if(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element);
}},stop:function(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);
if(A){this.fireEvent("complete",this.element);}}});Element.implement({makeResizable:function(A){return new Drag(this,$merge({modifiers:{x:"width",y:"height"}},A));
}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false},initialize:function(C,B){this.parent(C,B);this.droppables=$$(this.options.droppables);
this.container=$(this.options.container);if(this.container&&$type(this.container)!="element"){this.container=$(this.container.getDocument().body);}C=this.element;
var D=C.getStyle("position");var A=(D!="static")?D:"absolute";if(C.getStyle("left")=="auto"||C.getStyle("top")=="auto"){C.position(C.getPosition(C.offsetParent));
}C.setStyle("position",A);this.addEvent("start",function(){this.checkDroppables();},true);},start:function(B){if(this.container){var D=this.element,J=this.container,E=J.getCoordinates(D.offsetParent),F={},A={};
["top","right","bottom","left"].each(function(K){F[K]=J.getStyle("padding-"+K).toInt();A[K]=D.getStyle("margin-"+K).toInt();},this);var C=D.offsetWidth+A.left+A.right,I=D.offsetHeight+A.top+A.bottom;
var H=[E.left+F.left,E.right-F.right-C];var G=[E.top+F.top,E.bottom-F.bottom-I];this.options.limit={x:H,y:G};}this.parent(B);},checkAgainst:function(B){B=B.getCoordinates();
var A=this.mouse.now;return(A.x>B.left&&A.x<B.right&&A.y<B.bottom&&A.y>B.top);},checkDroppables:function(){var A=this.droppables.filter(this.checkAgainst,this).getLast();
if(this.overed!=A){if(this.overed){this.fireEvent("leave",[this.element,this.overed]);}if(A){this.overed=A;this.fireEvent("enter",[this.element,A]);}else{this.overed=null;
}}},drag:function(A){this.parent(A);if(this.droppables.length){this.checkDroppables();}},stop:function(A){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed]);
this.overed=null;return this.parent(A);}});Element.implement({makeDraggable:function(A){return new Drag.Move(this,A);}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:true},initialize:function(B,A){this.parent(B,A);
this.load();},save:function(){var A=JSON.encode(this.hash);if(!A||A.length>4096){return false;}if(A=="{}"){this.dispose();}else{this.write(A);}return true;
},load:function(){this.hash=new Hash(JSON.decode(this.read(),true));return this;}});Hash.Cookie.implement((function(){var A={};Hash.each(Hash.prototype,function(C,B){A[B]=function(){var D=C.apply(this.hash,arguments);
if(this.options.autoSave){this.save();}return D;};});return A;})());var Color=new Native({initialize:function(B,C){if(arguments.length>=3){C="rgb";B=Array.slice(arguments,0,3);
}else{if(typeof B=="string"){if(B.match(/rgb/)){B=B.rgbToHex().hexToRgb(true);}else{if(B.match(/hsb/)){B=B.hsbToRgb();}else{B=B.hexToRgb(true);}}}}C=C||"rgb";
switch(C){case"hsb":var A=B;B=B.hsbToRgb();B.hsb=A;break;case"hex":B=B.hexToRgb(true);break;}B.rgb=B.slice(0,3);B.hsb=B.hsb||B.rgbToHsb();B.hex=B.rgbToHex();
return $extend(B,this);}});Color.implement({mix:function(){var A=Array.slice(arguments);var C=($type(A.getLast())=="number")?A.pop():50;var B=this.slice();
A.each(function(D){D=new Color(D);for(var E=0;E<3;E++){B[E]=Math.round((B[E]/100*(100-C))+(D[E]/100*C));}});return new Color(B,"rgb");},invert:function(){return new Color(this.map(function(A){return 255-A;
}));},setHue:function(A){return new Color([A,this.hsb[1],this.hsb[2]],"hsb");},setSaturation:function(A){return new Color([this.hsb[0],A,this.hsb[2]],"hsb");
},setBrightness:function(A){return new Color([this.hsb[0],this.hsb[1],A],"hsb");}});function $RGB(C,B,A){return new Color([C,B,A],"rgb");}function $HSB(C,B,A){return new Color([C,B,A],"hsb");
}function $HEX(A){return new Color(A,"hex");}Array.implement({rgbToHsb:function(){var B=this[0],C=this[1],J=this[2];var G,F,H;var I=Math.max(B,C,J),E=Math.min(B,C,J);
var K=I-E;H=I/255;F=(I!=0)?K/I:0;if(F==0){G=0;}else{var D=(I-B)/K;var A=(I-C)/K;var L=(I-J)/K;if(B==I){G=L-A;}else{if(C==I){G=2+D-L;}else{G=4+A-D;}}G/=6;
if(G<0){G++;}}return[Math.round(G*360),Math.round(F*100),Math.round(H*100)];},hsbToRgb:function(){var C=Math.round(this[2]/100*255);if(this[1]==0){return[C,C,C];
}else{var A=this[0]%360;var E=A%60;var F=Math.round((this[2]*(100-this[1]))/10000*255);var D=Math.round((this[2]*(6000-this[1]*E))/600000*255);var B=Math.round((this[2]*(6000-this[1]*(60-E)))/600000*255);
switch(Math.floor(A/60)){case 0:return[C,B,F];case 1:return[D,C,F];case 2:return[F,C,B];case 3:return[F,D,C];case 4:return[B,F,C];case 5:return[C,F,D];
}}return false;}});String.implement({rgbToHsb:function(){var A=this.match(/\d{1,3}/g);return(A)?hsb.rgbToHsb():null;},hsbToRgb:function(){var A=this.match(/\d{1,3}/g);
return(A)?A.hsbToRgb():null;}});var Group=new Class({initialize:function(){this.instances=Array.flatten(arguments);this.events={};this.checker={};},addEvent:function(B,A){this.checker[B]=this.checker[B]||{};
this.events[B]=this.events[B]||[];if(this.events[B].contains(A)){return false;}else{this.events[B].push(A);}this.instances.each(function(C,D){C.addEvent(B,this.check.bind(this,[B,C,D]));
},this);return this;},check:function(C,A,B){this.checker[C][B]=true;var D=this.instances.every(function(F,E){return this.checker[C][E]||false;},this);if(!D){return ;
}this.checker[C]={};this.events[C].each(function(E){E.call(this,this.instances,A);},this);}});var Asset=new Hash({javascript:function(F,D){D=$extend({onload:$empty,document:document,check:$lambda(true)},D);
var B=new Element("script",{src:F,type:"text/javascript"});var E=D.onload.bind(B),A=D.check,G=D.document;delete D.onload;delete D.check;delete D.document;
B.addEvents({load:E,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){E();}}}).setProperties(D);if(Browser.Engine.webkit419){var C=(function(){if(!$try(A)){return ;
}$clear(C);E();}).periodical(50);}return B.inject(G.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:$empty,onabort:$empty,onerror:$empty},B);var D=new Image();var A=$(D)||new Element("img");["load","abort","error"].each(function(E){var F="on"+E;
var G=B[F];delete B[F];D[F]=function(){if(!D){return ;}if(!A.parentNode){A.width=D.width;A.height=D.height;}D=D.onload=D.onabort=D.onerror=null;G.delay(1,A,A);
A.fireEvent(E,A,1);};});D.src=A.src=C;if(D&&D.complete){D.onload.delay(1);}return A.setProperties(B);},images:function(D,C){C=$merge({onComplete:$empty,onProgress:$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,D.indexOf(F));B++;if(B==D.length){C.onComplete();
}}});A.push(E);});return new Elements(A);}});var Sortables=new Class({Implements:[Events,Options],options:{snap:4,opacity:1,clone:false,revert:false,handle:false,constrain:false},initialize:function(A,B){this.setOptions(B);
this.elements=[];this.lists=[];this.idle=true;this.addLists($$($(A)||A));if(!this.options.clone){this.options.revert=false;}if(this.options.revert){this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert));
}},attach:function(){this.addLists(this.lists);return this;},detach:function(){this.lists=this.removeLists(this.lists);return this;},addItems:function(){Array.flatten(arguments).each(function(A){this.elements.push(A);
var B=A.retrieve("sortables:start",this.start.bindWithEvent(this,A));(this.options.handle?A.getElement(this.options.handle)||A:A).addEvent("mousedown",B);
},this);return this;},addLists:function(){Array.flatten(arguments).each(function(A){this.lists.push(A);this.addItems(A.getChildren());},this);return this;
},removeItems:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.elements.erase(B);var C=B.retrieve("sortables:start");(this.options.handle?B.getElement(this.options.handle)||B:B).removeEvent("mousedown",C);
},this);return $$(A);},removeLists:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.lists.erase(B);this.removeItems(B.getChildren());
},this);return $$(A);},getClone:function(B,A){if(!this.options.clone){return new Element("div").inject(document.body);}if($type(this.options.clone)=="function"){return this.options.clone.call(this,B,A,this.list);
}return A.clone(true).setStyles({margin:"0px",position:"absolute",visibility:"hidden",width:A.getStyle("width")}).inject(this.list).position(A.getPosition(A.getOffsetParent()));
},getDroppables:function(){var A=this.list.getChildren();if(!this.options.constrain){A=this.lists.concat(A).erase(this.list);}return A.erase(this.clone).erase(this.element);
},insert:function(C,B){var A="inside";if(this.lists.contains(B)){this.list=B;this.drag.droppables=this.getDroppables();}else{A=this.element.getAllPrevious().contains(B)?"before":"after";
}this.element.inject(B,A);this.fireEvent("sort",[this.element,this.clone]);},start:function(B,A){if(!this.idle){return ;}this.idle=false;this.element=A;
this.opacity=A.get("opacity");this.list=A.getParent();this.clone=this.getClone(B,A);this.drag=new Drag.Move(this.clone,{snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),onSnap:function(){B.stop();
this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone]);}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)});
this.clone.inject(this.element,"before");this.drag.start(B);},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var A=this.element.getStyles("width","height");
var B=this.clone.computePosition(this.element.getPosition(this.clone.offsetParent));this.effect.element=this.clone;this.effect.start({top:B.top,left:B.left,width:A.width,height:A.height,opacity:0.25}).chain(this.reset.bind(this));
}else{this.reset();}},reset:function(){this.idle=true;this.clone.destroy();this.fireEvent("complete",this.element);},serialize:function(){var C=Array.link(arguments,{modifier:Function.type,index:$defined});
var B=this.lists.map(function(D){return D.getChildren().map(C.modifier||function(E){return E.get("id");},this);},this);var A=C.index;if(this.lists.length==1){A=0;
}return $chk(A)&&A>=0&&A<this.lists.length?B[A]:B;}});var Tips=new Class({Implements:[Events,Options],options:{onShow:function(A){A.setStyle("visibility","visible");
},onHide:function(A){A.setStyle("visibility","hidden");},showDelay:100,hideDelay:100,className:null,offsets:{x:16,y:16},fixed:false},initialize:function(){var C=Array.link(arguments,{options:Object.type,elements:$defined});
this.setOptions(C.options||null);this.tip=new Element("div").inject(document.body);if(this.options.className){this.tip.addClass(this.options.className);
}var B=new Element("div",{"class":"tip-top"}).inject(this.tip);this.container=new Element("div",{"class":"tip"}).inject(this.tip);var A=new Element("div",{"class":"tip-bottom"}).inject(this.tip);
this.tip.setStyles({position:"absolute",top:0,left:0,visibility:"hidden"});if(C.elements){this.attach(C.elements);}},attach:function(A){$$(A).each(function(D){var G=D.retrieve("tip:title",D.get("title"));
var F=D.retrieve("tip:text",D.get("rel")||D.get("href"));var E=D.retrieve("tip:enter",this.elementEnter.bindWithEvent(this,D));var C=D.retrieve("tip:leave",this.elementLeave.bindWithEvent(this,D));
D.addEvents({mouseenter:E,mouseleave:C});if(!this.options.fixed){var B=D.retrieve("tip:move",this.elementMove.bindWithEvent(this,D));D.addEvent("mousemove",B);
}D.store("tip:native",D.get("title"));D.erase("title");},this);return this;},detach:function(A){$$(A).each(function(C){C.removeEvent("mouseenter",C.retrieve("tip:enter")||$empty);
C.removeEvent("mouseleave",C.retrieve("tip:leave")||$empty);C.removeEvent("mousemove",C.retrieve("tip:move")||$empty);C.eliminate("tip:enter").eliminate("tip:leave").eliminate("tip:move");
var B=C.retrieve("tip:native");if(B){C.set("title",B);}});return this;},elementEnter:function(B,A){$A(this.container.childNodes).each(Element.dispose);
var D=A.retrieve("tip:title");if(D){this.titleElement=new Element("div",{"class":"tip-title"}).inject(this.container);this.fill(this.titleElement,D);}var C=A.retrieve("tip:text");
if(C){this.textElement=new Element("div",{"class":"tip-text"}).inject(this.container);this.fill(this.textElement,C);}this.timer=$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);
this.position((!this.options.fixed)?B:{page:A.getPosition()});},elementLeave:function(A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this);
},elementMove:function(A){this.position(A);},position:function(D){var B=window.getSize(),A=window.getScroll();var E={x:this.tip.offsetWidth,y:this.tip.offsetHeight};
var C={x:"left",y:"top"};for(var F in C){var G=D.page[F]+this.options.offsets[F];if((G+E[F]-A[F])>B[F]){G=D.page[F]-this.options.offsets[F]-E[F];}this.tip.setStyle(C[F],G);
}},fill:function(A,B){(typeof B=="string")?A.set("html",B):A.adopt(B);},show:function(){this.fireEvent("show",this.tip);},hide:function(){this.fireEvent("hide",this.tip);
}});var SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(B,C){C=C||document;var E=C.getDocument(),D=C.getWindow();this.parent(E,B);this.links=(this.options.links)?$$(this.options.links):$$(E.links);
var A=D.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(G){if(G.href.indexOf(A)!=0){return ;}var F=G.href.substr(A.length);if(F&&$(F)){this.useLink(G,F);
}},this);if(!Browser.Engine.webkit419){this.addEvent("complete",function(){D.location.hash=this.anchor;},true);}},useLink:function(B,A){B.addEvent("click",function(C){this.anchor=A;
this.toElement(A);C.stop();}.bind(this));}});var Slider=new Class({Implements:[Events,Options],options:{onTick:function(A){if(this.options.snap){A=this.toPosition(this.step);
}this.knob.setStyle(this.property,A);},snap:false,offset:0,range:false,wheel:false,steps:100,mode:"horizontal"},initialize:function(E,A,D){this.setOptions(D);
this.element=$(E);this.knob=$(A);this.previousChange=this.previousEnd=this.step=-1;this.element.addEvent("mousedown",this.clickedElement.bind(this));if(this.options.wheel){this.element.addEvent("mousewheel",this.scrolledElement.bindWithEvent(this));
}var F,B={},C={x:false,y:false};switch(this.options.mode){case"vertical":this.axis="y";this.property="top";F="offsetHeight";break;case"horizontal":this.axis="x";
this.property="left";F="offsetWidth";}this.half=this.knob[F]/2;this.full=this.element[F]-this.knob[F]+(this.options.offset*2);this.min=$chk(this.options.range[0])?this.options.range[0]:0;
this.max=$chk(this.options.range[1])?this.options.range[1]:this.options.steps;this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;
this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.knob.setStyle("position","relative").setStyle(this.property,-this.options.offset);C[this.axis]=this.property;
B[this.axis]=[-this.options.offset,this.full-this.options.offset];this.drag=new Drag(this.knob,{snap:0,limit:B,modifiers:C,onDrag:this.draggedKnob.bind(this),onStart:this.draggedKnob.bind(this),onComplete:function(){this.draggedKnob();
this.end();}.bind(this)});if(this.options.snap){this.drag.options.grid=Math.ceil(this.stepWidth);this.drag.options.limit[this.axis][1]=this.full;}},set:function(A){if(!((this.range>0)^(A<this.min))){A=this.min;
}if(!((this.range>0)^(A>this.max))){A=this.max;}this.step=Math.round(A);this.checkStep();this.end();this.fireEvent("tick",this.toPosition(this.step));return this;
},clickedElement:function(C){var B=this.range<0?-1:1;var A=C.page[this.axis]-this.element.getPosition()[this.axis]-this.half;A=A.limit(-this.options.offset,this.full-this.options.offset);
this.step=Math.round(this.min+B*this.toStep(A));this.checkStep();this.end();this.fireEvent("tick",A);},scrolledElement:function(A){var B=(this.options.mode=="horizontal")?(A.wheel<0):(A.wheel>0);
this.set(B?this.step-this.stepSize:this.step+this.stepSize);A.stop();},draggedKnob:function(){var B=this.range<0?-1:1;var A=this.drag.value.now[this.axis];
A=A.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+B*this.toStep(A));this.checkStep();},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;
this.fireEvent("change",this.step);}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("complete",this.step+"");
}},toStep:function(A){var B=(A+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(B-=B%this.stepSize):B;},toPosition:function(A){return(this.full*Math.abs(this.min-A))/(this.steps*this.stepSize)-this.options.offset;
}});var Scroller=new Class({Implements:[Events,Options],options:{area:20,velocity:1,onChange:function(A,B){this.element.scrollTo(A,B);}},initialize:function(B,A){this.setOptions(A);
this.element=$(B);this.listener=($type(this.element)!="element")?$(this.element.getDocument().body):this.element;this.timer=null;this.coord=this.getCoords.bind(this);
},start:function(){this.listener.addEvent("mousemove",this.coord);},stop:function(){this.listener.removeEvent("mousemove",this.coord);this.timer=$clear(this.timer);
},getCoords:function(A){this.page=(this.listener.get("tag")=="body")?A.client:A.page;if(!this.timer){this.timer=this.scroll.periodical(50,this);}},scroll:function(){var B=this.element.getSize(),A=this.element.getScroll(),E=this.element.getPosition(),D={x:0,y:0};
for(var C in this.page){if(this.page[C]<(this.options.area+E[C])&&A[C]!=0){D[C]=(this.page[C]-this.options.area-E[C])*this.options.velocity;}else{if(this.page[C]+this.options.area>(B[C]+E[C])&&B[C]+B[C]!=A[C]){D[C]=(this.page[C]-B[C]+this.options.area-E[C])*this.options.velocity;
}}}if(D.y||D.x){this.fireEvent("change",[A.x+D.x,A.y+D.y]);}}});var Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});
this.parent(C.elements,C.options);this.togglers=$$(C.togglers);this.container=$(C.container);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true;
}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show;}if(this.options.start){this.options.display=false;this.options.show=false;
}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity";}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";
}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight";}for(var B=0,A=this.togglers.length;B<A;B++){this.addSection(this.togglers[B],this.elements[B]);
}this.elements.each(function(E,D){if(this.options.show===D){this.fireEvent("active",[this.togglers[D],E]);}else{for(var F in this.effects){E.setStyle(F,0);
}}},this);if($chk(this.options.display)){this.display(this.options.display);}},addSection:function(E,C,G){E=$(E);C=$(C);var F=this.togglers.contains(E);
var B=this.togglers.length;this.togglers.include(E);this.elements.include(C);if(B&&(!F||G)){G=$pick(G,B-1);E.inject(this.togglers[G],"before");C.inject(E,"after");
}else{if(this.container&&!F){E.inject(this.container);C.inject(this.container);}}var A=this.togglers.indexOf(E);E.addEvent("click",this.display.bind(this,A));
if(this.options.height){C.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});}if(this.options.width){C.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});
}C.fullOpacity=1;if(this.options.fixedWidth){C.fullWidth=this.options.fixedWidth;}if(this.options.fixedHeight){C.fullHeight=this.options.fixedHeight;}C.setStyle("overflow","hidden");
if(!F){for(var D in this.effects){C.setStyle(D,0);}}return this;},display:function(A){A=($type(A)=="element")?this.elements.indexOf(A):A;if((this.timer&&this.options.wait)||(A===this.previous&&!this.options.alwaysHide)){return this;
}this.previous=A;var B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"background":"active",[this.togglers[D],E]);
for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]];}},this);return this.start(B);}});
/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();
//***************************** SIGN-IN DROPDOWN *****************************
function showlayer(layer, change){
    $(layer).style.display = 'inline';
    $(change).style.backgroundPosition = '11em 0.8em';
}
function hidelayer(layer, change){
    $(layer).style.display = 'none';
    $(change).style.backgroundPosition = '11em -0.4em';
}

//******************************** SEARCH TABS ********************************
function searchTarget(url, newWindow, newTarget){
    document.bb_topform.action = url;
	document.bb_topform.target = (newWindow) ? "_blank" : "";
	//deselect highlighted tabs
	$$('li.searchCatBg').each(function(li){
		$(li).removeClass("searchCatBg")});
    $(newTarget).addClass('searchCatBg');
	
    if (document.bb_topform.query.value != "") submitHeaderSearch('onclick');
    return false;
}

function submitHeaderSearch(event){
    if (event == "onclick" || eventIsEnterKey(event)) { return srchSub2(); }
    else { return true; }
}

function hideHeaderMore(e){
    var targ;
    if (!e) 
        var e = window.event;
    targ = (e.target) ? e.target : e.srcElement;
    
    if (targ.nodeType == 3) 
        targ = targ.parentNode; // defeat Safari bug
    if (targ.id != 'smorea' && $('smore')) {
        var oDiv = $('smore');
        if (oDiv.style.display.toLowerCase() == "block") 
            oDiv.style.display = 'none';
    }
}

function ai_posX(obj){
    var left = 0;
    if (obj.offsetParent) {
        while (obj && !(obj.id == "outerBox")) {
            left += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    return left;
}

function ai_posY(obj){
    var top = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            top += obj.offsetTop;
            obj = obj.offsetParent;
        }
    }
    else 
        if (obj.x) 
            top += obj.y;
    return top;
}

function togMore(e, state){
    var oDiv = $('smore');
    if (state == 'show') {
        posMore(e);
        oDiv.style.zIndex = 99999999;
        oDiv.style.display = 'block';
    }
    else {
        oDiv.style.display = 'none';
    }
    return false;
}

function posMore(e){
    var oDiv = $('smore');
    var oLnk = $('smorea');
    posY = findMousePos(e);
    oDiv.style.left = (ai_posX(oLnk)) + 'px';
    oDiv.style.top = (posY + oLnk.offsetHeight / 2) + 'px';
}

function findMousePos(e){
    var posY = 0;
    if (!e) 
        var e = window.event;
    if (e.pageX || e.pageY) {
        posY = e.pageY;
    }
    else 
        if (e.clientX || e.clientY) {
            posY = e.clientY + document.body.scrollTop +
            document.documentElement.scrollTop;
        }
    return posY;
}

function eventIsEnterKey(event){
    if (event && event.which == 13 || window.event && window.event.keyCode == 13 || event && event.which == 3 || window.event && window.event.keyCode == 3) {
        return true;
    }
    return false;
}

function doSrchOmni(term,type){
	var s_account="$!{cannae.getConfigProperty('cannae.omniture.music.s_account')}"
	s_265.prop20=term;
	s_265.prop21=type+": clicked";
	s_265.t();
}

function srchSub2(){
    var frm = getEl("search");
    var queryval = frm.topquery.value.trim();
    queryval = encodeURIComponent(queryval.replace(/\+/, " "));
    var newurl = frm.action + queryval;
    if (frm.target == '_blank') {
        window.open(newurl, '_blank', '');
    }
    else {
        window.location = newurl;
    }
    return false;
}

//******************************** LOGIN FUNCTIONS ********************************
//Positioning Functions
function findPos(obj) {
	var curleft = curtop = 0;
	curleft = getX(obj);
	curtop = getY(obj);
	return [curleft,curtop];
}

function getY( oElement )
{
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function getX( oElement )
{
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function AsnsSignIn(obj, leftOffSet, topOffSet){
    if (!leftOffSet) 
        leftOffSet = 0;
    if (!topOffSet) 
        topOffSet = 0;
    var pSNS = getEl("snsMiniUI");
    pSNS.innerHTML = _sns_var_;
    obj.appendChild(pSNS);
    pSNS.style.left = leftOffSet + 'px';
    pSNS.style.top = topOffSet + 'px';
    pSNS.style.position = 'relative';
    var close = document.createElement('div');
    close.style.height = "15px";
    close.style.width = "15px";
    close.style.cursor = "pointer";
    close.style.cssFloat = "right";
    close.style.styleFloat = "right";
    close.style.background = 'url(http://o.aolcdn.com/art/ch_music2/delete-sprite2)';
    close.style.margin = "3px 4px 4px 0px";
    close.setAttribute('title', 'Close');
    close.onclick = closeSNS;
    close.onmouseover = function(){
        this.style.backgroundPosition = '0 -15px';
    };
    close.onmouseout = function(){
        this.style.backgroundPosition = '0 0';
    };
    
    
    spans = pSNS.getElementsByTagName("span");
    spans[0].parentNode.style.height = "22px";
    spans[1].style.cssFloat = "right";
    spans[1].style.styleFloat = "right";
    spans[1].style.margin = "5px 0px 2px 10px";
    spans[0].style.margin = "5px 0px 2px 0";
    spanPar = spans[1].parentNode;
    spanPar.insertBefore(close, spans[1]);
    
    pSNS.style.zIndex = 10000;
    pSNS.style.display = "block";
}

function closeSNS(){
    getEl("snsMiniUI").innerHTML = '';
}

function AsnsClose(){
    pSNS = getEl("snsMiniUI");
    pSNS.style.display = "none";
}


//******************************** COMMON UTILITIES ********************************
function getEl(id)  {return document.getElementById(id);}
function mkeEl(type){return document.createElement(type);}

function videoListInit(trgDiv){
    var md = trgDiv.getElementsByTagName('div');
    for (var h = 0; h < md.length; h++) {
        if (md[h].className == "scvBx") {
            md[h].onmouseover = function mouseover(){
                this.className = "scvBx hghLght";
            }
            md[h].onmouseout = function mouseout(){
                this.className = "scvBx";
            }
        }
    }
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function setPref( param, value ){
	var prefCookieName = "musprefs";
	var prefCookieString = "";
	var prefDelim = "&";
	var keyvalDelim = ":";
	var prefArray;
	var prefCookie = readCookie(prefCookieName);
	if ( prefCookie ) {
		prefArray = prefCookie.split(prefDelim);
	} else {
		prefArray = new Array();
	}

	var re = "^" + param + keyvalDelim;
	for (var i=0;i<prefArray.length;i++){
		if ( prefArray[i].search(re) <  0 ){
			if (prefCookieString != "" ){
				prefCookieString += prefDelim;
			}
			prefCookieString += prefArray[i];
		}
	}
	if (prefCookieString != "" )
		prefCookieString += prefDelim;

	prefCookieString += (param + keyvalDelim + value);
	document.cookie = prefCookieName + "=" + prefCookieString + "; path=/";
}

var starRating = {
	 reloadRatings: function(objectUri,assetAolID, category, assetType, showAvgRating) {
	    var ajxUrl = "/api/v2/trri/rating/get?" +
	     			"objectUri=" + objectUri + "&" +
				    "assetAolID=" + assetAolID + "&" +
				    "category=" + category + "&" +
				    "type=" + assetType + "&" +
	                 "showAvgRating=" + showAvgRating + "&" +
	                 "rndm=" + Math.random();

	    var success = false;
	    var reloadRatingsRequest = new Request({
	    	method : "GET",
	    	url : ajxUrl,
	    	onSuccess : function(res){
	    		success = true;
	    		$("stars").innerHTML = res;
	    	},
	    	onFailure : function(){
	    		success = false;
	    	}
	    });
	    reloadRatingsRequest.send(); 
	},

	 submitRating: function(objectUri,assetAolID, category, assetType, rating, showAvgRating) {
		 var ajxUrl = "/api/v2/trri/rating/submit?" +
 					  "objectUri=" + objectUri + "&" +
		              "assetAolID=" + assetAolID + "&" +
		              "category=" + category + "&" +
		              "type=" + assetType + "&" +
		              "rating=" + rating;

		 var success = false;
		 var submitRatingsRequest = new Request({
	    	method : "GET",
	    	url : ajxUrl,
	    	onSuccess : function(res){
	    		success = true;
	    		starRating.reloadRatings(objectUri,assetAolID, category, assetType, showAvgRating);
	    	},
	    	onFailure : function(){
	    		success = false;
	    	}
		 });
		 submitRatingsRequest.send(); 
	},

	rtngOver: function(element, starOverURL) {
	    element.style.cursor = 'hand';
	    var baseId = element.getAttribute('baseId');
	    var starNum = element.getAttribute('starNum');
	    for(i=1;i<=starNum;i++) {
	        var myEl = getEl(baseId + i);
	        myEl.className = starOverURL;
	    }
	},

	rtngOut: function(element) {
	    element.style.cursor = 'auto';
	    var baseId = element.getAttribute('baseId');
	    var starNum = element.getAttribute('starNum');

	    for(i=1;i<=starNum;i++) {
	        var myEl = getEl(baseId + i);
	        myEl.className = myEl.getAttribute('oSrc');
	    }
	}
};

window.addEvent('domready', function(){
	$(document).addEvent("click", hideHeaderMore);
});
//<![CDATA[
/*
name: com_aol_music_api_playlists_1_2.js
$LastChangedDate: 2009-02-03 17:21:40 -0500 (Tue, 03 Feb 2009) $
$Rev: 36225 $
author: Dan Kantor
Modified by Gregory Tomlinson, Ali Hasan for use with Mootools 1.2
/////////////////////
dependencies:
1. moo-12-all.js
*/

 /**
 * EVENTS TO LISTEN FOR:
 * 	comAolMusicApiPlaylists
 *
 * 	eg. window.addEvent("comAolMusicApiPlaylists", foo);
 * 
 *
 *  EVENTS: (WILL RETURN OBJECT FROM SERVER)
 *	 comAolMusicApiPlaylistsList
 *	 comAolMusicApiPlaylistsGet
 *	 comAolMusicApiPlaylistsCreate
 *	 comAolMusicApiPlaylistsAdd
 *	 comAolMusicApiPlaylistsRemove
 *	 comAolMusicApiPlaylistsEdit
 *	 comAolMusicApiPlaylistsReorder
 *	 comAolMusicApiPlaylistsCopy
  *	 comAolMusicApiPlaylistsTop
 *	  
 */
comAolMusicApiPlaylists =  new Class({
	options: {
		format : "json",
		endpoint : "/api/playlists/",
		cacheBust : true
	},
	initialize : function(){
		this.format = this.options.format;
		this.endpoint = this.options.endpoint;
	},
	remote : function(action, params, callback){
		if (this.options.cacheBust){
			params = params+"&cacheBust="+Math.random();	
		}
		var qs = params+"&f="+this.format;
		var myAjax = new Request({ url : this.endpoint+action, method: 'get', data : qs, onComplete : callback.bind(this)} ).send()
    },
	list : function(type){
		if (comAolMusicApiPlaylists.playlist[type]){
			window.fireEvent(comAolMusicApiPlaylists.eventName+"List", comAolMusicApiPlaylists.playlist[type]);
		} else {
			this.remote("list", "type="+type, this.listResponse);
		}
	},
	listResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"List", json.response);
		if (json.response.statusCode == 200){
			try {
				comAolMusicApiPlaylists.playlist[json.response.data.mediaType] = json.response;
			} catch (e){}
		} else {
			try {
				comAolMusicApiPlaylists.playlist[json.response.data.mediaType] = null;
			} catch (e) {}
		}	
	},
	get : function(listId, count){
		var countString = "";
		if ($type(count) == "number"){
			countString = "&count="+count;
		}
		this.remote("get", "listId="+listId+countString, this.getResponse);
	},
	getResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Get", json.response);
	},
	create : function(type, name){
		this.remote("create", "type="+type+"&name="+encodeURIComponent(name), this.createResponse);	
	},
	createResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Create", json.response);
		if (json.response.statusCode == 200){
			try {
				comAolMusicApiPlaylists.playlist[json.response.data.playlist.mediaType.toLowerCase()] = null;	
			} catch (e){}
		}
	},
	add : function(listId, type, item, itemType){
		if ($type(item) == 'array'){
			this.remote("add", "listId=["+listId+"]&type="+type+"&media="+encodeURIComponent(JSON.encode(item)), this.addResponse);
		}
		if ($type(item) == 'string'){
			var params = "listId=["+listId+"]&type="+type+"&aolId="+item;
			if (type == 'video') {
				params += "&videoType="+itemType;
			}
			this.remote("add", params, this.addResponse);
		}
	},
	addResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Add", json.response);
	},
	remove : function(listId, itemId){
		this.remote("remove", "listId="+listId+"&itemId="+itemId, this.removeResponse);
	},
	removeResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Remove", json.response);
		if (json.response.statusCode == 200){
			try {
				comAolMusicApiPlaylists.playlist['audio'] = null;
				comAolMusicApiPlaylists.playlist['video'] = null;	
			} catch (e){}
		}
	},
	editList : function(listId, title, description, privacy){
		var privacyString = "";
		if (privacy != ""){
			privacyString = "&privacy="+privacy;
		}
			this.remote("edit", "listId="+listId+"&title="+encodeURIComponent(title)+"&description="+encodeURIComponent(description)+privacyString, this.editResponse);
	},
	editItem : function(listId, itemId, description){
			this.remote("edit", "listId="+listId+"&itemId="+itemId+"&description="+encodeURIComponent(description), this.editResponse);
	},
	editResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Edit", json.response);
	},
	reorder : function(listId, order){
		this.remote("reorder", "listId="+listId+"&order="+order, this.reorderResponse);
	},
	reorderResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Reorder", json.response);
	},
	copy : function(sourceListId, destListId){
		this.remote("copy", "sourceListId="+sourceListId+"&destListId="+destListId, this.copyResponse);
	},
	copyResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Copy", json.response);
	},
	top : function(count, type){
		this.remote("top", "count="+count+"&type="+type, this.topResponse);
	},
	topResponse : function(string){
		var json = JSON.decode(string);
		window.fireEvent(comAolMusicApiPlaylists.eventName+"Top", json.response);
	}
})
comAolMusicApiPlaylists.eventName = "comAolMusicApiPlaylists";
comAolMusicApiPlaylists.playlist = {};
comAolMusicApiPlaylists.implement(new Options, new Events);
//]]>
//<![CDATA[
/*
name: com_aol_music_modules_flyout_1_2.js
$LastChangedDate: 2009-05-11 10:55:31 -0400 (Mon, 11 May 2009) $
$Rev: 42594 $
author: Dan Kantor
Modified by Gregory Tomlinson, Ali Hasan for use with Mootools 1.2
/////////////////////
dependencies:
1. moo-12-all.js
2. swfobject2_1.js
*/

if (typeof(comAolMusicModulesFlyout) == 'undefined'){
	comAolMusicModulesFlyout = {}
}
comAolMusicModulesFlyout.vars = {
	writeMax : 250,
	xMouse : null,
	yMouse : null,
	audioPlayNow : false,
	imgHOST : "http://o.aolcdn.com/art/ch_music2/",
	tween : null,
	audioAsset : null,
	audioAssetPlayNow : null,
	audioAssetPlaylist : null,
	mediaType : null,
	assetType : null,
	assetId : null,
	assetIdType : null,
	assetCount : null,
	newPlaylist : null,
	playlists : [],
	addedPlaylists : [],
	needWindow : true,
	copiedPlaylists : [],
	mouseOver : false,
	isLocalPlaying : false
}
comAolMusicModulesFlyout.init = function(){
	document.addEvent("click", comAolMusicModulesFlyout.clicks.handler);
	document.addEvent("contextmenu", comAolMusicModulesFlyout.contextmenu.handler);
	var comAolMusicModulesFlyoutPositioner = new Element('div', {'styles' : {'position' : 'absolute', 'top' : '0px', 'left' : '0px'}, 'id' : 'comAolMusicModulesFlyoutPositioner'});
	$(comAolMusicModulesFlyoutPositioner).injectTop(document.body);	
	comAolMusicModulesFlyout.ui.component.body();
	comAolMusicModulesFlyout.vars.tween = new Fx.Tween('comAolMusicModulesFlyoutBody', { property: 'width', duration:200} );
	var audioplayerhelperdiv = new Element('div', { 'id': 'audioplayerhelperdiv' });
	$(audioplayerhelperdiv).injectInside(document.body);
	swfobject.embedSWF(comAolMusicModulesFlyout.audioPlayerHelperSWF, "audioplayerhelperdiv", "1", "1", "9.0.0", "", {callback : 'comAolMusicModulesFlyout'}, {allowscriptaccess: "always", allownetworking : "all"}, {id:"AudioPlayerHelper"});
	/*
	var mySwiff = new Swiff(comAolMusicModulesFlyout.audioPlayerHelperSWF, {
		id : "AudioPlayerHelper",
		container : "audioplayerhelperdiv",
		width : 1,
		height : 1,
		version : "9.0.0",
		params : {
			allowscriptaccess: "always",
			allownetworking : "all"
		},
		callBacks : {
			callback : 'comAolMusicModulesFlyout'
		}
	});
	 */	
}
comAolMusicModulesFlyout.ui = {
	state : {
		audioSearch : function(side){
			comAolMusicModulesFlyout.ui.component.top(side);
			comAolMusicModulesFlyout.ui.component.closeButton();
			comAolMusicModulesFlyout.ui.component.clear('comAolMusicModulesFlyoutTop');
			comAolMusicModulesFlyout.ui.component.topHeader("FINDING WEB MATCHES...");
			comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutTop', '0 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutTop', '0 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.middle();
			comAolMusicModulesFlyout.ui.component.bottom();
			comAolMusicModulesFlyout.ui.state.tween(comAolMusicModulesFlyout.vars.xMouse, comAolMusicModulesFlyout.vars.yMouse);
		},
		audioSearchAssets : function(assets){
			$('comAolMusicModulesFlyoutTopHeader').set('text','WEB MATCHES');
			if (assets.length > 0){ 
				var playAdd = "add";
				if (!comAolMusicModulesFlyout.vars.audioAssetPlaylist){
					playAdd = "play";	
				}
				comAolMusicModulesFlyout.ui.component.middleHeader('Select the version of the song you would like to '+playAdd);
				for (i = 0; i < assets.length; i++){
					comAolMusicModulesFlyout.ui.component.audioSearchAsset(assets[i]);
				}
			} 
		},
		initializePlaylists : function(side){
			comAolMusicModulesFlyout.ui.component.top(side);
			comAolMusicModulesFlyout.ui.component.closeButton();		
			comAolMusicModulesFlyout.ui.component.clear('comAolMusicModulesFlyoutTop');
			comAolMusicModulesFlyout.ui.component.topHeader("LOADING PLAYLISTS...");
			comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutTop', '0 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutTop', '0 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.middle();
			comAolMusicModulesFlyout.ui.component.bottom();
			comAolMusicModulesFlyout.ui.state.tween(comAolMusicModulesFlyout.vars.xMouse, comAolMusicModulesFlyout.vars.yMouse);
		},
		initializeSns : function(side, text){
			window.signin(true); return false;
			comAolMusicModulesFlyout.ui.component.top(side);
			comAolMusicModulesFlyout.ui.component.closeButton();
			comAolMusicModulesFlyout.ui.component.clear('comAolMusicModulesFlyoutTop');
			comAolMusicModulesFlyout.ui.component.topHeaderSmall('Please sign in to create playlists.');
			comAolMusicModulesFlyout.utilities.stopLoadingImg();
			comAolMusicModulesFlyout.ui.component.middle();
			comAolMusicModulesFlyout.ui.component.bottom();
			comAolMusicModulesFlyout.vars.tween.addEvent('onComplete', comAolMusicModulesFlyout.ui.component.sns);
			comAolMusicModulesFlyout.ui.state.tween(comAolMusicModulesFlyout.vars.xMouse, comAolMusicModulesFlyout.vars.yMouse);
		},
		listPlaylists : function(){
			$('comAolMusicModulesFlyoutMiddle').empty();
			 
			var assetType = 'SONG';
			if (comAolMusicModulesFlyout.vars.assetType == 'video'){
				assetType = 'VIDEO';	
			}
			if (comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllVIDEO' || comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllAUDIO'){
				assetType = 'PLAYLIST';
				var assetCount = comAolMusicModulesFlyout.vars.assetCount;
				var assetId = comAolMusicModulesFlyout.vars.assetId;
				var mediaType = 'songs';
				if (comAolMusicModulesFlyout.vars.mediaType == 'video'){
					mediaType = 'videos';
				}
			}

			//If copying over a playlist, check if source playlist has more than 250 assets
			if ((assetType == 'PLAYLIST') && (assetCount > comAolMusicModulesFlyout.vars.writeMax)) {
				//If > 250 assets, show messaging
				$('comAolMusicModulesFlyoutTopHeader').empty();
				var exclamationimg = new Element('img', {'src': 'http://www.aolcdn.com/ch_music2/flyout_exclamation'});
				exclamationimg.injectInside('comAolMusicModulesFlyoutTopHeader');
				var exclamationtxt = new Element('span', {'styles' : {'paddingLeft':'2px', 'position':'relative', 'top':'-3px'}});
				exclamationtxt.set('text','Playlist Exceeds ' + comAolMusicModulesFlyout.vars.writeMax + ' Items');
				exclamationtxt.injectInside('comAolMusicModulesFlyoutTopHeader');
				
				$('comAolMusicModulesFlyoutMiddle').empty();
				comAolMusicModulesFlyout.ui.component.messageBox();
				var messageLine1 = new Element('div');
				messageLine1.set('text','You cannot copy this playlist because it exceeds the limit of ' + comAolMusicModulesFlyout.vars.writeMax + ' items.');
				messageLine1.injectInside('comAolMusicModulesFlyoutMessageBox');
				var messageLine2 = new Element('div', {'styles' : {'paddingTop' : '5px'}});
				messageLine2.set('text','You can still add ' + mediaType + ' individually from this playlist.');
				messageLine2.injectInside('comAolMusicModulesFlyoutMessageBox');
				comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutMiddle', '10px 35px 0px 30px');
				comAolMusicModulesFlyout.ui.component.blueButton('OK', '10px 0 0 30px');
				$('comAolMusicModulesFlyoutBlueButton').addEvent('click', comAolMusicModulesFlyout.events.close);
			}
			else {
				//Otherwise, populate available playists
				if (assetType == 'PLAYLIST') {
					$('comAolMusicModulesFlyoutTopHeader').set('text','ADD '+assetCount + ' ' + mediaType.toUpperCase() + ' TO...');	
				}
				else {
					$('comAolMusicModulesFlyoutTopHeader').set('text','ADD '+assetType+' TO...');	
				}
				$('comAolMusicModulesFlyoutMiddle').empty();
				comAolMusicModulesFlyout.ui.component.playlistBox();
		
				var openPlayLists = false;
				if (comAolMusicModulesFlyout.vars.newPlaylist != null){
					comAolMusicModulesFlyout.ui.component.playlistItem(comAolMusicModulesFlyout.vars.newPlaylist.listId, comAolMusicModulesFlyout.vars.newPlaylist.listName, comAolMusicModulesFlyout.vars.newPlaylist.itemCount, true);
					openPlayLists = true;	
				}
				for (i = 0; i < comAolMusicModulesFlyout.vars.playlists.length; i++){
					var playlist = comAolMusicModulesFlyout.vars.playlists[i];
					if ((assetType != 'PLAYLIST') || ((assetType == 'PLAYLIST') && (assetId != playlist.listId))) {
						comAolMusicModulesFlyout.ui.component.playlistItem(playlist.listId, playlist.listName, playlist.itemCount, false);	
						if (((assetType != 'PLAYLIST') && (playlist.itemCount < comAolMusicModulesFlyout.vars.writeMax)) || ((assetType == 'PLAYLIST') && (assetCount + playlist.itemCount <= comAolMusicModulesFlyout.vars.writeMax))) {
							openPlayLists = true;	
						}
					}
				}
				comAolMusicModulesFlyout.vars.newPlaylist = null;
				comAolMusicModulesFlyout.ui.component.blueButton('Add', '15px 0 0 30px');
				$('comAolMusicModulesFlyoutBlueButton').addEvent('click', comAolMusicModulesFlyout.events.addPlaylist);
				comAolMusicModulesFlyout.ui.component.clear('comAolMusicModulesFlyoutMiddle');
				comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutMiddle', '10px 35px 0 30px');
				comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutMiddle', '0 35px 7px 30px');
				comAolMusicModulesFlyout.ui.component.createNewPlaylist();
				if (!openPlayLists) {
					comAolMusicModulesFlyout.ui.state.createNewPlaylist();
				}
			}
		},
		firstPlaylist : function(){
			$('comAolMusicModulesFlyoutMiddle').empty();
			var assetType = 'SONG';
			var playlistType = 'Audio';
			if (comAolMusicModulesFlyout.vars.mediaType == 'video'){
				assetType = 'VIDEO';	
				playlistType = 'Video';
			}
			$('comAolMusicModulesFlyoutTopHeader').set('text','ADD '+assetType+' TO...');
			comAolMusicModulesFlyout.ui.component.middleHeader('Name Your First Playlist');
			comAolMusicModulesFlyout.ui.component.newPlaylistInputBox('true');
			comAolMusicModulesFlyout.ui.component.charCount('35', 'comAolMusicModulesFlyoutCharCountTitle');
			comAolMusicModulesFlyout.ui.component.blueButton('OK', '0 5px 4px 30px');
			$('comAolMusicModulesFlyoutBlueButton').addEvent('click', comAolMusicModulesFlyout.events.createPlaylist);
			comAolMusicModulesFlyout.ui.component.grayButton('Cancel');
			$('comAolMusicModulesFlyoutGrayButton').addEvent('click', comAolMusicModulesFlyout.events.close);
		},
		errorLoadingPlaylists : function(){
			$('comAolMusicModulesFlyoutMiddle').empty();
			comAolMusicModulesFlyout.ui.component.middleHeader('There was a problem loading your playlists. Please try again.');
			$('comAolMusicModulesFlyoutTopHeader').set('text','ERROR');
		},
		createNewPlaylist : function(){
			$('comAolMusicModulesFlyoutCreateNew').setStyle('display', 'none');
			$('comAolMusicModulesFlyoutBlueButton').destroy();
			comAolMusicModulesFlyout.ui.component.middleHeader('Create A New '+comAolMusicModulesFlyout.vars.mediaType.capitalize()+' Playlist');
			comAolMusicModulesFlyout.ui.component.newPlaylistInputBox('true');
			comAolMusicModulesFlyout.ui.component.charCount('35', 'comAolMusicModulesFlyoutCharCountTitle');
			comAolMusicModulesFlyout.ui.component.blueButton('OK', '0 5px 4px 30px');
			$('comAolMusicModulesFlyoutBlueButton').addEvent('click', comAolMusicModulesFlyout.events.createPlaylist);
			comAolMusicModulesFlyout.ui.component.grayButton('Cancel');
			$('comAolMusicModulesFlyoutGrayButton').addEvent('click', comAolMusicModulesFlyout.events.cancelCreatePlaylist);
		},
		added : function(){
			$('comAolMusicModulesFlyoutTopHeader').set('text','ADDED!');
			$('comAolMusicModulesFlyoutMiddle').empty();
			for (i = 0; i < comAolMusicModulesFlyout.vars.addedPlaylists.length; i++){
				comAolMusicModulesFlyout.ui.component.playlistLink(comAolMusicModulesFlyout.vars.addedPlaylists[i].listName, comAolMusicModulesFlyout.vars.addedPlaylists[i].listId, comAolMusicModulesFlyout.vars.mediaType);
			}
			comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutMiddle', '10px 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutMiddle', '0 35px 10px 30px');
			comAolMusicModulesFlyout.ui.component.viewAllPlaylists();
			setTimeout(comAolMusicModulesFlyout.events.fadeOutClose, 1500);
		},
		copied : function(){
			$('comAolMusicModulesFlyoutTopHeader').set('text','ADDED!');
			$('comAolMusicModulesFlyoutMiddle').empty();
			comAolMusicModulesFlyout.ui.component.playlistLink(comAolMusicModulesFlyout.vars.copiedPlaylists.dest.listName, comAolMusicModulesFlyout.vars.copiedPlaylists.dest.listId, comAolMusicModulesFlyout.vars.copiedPlaylists.dest.mediaType);
			comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutMiddle', '10px 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutMiddle', '0 35px 7px 30px');
			comAolMusicModulesFlyout.ui.component.viewAllPlaylists();
			setTimeout(comAolMusicModulesFlyout.events.fadeOutClose, 1500);
		},
		editPlaylist : function(side){
			comAolMusicModulesFlyout.ui.component.top(side);
			comAolMusicModulesFlyout.ui.component.closeButton();
			comAolMusicModulesFlyout.ui.component.clear('comAolMusicModulesFlyoutTop');
			comAolMusicModulesFlyout.ui.component.topHeader("EDIT PLAYLIST INFO...");
			comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutTop', '0 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutTop', '0 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.middle();
			comAolMusicModulesFlyout.ui.component.middleHeader('Title');
			comAolMusicModulesFlyout.ui.component.newPlaylistInputBox('false');
			comAolMusicModulesFlyout.ui.component.charCount('35', 'comAolMusicModulesFlyoutCharCountTitle');
			comAolMusicModulesFlyout.ui.component.middleHeader('Description (optional)');
			comAolMusicModulesFlyout.ui.component.editPlaylistDescriptionBox();
			comAolMusicModulesFlyout.ui.component.charCount('350', 'comAolMusicModulesFlyoutCharCountDescription');
			comAolMusicModulesFlyout.ui.component.privacyRadio('This Playlist can be viewed by:');
			comAolMusicModulesFlyout.ui.component.borderGray('comAolMusicModulesFlyoutMiddle', '10px 35px 0 30px');
			comAolMusicModulesFlyout.ui.component.borderWhite('comAolMusicModulesFlyoutMiddle', '0 35px 10px 30px');
			comAolMusicModulesFlyout.ui.component.blueButton('OK', '0 5px 4px 30px');
			$('comAolMusicModulesFlyoutBlueButton').addEvent('click', comAolMusicModulesFlyout.events.editPlaylist);
			comAolMusicModulesFlyout.ui.component.grayButton('Cancel');
			$('comAolMusicModulesFlyoutGrayButton').addEvent('click', comAolMusicModulesFlyout.events.close);
			comAolMusicModulesFlyout.ui.component.bottom();
			comAolMusicModulesFlyout.ui.state.tween(comAolMusicModulesFlyout.vars.xMouse, comAolMusicModulesFlyout.vars.yMouse);
		},
		tween : function(x, y){
			$('comAolMusicModulesFlyoutBody').setStyles({'left' : x, 'top' : y, 'display' : 'block'});
			comAolMusicModulesFlyout.vars.tween.start(257);
		}
	},
	component : {
		body : function(){
			var body = new Element('div', {'styles': {'width': '0', 'position': 'absolute','zIndex' : '9000','overflow' : 'hidden', 'display' :'none', 'left' : comAolMusicModulesFlyout.vars.xMouse, 'top' : comAolMusicModulesFlyout.vars.yMouse}, 'id' : 'comAolMusicModulesFlyoutBody', 'class' : 'comAolMusicModulesFlyoutBody'});
			body.addEvent('mouseover', comAolMusicModulesFlyout.events.bodyMouseOver);
			body.addEvent('mouseout', comAolMusicModulesFlyout.events.bodyMouseOut);
			$(body).injectTop(document.body);
		},
		top : function(side){
			var top = new Element('div', {'styles': {'margin' : '0', 'height': '63px','width': '257px','zIndex' : '3999','background' : 'url('+comAolMusicModulesFlyout.ui.img.top(side)+') no-repeat'}, 'id' : 'comAolMusicModulesFlyoutTop'});
			//fixPNG(top);
			top.injectInside('comAolMusicModulesFlyoutBody');
		},
		closeButton : function(){
			var margin = "18px 24px 0 0";
			if (Browser.Engine.trident4){
				margin = "24px 14px 0 0";
			}
			var closeButton = new Element('div', {'styles' : {'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+'delete-sprite2)', 'margin' : margin, 'float' : 'right', 'cursor' : 'pointer', 'width' : '15px', 'height' : '15px'}, 'class' : 'flyoutCloseOverlayButton', 'title' : 'Close'});
			$(closeButton).addEvent('click', comAolMusicModulesFlyout.events.close);
			$(closeButton).addEvent('mouseover', function(){this.setStyle('backgroundPosition', '0 -15px');});
			$(closeButton).addEvent('mouseout', function(){this.setStyle('backgroundPosition', '0 0');});
			closeButton.injectInside('comAolMusicModulesFlyoutTop');
		},
		topHeader : function(text){
			var topHeader =  new Element('div', {'styles': {'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+'flyout-small-loader) no-repeat right', 'margin' : '0px 0 4px 30px', 'color' : '#333333', 'font-weight' : 'bold', 'fontSize' : '13px', 'width' : '185px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}, 'id' : 'comAolMusicModulesFlyoutTopHeader'});
			topHeader.set('text',text);
			topHeader.injectInside('comAolMusicModulesFlyoutTop');
		},
		topHeaderSmall : function(text){
			var topHeaderSmall =  new Element('div', {'styles': {'margin' : '0px 0 4px 30px', 'color' : '#666666', 'font-weight' : 'bold', 'fontSize' : '11px', 'width' : '185px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}, 'id' : 'comAolMusicModulesFlyoutTopHeader'});
			topHeaderSmall.set('text',text);
			topHeaderSmall.injectInside('comAolMusicModulesFlyoutTop');
		},
		borderGray : function(parent, margin){
			var borderGray = new Element('div', {'styles': {'borderBottom': '1px solid #B0B0B0', 'margin' : margin}});
			borderGray.injectInside(parent);
		},
		borderWhite : function(parent, margin){
			var borderWhite = new Element('div', {'styles': {'borderBottom': '1px solid #FFFFFF', 'margin' : margin}});
			borderWhite.injectInside(parent);
		},
		clear : function(parent){
			var clear = new Element('div', {'styles': {'clear': 'both'}});
			clear.injectInside(parent);	
		},
		middle : function(){
			var middle = new Element('div', {'styles': {'margin' : '0', 'overflow': 'hidden','zIndex': '3998', 'color' : '#333333', 'width' : '257px', 'background' : 'url('+comAolMusicModulesFlyout.ui.img.middle()+') repeat-y 0% 100%'}, 'id' : 'comAolMusicModulesFlyoutMiddle'});
			//fixPNG(middle);
			middle.injectInside('comAolMusicModulesFlyoutBody');
		},
		middleHeader : function(text){
			var middleHeader =  new Element('div', {'styles': {'margin' : '0px 0 8px 30px', 'color' : '#666666', 'font-weight' : 'bold', 'fontSize' : '11px', 'width' : '196px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}, 'id' : 'comAolMusicModulesFlyoutMiddleHeader'});
			middleHeader.set('text',text);
			middleHeader.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		bottom : function(){
			var bottom =  new Element('div', {'styles': {'zIndex': '3997', 'height' : '55px', 'width' : '257px', 'background' : 'url('+comAolMusicModulesFlyout.ui.img.bottom()+') no-repeat'}});
			//fixPNG(bottom);
			bottom.injectInside('comAolMusicModulesFlyoutBody');
		},
		audioSearchAsset : function(asset){
			var imageurl = comAolMusicModulesFlyout.vars.audioAsset.imageurl;
			var enclosure = asset.enclosure;
			if (asset.artistname){
				var artist =  asset.artistname;
			} else {
				var artist = comAolMusicModulesFlyout.vars.audioAsset.artist;
			}
			if (asset.albumname){
				var album=  asset.albumname;
			} else {
				var album = comAolMusicModulesFlyout.vars.audioAsset.album;
			}
			if (asset.songtitle){
				var n = asset.songtitle.indexOf(" - ");
				if (n != -1){
					var songtitle =  asset.songtitle.substring(n+3);
				} else {
					var songtitle =  asset.songtitle;	
				}
			} else {
				var songtitle = comAolMusicModulesFlyout.vars.audioAsset.songtitle;
			}
			var duration =  asset.duration;
			var artistamgid = comAolMusicModulesFlyout.vars.audioAsset.artistamgid;
			var artistaolid = comAolMusicModulesFlyout.vars.audioAsset.artistaolid;
			var trackaolid = comAolMusicModulesFlyout.vars.audioAsset.trackaolid;
			var sourceurl = asset.sourceurl;
			var sample = comAolMusicModulesFlyout.vars.audioAsset.sample;
			var mediatype = "singingfish";
			var audioSearchAsset =  new Element('div', {'styles': {'margin' : '4px 0 0 30px', 'color' : '#2864B4', 'fontSize' : '12px', 'width' : '196px', 'fontFamily' : 'Arial', 'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+'community-audio-icon) no-repeat 0 2px', 'textIndent' : '18px', 'cursor' : 'pointer'}, 'title' : songtitle+" by "+artist+" | "+comAolMusicModulesFlyout.utilities.convertSecsToReadableTime(duration)+" | Source: "+sourceurl, 'imageurl' : imageurl, 'enclosure' : enclosure, 'artist' : artist, 'album' : album, 'songtitle' : songtitle, 'length' : duration, 'artistamgid' : artistamgid, 'artistaolid' : artistaolid, 'trackaolid' : trackaolid, 'sourceurl' : sourceurl, 'mediatype' : mediatype, 'sample' : sample});
			audioSearchAsset.set('text',comAolMusicModulesFlyout.utilities.trimString(songtitle, 27));
			audioSearchAsset.addEvent('mouseover', function(){this.setStyle('textDecoration', 'underline')});
			audioSearchAsset.addEvent('mouseout', function(){this.setStyle('textDecoration', 'none')});
			audioSearchAsset.addEvent('click', comAolMusicModulesFlyout.events.audioSearchClick);
			audioSearchAsset.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		messageBox : function(){
			var messageBox = new Element('div', {'styles' : {'margin' : '0 0 0 30px', 'width' : '190px', 'height' : 'auto', 'fontSize' : '11px', 'overflow' : 'visible'}, 'id' : 'comAolMusicModulesFlyoutMessageBox'});
			messageBox.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		playlistBox : function(){
			var playlistBox = new Element('div', {'styles' : {'margin' : '0 0 0 30px', 'width' : '190px', 'height' : '85px', 'overflow' : 'auto'}, 'id' : 'comAolMusicModulesFlyoutPlaylistBox'});
			playlistBox.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		playlistItem : function(listId, listName, itemCount, checked){
			//Media Type (self)
			var mediaType = 'songs';
			if (comAolMusicModulesFlyout.vars.mediaType == 'video'){
				mediaType = 'videos';
			}
			
			//Asset Type (target being added)
			var assetType = 'SONG';
			if (comAolMusicModulesFlyout.vars.assetType == 'video'){
				assetType = 'VIDEO';	
			}
			if (comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllVIDEO' || comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllAUDIO'){
				assetType = 'PLAYLIST';
				assetCount = comAolMusicModulesFlyout.vars.assetCount;
				assetId = comAolMusicModulesFlyout.vars.assetId;
			}
		
			var playlistItem = new Element('div', {'styles' : {'margin' : '4px 0', 'fontSize' : '11px', 'fontColor' : '#666666', 'fontFamily' : 'Arial, Helvetica, sans-serif'}, 'listId' : listId, 'title' : listName+" ("+itemCount+" "+mediaType+")"});
			var checkBox = new Element('input', {'styles' : {'margin' : '0 4px 0 0'}, 'type' : 'checkbox'});
			$(checkBox).defaultChecked = checked;
			checkBox.injectInside(playlistItem);		
 			playlistItem.appendText(comAolMusicModulesFlyout.utilities.trimString(listName, 16) + " (" + itemCount + "/" + comAolMusicModulesFlyout.vars.writeMax + ")");				
			if (((assetType != 'PLAYLIST') && (itemCount >= comAolMusicModulesFlyout.vars.writeMax)) || ((assetType == 'PLAYLIST') && (assetCount + itemCount > comAolMusicModulesFlyout.vars.writeMax))) {
				$(checkBox).disabled = true;
				playlistItem.style.color = "#999999";
			}
			playlistItem.injectInside('comAolMusicModulesFlyoutPlaylistBox');
		},
		newPlaylistInputBox : function(submitOnEnter){
			var newPlaylistInputBox = new Element('input', {'styles' : {'margin': '0 0 3px 30px', 'backgroundColor': '#FAFAFA', 'border' : '1px solid #CECECE', 'width' : '190px', 'color' : '#676767', 'padding' : '3px', 'fontSize' : '11px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}, 'id' : 'comAolMusicModulesFlyoutNewPlaylistInputBox', 'maxChars' : '35', 'submitOnEnter' : submitOnEnter, 'charCount' : 'comAolMusicModulesFlyoutCharCountTitle'});
			newPlaylistInputBox.addEvent('keypress', comAolMusicModulesFlyout.events.trackCharCount);
			newPlaylistInputBox.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		charCount : function(maximum, id){
			var charCount = new Element('div', {'styles' : {'color' : '#999999', 'fontSize' : '10px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'margin' : '0 0 15px 30px'}, 'id' : id});
			charCount.set('text',maximum+' Character max');
			charCount.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		blueButton : function(text, margin){
			var blueButton = new Element('div', {'styles' : {'float' : 'left', 'margin' : margin, 'display' : 'inline',  'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+'flyout-blue-button) no-repeat', 'width' : '61px', 'height' : '22px', 'lineHeight' : '22px', 'color' : '#FFFFFF', 'textAlign' : 'center', 'fontWeight' : 'bold', 'fontSize' : '12px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'cursor' : 'pointer'}, 'id' : 'comAolMusicModulesFlyoutBlueButton'});	
			blueButton.set('text',text);
			blueButton.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		grayButton : function(text){
			var grayButton = new Element('div', {'styles' : {'float' : 'left', 'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+'flyout-gray-button) no-repeat', 'width' : '63px', 'height' : '22px', 'lineHeight' : '22px', 'color' : '#2864b4', 'textAlign' : 'center', 'fontWeight' : 'bold', 'fontSize' : '11px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'cursor' : 'pointer'}, 'id' : 'comAolMusicModulesFlyoutGrayButton'});	
			grayButton.set('text',text);
			grayButton.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		viewAllPlaylists : function(){
			var viewAllPlaylists = new Element('div', {'styles' : {'margin' : '0 0 0 30px', 'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+'community-green-arrow-right) 0 3px no-repeat', 'textIndent' : '16px'}});	
			var viewAllPlaylistsA = new Element('a', {'styles' : {'color' : '#2864B4', 'fontSize' : '12px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'textDecoration' : 'none'},'href' : '/profile/playlists/'});
			viewAllPlaylistsA.set('text','View All Your Playlists');
			viewAllPlaylistsA.injectInside(viewAllPlaylists);
			viewAllPlaylists.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		createNewPlaylist : function(){
			var createNewPlaylist = new Element('div', {'styles' : {'margin' : '0 0 0 30px', 'color' : '#2864B4', 'fontSize' : '12px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'cursor' : 'pointer'}, 'id' : 'comAolMusicModulesFlyoutCreateNew'});	
			createNewPlaylist.set('text','Create A New '+comAolMusicModulesFlyout.vars.mediaType.capitalize()+' Playlist');
			createNewPlaylist.addEvent('click', comAolMusicModulesFlyout.events.createPlaylistClick);
			createNewPlaylist.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		playlistLink : function(listName, listId, mediaType){
			var playlistIcon = 'community-audio-icon';
			var pos  = '0 2px';
			var textIndent = '18px';
			if (mediaType == 'VIDEO' || mediaType == 'video'){
				playlistIcon = 'community-video-icon';
				pos  = '0 0';
				textIndent = '22px';
			}
			var playlistLink = new Element('div', {'styles' : {'fontSize' : '12px', 'margin' : '4px 0 0 30px', 'background' : 'url('+comAolMusicModulesFlyout.vars.imgHOST+playlistIcon+') '+pos+'  no-repeat', 'textIndent' : textIndent}});	
			var playlistLinkA = new Element('a', {'styles' : {'color' : '#2864B4', 'fontSize' : '12px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'textDecoration' : 'none'},'href' : '/profile/playlists/'+listId+'/', 'title' : listName});
			playlistLinkA.set('text',comAolMusicModulesFlyout.utilities.trimString(listName, 28));
			playlistLinkA.injectInside(playlistLink);
			playlistLink.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		editPlaylistDescriptionBox : function(){
			var newPlaylistInputBox = new Element('textarea', {'styles' : {'margin': '0 0 3px 30px', 'backgroundColor': '#FAFAFA', 'border' : '1px solid #CECECE', 'width' : '190px', 'color' : '#676767', 'padding' : '3px', 'fontSize' : '11px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}, 'id' : 'comAolMusicModulesFlyoutEditPlaylistDescriptionBox', 'maxChars' : 350, 'rows' : '5', 'charCount' : 'comAolMusicModulesFlyoutCharCountDescription'});
			newPlaylistInputBox.addEvent('keypress', comAolMusicModulesFlyout.events.trackCharCount);
			newPlaylistInputBox.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		privacyRadio : function(text){
			var privacyRadio =  new Element('div', {'styles': {'width' : '190px'}, 'id' : 'comAolMusicModulesFlyoutPrivacyRadio'});
			var header =  new Element('div', {'styles': {'margin' : '0px 0 8px 30px', 'color' : '#666666', 'font-weight' : 'bold', 'fontSize' : '11px', 'width' : '190px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}});
			header.set('text',text);
			header.injectInside(privacyRadio);
			var privacyRadioPrivate = new Element('div', {'styles' : {'margin' : '0 0 0 30px', 'color' : '#666666', 'fontSize' : '11px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}});
			var playlistPrivacyTogglePrivate = new Element('input', {'styles' : {'margin' : '5px'},'type' :'radio', 'name' : 'privacyToggle', 'value' : 'private', 'class' : 'playlistPrivacyToggle', 'id' : 'playlistPrivacyTogglePRIVATE'});
			playlistPrivacyTogglePrivate.injectInside(privacyRadioPrivate);
			privacyRadioPrivate.appendText("Only you");
			privacyRadioPrivate.injectInside(privacyRadio);
			var privacyRadioPublic = new Element('div', {'styles' : {'margin' : '0 0 0 30px', 'color' : '#666666', 'fontSize' : '11px', 'fontFamily' : 'Arial, Helvetica, sans-serif'}});
			var playlistPrivacyTogglePublic = new Element('input', {'styles' : {'margin' : '5px'},'type' :'radio', 'name' : 'privacyToggle', 'value' : 'public', 'class' : 'playlistPrivacyToggle', 'id' : 'playlistPrivacyTogglePUBLIC'});
			playlistPrivacyTogglePublic.injectInside(privacyRadioPublic);
			privacyRadioPublic.appendText("Everybody");
			privacyRadioPublic.injectInside(privacyRadio);
			privacyRadio.injectInside('comAolMusicModulesFlyoutMiddle');
		},
		sns : function(){
			comAolMusicModulesFlyout.vars.tween.removeEvent('onComplete', comAolMusicModulesFlyout.ui.component.sns);
			try {
				$("snsMiniUI").setStyle('display', 'none');
				$('comAolMusicModulesFlyoutMiddle').empty();
 			} catch (e) {}
			var sns = new Element('div', {'styles' : {'position' : 'relative', 'margin' : '-25px 0 0 120px', 'width' : '190px', 'height' : '260px'}, 'id' : 'comAolMusicModulesFlyoutSNS'});
			sns.set('html',_sns_var_);
			sns.injectInside('comAolMusicModulesFlyoutMiddle');
			spans = sns.getElementsByTagName( "span" );
			spans[0].set('text',"");
		}
	},
	img : {
		top : function(side){
			return (Browser.Engine.trident4) ? comAolMusicModulesFlyout.vars.imgHOST+'top-'+side+'gif' : comAolMusicModulesFlyout.vars.imgHOST+'top-'+side+'png';
			//return comAolMusicModulesFlyout.vars.imgHOST+'top-'+side+'png';
		},
		closeButton : function(){
			return comAolMusicModulesFlyout.vars.imgHOST+'closegif';	
		},
		middle : function(){
			return (Browser.Engine.trident4) ? comAolMusicModulesFlyout.vars.imgHOST+'middlegif' : comAolMusicModulesFlyout.vars.imgHOST+'middlepng'; 
			//return comAolMusicModulesFlyout.vars.imgHOST+'middlepng';
		},
		bottom : function(){
			return (Browser.Engine.trident4) ? comAolMusicModulesFlyout.vars.imgHOST+'bottomgif' : comAolMusicModulesFlyout.vars.imgHOST+'bottompng';
			//return comAolMusicModulesFlyout.vars.imgHOST+'bottompng';
		}
	}
}
comAolMusicModulesFlyout.events = {
	fadeOutClose : function(){
		if (!comAolMusicModulesFlyout.vars.mouseOver){
			var fadeOutClose = new Fx.Tween('comAolMusicModulesFlyoutBody', {
				property: 'opacity', 
         		duration: 200,
         		onComplete : comAolMusicModulesFlyout.events.close
			});	
			fadeOutClose.start(0);
		} else {
			setTimeout(comAolMusicModulesFlyout.events.fadeOutClose, 1500);	
		}
	},
	close : function(){
		try {
			$('comAolMusicModulesFlyoutBody').setStyles({'width' : 0, 'display' : 'none', 'opacity' : 1});
		} catch (e) {}
	},
	bodyMouseOver : function(e){
		comAolMusicModulesFlyout.vars.mouseOver = true;
	},
	bodyMouseOut : function(e){
		comAolMusicModulesFlyout.vars.mouseOver = false;
	},
	audioSearchPlaylist : function (e){
		var e = new Event(e);
		comAolMusicModulesFlyout.vars.xMouse = comAolMusicModulesFlyout.vars.xMouse - 255;
		comAolMusicModulesFlyout.vars.yMouse = comAolMusicModulesFlyout.vars.yMouse - 40;
		comAolMusicModulesFlyout.vars.mediaType = 'audio';
		comAolMusicModulesFlyout.vars.assetType = 'audio'
		$('comAolMusicModulesFlyoutBody').empty();
		if (comAolMusicModulesFlyout.viewer == ''){
			comAolMusicModulesFlyout.ui.state.initializeSns('right', 'ADD '+comAolMusicModulesFlyout.vars.assetType.toUpperCase()+' TO...');	
		} else {
			comAolMusicModulesFlyout.vars.audioAssetPlayNow = false;
			comAolMusicModulesFlyout.vars.audioAssetPlaylist = true;
			comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
			if (comAolMusicModulesFlyout.vars.audioAsset.enclosure == ''){
				comAolMusicModulesFlyout.ui.state.audioSearch('right');
				comAolMusicModulesFlyout.events.getAudioSearch();
			} else {
				comAolMusicModulesFlyout.vars.audioAsset.mediatype = "singingfish";
				$('comAolMusicModulesFlyoutBody').empty();
				comAolMusicModulesFlyout.ui.state.initializePlaylists('right');
				comAolMusicModulesFlyout.events.listPlaylists(comAolMusicModulesFlyout.vars.mediaType);
			}
		}
	},
	audioSearchPlayNow : function (e){
		comAolMusicModulesFlyout.vars.audioAssetPlayNow = true;
		comAolMusicModulesFlyout.events.audioSearchPlay(e);
	},
	audioSearchPlayLater : function (e){
		comAolMusicModulesFlyout.vars.audioAssetPlayNow = false;
		comAolMusicModulesFlyout.events.audioSearchPlay(e);
	},
	audioSearchPlay : function (e){
		var e = new Event(e);
		comAolMusicModulesFlyout.vars.mediaType = 'audio';
		comAolMusicModulesFlyout.vars.assetType = 'audio';
		comAolMusicModulesFlyout.vars.audioAssetPlaylist = false;
		comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
		comAolMusicModulesFlyout.vars.xMouse = comAolMusicModulesFlyout.vars.xMouse + 25;
		comAolMusicModulesFlyout.vars.yMouse = comAolMusicModulesFlyout.vars.yMouse - 40;
		$('comAolMusicModulesFlyoutBody').empty();
		if (comAolMusicModulesFlyout.vars.audioAsset.enclosure == ''){
			comAolMusicModulesFlyout.ui.state.audioSearch('left');
			comAolMusicModulesFlyout.events.getAudioSearch();
		} else {
			comAolMusicModulesFlyout.vars.audioAsset.mediatype = "singingfish";
			comAolMusicModulesFlyout.song.add();
		}
	},
	audioSamplePlayNow : function (e){
		
		var e = new Event(e);
		comAolMusicModulesFlyout.vars.mediaType = 'audio';
		comAolMusicModulesFlyout.vars.assetType = 'audio';
		comAolMusicModulesFlyout.vars.audioAssetPlaylist = false;
		comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
		comAolMusicModulesFlyout.vars.xMouse = comAolMusicModulesFlyout.vars.xMouse + 25;
		comAolMusicModulesFlyout.vars.yMouse = comAolMusicModulesFlyout.vars.yMouse - 40;
		$('comAolMusicModulesFlyoutBody').empty();
		comAolMusicModulesFlyout.ui.state.audioSearch('left');
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		var fakeResponseDataAssets = [];
		comAolMusicModulesFlyout.ui.state.audioSearchAssets(fakeResponseDataAssets);
		
		
	},
	audioPlaylist : function(e){
		var e = new Event(e);
		comAolMusicModulesFlyout.vars.xMouse = comAolMusicModulesFlyout.vars.xMouse - 255;
		comAolMusicModulesFlyout.vars.yMouse = comAolMusicModulesFlyout.vars.yMouse - 40;
		comAolMusicModulesFlyout.vars.mediaType = 'audio';
		comAolMusicModulesFlyout.vars.assetType = 'audio'
		$('comAolMusicModulesFlyoutBody').empty();
		if (comAolMusicModulesFlyout.viewer == ''){
			comAolMusicModulesFlyout.ui.state.initializeSns('right', 'ADD '+comAolMusicModulesFlyout.vars.assetType.toUpperCase()+' TO...');
		} else {
			comAolMusicModulesFlyout.vars.audioAssetPlaylist = true;
			comAolMusicModulesFlyout.vars.audioAssetPlayNow = false;
			comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
			comAolMusicModulesFlyout.vars.audioAsset.mediatype = "pmms_audio";
			comAolMusicModulesFlyout.ui.state.initializePlaylists('right');
			comAolMusicModulesFlyout.events.listPlaylists(comAolMusicModulesFlyout.vars.mediaType);
		}
	},
	audioPlayNow : function(e){
		var e = new Event(e);
		comAolMusicModulesFlyout.vars.mediaType = 'audio';
		comAolMusicModulesFlyout.vars.assetType = 'audio'
		comAolMusicModulesFlyout.vars.audioAssetPlaylist = false;
		comAolMusicModulesFlyout.vars.audioAssetPlayNow = true;
		comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
		comAolMusicModulesFlyout.vars.audioAsset.mediatype = "pmms_audio";
		comAolMusicModulesFlyout.song.add();
	},
	audioPlayLater : function(e){
		var e = new Event(e);
		comAolMusicModulesFlyout.vars.mediaType = 'audio';
		comAolMusicModulesFlyout.vars.assetType = 'audio'
		comAolMusicModulesFlyout.vars.audioAssetPlaylist = false;
		comAolMusicModulesFlyout.vars.audioAssetPlayNow = false;
		comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
		comAolMusicModulesFlyout.vars.audioAsset.mediatype = "pmms_audio";
		comAolMusicModulesFlyout.song.add();
	},
	getAudioSearch : function(){
    	comAolMusicModulesFlyout.service.script(serverHostUrl+"api/audio/search?start=0&count=5&c=comAolMusicModulesFlyout.events.getAudioSearchBack&trackAolId="+comAolMusicModulesFlyout.vars.audioAsset.trackaolid+"&artistName="+escape(comAolMusicModulesFlyout.vars.audioAsset.artist)+"&songTitle="+escape(comAolMusicModulesFlyout.vars.audioAsset.songtitle)+"&ran="+Math.random());
	},
	getAudioSearchBack : function(json){
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		if (json.response.statusCode == 200){
			comAolMusicModulesFlyout.ui.state.audioSearchAssets(json.response.data.assets);
		} else {
			
		}
	},
	audioSearchClick : function(e){
		var e = new Event(e);
		e.stop();
		comAolMusicModulesFlyout.utilities.setAudioAsset(e.target);
		if (!comAolMusicModulesFlyout.vars.audioAssetPlaylist){
			comAolMusicModulesFlyout.song.add();
		} else {
			comAolMusicModulesFlyout.events.listPlaylists('audio');	
		}
	},
	listPlaylists : function(type){
		comAolMusicModulesFlyout.utilities.startLoadingImg();
		$('comAolMusicModulesFlyoutTopHeader').set('text','LOADING PLAYLISTS');
		window.addEvent("comAolMusicApiPlaylistsList", comAolMusicModulesFlyout.events.listPlaylistsBack); 
		var playlistAPI = new comAolMusicApiPlaylists();
		if (comAolMusicApiPlaylists.playlist[type]){
			comAolMusicApiPlaylists.playlist[type] = null;
		}	
		playlistAPI.list(type);	
	},
	listPlaylistsBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsList", comAolMusicModulesFlyout.events.listPlaylistsBack); 
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		if (json.statusCode == 200){
			comAolMusicModulesFlyout.vars.playlists = [];
			comAolMusicModulesFlyout.vars.playlists = json.data.playlists.concat();;
			if (json.data.playlists.length > 0){
				comAolMusicModulesFlyout.ui.state.listPlaylists();
			} else {
				comAolMusicModulesFlyout.ui.state.firstPlaylist();
			}
		} else {
			comAolMusicModulesFlyout.ui.state.errorLoadingPlaylists();
		}
	},
	trackCharCount : function(e){
		var e = new Event(e);
		var submitOnEnter = e.target.getAttribute('submitOnEnter');
		var charCount = e.target.getAttribute('charCount');
		if (e.key == 'enter' && submitOnEnter == 'true'){
			comAolMusicModulesFlyout.events.createPlaylist();	
		}
		var num = e.target.value.length+1;
		var maximum = e.target.getAttribute('maxChars');
		$(charCount).set('text',num+"/"+maximum);
		if (num >= maximum){ 
			$(charCount).setStyle('color', '#FF0000');
			if (e.key != 'enter' && e.key != 'left' && e.key != 'right' && e.key != 'backspace' && e.key !=  'delete'){
				e.stop();	
			}
		} else {
			$(charCount).setStyle('color', '#999999');
		}
	},
	createPlaylistClick : function(){
		comAolMusicModulesFlyout.ui.state.createNewPlaylist();
	},
	cancelCreatePlaylist : function(){
		comAolMusicModulesFlyout.ui.state.listPlaylists();
	},
	createPlaylist : function(){
		var value = $('comAolMusicModulesFlyoutNewPlaylistInputBox').value;
		if (value.length > 35){
			alert('Please limit this playlist title to 35 characters.');	
		} else {
			if (value.length > 0){
				$('comAolMusicModulesFlyoutBlueButton').removeEvent('click', comAolMusicModulesFlyout.events.createPlaylist);
				comAolMusicModulesFlyout.utilities.startLoadingImg();	
				window.addEvent("comAolMusicApiPlaylistsCreate", comAolMusicModulesFlyout.events.createPlaylistBack); 
				var playlistAPI = new comAolMusicApiPlaylists();
				playlistAPI.create(comAolMusicModulesFlyout.vars.mediaType, value);
			} else {
				alert('Please give that playlist a title.');	
			}
		}
	},
	createPlaylistBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsCreate", comAolMusicModulesFlyout.events.createPlaylistBack); 
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		if (json.statusCode == 200){
			//comAolMusicModulesFlyout.vars.playlists.push(json.data.playlist);
			comAolMusicModulesFlyout.vars.newPlaylist = json.data.playlist;
			comAolMusicModulesFlyout.ui.state.listPlaylists();
		} else {
			var statusText = json.statusText.trim();
			if (statusText !== '') {
				statusText = statusText + ' ';
			}
			alert(statusText + "There was a problem creating your playlist. Please try again.");	
		}
	},
	addPlaylist : function(){
		var playlists = $$('#comAolMusicModulesFlyoutPlaylistBox div');
			var playlistsSelected = [];
			for (i=0; i<playlists.length; i++){
				var playlist = playlists[i];
				if (playlist.firstChild.checked){
					playlistsSelected.push(playlist.getAttribute("listid"));
				}
			}
			if (playlistsSelected.length > 0){
				comAolMusicModulesFlyout.utilities.startLoadingImg();
				var playlistAPI = new comAolMusicApiPlaylists();
				if (comAolMusicModulesFlyout.vars.assetType == 'audio'){
					window.addEvent("comAolMusicApiPlaylistsAdd", comAolMusicModulesFlyout.events.addPlaylistBack);
					if (comAolMusicModulesFlyout.vars.audioAsset.mediatype == "pmms_audio"){
						playlistAPI.add(playlistsSelected, "audio", comAolMusicModulesFlyout.vars.audioAsset.trackaolid);
					} else {
						var songObject = {};
						songObject.artist = comAolMusicModulesFlyout.vars.audioAsset.artist;
						songObject.album = comAolMusicModulesFlyout.vars.audioAsset.album;
						songObject.songtitle = comAolMusicModulesFlyout.vars.audioAsset.songtitle;
						songObject.enclosure = comAolMusicModulesFlyout.vars.audioAsset.enclosure;
						songObject.duration = comAolMusicModulesFlyout.vars.audioAsset.duration;
						songObject.sourceurl = comAolMusicModulesFlyout.vars.audioAsset.sourceurl;
						songObject.trackaolid = comAolMusicModulesFlyout.vars.audioAsset.trackaolid;
						var array = [];
						array.push(songObject);
						playlistAPI.add(playlistsSelected, "audio", array);
					}	
				}
				if (comAolMusicModulesFlyout.vars.assetType == 'video'){
					window.addEvent("comAolMusicApiPlaylistsAdd", comAolMusicModulesFlyout.events.addPlaylistBack);
					playlistAPI.add(playlistsSelected, 'video', comAolMusicModulesFlyout.vars.assetId, comAolMusicModulesFlyout.vars.assetIdType);
				}
				if (comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllVIDEO' || comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllAUDIO'){
					if (playlistsSelected.length == 1){
						window.addEvent("comAolMusicApiPlaylistsCopy", comAolMusicModulesFlyout.events.copyPlaylistBack);
						playlistAPI.copy(comAolMusicModulesFlyout.vars.assetId, playlistsSelected[0]);
					} else {
						alert("Please select only one playlist to add to.");	
					}
				}
			} else {
				alert("Please select at least one playlist.");	
			}	
	},
	addPlaylistBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsAdd", comAolMusicModulesFlyout.events.addPlaylistBack);
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		if (json.statusCode == 200){
			comAolMusicModulesFlyout.vars.addedPlaylists = json.data.playlists;
			comAolMusicModulesFlyout.ui.state.added();
		} else {
			var statusText = json.statusText.trim();
			if (statusText !== '') {
				statusText = statusText + ' ';
			}
			alert(statusText + "There was a problem	adding to your playlist.");	
		}
	},
	copyPlaylistBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsCopy", comAolMusicModulesFlyout.events.copyPlaylistBack);
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		if (json.statusCode == 200){
			comAolMusicModulesFlyout.vars.copiedPlaylists = json.data;
			comAolMusicModulesFlyout.ui.state.copied();
		} else {
			var statusText = json.statusText.trim();
			if (statusText !== '') {
				statusText = statusText + ' ';
			}
			alert(statusText + "There was a problem adding to your playlist.");	
		}
	},
	flyoutShowRight : function(e){
		comAolMusicModulesFlyout.vars.xMouse = comAolMusicModulesFlyout.vars.xMouse + 15;
		comAolMusicModulesFlyout.vars.yMouse = comAolMusicModulesFlyout.vars.yMouse - 40;
		comAolMusicModulesFlyout.events.flyoutShow(e, 'left');
	},
	flyoutShowLeft : function(e){
		comAolMusicModulesFlyout.vars.xMouse = comAolMusicModulesFlyout.vars.xMouse - 255;
		comAolMusicModulesFlyout.vars.yMouse = comAolMusicModulesFlyout.vars.yMouse - 40;
		comAolMusicModulesFlyout.events.flyoutShow(e, 'right');
	},
	
	flyoutShow : function(e, side){
		var e = new Event(e);
		$('comAolMusicModulesFlyoutBody').empty();
		if (comAolMusicModulesFlyout.viewer == ''){
			comAolMusicModulesFlyout.ui.state.initializeSns(side, "COPY PLAYLIST TO...");		
		} else {
			comAolMusicModulesFlyout.vars.assetType = e.target.getAttribute('assettype');
			comAolMusicModulesFlyout.vars.assetId = e.target.getAttribute('assetid');
			comAolMusicModulesFlyout.vars.assetIdType = e.target.getAttribute('assetidtype');
			comAolMusicModulesFlyout.vars.mediaType = 'audio';
			if (comAolMusicModulesFlyout.vars.assetType == 'video' || comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllVIDEO'){
				comAolMusicModulesFlyout.vars.mediaType = 'video';
			}
			if (comAolMusicModulesFlyout.vars.assetType == "playlistEdit"){
				comAolMusicModulesFlyout.ui.state.editPlaylist(side);
				comAolMusicModulesFlyout.events.getPlaylistInfo(comAolMusicModulesFlyout.vars.assetId);
			} else {
				comAolMusicModulesFlyout.ui.state.initializePlaylists(side);
				if(comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllVIDEO' || comAolMusicModulesFlyout.vars.assetType == 'playlistAddAllAUDIO') {
					comAolMusicModulesFlyout.events.getPlaylistDetails(comAolMusicModulesFlyout.vars.assetId);
				}
				else {
					comAolMusicModulesFlyout.events.listPlaylists(comAolMusicModulesFlyout.vars.mediaType);
				}
			}
		}
	},
	openNewPlaylist : function(listId){
		if (comAolMusicModulesFlyout.vars.needWindow && !comAolMusicModulesFlyout.vars.openWindowAttempt) {
			window.open("/song/player/audioplayer.jsp?playlistid="+listId+"&play=true", 'aolmusicplayer','scrollbars=no,toolbar=no,width=823,height=455');
		} else {
			comAolMusicModulesFlyout.flash.addPlaylist(listId, true);	
		}		
	},
	getMetaFromPmmsId : function(e){
		var e = new Event(e);
		e.stop();
		comAolMusicModulesFlyout.vars.audioAssetPlayNow = true;
		comAolMusicModulesFlyout.vars.audioAsset = null;
		comAolMusicModulesFlyout.song.add();
		var pmmsid = e.target.getAttribute('pmmsid');
		comAolMusicModulesFlyout.service.script(serverHostUrl+'api/audio/getsongs?c=comAolMusicModulesFlyout.events.getMetaFromPmmsIdBack&pmmsId='+pmmsid+'&type=pmms&ran='+Math.random());
	},
	getMetaFromPmmsIdBack : function(json){
		if (json.response.statusCode == 200){
			comAolMusicModulesFlyout.vars.audioAsset = {
				mediatype : "pmms_audio",
				artist : json.response.data.assets[0].artistname,
				album : json.response.data.assets[0].albumname,
				songtitle : json.response.data.assets[0].songtitle,
				genre : json.response.data.assets[0].genre,
				imageurl : json.response.data.assets[0].imageurl,
				duration : json.response.data.assets[0].duration,
				enclosure : json.response.data.assets[0].enclosure,
				sourceurl : json.response.data.assets[0].sourceurl,
				trackaolid : json.response.data.assets[0].trackaolid,
				artistaolid : json.response.data.assets[0].artistaolid,
				artistamgid : json.response.data.assets[0].artistamgid,
				sample : json.response.data.assets[0].sample,
				pmmsid : json.response.data.assets[0].pmmsid,
				playnow : comAolMusicModulesFlyout.vars.audioAssetPlayNow
			}
			comAolMusicModulesFlyout.song.add();
		}
	},
	
	getPlaylistDetails : function(playlistId){
		window.addEvent("comAolMusicApiPlaylistsGet", comAolMusicModulesFlyout.events.getPlaylistDetailsBack); 
		var playlistAPI = new comAolMusicApiPlaylists();
		playlistAPI.get(playlistId);
	},
	getPlaylistDetailsBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsGet", comAolMusicModulesFlyout.events.getPlaylistDetailsBack);
		comAolMusicModulesFlyout.vars.assetCount = json.data.playlist.itemCount;
		comAolMusicModulesFlyout.events.listPlaylists(comAolMusicModulesFlyout.vars.mediaType);	
	},

	getPlaylistInfo : function(playlistId){
		window.addEvent("comAolMusicApiPlaylistsGet", comAolMusicModulesFlyout.events.getPlaylistInfoBack); 
		var playlistAPI = new comAolMusicApiPlaylists();
		playlistAPI.get(playlistId);
	},
	getPlaylistInfoBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsGet", comAolMusicModulesFlyout.events.getPlaylistInfoBack);
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		$('comAolMusicModulesFlyoutNewPlaylistInputBox').value = json.data.playlist.listName;
		if (json.data.playlist.description){
			$('comAolMusicModulesFlyoutEditPlaylistDescriptionBox').value = json.data.playlist.description;
		}
		if (json.data.ageGroup == "ADULT" || json.data.ageGroup == "MATURE_TEEN"){
			$("playlistPrivacyToggle"+json.data.playlist.privacy).checked = true;
		} else {
			$("comAolMusicModulesFlyoutPrivacyRadio").setStyle("display", "none");
		}
	},
	editPlaylist : function(e){
		var title = $("comAolMusicModulesFlyoutNewPlaylistInputBox").value;
		var description = $("comAolMusicModulesFlyoutEditPlaylistDescriptionBox").value;
		var privacy = "";
		if ($("playlistPrivacyTogglePUBLIC").checked){
			privacy = "public";	
		}
		if ($("playlistPrivacyTogglePRIVATE").checked){
			privacy = "private";	
		}
		if (title.length < 1){
			alert("Please give this playlist a title.");	
		} else {
			if (title.length > 35){
				alert("Please limit this title to 35 characters. Current character count is "+title.length);
			} else {
				if (description.length > 350){
					alert("Please limit this description to 350 characters. Current character count is "+description.length);
				} else {
					comAolMusicModulesFlyout.utilities.startLoadingImg();
					window.addEvent("comAolMusicApiPlaylistsEdit", comAolMusicModulesFlyout.events.editPlaylistBack); 
					var playlistAPI = new comAolMusicApiPlaylists();
					playlistAPI.editList(comAolMusicModulesFlyout.vars.assetId, title, description, privacy);
				}
			}
		}	
	},
	editPlaylistBack : function(json){
		window.removeEvent("comAolMusicApiPlaylistsEdit", comAolMusicModulesFlyout.events.editPlaylistBack); 
		comAolMusicModulesFlyout.utilities.stopLoadingImg();
		if (json.statusCode == 200){
			comAolMusicModulesFlyout.events.close();
		} else {
			var statusText = json.statusText.trim();
			if (statusText !== '') {
				statusText = statusText + ' ';
			}
			alert(statusText + "There was a problem editing your playlist.");	
		}
	}
},
comAolMusicModulesFlyout.service = {
    script : function(url){
        var s = new Element('script', { 'src': url });  
        $(s).injectInside(document.body);
    }
}
comAolMusicModulesFlyout.utilities = {
	each : function(obj, f) {
    	var l = obj.length;
    	for(var i = 0; i < l; i++) f(obj[i], i);
    	return obj;
	} ,
	isA : function(o,klass){ if(!o.className) return false; return new RegExp('\\b'+klass+'\\b').test(o.className) },
	isOrHasParent : function(o, p) {
        while(o.parentNode){ if(o == p) return true; o = o.parentNode }
        return false
    },
	trimString : function(string, number){
        if (string.length > number){
            return string.substring(0, number)+"..."; 
        } else {
            return string;  
        }
    },
	splitrim : function(el, t){ 
		return el.replace(/^\s+|\s+$/g,'').split(new RegExp('\\s*'+t+'\\s*')) 
	},
	findMicroFormat : function (o){
		while(o.parentNode){
				if ($(o).getProperty("songtitle")){
				return o;
				break;
			} 
				o = o.parentNode 
			}	
	},
	getMicroFormat : function(el){
        var song = {
            artist : unescape(el.getAttribute("artist")),
            album : unescape(el.getAttribute("album")),
            songtitle : unescape(el.getAttribute("songtitle")),
			genre : unescape(el.getAttribute("genre")),
            imageurl : el.getAttribute("imageurl"),
            duration : el.getAttribute("length"),
            enclosure : el.getAttribute("enclosure"),
            sourceurl : el.getAttribute("sourceurl"),
            trackaolid : el.getAttribute("trackaolid"),
            artistaolid : el.getAttribute("artistaolid"),
            artistamgid : el.getAttribute("artistamgid"),
			sample : el.getAttribute("sample"),
			pmmsid : el.getAttribute("pmmsid"),
			mediatype : el.getAttribute("mediatype"),
			playlistid : el.getAttribute("playlistid"),
			playnow : comAolMusicModulesFlyout.vars.audioAssetPlayNow
        }
        return song;
    },
	setAudioAsset : function(el){
		var element = comAolMusicModulesFlyout.utilities.findMicroFormat(el);
		comAolMusicModulesFlyout.vars.audioAsset = comAolMusicModulesFlyout.utilities.getMicroFormat(element);
	},
	stopLoadingImg : function(){
		$('comAolMusicModulesFlyoutTopHeader').setStyle('backgroundPosition', '0 300px');
	},
	startLoadingImg : function(){
		$('comAolMusicModulesFlyoutTopHeader').setStyle('backgroundPosition', 'right');
	},
	convertSecsToReadableTime : function(secs){
        var time = "";
        var sec = Math.round(secs);
        var second = (sec%60);
        var minute = (sec/60);
        var minute2 = Math.floor(minute);
        if (second<10) {
            time = minute2+":0"+second;
        } else {
            time = minute2+":"+second
        }
    	return time;
    }
}
comAolMusicModulesFlyout.flash = {
    getSWF : function(n) {
        var isIE = navigator.appName.indexOf("Microsoft") != -1;
        return (isIE) ? window[n] : document[n];
    },
    addSong : function(song){
		comAolMusicModulesFlyout.flash.getSWF("AudioPlayerHelper").addSongObject(song);
		comAolMusicModulesFlyout.events.close();
    },
	addPlaylist : function(listId, playlistPlay){
		comAolMusicModulesFlyout.flash.getSWF("AudioPlayerHelper").addPlaylist(listId, playlistPlay);	
	},
    setNeedWindow : function(b){
        comAolMusicModulesFlyout.vars.needWindow = b;
		//document.title = b+" "+Math.random();
    },
	playSongLocal : function(url){
		comAolMusicModulesFlyout.flash.getSWF("AudioPlayerHelper").playSongLocal(url);	
	},
	stopSongLocal : function(){
		comAolMusicModulesFlyout.flash.getSWF("AudioPlayerHelper").stopSongLocal();	
	}
}
comAolMusicModulesFlyout.song = {
    add : function() {
       if (comAolMusicModulesFlyout.vars.needWindow && !comAolMusicModulesFlyout.vars.openWindowAttempt){
        	comAolMusicModulesFlyout.vars.openWindowAttempt = true;
			window.open(serverHostUrl+"song/player/audioplayer.jsp", 'aolmusicplayer','scrollbars=no,toolbar=no,width=823,height=455');
			setTimeout("comAolMusicModulesFlyout.song.checkForWindow()", 500);
			setTimeout("comAolMusicModulesFlyout.song.setOpenWindowAttemptFalse()", 5000);
        } else {
            comAolMusicModulesFlyout.song.addNow();
        }
    },
    addNow : function(){
		if (comAolMusicModulesFlyout.vars.audioAsset){
			comAolMusicModulesFlyout.flash.addSong(comAolMusicModulesFlyout.vars.audioAsset);
		}
    },
	checkForWindow : function(){
		 if (!comAolMusicModulesFlyout.vars.needWindow){
			 setTimeout("comAolMusicModulesFlyout.song.addNow()", 500);
			 comAolMusicModulesFlyout.vars.openWindowAttempt = false;
		 } else {
			 setTimeout("comAolMusicModulesFlyout.song.checkForWindow()", 500);
		 }
	},
	setOpenWindowAttemptFalse : function(){
		comAolMusicModulesFlyout.vars.openWindowAttempt = false;
	}
}
comAolMusicModulesFlyout.clicks = {
	onclicks : {
		queuesingingfish : comAolMusicModulesFlyout.events.audioSearchPlaylist,
		playsingingfish : comAolMusicModulesFlyout.events.audioSearchPlayNow,
		queuepmms : comAolMusicModulesFlyout.events.audioPlaylist,
		playpmms : comAolMusicModulesFlyout.events.audioPlayNow,
		playsample: comAolMusicModulesFlyout.events.audioSamplePlayNow,
		flyoutShowRight : comAolMusicModulesFlyout.events.flyoutShowRight,
		flyoutShowLeft : comAolMusicModulesFlyout.events.flyoutShowLeft,
		getMetaFromPmmsId : comAolMusicModulesFlyout.events.getMetaFromPmmsId
    },
    onclicksNot : {
	},
    handler : function(e){
    	var ev = new Event(e);
    	var t = ev.target;
		if (!comAolMusicModulesFlyout.utilities.isOrHasParent(t, $('comAolMusicModulesFlyoutBody'))){
			comAolMusicModulesFlyout.events.close();	
		}
		comAolMusicModulesFlyout.vars.xMouse = $(t).getPosition().x-$("comAolMusicModulesFlyoutPositioner").getPosition().x;		
		comAolMusicModulesFlyout.vars.yMouse = $(t).getPosition().y;
		for(var f in comAolMusicModulesFlyout.clicks.onclicksNot) { if(!comAolMusicModulesFlyout.utilities.isA(t, f)) comAolMusicModulesFlyout.clicks.onclicksNot[f].call(t, ev) }
		var r = true
		if(t.className){
			var splitrim = comAolMusicModulesFlyout.utilities.splitrim(t.className, ' ');
			comAolMusicModulesFlyout.utilities.each(splitrim, function(c){     
				if(comAolMusicModulesFlyout.clicks.onclicks[c]) {      
					comAolMusicModulesFlyout.clicks.onclicks[c].call(t, ev)
					r = false
			}});
			};   
		return r
    }
}
comAolMusicModulesFlyout.contextmenu = {
	onclicks : {
		playsingingfish : comAolMusicModulesFlyout.events.audioSearchPlayLater,
		playpmms : comAolMusicModulesFlyout.events.audioPlayLater
    },
    onclicksNot : {
	},
    handler : function(e){
    	var ev = new Event(e);
    	var t = ev.target;
		if (!comAolMusicModulesFlyout.utilities.isOrHasParent(t, $('comAolMusicModulesFlyoutBody'))){
			comAolMusicModulesFlyout.events.close();	
		}
		comAolMusicModulesFlyout.vars.xMouse = $(t).getLeft()-$("comAolMusicModulesFlyoutPositioner").getLeft();
		comAolMusicModulesFlyout.vars.yMouse = $(t).getTop();
		for(var f in comAolMusicModulesFlyout.contextmenu.onclicksNot) { if(!comAolMusicModulesFlyout.utilities.isA(t, f)) comAolMusicModulesFlyout.contextmenu.onclicksNot[f].call(t, ev) }
		var r = true
		if(t.className){
			var splitrim = comAolMusicModulesFlyout.utilities.splitrim(t.className, ' ');
			comAolMusicModulesFlyout.utilities.each(splitrim, function(c){     
				if(comAolMusicModulesFlyout.contextmenu.onclicks[c]) { 
					ev.stop();
					comAolMusicModulesFlyout.contextmenu.onclicks[c].call(t, ev)
					r = false
			}});
			};   
		return r
    }
}
if (window.ie){
	window.addEvent('load', comAolMusicModulesFlyout.init);
} else {
	window.addEvent('domready', comAolMusicModulesFlyout.init);
}
//]]>
//<![CDATA[
/*
name: com_aol_music_community_1_2.js
$LastChangedDate: 2009-03-17 15:45:21 -0400 (Tue, 17 Mar 2009) $
$Rev: 39312 $
author: Dan Kantor, Ali Hasan
/////////////////////
dependencies:
1. moo-12-all.js
2. com_aol_music_api_playlists.js
3. com.aol.music.signin.js
////////////////////
*/

if (typeof(communityng) == 'undefined'){
	communityng = {};
}

communityng.vars = {
    imgHOST : "http://o.aolcdn.com/art/ch_music2/",
    dropDownDiv : null,
    dropDownTarget : null,
    requestId : 0,
    removeDiv : null,
	playlistCreatedByMe : false,
	advancedSearch : false
}

communityng.init = {
    all : function(){
    
    },
	playlistHub : function(){
		$('searchButton').addEvent("mouseover", communityng.ui.searchButtonEnter);
        $('searchButton').addEvent("mouseout", communityng.ui.searchButtonLeave);
		var playlistHubSearchDeletes = $$('.playlistHubSearchDelete');
        var len = playlistHubSearchDeletes.length;
        for(var i=0; i < len; i++){
			$(playlistHubSearchDeletes[i]).addEvent('click', communityng.ui.searchDelete);
		}
		$('advancedSearch').addEvent('click', communityng.ui.searchAdvanced);
		$('advancedArrow').addEvent('click', communityng.ui.searchAdvanced);
		$('searchButton').addEvent('click', communityng.ui.searchButton);
	},
    playlistList : function(){
        communityng.init.all();
		var deleteButtons = $$('.playlistDelete');
        len = deleteButtons.length;
        for(var i=0; i < len; i++){
            deleteButtons[i].addEvent("click", communityng.events.deletePlaylist);
            deleteButtons[i].addEvent("mouseover", communityng.ui.deleteButtonEnter);
            deleteButtons[i].addEvent("mouseout", communityng.ui.deleteButtonLeave);
        }
       
    },
    playlistAsset : function(){
        communityng.init.all('span.playlistassetdrags');
        if ($$('span.playlistassetdrags').length > 0) {
	        new Sortables('playlistListUL', {
	        	handle : 'span.playlistassetdrags',
	        	clone: true,
	        	snap: 1,
	        	opacity: 0.5,
	        	onStart : communityng.events.sortStart, 
	        	onComplete : communityng.events.sortComplete 
	        	});
        }
        var deleteButtons = $$('.playlistdeletebutton');
        len = deleteButtons.length;
        for(var i=0; i < len; i++){
            deleteButtons[i].addEvent("click", communityng.events.deleteAsset);
            deleteButtons[i].addEvent("mouseover", communityng.ui.deleteButtonEnter);
            deleteButtons[i].addEvent("mouseout", communityng.ui.deleteButtonLeave);
        }
		if($('yourListsCreateNewLink')){
        	$('yourListsCreateNewLink').addEvent("click", communityng.events.yourListsCreateNew);
		}
        var editButtons = $$('.playlisteditbutton');
        len = editButtons.length;
        for(var i=0; i < len; i++){
            editButtons[i].addEvent("click", communityng.events.editAsset);
        }
		var playlistRatingStars = $$('.playlistRatingStar');
        len = playlistRatingStars.length;
		if (communityng.sn != ""){
			for (var i=0; i < len; i++){
				playlistRatingStars[i].addEvent("mouseover", communityng.events.playlistRatingStarMouseOver);
				playlistRatingStars[i].addEvent("mouseout", communityng.events.playlistRatingStarMouseOut);
				playlistRatingStars[i].addEvent("click", communityng.events.playlistRatingStarClick);
			}
		}
		try {
			if (communityng.playlistRatingMine != 0.0 && communityng.sn != ""){
				$("ratingHeader").set('text',"YOUR RATING");
				$("ratingsFooter").set('text',"VIEW AVG RATING");
				$("ratingsFooter").addClass("active");
				communityng.ui.setRatings(communityng.playlistRatingMine, "playlistRatingStarYellow");
				$("ratingsFooter").addEvent("click", communityng.events.showAvgRatings);
			} else {
				if (communityng.playlistRatingAvg == 0.0){
					$("ratingHeader").set('text',"NO USER RATING");
				} else {
					$("ratingHeader").set('text',"AVG RATING");
				}
				communityng.ui.setRatings(communityng.playlistRatingAvg, "playlistRatingStarBlue");
				if (communityng.sn != ""){
					//$("ratingsFooter").addEvent("click", communityng.events.showYourRatings);
					$("ratingsFooter").set('text',"CLICK STARS TO RATE");
					$("ratingsFooter").addClass("inactive");
				} else {
					$("ratingsFooter").addEvent("click", function(){ signin();});
					$("ratingsFooter").set('text',"SIGN IN TO RATE");
					$("ratingsFooter").addClass("active");
				}
			}
		} catch (e) {}
    }
}
communityng.events = {
	dropDownSort : function(el){
		window.location = window.location.pathname+"?sort="+el.value;
	},
	playlistHubSort : function(el){
		window.location = window.location.pathname+"?sort="+el.value;
	},
	playlistHubSendSearch : function(){
		var value = $('playlistSearchInput').value;
		if (value != $('playlistSearchInput').getAttribute('oldValue') && value != ""){
			window.location = "/playlists/"+communityng.playlistHubType+"/?q="+escape(value);
		} else {
			window.location = "/playlists/"+communityng.playlistHubType+"/";
		}
		return false;	
	},
	playlistHubSendSearchAdvanced : function(){
		var artist = $('playlistSearchInputArtist').value;
		var song = $('playlistSearchInputSong').value;
		var playlist = $('playlistSearchInputPlaylist').value;
		var query = "?";
		if (artist != $('playlistSearchInputArtist').getAttribute('oldValue') && artist != ""){
			query += "&artist="+escape(artist);
		} 
		if (song != $('playlistSearchInputSong').getAttribute('oldValue') && song != ""){
			query += "&song="+escape(song);
		}
		if (playlist != $('playlistSearchInputPlaylist').getAttribute('oldValue') && playlist != ""){
			query += "&playlist="+escape(playlist);
		}
		if (query == "?"){
			window.location = "/playlists/"+communityng.playlistHubType+"/";	
		} else {
			window.location = "/playlists/"+communityng.playlistHubType+"/"+query;
		}
		return false;	
	},
	showAvgRatings : function(e){
		$("ratingHeader").set('text',"AVG RATING");
		communityng.ui.clearRatings();
		communityng.ui.setRatings(communityng.playlistRatingAvg, "playlistRatingStarBlue");
		$("ratingsFooter").removeEvent("click", communityng.events.showAvgRatings);
		$("ratingsFooter").addEvent("click", communityng.events.showYourRatings);
		$("ratingsFooter").set('text',"VIEW YOUR RATING");
	},
	showYourRatings : function(e){
		$("ratingHeader").set('text',"YOUR RATING");
		communityng.ui.clearRatings();
		communityng.ui.setRatings(communityng.playlistRatingMine, "playlistRatingStarYellow");
		$("ratingsFooter").removeEvent("click", communityng.events.showYourRatings);
		$("ratingsFooter").addEvent("click", communityng.events.showAvgRatings);
		$("ratingsFooter").set('text',"VIEW AVG RATING");
	},
	playlistRatingStarMouseOver : function(e){
		e = new Event(e);
		e.stop();
		var star = e.target;
		var num = star.getProperty("num");
		for (i=0; i <= num; i++){
			$("playlistRatingStar"+i).addClass("playlistRatingStarGray");
		}
	},
	playlistRatingStarMouseOut : function(e){
		e = new Event(e);
		e.stop();
		var star = e.target;
		var num = star.getProperty("num");
		for (i=0; i <= num; i++){
			$("playlistRatingStar"+i).removeClass("playlistRatingStarGray");
		}
	},
	playlistRatingStarClick : function(e){
		e = new Event(e);
		e.stop();
		var star = e.target;
		$("ratingsFooter").removeClass("inactive");
		$("ratingsFooter").addClass("active");
		var num = star.getProperty("num");
		communityng.playlistRatingMine = parseInt(num)+1;
		if (communityng.playlistRatingAvg == 0.0){
			communityng.playlistRatingAvg =  parseInt(num)+1;
		}
		communityng.events.showYourRatings();
		var ran = Math.random();
		communityng.service.get(serverHostUrl+"api/trri/rating/submit?objectUri="+communityng.playlistUri+"&rating="+communityng.playlistRatingMine+"&f=json&c=communityng.events.playlistRatingStarClickBack&r="+ran, ran);
	},
	playlistRatingStarClickBack : function(json){
		//alert(json.response.statusCode);
	},
    deleteAsset : function(e){
		e = new Event(e);
		e.stop();
		var assetType = e.target.parentNode.parentNode.getAttribute("assetType");
		var assetTypeText = "song";
		if (assetType == "video"){
			assetTypeText = "video";	
		}
        if (confirm("Are you sure you want to delete this "+assetTypeText+"?")){
            var itemId = e.target.parentNode.parentNode.getAttribute("itemid");
            communityng.vars.removeDiv = e.target.parentNode.parentNode;
            var requestId = "sr"+communityng.vars.requestId++;
			if (communityng.isQuicklist){
				window.addEvent("comAolMusicApiQuicklistRemove", communityng.events.deleteAssetRemote); 
				var quicklistAPI = new comAolMusicApiQuicklist();
				quicklistAPI.remove("video", itemId);
			} else {
            	window.addEvent("comAolMusicApiPlaylistsRemove", communityng.events.deleteAssetRemote); 
				var playlistAPI = new comAolMusicApiPlaylists();
				playlistAPI.remove(communityng.playlistId, itemId);
			}
        }
    },
    deleteAssetRemote : function(json){
		window.removeEvent("comAolMusicApiPlaylistsRemove", communityng.events.deleteAssetRemote); 
		window.removeEvent("comAolMusicApiQuicklistRemove", communityng.events.deleteAssetRemote);
        if (json.statusCode == 200){
            var effect = new Fx.Tween(communityng.vars.removeDiv,{ 
         		property: 'opacity', 
         		duration: 300, 
         		onComplete : function() {
            		communityng.vars.removeDiv.destroy(); 
            		var playlists = $$('#playlistListUL li.playlistItem'); 
            		communityng.ui.repaintPlaylists(playlists);
            	}
           });
           effect.start(1, 0);
        } else {
            alert("There was a problem deleting this asset. Please try again.");
        }
    },
	 deletePlaylist : function(e){
        if (confirm("Are you sure you want to delete this playlist?")){
            var e = new Event(e);
			e.stop();
            var assetId = e.target.getAttribute("assetId");
            communityng.vars.removeDiv = e.target.parentNode.parentNode;
            var requestId = "sr"+communityng.vars.requestId++;
			window.addEvent("comAolMusicApiPlaylistsRemove", communityng.events.deletePlaylistRemote); 
			var playlistAPI = new comAolMusicApiPlaylists();
			playlistAPI.remove(assetId, "all");
        }
    },
    deletePlaylistRemote : function(json){
		window.removeEvent("comAolMusicApiPlaylistsRemove", communityng.events.deletePlaylistRemote); 
        if (json.statusCode == 200){
			var effect = new Fx.Tween(communityng.vars.removeDiv, {
				property: 'opacity',
				duration: 300, 
				onComplete: function(){
					communityng.vars.removeDiv.destroy();
				}					
			});
			effect.start(1, 0);
        } 
        else {
            alert("There was a problem deleting this playlist. Please try again.");
        }
    },
    editAsset : function(e){
        var ev = new Event(e);
        var itemId = ev.target.parentNode.parentNode.getAttribute("itemid");
        var oldHTML = $(itemId+"description").innerHTML;
        if (oldHTML.toLowerCase().contains("<textarea") == false){
			ev.target.parentNode.parentNode.onmouseover = null;
			ev.target.parentNode.parentNode.removeClass("itemMouseOver");
            $(itemId+"description").empty();
            var itemDescriptionEditHeader = document.createElement("DIV");
            $(itemDescriptionEditHeader).addClass("itemDescriptionEditHeader");
            itemDescriptionEditHeader.appendChild(document.createTextNode("Your Description (optional)"));
            $(itemId+"description").appendChild(itemDescriptionEditHeader);
            var textarea = document.createElement("TEXTAREA");
            $(textarea).addClass("itemDescriptionEditInput");
            textarea.setAttribute('rows', '4');
            textarea.setAttribute('cols', '60');
			
            textarea.setAttribute('id', itemId+"itemDescriptionEditInput");
			textarea.setStyle('padding', '3px');
			textarea.setStyle('overflow', 'auto');
            textarea.value = oldHTML;
            $(itemId+"description").appendChild(textarea);
            var itemDescriptionEditSave = document.createElement("DIV");
            $(itemDescriptionEditSave).addClass("itemDescriptionEditSave");
            $(itemDescriptionEditSave).addEvent("click", communityng.events.itemDescriptionEditSave)
            itemDescriptionEditSave.appendChild(document.createTextNode("Save"));
            $(itemId+"description").appendChild(itemDescriptionEditSave);
            var itemDescriptionEditCancel = document.createElement("DIV");
            $(itemDescriptionEditCancel).addClass("itemDescriptionEditCancel");
            $(itemDescriptionEditCancel).addEvent("click", communityng.events.itemDescriptionEditCancel);
            itemDescriptionEditCancel.appendChild(document.createTextNode("Cancel"));
            $(itemId+"description").appendChild(itemDescriptionEditCancel);
            var itemDescriptionEditOld = document.createElement("DIV");
            $(itemDescriptionEditOld).addClass("noDisplay");
            itemDescriptionEditOld.setAttribute("id", itemId+"itemDescriptionEditOld")
            itemDescriptionEditOld.appendChild(document.createTextNode(oldHTML));
            $(itemId+"description").appendChild(itemDescriptionEditOld);
            var itemDescriptionEditClear = document.createElement("DIV");
            $(itemDescriptionEditClear).addClass("clear");
            $(itemId+"description").appendChild(itemDescriptionEditClear);
            $(itemId+"itemDescriptionEditInput").focus();
        } else {
			communityng.events.itemDescriptionEditCancel(e);
		}
    },
    itemDescriptionEditSave : function(e){
        var ev = new Event(e);
        var itemId = ev.target.parentNode.parentNode.getAttribute("itemid");
        var description = $(itemId+"itemDescriptionEditInput").value;
		if (description.length > 200){
			alert("Please limit this description to 200 characters. Current character count is "+description.length);
		} else {
        	window.addEvent("comAolMusicApiPlaylistsEdit", communityng.events.itemDescriptionEditSaveRemote); 
			var playlistAPI = new comAolMusicApiPlaylists();
			playlistAPI.editItem(communityng.playlistId, itemId, description);
		}
        
    },
    itemDescriptionEditSaveRemote : function(json){
		window.removeEvent("comAolMusicApiPlaylistsEdit", communityng.events.itemDescriptionEditSaveRemote); 
        if (json.statusCode == 200){
             $(json.data.itemId+"description").set('text',$(json.data.itemId+"itemDescriptionEditInput").value);
        } else {
            alert("There was a problem saving your description. Please try again.");
        }
    },
    itemDescriptionEditCancel : function(e){
        var ev = new Event(e);
        var itemId = ev.target.parentNode.parentNode.getAttribute("itemid");
		ev.target.parentNode.parentNode.onmouseover = function(){ this.addClass("itemMouseOver")};
        $(itemId+"description").set('text',$(itemId+"itemDescriptionEditOld").innerHTML);
		
    },
    dropDownAsset : function(e){
        var ev = new Event(e);
        ev.target.removeEvent("click", communityng.events.dropDownAsset);
        ev.target.addEvent("click", communityng.events.closeDropDownAsset);
        ev.target.parentNode.addClass("assetClicked");
        ev.target.childNodes[1].setAttribute("src", communityng.vars.imgHOST+"community-up-arrow");
        var div = document.createElement("DIV");
        div.setAttribute("id", ev.target.parentNode.getAttribute("itemid"));
        div.style.height = "0px";
        $(div).setStyle("opacity", 0);
        ev.target.parentNode.appendChild(div);
        communityng.vars.dropDownDiv = div;
        communityng.vars.dropDownTarget = ev.target;
        var effect = new Fx.Tween(div, {
        	property: 'height', 
        	duration: 300, 
        	onComplete: communityng.events.fadeInDropDownAsset
        });
        effect.start(0, 120);
    },
    fadeInDropDownAsset : function(){
        var assetDropDown = document.createElement("DIV"); 
        $(assetDropDown).addClass("assetDropDown");
        var img = document.createElement("IMG");
        img.setAttribute("src", communityng.vars.dropDownTarget.parentNode.getAttribute("imageurl"));
        img.width = 78;
        img.height = 78;
        var imgWrapper = document.createElement("DIV");
        $(imgWrapper).addClass("albumCover");
        imgWrapper.appendChild(img);
        assetDropDown.appendChild(imgWrapper);
        var album = document.createElement("DIV");
        album.appendChild(document.createTextNode("Album Title: "+communityng.vars.dropDownTarget.parentNode.getAttribute("album")));
        assetDropDown.appendChild(album);
        var sourceurl = document.createElement("DIV");
        sourceurl.appendChild(document.createTextNode("Source: "+communityng.vars.dropDownTarget.parentNode.getAttribute("sourceurl")));
        assetDropDown.appendChild(sourceurl);
        var clear = document.createElement("DIV");
        $(clear).addClass("clear");
        assetDropDown.appendChild(clear);
        communityng.vars.dropDownDiv.appendChild(assetDropDown);
        var buyDiv = document.createElement("DIV");
        $(buyDiv).addClass("dropDownBuyDiv");
        buyDiv.appendChild(document.createTextNode("Buy '"+communityng.vars.dropDownTarget.parentNode.getAttribute("songtitle")+"' from: "));
        communityng.vars.dropDownDiv.appendChild(buyDiv);
        var itunes = document.createElement("A");
        itunes.setAttribute("href", communityng.vars.dropDownTarget.parentNode.getAttribute("itunes"));
        $(itunes).addClass("dropDownBuyLink");
        itunes.appendChild(document.createTextNode("iTunes"));
        buyDiv.appendChild(itunes);
        var napster = document.createElement("A");
        napster.setAttribute("href", communityng.vars.dropDownTarget.parentNode.getAttribute("napster"));
        $(napster).addClass("dropDownBuyLink");
        napster.appendChild(document.createTextNode("Napster"));
        buyDiv.appendChild(napster);
        var thumbplay = document.createElement("A");
        thumbplay.setAttribute("href", communityng.vars.dropDownTarget.parentNode.getAttribute("thumbplay"));
        $(thumbplay).addClass("dropDownBuyLink");
        thumbplay.appendChild(document.createTextNode("Thumbplay Ringtones"));
        buyDiv.appendChild(thumbplay);
        var effect = new Fx.Tween(communityng.vars.dropDownDiv, {
        	property: "opacity", 
        	duration: 300
        });
        effect.start(0, 1);
    },
    closeDropDownAsset : function(e){
        var ev = new Event(e);
        ev.target.removeEvent("click", communityng.events.closeDropDownAsset);
        ev.target.addEvent("click", communityng.events.dropDownAsset);
        ev.target.parentNode.removeClass("assetClicked");
        ev.target.childNodes[1].setAttribute("src", communityng.vars.imgHOST+"community-down-arrow");
        var id = ev.target.parentNode.getAttribute("itemid");
        communityng.vars.dropDownDiv = $(id);
        $(communityng.vars.dropDownDiv).empty();
        var effect = new Fx.Tween(id, {
        	property: "height", 
        	duration: 300, 
        	onComplete: communityng.events.removeDropDownAsset
        });
        effect.start(0);
    },
    removeDropDownAsset : function(){
        $(communityng.vars.dropDownDiv).destroy();
    },
    sortStart : function(e){
        $(e).addClass("dragSelected");
    },
    sortComplete : function(e){
        $(e).removeClass("dragSelected");
        var newOrder = [];
        var playlists = $$('#playlistListUL li.playlistItem');
        communityng.ui.repaintPlaylists(playlists);
        var len = playlists.length;
        for(var i=0; i<len; i++){
            newOrder.push(playlists[i].getAttribute("itemid"));
        }
        var requestId = "sr"+communityng.vars.requestId++;
		if (communityng.isQuicklist){
			window.addEvent("comAolMusicApiQuicklistReorder", communityng.events.sortCompleteRemote); 
			var quicklistAPI = new comAolMusicApiQuicklist();
			quicklistAPI.reorder("video", newOrder);
		} else {
        	window.addEvent("comAolMusicApiPlaylistsReorder", communityng.events.sortCompleteRemote); 
			var playlistAPI = new comAolMusicApiPlaylists();
			playlistAPI.reorder(communityng.playlistId, newOrder);
		}
        
    },
    sortCompleteRemote : function(json){
		window.removeEvent("comAolMusicApiPlaylistsReorder", communityng.events.sortCompleteRemote);
		window.removeEvent("comAolMusicApiQuicklistReorder", communityng.events.sortCompleteRemote); 
        if (json.statusCode != 200){
            alert("There was an error reordering your playlist. Please try again.");
        }
    },
    openNewPlayer : function(playlistid){
		if (songHub.vars.needWindow && !songHub.vars.openWindowAttempt) {
			window.open("/song/player/audioplayer.jsp?playlistid="+playlistid+"&play=true", 'aolmusicplayer','scrollbars=no,toolbar=no,width=823,height=455');
		} else {
			songHub.flash.addPlaylist(playlistid, true);	
		}
    },
	yourListsCreateNew : function(e){
		var createNewPlaylistEdit = $("yourListsCreateNew");//ev.target.parentNode;
		$(createNewPlaylistEdit).empty();
		createNewPlaylistEditWrapper = new Element('div', {'styles' : {'marginLeft' : '5px'}});
		createNewPlaylistEditWrapper.injectInside(createNewPlaylistEdit);
		createNewPlaylistEditHeader = new Element('div', {'styles' : {'fontSize' : '12px', 'fontWeight' : 'bold', 'color' : '#656565', 'margin' : '8px 6px 8px 6px', 'display' : 'inline-block'}, 'id' : 'createNewPlaylistEditHeader'});
		createNewPlaylistEditHeader.appendChild(document.createTextNode("Create New "+ communityng.playlistType.capitalize()+" Playlist"));
		createNewPlaylistEditHeader.injectInside(createNewPlaylistEditWrapper);
		var createNewPlaylistEditInput = new Element('input', {'styles' : {'margin' : '0 6px 0 6px', 'backgroundColor': '#FAFAFA', 'border' : '1px solid #CECECE', 'width' : '90%', 'color' : '#676767', 'padding' : '3px'}, 'id' : 'communityngCreateNewPlaylistEditInput'});
		createNewPlaylistEditInput.injectInside(createNewPlaylistEditWrapper);
		$(createNewPlaylistEditInput).focus();
		var createNewPlaylistEditCancel = new Element('div', {'styles' : {'float' : 'right', 'background' : 'url('+communityng.vars.imgHOST+'flyout-gray-button) no-repeat', 'width' : '63px', 'height' : '22px', 'lineHeight' : '22px', 'color' : '#2864b4', 'textAlign' : 'center', 'fontWeight' : 'bold', 'fontSize' : '11px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'cursor' : 'pointer', 'margin' : '10px 40px 0 0', 'display' : 'inline'}, 'id' : 'createNewPlaylistEditCancel'});	
		createNewPlaylistEditCancel.addEvent("click", communityng.events.createNewPlaylistCancel);
		createNewPlaylistEditCancel.appendChild(document.createTextNode("Cancel"));
		createNewPlaylistEditCancel.injectInside(createNewPlaylistEditWrapper);
		var createNewPlaylistEditSave = new Element('div', {'styles' : {'margin' : '10px 4px 0 6px', 'background' : 'url('+communityng.vars.imgHOST+'flyout-blue-button) no-repeat', 'width' : '61px', 'height' : '22px', 'lineHeight' : '22px', 'color' : '#FFFFFF', 'textAlign' : 'center', 'fontWeight' : 'bold', 'fontSize' : '12px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'cursor' : 'pointer'}, 'id' : 'createNewPlaylistEditSave'});	
		createNewPlaylistEditSave.addEvent("click", communityng.events.createNewPlaylistSave);
		createNewPlaylistEditSave.appendChild(document.createTextNode("OK"));
		createNewPlaylistEditSave.injectInside(createNewPlaylistEditWrapper);
	},
	createNewPlaylistSave : function(e){
		var value = $("communityngCreateNewPlaylistEditInput").value;
		if (value.length < 1){
			alert("Please give this playlist a title.");	
		} else {
			if (value.length > 35){
				alert("Please limit this title to 35 characters. Current character count is "+value.length);
			} else {
				var img = new Element('img', {'styles' : {'marginLeft' : '3px', 'verticalAlign' : 'middle'},'src' : communityng.vars.imgHOST+'community-small-loader-white', 'height' : 16, 'width' : 16, 'id' : 'communitySmallLoaderWhite'});
				img.injectInside('createNewPlaylistEditHeader');
				$('createNewPlaylistEditSave').set('text',"Creating...");
				$('createNewPlaylistEditSave').removeEvent("click", communityng.events.createNewPlaylistSave);
				$('createNewPlaylistEditSave').setStyle("cursor", "default");
				$('createNewPlaylistEditCancel').removeEvent("click", communityng.events.createNewPlaylistCancel);
				$('createNewPlaylistEditCancel').setStyle("cursor", "default");
				communityng.playlist.create.get(value);	
			}
		} 
	},
	createNewPlaylistCancel : function(e){
		var createNewPlaylistEdit = $("yourListsCreateNew");//ev.target.parentNode;
		$(createNewPlaylistEdit).empty();
		var a = new Element('a', {'class' : 'footer last', 'href' : 'javascript:void(0);' });
		a.appendChild(document.createTextNode("Create A New "+communityng.playlistType.capitalize()+" Playlist"));
		a.injectInside(createNewPlaylistEdit);
		a.addEvent("click", communityng.events.yourListsCreateNew);																						  
	}
}

communityng.ui = {
	playlistVideosEnter : function(el){
        $(el).setStyle("backgroundColor", "#F2F2F2");
		$(el).setStyle("border", "1px solid #CCCCCC");
		var assetId = el.getAttribute('assetId');
		$('add'+assetId).setStyle("display", "block");
	},
	playlistVideosLeave : function(el){
    	$(el).setStyle("backgroundColor", "#FFFFFF");
		$(el).setStyle("border", "1px solid #FFFFFF");
		var assetId = el.getAttribute('assetId');
		$('add'+assetId).setStyle("display", "none");
	},
	searchButton : function(e){
		if (communityng.vars.advancedSearch){
			communityng.events.playlistHubSendSearchAdvanced();	
		} else {
			communityng.events.playlistHubSendSearch();	
		}
	},
	searchButtonEnter : function(e){
		var e = new Event(e);
		e.stop();
        e.target.setStyle("backgroundPosition", "0px -24px");
	},
	searchButtonLeave : function(e){
		var e = new Event(e);
		e.stop();
        e.target.setStyle("backgroundPosition", "0 0");
	},
	searchDelete : function(e){
		var e = new Event(e);
		e.stop();
		$(e.target.previousSibling).setStyles({"fontWeight" : "normal", "fontColor" : "#676767"});
		$(e.target.previousSibling).value = e.target.previousSibling.getAttribute('oldValue');
	},
	searchInputFocus : function(el){
		if ($(el).value == el.getAttribute('oldValue')){
			$(el).setStyles({"fontWeight" : "bold", "fontColor" : "#000000"});
			$(el).value = "";
		}
	},
	searchAdvanced : function(e){
		if (!communityng.vars.advancedSearch){
			communityng.vars.advancedSearch = true;
			$('advancedSearch').setAttribute('title', 'Click to hide advanced search options');
			$('advancedArrow').setStyle('backgroundPosition', "0px 0px");
			
			var effect = new Fx.Tween('searchBg', {
				property: 'opacity',
				duration: 200, 
				onComplete: function (){
					$('searchBg').setStyle('display', 'none');
					$('searchAdvanced').setStyle('opacity', 0);
					$('searchAdvanced').setStyle('display', 'block');
					var effect2 = new Fx.Tween('searchAdvanced', {
						property: 'opacity', 
						duration : 200
					});
					effect2.start(1);
				}					
			});
			effect.start(0);
		} else {
			communityng.vars.advancedSearch = false;
			$('advancedSearch').setAttribute('title', 'Click to view advanced search options');
			$('advancedArrow').setStyle('backgroundPosition', "0px -4px");
			$('searchBg').setStyle('opacity', 1);
			$('searchBg').setStyle('display', 'block');
			$('searchAdvanced').setStyle('display', 'none');
		}
	},
	setRatings : function(r, c){
		var fl = Math.floor(r);
		var playlistRatingStars = $$('.playlistRatingStar');
		for (var i=0; i < fl; i++){
			playlistRatingStars[i].addClass(c);
		}
		if (r - fl > 0){
			playlistRatingStars[fl].addClass("playlistRatingStarHalf");	
		}
	},
	clearRatings : function(){
		var playlistRatingStars = $$('.playlistRatingStar');
		for (i=0; i < playlistRatingStars.length; i++){
			playlistRatingStars[i].removeClass("playlistRatingStarBlue");
			playlistRatingStars[i].removeClass("playlistRatingStarYellow");
			playlistRatingStars[i].removeClass("playlistRatingStarHalf");
			playlistRatingStars[i].removeClass("playlistRatingStarGray");
		}
	},
    setBackgroundColor : function(element, color){
        element.style.backgroundColor = color;
    },
    itemMouseEnter : function(e){
        //var ev = new Event(e);
        $(e).addClass("itemMouseOver");
    },
    itemMouseLeave : function(e){
        //var ev = new Event(e);
        $(e).removeClass("itemMouseOver");
    },
    dragButtonEnter : function(e){
        var ev = new Event(e);
		//if (ev.target.getAttribute("src") == 
        ev.target.setAttribute("src", communityng.vars.imgHOST+"community-grip-active");
    },
    dragButtonLeave : function(e){
        var ev = new Event(e);
        ev.target.setAttribute("src", communityng.vars.imgHOST+"community-grip-inactive");
    },
    deleteButtonEnter : function(e){
        var e = new Event(e);
		e.stop();
        e.target.setAttribute("src", communityng.vars.imgHOST+"community-delete-over");
		e.target.setStyle("cursor", "pointer");
    },
    deleteButtonLeave : function(e){
        var e = new Event(e);
		e.stop();
        e.target.setAttribute("src", communityng.vars.imgHOST+"community-delete");
		e.target.setStyle("cursor", "auto");
    },
    repaintPlaylists : function(array){
        var len = array.length;
        for(var i=0; i<len; i++){
            array[i].removeClass("playlistItemEven");
            array[i].removeClass("playlistItemOdd");
            if (i % 2 == 0){
                array[i].addClass("playlistItemEven");
            } else {
                array[i].addClass("playlistItemOdd");
            }
         }
		 var orderspans = $$('span.playlistassetorderasset');
		 for (i=0; i < orderspans.length; i++){
			orderspans[i].innerHTML = i+1; 
		 }
		 $("playlistCount").set('text',len);
		 if (len == 0){
			location.href = location.href; 
		 }
    },
	swapImg : function(el, src){
		el.setAttribute('src', src);		
	},
	dragImg : function(el, src){
		var s = el.getElementsByTagName("img");
		s[0].setAttribute('src', src);		
	},
	createNewPlaylistYourPlaylists : function(json){
		try {
			var parent = $("myPlaylists");
			var li = new Element('li');
			li.setStyle("backgroundColor", "#F9FFDB");
			var a = new Element('a', {'href' : serverHostUrl+'profile/playlists/'+json.data.playlist.listId+'/', 'class' : communityng.playlistType});
			a.appendChild(document.createTextNode(communityng.utils.trimString(json.data.playlist.listName, 18)));
			a.injectInside(li);
			li.injectTop(parent);
			var effect = new Fx.Tween(li, {
				property: 'backgroundColor', 
				duration:4000
			});
			effect.start("#FFFFFF");
			var createNewPlaylistDone = $("yourListsCreateNew");
			$(createNewPlaylistDone).empty();
			createNewPlaylistDoneHeader = new Element('div', {'styles' : {'fontSize' : '12px', 'fontWeight' : 'bold', 'color' : '#656565', 'margin' : '6px 6px 5px 6px', 'display' : 'inline-block', 'textAlign' : 'center'}});
			createNewPlaylistDoneHeader.appendChild(document.createTextNode("Playlist Created!"));
			createNewPlaylistDoneHeader.injectInside(createNewPlaylistDone);
			createNewPlaylistDoneBody = new Element('div', {'styles' : {'fontSize' : '12px', 'color' : '#A4A4A4', 'margin' : '0 6px 5px 6px', 'display' : 'inline-block', 'textAlign' : 'center'}});
			createNewPlaylistDoneBody.appendChild(document.createTextNode("Select your new playlist above."));
			createNewPlaylistDoneBody.injectInside(createNewPlaylistDone);
		} catch (e){}
	},
	createNewPlaylistIndex : function(json){
		if (communityng.isOwner){
			if (json.statusCode == 200){
				var assetType = "playlistAddAllAUDIO";
				var nameAClass = "audio";
				if (json.data.playlist.mediaType == "VIDEO"){
					var assetType = "playlistAddAllVIDEO";	
					nameAClass = "video";
				}
				var row = new Element('div', {'class' : 'row'});
				var play = new Element('span', {'class' : 'play'});
				play.set(text,' ');
				/*var playImg = new Element('img', {'src' : communityng.vars.imgHOST+'img_ply_overlay.gif'});
				if (json.data.playlist.mediaType == "AUDIO"){
					playImg.addEvent("click", function(){comAolMusicModulesFlyout.events.openNewPlaylist(json.data.playlist.listId)});
					playImg.injectInside(play);
				}
				if (json.data.playlist.mediaType == "VIDEO"){
					var playA = new Element("a", {'href' : "/video-playlist/"+json.data.playlist.listId});
					playImg.injectInside(playA);
					playA.injectInside(play);
				}*/
				play.injectInside(row);
				var name = new Element('span', {'class' : 'name'});
				var nameA = new Element('a', {'class' : nameAClass, 'href' : json.data.playlist.listId+"/"});
				nameA.appendChild(document.createTextNode(json.data.playlist.listName));
				nameA.injectInside(name);
				var nameDiv = new Element('div');
				nameDiv.injectInside(name);
				var note = new Element('div', {'class' : 'note'});
				note.appendChild(document.createTextNode("Created on "+communityng.utils.shortDate(json.data.playlist.createdOn)+" | Visibility: "));
				var strong = new Element('strong');
				strong.appendChild(document.createTextNode(json.data.playlist.privacy.toLowerCase().capitalize()));
				note.appendChild(strong);
				note.injectInside(name);
				name.injectInside(row);
				var add = new Element('span', {'class' : 'add'});
				var addImg = new Element('img', {'src' : communityng.vars.imgHOST+'community-add'});
				addImg.addClass("flyoutShowLeft");
				addImg.setAttribute("assetid", json.data.playlist.listId);
				addImg.setAttribute("assettype", assetType);
				addImg.injectInside(add);
				add.injectInside(row);
				var deletespan = new Element('span', {'class' : 'delete'});
				var deleteImg = new Element('img', {'src' : communityng.vars.imgHOST+'community-delete'});
				deleteImg.setAttribute("assetid", json.data.playlist.listId);
				deleteImg.setAttribute("assettype", assetType);
				deleteImg.injectInside(deletespan);
				deleteImg.addEvent("click", communityng.events.deletePlaylist);
				deleteImg.addEvent("mouseover", communityng.ui.deleteButtonEnter);
				deleteImg.addEvent("mouseout", communityng.ui.deleteButtonLeave);
				deletespan.injectInside(row);
				var rating = new Element('span', {'class' : 'rating'});
				var ul = new Element('ul', {'class' : 'playlistRatingBoxSmall'});
				ul.injectInside(rating);
				for (i = 0; i < 5; i++){
					var li = new Element('li', {'class' : 'playlistRatingStarSmall'});
					li.injectInside(ul);
				}
				rating.injectInside(row);
				var amount = new Element('span', {'class' : 'amount'});
				amount.appendChild(document.createTextNode("0"));
				amount.injectInside(row);
				row.injectAfter($("rowth"));
				row.setStyle("backgroundColor", "#F9FFDB");				
				var effect = new Fx.Tween(row, {
					property: 'backgroundColor', 
					duration: 4000
				});
				effect.start("#FFFFFF");
				var height = row.getCoordinates().height;
				try {
					var move = $("comAolMusicModulesFlyoutBody").getTop()+height;
					var effect = new Fx.Tween("comAolMusicModulesFlyoutBody", {
						property: 'top', 
						duration: 500
					});
					effect.start(move);
				} catch(e){}
			}
		}
	},
	editPlaylist : function(json){
		if (json.statusCode == 200){
			if (json.data.listName){
				try {
					$("playlistDescription").empty();
					$("playlistDescription").appendChild(document.createTextNode(json.data.description));	
					document.title = json.data.listName+" - AOL Music";
					$("productheaderh1").empty();
					$("productheaderh1").appendChild(document.createTextNode(json.data.listName));
					$("visibility").empty();
					$("visibility").appendChild(document.createTextNode(json.data.privacy.toLowerCase().capitalize()));
					$("currentPlaylist").set('text',json.data.listName);
				} catch (e){}
			}
		}	
	}
}

communityng.service = {
    get : function(url, requestId){
        var s = new Element('script', { 'src': url, 'id' : requestId });
        document.body.appendChild(s);
    },
    remove : function(id){
        try {
            $(id).destroy();
        } catch (e){}
    },
	clean : function(json){
		try {
        	$(json.reponse.requestId).destroy();
        } catch (e){
		}
	}
}

communityng.playlist = {
	create : {
		get : function(value){
			communityng.vars.playlistCreatedByMe = true;
			var playlistAPI = new comAolMusicApiPlaylists();
			playlistAPI.create(communityng.playlistType, value);
		},
		set : function(json){
			if (communityng.vars.playlistCreatedByMe){
				$('createNewPlaylistEditSave').set('text',"OK");
				$('createNewPlaylistEditSave').addEvent("click", communityng.events.createNewPlaylistSave);
				$('createNewPlaylistEditSave').setStyle("cursor", "pointer");
				$('createNewPlaylistEditCancel').addEvent("click", communityng.events.createNewPlaylistCancel);
				$('createNewPlaylistEditCancel').setStyle("cursor", "pointer");
				$('communitySmallLoaderWhite').destroy();
			}
			if (json.statusCode == 200){
				communityng.ui.createNewPlaylistYourPlaylists(json);
				communityng.ui.createNewPlaylistIndex(json);
			} else {
				if (communityng.vars.playlistCreatedByMe){
					if (json.statusCode == 409){
						alert("A playlist with that name already exists!");	
					} else {
						alert("There was a problem creating your playlist.");
					}
				}
			}
			communityng.vars.playlistCreatedByMe = false;
		}
	}
}

communityng.utils = {
	trimString : function(string, number){
        if (string.length > number){
            return string.substring(0, number)+"..."; 
        } else {
            return string;  
        }
    },
	shortDate : function(string){
		var d = new Date(string);
		return d.getMonth()+"/"+d.getDate()+"/"+d.getFullYear();
	},
	reportThis : function (title, objectUri) {            
       var docUrl = location.href;
       var strSendTo = "TOSProfileReport@aol.com";
       var strSubject = "Music%20Community%20Complaint:%20" + docUrl;
       var strDate = Date();    
       var strMailTo = "mailto:";  
       strMailTo += strSendTo + "?";
       strMailTo += "subject=" + strSubject;
       strMailTo += "&body=" + escape(document.title) + "%0D%0D" + "URL:%20" + docUrl  + "%0D%0D" ;
       strMailTo += "objectUri:%20" + objectUri + "%0D%0D";
       strMailTo += "Date/Time%20of%20Report:%20" + strDate + "%0D%0D";
       strMailTo += "Comment:%20" + escape(title)  + "%0D%0D";
       strMailTo += "Reporter%20Comments:" + "%0D%0D";
       document.location.href = strMailTo;
   },
   videoHubFilter : function(filter){
		setPref("hubFltr", filter); 
		location.href = "/video-hub/";
		return false;
   }
}

communityng.flyoutEventHandler = function(json){
	switch (json.type){
		case "playlistEdit" : 
			if(json.success){
				$("playlistDescription").empty();
				$("playlistDescription").appendChild(document.createTextNode(json.data.response.data.description));	
				document.title = json.data.response.data.listName+" - AOL Music";
				$("productheaderh1").empty();
				$("productheaderh1").appendChild(document.createTextNode(json.data.response.data.listName));
				$("visibility").empty();
				$("visibility").appendChild(document.createTextNode(json.data.response.data.privacy.toLowerCase().capitalize()));
				try {
					$("currentPlaylist").set('text',json.data.response.data.listName);
				} catch (e){}
			};
		break;
		default : 
		break;
	}
}

window.addEvent("comAolMusicApiPlaylistsCreate", communityng.playlist.create.set); 
window.addEvent("comAolMusicApiPlaylistsEdit", communityng.ui.editPlaylist); 
//]]>
//<![CDATA[
// Crosspromo Start
var d=document; var w=window;var docHg;
var range=400;
var cod_arr=new Array();
var arrLen = 0;
var modSpan = 6;
var currId = 0;
var set_ad=true;

var opt = {
	ae:function(o,et,fn){
		if(o.addEventListener) {
			o.addEventListener(et,fn,false);
		}
		else if(o.attachEvent){
			o.attachEvent("on"+et,fn);
		}
	},
	gt:function(t,o){
		o=o?o:document;
		return o.getElementsByTagName(t);
	},
	gc:function(c,t,s,o){
		var r=new Array();
		var os=opt.gt(t,o);
		for(var i=0,j=0,l=os.length; i<l; i++){
			var sc = s + os[i].className + s;
			if(sc.indexOf(s+c+s) !== -1) {
				r[j] = os[i];
				j++;
			}
		}
		return r;
	},
    nview:function(obj,i) {
        if (typeof(obj.loaded) === 'undefined') {
            obj.loaded=0;
        }
        if (obj.loaded === 0) {
            if(document.all) {
                var relTop=obj.offsetParent.offsetTop-(w.scrollY||d.documentElement.scrollTop);
            } 
            else {
                var relTop=obj.offsetTop-(w.scrollY||d.documentElement.scrollTop);
            }

            if((relTop-docHg-20)<range) {
            	var codUrl=opt.gt('a',obj)[0].href;
            	opt.xhr(codUrl,obj,i);
            }
        }
    },
    doCod:function(){
	    var l=cod_arr.length;
	    for (var i=0;i<l;i++) {
	    	opt.nview(cod_arr[i],i);
	    }
    },
    
    xhr:function(u,obj,i){
        obj.loaded=1;
        var f,r,m='GET';
        f=function(){
        	if(r.readyState>3) {
        		opt.update(obj,r,i);
        	}
        };
        r=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
        r.onreadystatechange=f;
        try{
        	r.open(m,u,1);
	        r.setRequestHeader('content-type','text/xml');
	        r.send('');
        }catch(e){}
    },
    update:function(obj,r,i) {
        if(r.status===200){
        	obj.innerHTML=r.responseText;
        } else 
        {
        	obj.loaded=0;
        }
			
		if(document.getElementById('crs_quigoMod') !== null) {
			var the_object;
			var quigo_id = document.getElementById('crs_quigoMod');
			var q_ad='';
			var myJSONObject = quigo_id.innerHTML;
			the_object = eval("(" + myJSONObject + ")");
				
			if(the_object.response.statusCode !== "200") {
				q_ad='<p class="dn">Quigo status code: '+the_object.response.statusCode+", status text: "+the_object.response.statusText+"</p>";
			}
			else {
				q_ad+='<H3 style="color:#000;font-weight:bold;width:auto;border-bottom:1px solid #eee;">Sponsored Links</H3>';
				var list_n=the_object.response.data.numResults;
				for(var k=0;k<list_n;k++) {
					q_ad+='<div class="sponser" style="float:left;width:460px;"><div class="sponpg"><div class="sponHdr" style="margin-top:.63em;font-size:13px;">';
					q_ad+='<a target="_blank" style="color:#2965AD;font-weight:bold;font-size:12px;" href="'+the_object.response.data.listing[k].targetUrl+'" title="'+the_object.response.data.listing[k].title+'">'+the_object.response.data.listing[k].title+'</a>';
					
					q_ad+='</div><div class="sponCont">';
					q_ad+='<a target="_blank" style="color:#000;margin-bottom:.5em;font-size:11px;" href="'+the_object.response.data.listing[k].targetUrl+'" title="'+the_object.response.data.listing[k].title+'">'+the_object.response.data.listing[k].description+'</a>';
					q_ad+='</div><div class="sponLnk">';
					q_ad+='<a target="_blank" style="color:#000;font-size:11px;margin-bottom:.5em;" href="'+the_object.response.data.listing[k].targetUrl+'" title="www.'+the_object.response.data.listing[k].domain+'">www.'+the_object.response.data.listing[k].domain+'</a></div>';
					q_ad+='</div></div>';
					
				}
				q_ad+='<div class="sponFtr" style="float:right;width:100px;"><a href="http://aol.adsonar.com/admin/advertisers/indexPl.jsp" target="_blank">Buy a link here</a></div>';
				quigo_id.style.display="block";
			}
			quigo_id.innerHTML=q_ad.trim();
		}
		
		if(document.getElementById('footerad') !== null) {
			if(set_ad===true) {
				var tmp=document.getElementById('footerad');
				var x_ad = tmp.getElementsByTagName('script');   
				var test="";
				var srcobj=document.createElement('script');
			
				for( var i=0; i < x_ad.length; i++) {  
					if(x_ad[i].src !== "") {
						srcobj.src=x_ad[i].src;
						if(is_IE) {
							eval(srcobj.src);
						}
					}
					if(x_ad[i].text !== "") {
						var txtobj=document.createElement('script');
						txtobj.text=x_ad[i].text;
						test+=txtobj.text;
						if(is_IE) {
							eval(txtobj.text);
						}
					}
				}
					
				if(!is_IE) {
					var txtobj2=document.createElement('script');
					txtobj2.text=test;
					document.getElementById('footerad').innerHTML=null;
					document.getElementById('footerad').appendChild(srcobj);
					document.getElementById('footerad').appendChild(txtobj2);
				}
  
				set_ad=false;
			}
		}
		if (document.getElementById("cp-ads")) {
			document.getElementById("cp-ad-" + Math.floor(Math.random() * 6)).style.display = "block";
		}
    },
    init:function() {
	    cod_arr=opt.gc('cod','div','',document);
	    docHg=w.innerHeight||d.documentElement.offsetHeight;
	    opt.doCod();
	    opt.ae(window,'scroll',opt.doCod);
    },
    res:function(){
        docHg=w.innerHeight||d.documentElement.offsetHeight;
        opt.doCod();
    }
};
opt.ae(window,'resize',opt.res);
opt.ae(window,'load',opt.init);

function countCartridges() {
   var cartCount = 0;
   end = false;
   do {
      if(document.getElementById('cart'+cartCount)) {
         cartCount++;
      } else {
         end = true;
      }
   } 
   while (end === false);
   arrLen = cartCount;
}

function showCartridges(startId) {
	if(arrLen === 0) {
		countCartridges(); 
	}
	var i,j;
	for (i=0,j=startId; i < modSpan; i++,j++) {
		var strCart = j%arrLen;
		document.getElementById('cartridge'+i).innerHTML = document.getElementById('cart'+strCart).innerHTML;
	}
}

function isModFetched(modId) {
	if(document.getElementById('cart'+modId).innerHTML.length>0) {
		return true;
	} 
	else {
		return false;
	}
}

function nextCartridge() {
	if(arrLen === 0) {
		countCartridges(); 
	}
	currId = currId + 1;
	if ( !isModFetched( (currId+modSpan)%arrLen ) ) {
		fetchModule((currId+modSpan)%arrLen);
	}
	showCartridges(currId);
}

function prevCartridge() {
	if(arrLen === 0) {
		countCartridges(); 
	}  
	if(currId !== 0) {
		currId = currId - 1;
	} 
	else {
      currId=arrLen-1;
	}
	if (!isModFetched( (currId+modSpan)%arrLen ) ) {
		fetchModule((currId+modSpan)%arrLen);
	}
	showCartridges(currId);
}
// Crosspromo End
//]]>
	/*
		Name: com_aol_music_sns_signin.js
		$LastChangedDate: 2009-01-07 13:44:51 -0500 (Wed, 07 Jan 2009) $
		$Rev: 34712 $
		Modified by Jay Smith
		/////////////////////
		dependencies:
		2. moo-12-all.js
		/////////////////////
		
		DESCRIPTION:
		see "$get() for mootools - reading get variables" located at:
		http://webfreak.no/wp/2007/09/05/get-for-mootools-a-way-to-read-get-variables-with-javascript-in-mootools/
	*/

	//see http://cass-hacks.com/articles/code/js_url_encode_decode/
	if( typeof com === "undefined" ) { var com = {}; }
	if( typeof com.aol === "undefined" ) { com.aol = {}; }
	if( typeof com.aol.music === "undefined" ) { com.aol.music = {}; }
	if( typeof com.aol.music.utilities === "undefined" ) { com.aol.music.utilities = {}; }
	com.aol.music.utilities.URLEncode = function(clearString) {
 	  var output = '';
 	  var x = 0;
 	  clearString = clearString.toString();
 	  var regex = /(^[a-zA-Z0-9_.]*)/;
 	  while (x < clearString.length) {
 	    var match = regex.exec(clearString.substr(x));
 	    if (match != null && match.length > 1 && match[1] != '') {
 	    	output += match[1];
 	      x += match[1].length;
 	    } else {
 	      if (clearString[x] == ' ')
 	        output += '+';
 	      else {
 	        var charCode = clearString.charCodeAt(x);
 	        var hexVal = charCode.toString(16);
 	        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
 	      }
 	      x++;
 	    }
 	  }
 	  return output;
 	}


	com.aol.music.utilities.URLDecode = function(encodedString) {
 	  var output = encodedString;
 	  var binVal, thisString;
 	  var myregexp = /(%[^%]{2})/;
 	  while ((match = myregexp.exec(output)) != null
 	             && match.length > 1
 	             && match[1] != '') {
 	    binVal = parseInt(match[1].substr(1),16);
 	    thisString = String.fromCharCode(binVal);
 	    output = output.replace(match[1], thisString);
 	  }
 	  return output;
 	}
 	
	
	//TODO: Move these functions into a reusable mootools URL utilities class. TBD
	function $get(key, url) {
		if (arguments.length < 2)
			url = com.aol.music.utilities.URLDecode(location.href);
		if (arguments.length > 0 && key != "") {
			if (key == "#") {
				var regex = new RegExp("[#]([^$]*)");
			} else if (key == "?") {
				var regex = new RegExp("[?]([^#$]*)");
			} else {
				var regex = new RegExp("[?&]" + key + "=([^&#]*)");
			}
			var results = regex.exec(url);
			return (results == null) ? "" : results[1];
		} else {
			url = url.split("?");
			var results = {};
			if (url.length > 1) {
				url = url[1].split("#");
				if (url.length > 1)
					results["hash"] = url[1];
				url[0].split("&").each( function(item, index) {
					item = item.split("=");
					results[item[0]] = item[1];
				});
			}
			return results;
		}
	}
 	
 	/*
	 	Jay Smith
		
		Description: 
		signin_initializer generates a signin() method which can be used in links. Redirects the
		user to the /signin page passing the last visited url.
		
		USAGE EXAMPLE:
		<a href="/signin" onclick="signin(); return false;" title="Sign In / Register" class="snsBttnnew">
	    	Sign In / Register
	    </a>
	    
	    REMARKS:
	    For links, onclick must call signin() and return false to prevent the browser from trying to go
	    directly to /signin in the href, hence ==>   href="/signin" onclick="signin(); 
	    The href, although not used will act as a fall-back feature when javascript is disabled.
	*/
	(function signin_initializer(){
		if(!window.signin) {
			var last_visited_url =  "/signin?siteState=" + encodeURIComponent("OrigUrl=" + window.location.href);
			window.signin = function(prompt_user) {
				if(prompt_user) {
					if(confirm("Please signin to continue.\nWould you like to signin now?")) { 
						window.location = last_visited_url;
					}
				}
				else window.location = last_visited_url;
				return false;
			}
		}
	})();
/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
/**
 * @author PrashantK07
 */
jQuery.noConflict();

 /* name : authLinkHandler
	file : jquery.authlinkhandler.js
	author : Ali Hasan
	(c) Copyright 2009 AOL LLC
	$LastChangedDate: 2009-10-27 23:39:15 -0400 (Tue, 27 Oct 2009) $
	$Rev: 52597 $
 */
(function(a){a.extend({authLinkHandler:function(){var b={init:function(c){a(document).bind("click.jSignIn",b.signin);a(document).bind("click.jSignOut",b.signout);return b},signin:function(f){var c=a(f.target),d;if(c.hasClass("jSignIn")){f.preventDefault();d=c.attr("href")+"?siteState=OrigUrl="+encodeURIComponent(window.location.href);if(c.hasClass("jSignInPrompt")){if(confirm("Please signin to continue.\nWould you like to signin now?")){window.location=d}}else{window.location=d}}},signout:function(f){var c=a(f.target),d;if(c.hasClass("jSignOut")){f.preventDefault();d=c.attr("href")+"?sitedomain=channel.aol.com&siteState=origURL="+encodeURIComponent(window.location.href);window.location=d}}};return b.init()}});a.authLinkHandler()})(jQuery);
/*	name : globalSearchBox
	file : jquery.globalsearchbox-d.js
	author : Ali Hasan
	(c) Copyright 2009 AOL LLC
	$LastChangedDate: 2009-11-19 18:38:27 -0500 (Thu, 19 Nov 2009) $
	$Rev: 54164 $
*/
(function(a){a.fn.globalSearchBox=function(d){var c={apiUrl:"http://autocomplete.search.aol.com/autocomplete/get",apiIt:"ops-test",apiOutput:"json",apiCount:8,apiQueryParam:"q",apiDictionary:"",ui_form:"#GH_search_form",ui_input:"#GH_search_field",ui_submit:"#GH_search_button",ui_output:"#GH_search_results",initSmartSearch:true,searchText:"",preserveGhostText:false,initFocus:false,fn:{}},e={},h=this,g={},f={ghostText:"",query:"",results:[],highlight:-1,$highlight:null,timer:null},b={init:function(i){g.$c=a(i);g.$input=a(e.ui_input);g.$output=a(e.ui_output);g.form=a(e.ui_form)[0];g.submit=a(e.ui_submit)[0];f.ghostText=g.$input.attr("defaultValue");g.$input.attr("autocomplete","off").bind("focus.GH",function(j){b.processInputFocus(j)}).bind("blur.GH",function(j){b.processInputBlur(j)});a(g.form).bind("submit.GH",function(j){b.selectSuggestion(j)});if(e.initSmartSearch){e.apiUrl=e.apiUrl+"?it="+e.apiIt+"&count="+e.apiCount+"&output="+e.apiOutput;if(e.apiDictionary!==""){e.apiUrl=e.apiUrl+"&dict="+e.apiDictionary}g.$input.bind("keyup.GH",function(j){b.processKeyPress(j)});g.$output.bind("mouseover.GH",function(j){b.moveHighlightMouse(j)}).bind("mouseover.GH",function(j){b.suspendBlurDetection(j)}).bind("mouseleave.GH",function(j){b.resumeBlurDetection(j)}).bind("click.GH",function(j){b.selectSuggestion(j)})}if(e.initFocus){g.$input.focus()}if(e.preserveGhostText){g.$label=a("<label />").attr("id","GH_search_label").text(f.ghostText).appendTo(g.form);g.$label.bind("click.GH_SL",function(j){b.preserveGhostText(true)});g.$input.bind("keyup.GH_SL",function(j){b.preserveGhostText(j)}).bind("click.GH_SL",function(j){b.preserveGhostText(j)}).bind("blur.GH_SL",function(j){setTimeout(function(){b.preserveGhostText(j)},250)})}if(e.searchText!==""){g.$input.val(e.searchText)}},getVars:function(){return{options:e,ui:g,local:f}},processInputFocus:function(i){g.$input.addClass("GH_search_active").val((g.$input.val()===f.ghostText)?"":g.$input.val())},processInputBlur:function(i){g.$input.removeClass("GH_search_active").val((g.$input.val()==="")?f.ghostText:g.$input.val());b.displaySuggestions()},preserveGhostText:function(i){if(typeof i==="boolean"&&i){g.$input.focus()}g.$input.unbind("keyup.GH_SL").unbind("click.GH_SL").unbind("blur.GH_SL");g.$label.remove()},processKeyPress:function(l){var j=l.keyCode;if(j===38){b.moveHighlightKey(-1)}else{if(j===40){b.moveHighlightKey(1)}else{var i=l.target,k=a.trim(i.value);if(k!==""){if(f.timer!==null){clearTimeout(f.timer)}f.timer=setTimeout(function(){b.getSuggestions(k)},200)}else{b.displaySuggestions()}}}},moveHighlightKey:function(j){if(f.$highlight!==null){f.$highlight.removeClass("GH_highlight")}f.highlight=f.highlight+j;if(f.highlight>=f.results.length||f.highlight===-1){f.highlight=-1;g.$input.val(f.query)}else{if(f.highlight<-1){f.highlight=f.results.length-1}}if(f.highlight>-1){f.$highlight=a(f.results[f.highlight]);f.$highlight.addClass("GH_highlight");g.$input.val(f.$highlight.text())}},moveHighlightMouse:function(j){var i=j.target;if(i.nodeName==="B"){i=i.parentNode}if(f.$highlight!==null){f.$highlight.removeClass("GH_highlight")}f.highlight=f.results.index(i);f.$highlight=a(i).addClass("GH_highlight")},selectSuggestion:function(j){j.preventDefault();if(j!==undefined&&j.type==="click"){var i=j.target;if(i.nodeName==="B"){i=i.parentNode}g.$input.val(a(i).text())}g.$input.val(a.trim(g.$input.val()));if(g.$input.val()!==""&&g.$input.val()!==f.ghostText){g.form.submit()}},getSuggestions:function(j){var i=e.apiUrl+"&"+e.apiQueryParam+"="+j;a.ajax({dataType:"jsonp",url:i,jsonp:"cb",success:function(k){b.displaySuggestions(k)},error:function(){b.displaySuggestions()}})},suspendBlurDetection:function(){g.$input.unbind("blur.GH")},resumeBlurDetection:function(){g.$input.bind("blur.GH",function(i){b.processInputBlur(i)})},displaySuggestions:function(p){f.highlight=-1;f.$highlight=null;if(p!==undefined&&p[1].length>0){f.query=p[0];var o=p[1],j=a("<ul />"),m,k=o.length,n=new RegExp(f.query,"i"),q="<b>"+f.query+"</b>";for(m=0;m<k;m++){a("<li />").html(o[m].replace(n,q)).appendTo(j)}f.results=j.find("li");g.$output.empty().append(j).fadeIn("fast")}else{f.query="";f.results=[];g.$output.fadeOut("fast").empty()}}};a.extend(true,e,c,d);a.extend(true,b,e.fn);b.init(h);return h}})(jQuery);
/*
	name : globalHeader
	file : jquery.globalheader.js
	author : David Artz
	(c) Copyright 2009 AOL LLC
	$LastChangedDate: 2010-01-15 12:08:49 -0500 (Fri, 15 Jan 2010) $
	$Rev: 55691 $
*/
(function(a){a.fn.globalHeader=function(d){var c={activeTab:null,moreLinks:[],morePromoCount:2,moreText:"You might also like:",moreAnd:"and",moreMore:"More",moreTextHeadline:"More Sites You Might Like",uiHat:"#GH_hat",uiHatLinks:"#GH_hat_links",uiHatTools:"#GH_hat_tools",uiNavLi:"li.GH_nav_LI",uiNavADd:".GH_nav_dd_A",auth:{doAuth:false,authenticated:false,authState:null,unauthState:null},search:{uiSearch:"#GH_search",params:{}},fn:{}},e={},h=this,g={},f={activeTab:null,moreLinksBuilt:false},b={init:function(i){g.$d=a(document);g.$c=a(i);g.hat=a(e.uiHat)[0];g.hatLinks=a(e.uiHatLinks)[0];g.$hatTools=a(e.uiHatTools);g.$search=a(e.search.uiSearch);g.$searchInput=g.$search.find("input:first");g.$searchSubmit=g.$search.find("input:last");g.$navLi=g.$c.find(e.uiNavLi);g.$navADd=g.$c.find(e.uiNavADd);b.setActiveTab(null,e.activeTab);if(e.auth.doAuth){b.buildAuth()}b.buildMoreLinks();b.buildDropDowns();g.$c.bind("setActiveTab",function(k,j){b.setActiveTab(k,j)});g.$c.bind("setAuthState",function(k,j){b.buildAuth(k,j)});if(e.search.params.initFocus!==undefined&&e.search.params.initFocus){g.$search.globalSearchBox(e.search.params)}else{g.$searchInput.bind("focus.GH",function(j){b.buildSearch(j)}).attr("autocomplete","off");g.$searchSubmit.bind("mouseover.GH",function(j){b.buildSearch(j)});if(e.search.params.searchText!==undefined&&e.search.params.searchText!==""){g.$searchInput.val(e.search.params.searchText)}}},getVars:function(){return{options:e,ui:g,local:f}},buildSearch:function(i){g.$searchInput.unbind("focus.GH");g.$searchSubmit.unbind("mouseover.GH");if(i.target===g.$searchInput[0]){g.$searchInput.addClass("GH_search_active").attr("value","")}g.$search.globalSearchBox(e.search.params)},buildAuth:function(j,i){if(i!==undefined){a.extend(true,e.auth,i)}g.$hatTools.empty().append((e.auth.authenticated)?e.auth.authState:e.auth.unauthState)},buildMoreLinks:function(){var o=e.moreLinks,m=0,j=o.length;if(j>=e.morePromoCount){var n,k=a("<li />").addClass("GH_hat_LI").append(n=a("<ul />").attr("id","GH_hat_more").addClass("GH_hat_UL").append(a("<li />").addClass("GH_hat_LI").text(e.moreText+"\xa0 ")));for(;m<e.morePromoCount;m++){n.append(a("<li />").addClass("GH_hat_LI").append(a("<a />").attr({href:o[m][1],target:(o[m][2]!==undefined)?o[m][2]:"_self"}).addClass("GH_hat_A GH_hat_more_A").text(o[m][0])).append((m<e.morePromoCount-1)?",\xa0":""))}if(j>e.morePromoCount){n.append(g.$hatLIMore=a("<li />").addClass("GH_hat_LI GH_hat_LI_more").append("\xa0"+e.moreAnd+"\xa0").append(g.$hatMoreLink=a("<a />").attr({id:"GH_hat_more_link",href:"#"}).addClass("GH_hat_A GH_hat_more_A").text(e.moreMore).bind("mouseover.GH",function(i){b.showMoreLinks(i)})))}k.appendTo(g.hatLinks)}},showMoreLinks:function(p){p.preventDefault();if(f.moreLinksBuilt===false){var n=e.moreLinks.slice(e.morePromoCount),o=0,m=n.length,j=Math.ceil(m/3),k=Math.ceil(m/3*2),s,r,q,t;g.$hatMoreList=a("<div />").attr("id","GH_more_list").append(a("<b />").attr("id","GH_more_list_lab").text(e.moreTextHeadline)).append(s=a("<ul />").addClass("GH_more_list_UL")).append(r=a("<ul />").addClass("GH_more_list_UL")).append(q=a("<ul />").addClass("GH_more_list_UL"));for(;o<m;o++){t=a("<li />").append(a("<a />").attr({href:n[o][1],target:(n[o][2]!==undefined)?n[o][2]:"_self"}).text(n[o][0]));if(o<j){t.appendTo(s)}else{if(o<k){t.appendTo(r)}else{t.appendTo(q)}}}g.$hatMoreList.css("left",g.$hatLIMore.offset().left-g.$c.offset().left+14).appendTo(g.hat);f.moreLinksBuilt=true}if(g.$hatMoreList.css("display")==="none"){g.$d.bind("mousemove.GHTEMP",function(i){b.kill(i)});g.$hatMoreList.fadeIn("fast")}},kill:function(j){var i=a(j.target);if(i.closest("#GH_hat_more_link").length===0&&i.closest("#GH_more_list").length===0){g.$d.unbind("mousemove.GHTEMP");g.$hatMoreList.fadeOut("fast")}},setActiveTab:function(j,i){if(i!==undefined&&i!==null){if(f.activeTab!==null){f.activeTab.removeAttr("id");if(f.activeTab.hasClass("GH_nav_list")){a("#GH_nav_act_B").removeAttr("id")}}f.activeTab=g.$navLi.eq(i).attr("id","GH_nav_act");f.activeTab.children().eq(0).css("clear","both");if(f.activeTab.hasClass("GH_nav_list")){f.activeTab.children().eq(0).wrapInner('<b id="GH_nav_act_B"></b>')}}},buildDropDowns:function(){g.$navLi.each(function(){var i=a(this);if(i.hasClass("GH_nav_list")){i.mouseover(function(){if(i.showtimer){clearInterval(i.showtimer);i.showtimer=null}i.addClass("GH_nav_list_open").find("ul").fadeIn("fast")}).mouseout(function(){i.showtimer=setTimeout(function(){if(i.showtimer){clearInterval(i.showtimer);i.showtimer=null}i.removeClass("GH_nav_list_open").find("ul").fadeOut("fast")},250)})}})}};a.extend(true,e,c,d);a.extend(true,b,e.fn);b.init(h);return h}})(jQuery);(function(a){a.fn.globalHeader=function(d){var c={activeTab:null,moreLinks:[],morePromoCount:2,moreText:"You might also like:",moreAnd:"and",moreMore:"More",moreTextHeadline:"More Sites You Might Like",uiHat:"#GH_hat",uiHatLinks:"#GH_hat_links",uiHatTools:"#GH_hat_tools",uiNavLi:"li.GH_nav_LI",uiNavADd:".GH_nav_dd_A",auth:{doAuth:false,authenticated:false,authState:null,unauthState:null},search:{uiSearch:"#GH_search",params:{}},fn:{}},e={},h=this,g={},f={activeTab:null,moreLinksBuilt:false},b={init:function(i){g.$d=a(document);g.$c=a(i);g.hat=a(e.uiHat)[0];g.hatLinks=a(e.uiHatLinks)[0];g.$hatTools=a(e.uiHatTools);g.$search=a(e.search.uiSearch);g.$searchInput=g.$search.find("input:first");g.$searchSubmit=g.$search.find("input:last");g.$navLi=g.$c.find(e.uiNavLi);g.$navADd=g.$c.find(e.uiNavADd);b.setActiveTab(null,e.activeTab);if(e.auth.doAuth){b.buildAuth()}b.buildMoreLinks();b.buildDropDowns();g.$c.bind("setActiveTab",function(k,j){b.setActiveTab(k,j)});g.$c.bind("setAuthState",function(k,j){b.buildAuth(k,j)});if(e.search.params.initFocus!==undefined&&e.search.params.initFocus){g.$search.globalSearchBox(e.search.params)}else{g.$searchInput.bind("focus.GH",function(j){b.buildSearch(j)}).attr("autocomplete","off");g.$searchSubmit.bind("mouseover.GH",function(j){b.buildSearch(j)});if(e.search.params.searchText!==undefined&&e.search.params.searchText!==""){g.$searchInput.val(e.search.params.searchText)}}},getVars:function(){return{options:e,ui:g,local:f}},buildSearch:function(i){g.$searchInput.unbind("focus.GH");g.$searchSubmit.unbind("mouseover.GH");if(i.target===g.$searchInput[0]){g.$searchInput.addClass("GH_search_active").attr("value","")}g.$search.globalSearchBox(e.search.params)},buildAuth:function(j,i){if(i!==undefined){a.extend(true,e.auth,i)}g.$hatTools.empty().append((e.auth.authenticated)?e.auth.authState:e.auth.unauthState)},buildMoreLinks:function(){var p=e.moreLinks,n=0,j=p.length;if(j>=e.morePromoCount){var k=a("#GH_hat_more"),o,m;if(!k.length){m=a("<li />").addClass("GH_hat_LI").append(o=a("<ul />").attr("id","GH_hat_more").addClass("GH_hat_UL").append(a("<li />").addClass("GH_hat_LI").text(e.moreText+"\xa0 ")));for(;n<e.morePromoCount;n++){o.append(a("<li />").addClass("GH_hat_LI").append(a("<a />").attr({href:p[n][1],target:(p[n][2]!==undefined)?p[n][2]:"_self"}).addClass("GH_hat_A GH_hat_more_A").text(p[n][0])).append((n<e.morePromoCount-1)?",\xa0":""))}if(j>e.morePromoCount){o.append(g.$hatLIMore=a("<li />").addClass("GH_hat_LI GH_hat_LI_more").append("\xa0"+e.moreAnd+"\xa0").append(g.$hatMoreLink=a("<a />").attr({id:"GH_hat_more_link",href:"#"}).addClass("GH_hat_A GH_hat_more_A").text(e.moreMore)))}m.appendTo(g.hatLinks)}else{g.$hatMoreLink=a("#GH_hat_more_link");g.$hatLIMore=g.$hatMoreLink.parent()}g.$hatMoreLink.bind("mouseover.GH",function(i){b.showMoreLinks(i)})}},showMoreLinks:function(p){p.preventDefault();if(f.moreLinksBuilt===false){var n=e.moreLinks.slice(e.morePromoCount),o=0,m=n.length,j=Math.ceil(m/3),k=Math.ceil(m/3*2),s,r,q,t;g.$hatMoreList=a("<div />").attr("id","GH_more_list").append(a("<b />").attr("id","GH_more_list_lab").text(e.moreTextHeadline)).append(s=a("<ul />").addClass("GH_more_list_UL")).append(r=a("<ul />").addClass("GH_more_list_UL")).append(q=a("<ul />").addClass("GH_more_list_UL"));for(;o<m;o++){t=a("<li />").append(a("<a />").attr({href:n[o][1],target:(n[o][2]!==undefined)?n[o][2]:"_self"}).text(n[o][0]));if(o<j){t.appendTo(s)}else{if(o<k){t.appendTo(r)}else{t.appendTo(q)}}}g.$hatMoreList.css("left",g.$hatLIMore.offset().left-g.$c.offset().left+14).appendTo(g.hat);f.moreLinksBuilt=true}if(g.$hatMoreList.css("display")==="none"){g.$d.bind("mousemove.GHTEMP",function(i){b.kill(i)});g.$hatMoreList.fadeIn("fast")}},kill:function(j){var i=a(j.target);if(i.closest("#GH_hat_more_link").length===0&&i.closest("#GH_more_list").length===0){g.$d.unbind("mousemove.GHTEMP");g.$hatMoreList.fadeOut("fast")}},setActiveTab:function(j,i){if(i!==undefined&&i!==null){if(f.activeTab!==null){f.activeTab.removeAttr("id");if(f.activeTab.hasClass("GH_nav_list")){a("#GH_nav_act_B").removeAttr("id")}}f.activeTab=g.$navLi.eq(i).attr("id","GH_nav_act");f.activeTab.children().eq(0).css("clear","both");if(f.activeTab.hasClass("GH_nav_list")){f.activeTab.children().eq(0).wrapInner('<b id="GH_nav_act_B"></b>')}}},buildDropDowns:function(){g.$navLi.each(function(){var i=a(this);if(i.hasClass("GH_nav_list")){i.mouseover(function(){if(i.showtimer){clearInterval(i.showtimer);i.showtimer=null}i.addClass("GH_nav_list_open").find("ul").fadeIn("fast")}).mouseout(function(){i.showtimer=setTimeout(function(){if(i.showtimer){clearInterval(i.showtimer);i.showtimer=null}i.removeClass("GH_nav_list_open").find("ul").fadeOut("fast")},250)})}})}};a.extend(true,e,c,d);a.extend(true,b,e.fn);b.init(h);return h}})(jQuery);
