var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(d){for(var a=0;a<d.length;a++){var b=d[a].string;var c=d[a].prop;this.versionSearchString=d[a].versionSearch||d[a].identity;if(b){if(b.indexOf(d[a].subString)!=-1){return d[a].identity}}else{if(c){return d[a].identity}}}},searchVersion:function(b){var a=b.indexOf(this.versionSearchString);if(a==-1){return}return parseFloat(b.substring(a+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();var Prototype={Version:"1.6.1",Browser:(function(){var b=navigator.userAgent;var a=Object.prototype.toString.call(window.opera)=="[object Opera]";return{IE:!!window.attachEvent&&!a,Opera:a,WebKit:b.indexOf("AppleWebKit/")>-1,Gecko:b.indexOf("Gecko")>-1&&b.indexOf("KHTML")===-1,MobileSafari:/Apple.*Mobile.*Safari/.test(b)}})(),BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:(function(){var a=window.Element||window.HTMLElement;return !!(a&&a.prototype)})(),SpecificElementExtensions:(function(){if(typeof window.HTMLDivElement!=="undefined"){return true}var c=document.createElement("div");var b=document.createElement("form");var a=false;if(c.__proto__&&(c.__proto__!==b.__proto__)){a=true}c=b=null;return a})()},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(a){return a}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Abstract={};var Try={these:function(){var b;for(var c=0,a=arguments.length;c<a;c++){var d=arguments[c];try{b=d();break}catch(f){}}return b}};var Class=(function(){function c(){}function b(){var f=null,g=$A(arguments);if(Object.isFunction(g[0])){f=g.shift()}function d(){this.initialize.apply(this,arguments)}Object.extend(d,Class.Methods);d.superclass=f;d.subclasses=[];if(f){c.prototype=f.prototype;d.prototype=new c;f.subclasses.push(d)}for(var h=0;h<g.length;h++){d.addMethods(g[h])}if(!d.prototype.initialize){d.prototype.initialize=Prototype.emptyFunction}d.prototype.constructor=d;return d}function a(f){var j=this.superclass&&this.superclass.prototype;var h=Object.keys(f);if(!Object.keys({toString:true}).length){if(f.toString!=Object.prototype.toString){h.push("toString")}if(f.valueOf!=Object.prototype.valueOf){h.push("valueOf")}}for(var l=0,g=h.length;l<g;l++){var d=h[l],m=f[d];if(j&&Object.isFunction(m)&&m.argumentNames().first()=="$super"){var n=m;m=(function(o){return function(){return j[o].apply(this,arguments)}})(d).wrap(n);m.valueOf=n.valueOf.bind(n);m.toString=n.toString.bind(n)}this.prototype[d]=m}return this}return{create:b,Methods:{addMethods:a}}})();(function(){var f=Object.prototype.toString;function a(v,u){for(var t in u){v[t]=u[t]}return v}function q(t){try{if(c(t)){return"undefined"}if(t===null){return"null"}return t.inspect?t.inspect():String(t)}catch(u){if(u instanceof RangeError){return"..."}throw u}}function s(v){var w=typeof v;switch(w){case"undefined":case"function":case"unknown":return;case"boolean":return v.toString()}if(v===null){return"null"}if(v.toJSON){return v.toJSON()}if(l(v)){return}var u=[];for(var t in v){var x=s(v[t]);if(!c(x)){u.push(t.toJSON()+": "+x)}}return"{"+u.join(", ")+"}"}function h(t){return $H(t).toQueryString()}function d(t){return t&&t.toHTML?t.toHTML():String.interpret(t)}function r(v){var u=[];for(var t in v){u.push(t)}return u}function p(v){var u=[];for(var t in v){u.push(v[t])}return u}function m(t){return a({},t)}function l(t){return !!(t&&t.nodeType==1)}function g(t){return f.call(t)=="[object Array]"}function n(t){return t instanceof Hash}function b(t){return typeof t==="function"}function j(t){return f.call(t)=="[object String]"}function o(t){return f.call(t)=="[object Number]"}function c(t){return typeof t==="undefined"}a(Object,{extend:a,inspect:q,toJSON:s,toQueryString:h,toHTML:d,keys:r,values:p,clone:m,isElement:l,isArray:g,isHash:n,isFunction:b,isString:j,isNumber:o,isUndefined:c})})();Object.extend(Function.prototype,(function(){var n=Array.prototype.slice;function d(r,p){var q=r.length,o=p.length;while(o--){r[q+o]=p[o]}return r}function m(p,o){p=n.call(p,0);return d(p,o)}function c(){var o=this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return o.length==1&&!o[0]?[]:o}function j(p){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var q=this,o=n.call(arguments,1);return function(){var r=m(o,arguments);return q.apply(p,r)}}function g(p){var q=this,o=n.call(arguments,1);return function(s){var r=d([s||window.event],o);return q.apply(p,r)}}function l(){if(!arguments.length){return this}var p=this,o=n.call(arguments,0);return function(){var q=m(o,arguments);return p.apply(this,q)}}function f(o){var q=this,p=n.call(arguments,1);o=o*1000;return window.setTimeout(function(){return q.apply(q,p)},o)}function a(){var o=d([0.01],arguments);return this.delay.apply(this,o)}function b(p){var o=this;return function(){var q=d([o.bind(this)],arguments);return p.apply(this,q)}}function h(){if(this._methodized){return this._methodized}var o=this;return this._methodized=function(){var p=d([this],arguments);return o.apply(null,p)}}return{argumentNames:c,bind:j,bindAsEventListener:g,curry:l,delay:f,defer:a,wrap:b,methodize:h}})());Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+'Z"'};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(a){return String(a).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var PeriodicalExecuter=Class.create({initialize:function(a,b){this.callback=a;this.frequency=b;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},execute:function(){this.callback(this)},stop:function(){if(!this.timer){return}clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();this.currentlyExecuting=false}catch(a){this.currentlyExecuting=false;throw a}}}});Object.extend(String,{interpret:function(a){return a==null?"":String(a)},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,(function(){function prepareReplacement(replacement){if(Object.isFunction(replacement)){return replacement}var template=new Template(replacement);return function(match){return template.evaluate(match)}}function gsub(pattern,replacement){var result="",source=this,match;replacement=prepareReplacement(replacement);if(Object.isString(pattern)){pattern=RegExp.escape(pattern)}if(!(pattern.length||pattern.source)){replacement=replacement("");return replacement+source.split("").join(replacement)+replacement}while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length)}else{result+=source,source=""}}return result}function sub(pattern,replacement,count){replacement=prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0){return match[0]}return replacement(match)})}function scan(pattern,iterator){this.gsub(pattern,iterator);return String(this)}function truncate(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?"...":truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this)}function strip(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}function stripTags(){return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi,"")}function stripScripts(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")}function extractScripts(){var matchAll=new RegExp(Prototype.ScriptFragment,"img");var matchOne=new RegExp(Prototype.ScriptFragment,"im");return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||["",""])[1]})}function evalScripts(){return this.extractScripts().map(function(script){return eval(script)})}function escapeHTML(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function unescapeHTML(){return this.stripTags().replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function toQueryParams(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match){return{}}return match[1].split(separator||"&").inject({},function(hash,pair){if((pair=pair.split("="))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join("="):pair[0];if(value!=undefined){value=decodeURIComponent(value)}if(key in hash){if(!Object.isArray(hash[key])){hash[key]=[hash[key]]}hash[key].push(value)}else{hash[key]=value}}return hash})}function toArray(){return this.split("")}function succ(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)}function times(count){return count<1?"":new Array(count+1).join(this)}function camelize(){var parts=this.split("-"),len=parts.length;if(len==1){return parts[0]}var camelized=this.charAt(0)=="-"?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++){camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1)}return camelized}function capitalize(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()}function underscore(){return this.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()}function dasherize(){return this.replace(/_/g,"-")}function inspect(useDoubleQuotes){var escapedString=this.replace(/[\x00-\x1f\\]/g,function(character){if(character in String.specialChar){return String.specialChar[character]}return"\\u00"+character.charCodeAt().toPaddedString(2,16)});if(useDoubleQuotes){return'"'+escapedString.replace(/"/g,'\\"')+'"'}return"'"+escapedString.replace(/'/g,"\\'")+"'"}function toJSON(){return this.inspect(true)}function unfilterJSON(filter){return this.replace(filter||Prototype.JSONFilter,"$1")}function isJSON(){var str=this;if(str.blank()){return false}str=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str)}function evalJSON(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())}function include(pattern){return this.indexOf(pattern)>-1}function startsWith(pattern){return this.indexOf(pattern)===0}function endsWith(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d}function empty(){return this==""}function blank(){return/^\s*$/.test(this)}function interpolate(object,pattern){return new Template(this,pattern).evaluate(object)}return{gsub:gsub,sub:sub,scan:scan,truncate:truncate,strip:String.prototype.trim?String.prototype.trim:strip,stripTags:stripTags,stripScripts:stripScripts,extractScripts:extractScripts,evalScripts:evalScripts,escapeHTML:escapeHTML,unescapeHTML:unescapeHTML,toQueryParams:toQueryParams,parseQuery:toQueryParams,toArray:toArray,succ:succ,times:times,camelize:camelize,capitalize:capitalize,underscore:underscore,dasherize:dasherize,inspect:inspect,toJSON:toJSON,unfilterJSON:unfilterJSON,isJSON:isJSON,evalJSON:evalJSON,include:include,startsWith:startsWith,endsWith:endsWith,empty:empty,blank:blank,interpolate:interpolate}})());var Template=Class.create({initialize:function(b,a){this.template=b.toString();this.pattern=a||Template.Pattern},evaluate:function(a){if(a&&Object.isFunction(a.toTemplateReplacements)){a=a.toTemplateReplacements()}return this.template.gsub(this.pattern,function(g){if(a==null){return(g[1]+"")}var c=g[1]||"";if(c=="\\"){return g[2]}var d=a,h=g[3];var b=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;g=b.exec(h);if(g==null){return c}while(g!=null){var f=g[1].startsWith("[")?g[2].replace(/\\\\]/g,"]"):g[1];d=d[f];if(null==d||""==g[3]){break}h=h.substring("["==g[3]?g[1].length:g[0].length);g=b.exec(h)}return c+String.interpret(d)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable=(function(){function d(B,A){var z=0;try{this._each(function(D){B.call(A,D,z++)})}catch(C){if(C!=$break){throw C}}return this}function r(z,C,B){var A=-z,D=[],E=this.toArray();if(z<1){return E}while((A+=z)<E.length){D.push(E.slice(A,A+z))}return D.collect(C,B)}function c(A,z){A=A||Prototype.K;var B=true;this.each(function(D,C){B=B&&!!A.call(z,D,C);if(!B){throw $break}});return B}function l(A,z){A=A||Prototype.K;var B=false;this.each(function(D,C){if(B=!!A.call(z,D,C)){throw $break}});return B}function m(B,A){B=B||Prototype.K;var z=[];this.each(function(D,C){z.push(B.call(A,D,C))});return z}function p(A,z){var B;this.each(function(D,C){if(A.call(z,D,C)){B=D;throw $break}});return B}function b(B,A){var z=[];this.each(function(D,C){if(B.call(A,D,C)){z.push(D)}});return z}function j(z,C,B){C=C||Prototype.K;var A=[];if(Object.isString(z)){z=new RegExp(RegExp.escape(z))}this.each(function(E,D){if(z.match(E)){A.push(C.call(B,E,D))}});return A}function a(z){if(Object.isFunction(this.indexOf)){if(this.indexOf(z)!=-1){return true}}var A=false;this.each(function(B){if(B==z){A=true;throw $break}});return A}function s(z,A){A=Object.isUndefined(A)?null:A;return this.eachSlice(z,function(B){while(B.length<z){B.push(A)}return B})}function x(z,B,A){this.each(function(D,C){z=B.call(A,z,D,C)});return z}function n(A){var z=$A(arguments).slice(1);return this.map(function(B){return B[A].apply(B,z)})}function t(A,z){A=A||Prototype.K;var B;this.each(function(D,C){D=A.call(z,D,C);if(B==null||D>=B){B=D}});return B}function q(A,z){A=A||Prototype.K;var B;this.each(function(D,C){D=A.call(z,D,C);if(B==null||D<B){B=D}});return B}function f(C,A){C=C||Prototype.K;var B=[],z=[];this.each(function(E,D){(C.call(A,E,D)?B:z).push(E)});return[B,z]}function g(z){var A=[];this.each(function(B){A.push(B[z])});return A}function h(B,A){var z=[];this.each(function(D,C){if(!B.call(A,D,C)){z.push(D)}});return z}function w(A,z){return this.map(function(C,B){return{value:C,criteria:A.call(z,C,B)}}).sort(function(E,D){var C=E.criteria,B=D.criteria;return C<B?-1:C>B?1:0}).pluck("value")}function u(){return this.map()}function v(){var A=Prototype.K,z=$A(arguments);if(Object.isFunction(z.last())){A=z.pop()}var B=[this].concat(z).map($A);return this.map(function(D,C){return A(B.pluck(C))})}function o(){return this.toArray().length}function y(){return"#<Enumerable:"+this.toArray().inspect()+">"}return{each:d,eachSlice:r,all:c,every:c,any:l,some:l,collect:m,map:m,detect:p,findAll:b,select:b,filter:b,grep:j,include:a,member:a,inGroupsOf:s,inject:x,invoke:n,max:t,min:q,partition:f,pluck:g,reject:h,sortBy:w,toArray:u,entries:u,zip:v,size:o,inspect:y,find:p}})();function $A(c){if(!c){return[]}if("toArray" in Object(c)){return c.toArray()}var a=c.length||0,b=new Array(a);while(a--){b[a]=c[a]}return b}function $w(a){if(!Object.isString(a)){return[]}a=a.strip();return a?a.split(/\s+/):[]}Array.from=$A;(function(){var p=Array.prototype,s=p.slice,u=p.forEach;function b(A){for(var z=0,y=this.length;z<y;z++){A(this[z])}}if(!u){u=b}function q(){this.length=0;return this}function d(){return this[0]}function h(){return this[this.length-1]}function m(){return this.select(function(y){return y!=null})}function l(){return this.inject([],function(z,y){if(Object.isArray(y)){return z.concat(y.flatten())}z.push(y);return z})}function j(){var y=s.call(arguments,0);return this.select(function(z){return !y.include(z)})}function g(y){return(y!==false?this:this.toArray())._reverse()}function o(y){return this.inject([],function(B,A,z){if(0==z||(y?B.last()!=A:!B.include(A))){B.push(A)}return B})}function v(y){return this.uniq().findAll(function(z){return y.detect(function(A){return z===A})})}function w(){return s.call(this,0)}function n(){return this.length}function x(){return"["+this.map(Object.inspect).join(", ")+"]"}function r(){var y=[];this.each(function(z){var A=Object.toJSON(z);if(!Object.isUndefined(A)){y.push(A)}});return"["+y.join(", ")+"]"}function a(A,z){z||(z=0);var y=this.length;if(z<0){z=y+z}for(;z<y;z++){if(this[z]===A){return z}}return -1}function t(z,y){y=isNaN(y)?this.length:(y<0?this.length+y:y)+1;var A=this.slice(0,y).reverse().indexOf(z);return(A<0)?A:y-A-1}function c(){var D=s.call(this,0),B;for(var A=0,y=arguments.length;A<y;A++){B=arguments[A];if(Object.isArray(B)&&!("callee" in B)){for(var z=0,C=B.length;z<C;z++){D.push(B[z])}}else{D.push(B)}}return D}Object.extend(p,Enumerable);if(!p._reverse){p._reverse=p.reverse}Object.extend(p,{_each:u,clear:q,first:d,last:h,compact:m,flatten:l,without:j,reverse:g,uniq:o,intersect:v,clone:w,toArray:w,size:n,inspect:x,toJSON:r});var f=(function(){return[].concat(arguments)[0][0]!==1})(1,2);if(f){p.concat=c}if(!p.indexOf){p.indexOf=a}if(!p.lastIndexOf){p.lastIndexOf=t}})();function $H(a){return new Hash(a)}var Hash=Class.create(Enumerable,(function(){function d(t){this._object=Object.isHash(t)?t.toObject():Object.clone(t)}function f(u){for(var t in this._object){var v=this._object[t],w=[t,v];w.key=t;w.value=v;u(w)}}function n(t,u){return this._object[t]=u}function b(t){if(this._object[t]!==Object.prototype[t]){return this._object[t]}}function s(t){var u=this._object[t];delete this._object[t];return u}function m(){return Object.clone(this._object)}function r(){return this.pluck("key")}function p(){return this.pluck("value")}function h(u){var t=this.detect(function(v){return v.value===u});return t&&t.key}function l(t){return this.clone().update(t)}function c(t){return new Hash(t).inject(this,function(u,v){u.set(v.key,v.value);return u})}function a(t,u){if(Object.isUndefined(u)){return t}return t+"="+encodeURIComponent(String.interpret(u))}function g(){return this.inject([],function(u,w){var t=encodeURIComponent(w.key),v=w.value;if(v&&typeof v=="object"){if(Object.isArray(v)){return u.concat(v.map(a.curry(t)))}}else{u.push(a(t,v))}return u}).join("&")}function o(){return"#<Hash:{"+this.map(function(t){return t.map(Object.inspect).join(": ")}).join(", ")+"}>"}function q(){return Object.toJSON(this.toObject())}function j(){return new Hash(this)}return{initialize:d,_each:f,set:n,get:b,unset:s,toObject:m,toTemplateReplacements:m,keys:r,values:p,index:h,merge:l,update:c,toQueryString:g,inspect:o,toJSON:q,clone:j}})());Hash.from=$H;Object.extend(Number.prototype,(function(){function d(){return this.toPaddedString(2,16)}function f(){return this+1}function a(n,m){$R(0,this,true).each(n,m);return this}function b(m,o){var n=this.toString(o||10);return"0".times(m-n.length)+n}function j(){return isFinite(this)?this.toString():"null"}function l(){return Math.abs(this)}function h(){return Math.round(this)}function g(){return Math.ceil(this)}function c(){return Math.floor(this)}return{toColorPart:d,succ:f,times:a,toPaddedString:b,toJSON:j,abs:l,round:h,ceil:g,floor:c}})());function $R(c,a,b){return new ObjectRange(c,a,b)}var ObjectRange=Class.create(Enumerable,(function(){function b(g,d,f){this.start=g;this.end=d;this.exclusive=f}function c(d){var f=this.start;while(this.include(f)){d(f);f=f.succ()}}function a(d){if(d<this.start){return false}if(this.exclusive){return d<this.end}return d<=this.end}return{initialize:b,_each:c,include:a}})());var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(a){this.responders._each(a)},register:function(a){if(!this.include(a)){this.responders.push(a)}},unregister:function(a){this.responders=this.responders.without(a)},dispatch:function(c,b,d,a){this.each(function(f){if(Object.isFunction(f[c])){try{f[c].apply(f,[b,d,a])}catch(g){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(a){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,a||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else{if(Object.isHash(this.options.parameters)){this.options.parameters=this.options.parameters.toObject()}}}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,a,b){$super(b);this.transport=Ajax.getTransport();if(!this.options.redundant_proof){var c=t61.request.is_redundant(a);t61.request.record(a);if(c){return}}this.request(a);if(!this.options.hideLoader){t61.page.show_loader(b)}},request:function(a){this.url=a;this.method=this.options.method;var d=Object.clone(this.options.parameters);d.tz_offset_minutes=parseInt((new Date()).getTimezoneOffset());if(!["get","post"].include(this.method)){d._method=this.method;this.method="post"}this.parameters=d;if(d=Object.toQueryString(d)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+d}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){d+="&_="}}}try{var b=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(b)}Ajax.Responders.dispatch("onCreate",this,b);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?(this.options.postBody||d):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(c){this.dispatchException(c)}},onStateChange:function(){var a=this.transport.readyState;if(a>1&&!((a==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var f={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){f["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){f.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var b=this.options.requestHeaders;if(Object.isFunction(b.push)){for(var d=0,a=b.length;d<a;d+=2){f[b[d]]=b[d+1]}}else{$H(b).each(function(g){f[g.key]=g.value})}}for(var c in f){this.transport.setRequestHeader(c,f[c])}},success:function(){var a=this.getStatus();return !a||(a>=200&&a<300)},getStatus:function(){try{return this.transport.status||0}catch(a){return 0}},respondToReadyState:function(a){var c=Ajax.Request.Events[a],b=new Ajax.Response(this);if(c=="Complete"){try{this._complete=true;(this.options["on"+b.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(b,b.headerJSON)}catch(f){this.dispatchException(f)}var d=b.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&d&&d.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()}}try{(this.options["on"+c]||Prototype.emptyFunction)(b,b.headerJSON);Ajax.Responders.dispatch("on"+c,this,b,b.headerJSON)}catch(f){this.dispatchException(f)}if(c=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var a=this.url.match(/^\s*https?:\/\/[^\/]*/);return !a||(a[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))},getHeader:function(a){try{return this.transport.getResponseHeader(a)||null}catch(b){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(a){(this.options.onException||Prototype.emptyFunction)(this,a);Ajax.Responders.dispatch("onException",this,a)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(c){this.request=c;var d=this.transport=c.transport,a=this.readyState=d.readyState;if((a>2&&!Prototype.Browser.IE)||a==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(d.responseText);this.headerJSON=this._getHeaderJSON()}if(a==4){var b=d.responseXML;this.responseXML=Object.isUndefined(b)?null:b;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(a){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(a){return null}},getResponseHeader:function(a){return this.transport.getResponseHeader(a)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var a=this.getHeader("X-JSON");if(!a){return null}a=decodeURIComponent(escape(a));try{return a.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(b){this.request.dispatchException(b)}},_getResponseJSON:function(){var a=this.request.options;if(!a.evalJSON||(a.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null}try{return this.responseText.evalJSON(a.sanitizeJSON||!this.request.isSameOrigin())}catch(b){this.request.dispatchException(b)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,c,a,b){this.container={success:(c.success||c),failure:(c.failure||(c.success?null:c))};b=Object.clone(b);var d=b.onComplete;b.onComplete=(function(g,f){this.updateContent(g.responseText);if(Object.isFunction(d)){d(g,f)}}).bind(this);$super(a,b)},updateContent:function(d){var b=this.container[this.success()?"success":"failure"],c=this.options;if(!c.evalScripts){d=d.stripScripts()}if(b=$(b)){if(c.insertion){if(Object.isString(c.insertion)){var a={};a[c.insertion]=d;b.insert(a)}else{c.insertion(b,d)}}else{b.update(d)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,c,a,b){$super(b);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=c;this.url=a;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(a){if(this.options.decay){this.decay=(a.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=a.responseText}this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});function $(c){if(arguments.length>1){for(var d=0,a=[],b=arguments.length;d<b;d++){a.push($(arguments[d]))}return a}if(Object.isString(c)){c=document.getElementById(c)}return Element.extend(c)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(g,d){var c=[];var f=document.evaluate(g,$(d)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var b=0,a=f.snapshotLength;b<a;b++){c.push(Element.extend(f.snapshotItem(b)))}return c}}if(!window.Node){var Node={}}if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})}(function(a){var b=(function(){var f=document.createElement("form");var g=document.createElement("input");var d=document.documentElement;g.setAttribute("name","test");f.appendChild(g);d.appendChild(f);var h=f.elements?(typeof f.elements.test=="undefined"):null;d.removeChild(f);f=g=null;return h})();var c=a.Element;a.Element=function(g,f){f=f||{};g=g.toLowerCase();var d=Element.cache;if(b&&f.name){g="<"+g+' name="'+f.name+'">';delete f.name;return Element.writeAttribute(document.createElement(g),f)}if(!d[g]){d[g]=Element.extend(document.createElement(g))}return Element.writeAttribute(d[g].cloneNode(false),f)};Object.extend(a.Element,c||{});if(c){a.Element.prototype=c.prototype}})(this);Element.cache={};Element.idCounter=1;Element.Methods={visible:function(a){return $(a).style.display!="none"},toggle:function(a){a=$(a);Element[Element.visible(a)?"hide":"show"](a);return a},hide:function(a){a=$(a);a.style.display="none";return a},show:function(a){a=$(a);a.style.display="";return a},remove:function(a){a=$(a);a.parentNode.removeChild(a);return a},update:(function(){var b=(function(){var f=document.createElement("select"),g=true;f.innerHTML='<option value="test">test</option>';if(f.options&&f.options[0]){g=f.options[0].nodeName.toUpperCase()!=="OPTION"}f=null;return g})();var a=(function(){try{var f=document.createElement("table");if(f&&f.tBodies){f.innerHTML="<tbody><tr><td>test</td></tr></tbody>";var h=typeof f.tBodies[0]=="undefined";f=null;return h}}catch(g){return true}})();var d=(function(){var f=document.createElement("script"),h=false;try{f.appendChild(document.createTextNode(""));h=!f.firstChild||f.firstChild&&f.firstChild.nodeType!==3}catch(g){h=true}f=null;return h})();function c(g,h){g=$(g);if(h&&h.toElement){h=h.toElement()}if(Object.isElement(h)){return g.update().insert(h)}h=Object.toHTML(h);var f=g.tagName.toUpperCase();if(f==="SCRIPT"&&d){g.text=h;return g}if(b||a){if(f in Element._insertionTranslations.tags){while(g.firstChild){g.removeChild(g.firstChild)}Element._getContentFromAnonymousElement(f,h.stripScripts()).each(function(j){g.appendChild(j)})}else{g.innerHTML=h.stripScripts()}}else{g.innerHTML=h.stripScripts()}h.evalScripts.bind(h).defer();return g}return c})(),replace:function(b,c){b=$(b);if(c&&c.toElement){c=c.toElement()}else{if(!Object.isElement(c)){c=Object.toHTML(c);var a=b.ownerDocument.createRange();a.selectNode(b);c.evalScripts.bind(c).defer();c=a.createContextualFragment(c.stripScripts())}}b.parentNode.replaceChild(c,b);return b},insert:function(d,g){d=$(d);if(Object.isString(g)||Object.isNumber(g)||Object.isElement(g)||(g&&(g.toElement||g.toHTML))){g={bottom:g}}var f,b,c,h;for(var a in g){f=g[a];a=a.toLowerCase();b=Element._insertionTranslations[a];if(f&&f.toElement){f=f.toElement()}if(Object.isElement(f)){b(d,f);continue}f=Object.toHTML(f);c=((a=="before"||a=="after")?d.parentNode:d).tagName.toUpperCase();h=Element._getContentFromAnonymousElement(c,f.stripScripts());if(a=="top"||a=="after"){h.reverse()}h.each(b.curry(d));f.evalScripts.bind(f).defer()}return d},wrap:function(b,c,a){b=$(b);if(Object.isElement(c)){$(c).writeAttribute(a||{})}else{if(Object.isString(c)){c=new Element(c,a)}else{c=new Element("div",c)}}if(b.parentNode){b.parentNode.replaceChild(c,b)}c.appendChild(b);return c},inspect:function(a){a=$(a);var b="<"+a.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(g){var c=g.first(),d=g.last();var f=(a[c]||"").toString();if(f){b+=" "+d+"="+f.inspect(true)}});return b+">"},recursivelyCollect:function(c,b){c=$(c);var a=[];while(c=c[b]){if(c.nodeType==1){a.push(Element.extend(c))}}return a},ancestors:function(a){return Element.recursivelyCollect(a,"parentNode")},descendants:function(a){return Element.select(a,"*")},firstDescendant:function(a){a=$(a).firstChild;while(a&&a.nodeType!=1){a=a.nextSibling}return $(a)},immediateDescendants:function(a){if(!(a=$(a).firstChild)){return[]}while(a&&a.nodeType!=1){a=a.nextSibling}if(a){return[a].concat($(a).nextSiblings())}return[]},previousSiblings:function(a){return Element.recursivelyCollect(a,"previousSibling")},nextSiblings:function(a){return Element.recursivelyCollect(a,"nextSibling")},siblings:function(a){a=$(a);return Element.previousSiblings(a).reverse().concat(Element.nextSiblings(a))},match:function(b,a){if(Object.isString(a)){a=new Selector(a)}return a.match($(b))},up:function(c,d,b){c=$(c);if(arguments.length==1){return $(c.parentNode)}var a=Element.ancestors(c);return Object.isNumber(d)?a[d]:Selector.findElement(a,d,b)},down:function(b,c,a){b=$(b);if(arguments.length==1){return Element.firstDescendant(b)}return Object.isNumber(c)?Element.descendants(b)[c]:Element.select(b,c)[a||0]},previous:function(b,d,a){b=$(b);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(b))}var c=Element.previousSiblings(b);return Object.isNumber(d)?c[d]:Selector.findElement(c,d,a)},next:function(b,d,a){b=$(b);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(b))}var c=Element.nextSiblings(b);return Object.isNumber(d)?c[d]:Selector.findElement(c,d,a)},select:function(b){var a=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(b,a)},adjacent:function(b){var a=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(b.parentNode,a).without(b)},identify:function(a){a=$(a);var b=Element.readAttribute(a,"id");if(b){return b}do{b="anonymous_element_"+Element.idCounter++}while($(b));Element.writeAttribute(a,"id",b);return b},readAttribute:function(b,a){b=$(b);if(Prototype.Browser.IE){var c=Element._attributeTranslations.read;if(c.values[a]){return c.values[a](b,a)}if(c.names[a]){a=c.names[a]}if(a.include(":")){return(!b.attributes||!b.attributes[a])?null:b.attributes[a].value}}return b.getAttribute(a)},writeAttribute:function(d,c,g){d=$(d);var b={},f=Element._attributeTranslations.write;if(typeof c=="object"){b=c}else{b[c]=Object.isUndefined(g)?true:g}for(var a in b){c=f.names[a]||a;g=b[a];if(f.values[a]){c=f.values[a](d,g)}if(g===false||g===null){d.removeAttribute(c)}else{if(g===true){d.setAttribute(c,c)}else{d.setAttribute(c,g)}}}return d},getHeight:function(a){return Element.getDimensions(a).height},getWidth:function(a){return Element.getDimensions(a).width},classNames:function(a){return new Element.ClassNames(a)},hasClassName:function(b,a){if(!(b=$(b))){return}var c=b.className;return(c.length>0&&(c==a||new RegExp("(^|\\s)"+a+"(\\s|$)").test(c)))},addClassName:function(b,a){if(!(b=$(b))){return}if(!Element.hasClassName(b,a)){b.className+=(b.className?" ":"")+a}return b},removeClassName:function(b,a){if(!(b=$(b))){return}b.className=b.className.replace(new RegExp("(^|\\s+)"+a+"(\\s+|$)")," ").strip();return b},toggleClassName:function(b,a){if(!(b=$(b))){return}return Element[Element.hasClassName(b,a)?"removeClassName":"addClassName"](b,a)},cleanWhitespace:function(b){b=$(b);var c=b.firstChild;while(c){var a=c.nextSibling;if(c.nodeType==3&&!/\S/.test(c.nodeValue)){b.removeChild(c)}c=a}return b},empty:function(a){return $(a).innerHTML.blank()},descendantOf:function(b,a){b=$(b),a=$(a);if(b.compareDocumentPosition){return(b.compareDocumentPosition(a)&8)===8}if(a.contains){return a.contains(b)&&a!==b}while(b=b.parentNode){if(b==a){return true}}return false},scrollTo:function(a){a=$(a);var b=Element.cumulativeOffset(a);window.scrollTo(b[0],b[1]);return a},getStyle:function(a,c){a=$(a);c=c=="float"?"cssFloat":c.camelize();var d=a.style[c];if(!d||d=="auto"){var b=document.defaultView.getComputedStyle(a,null);d=b?b[c]:null}if(c=="opacity"){return d?parseFloat(d):1}return d=="auto"?null:d},getOpacity:function(a){return $(a).getStyle("opacity")},setStyle:function(f,c){f=$(f);var b=f.style,d;if(Object.isString(c)){f.style.cssText+=";"+c;return c.include("opacity")?f.setOpacity(c.match(/opacity:\s*(\d?\.?\d*)/)[1]):f}for(var a in c){if(a=="opacity"){f.setOpacity(c[a])}else{b[(a=="float"||a=="cssFloat")?(Object.isUndefined(b.styleFloat)?"cssFloat":"styleFloat"):a]=c[a]}}return f},setOpacity:function(a,b){a=$(a);a.style.opacity=(b==1||b==="")?"":(b<0.00001)?0:b;return a},getDimensions:function(c){c=$(c);var h=Element.getStyle(c,"display");if(h!="none"&&h!=null){return{width:c.offsetWidth,height:c.offsetHeight}}var f=c.style;var a=f.visibility;var b=f.position;var d=f.display;f.visibility="hidden";if(b!="fixed"){f.position="absolute"}f.display="block";var j=c.clientWidth;var g=c.clientHeight;f.display=d;f.position=b;f.visibility=a;return{width:j,height:g}},makePositioned:function(a){a=$(a);var b=Element.getStyle(a,"position");if(b=="static"||!b){a._madePositioned=true;a.style.position="relative";if(Prototype.Browser.Opera){a.style.top=0;a.style.left=0}}return a},undoPositioned:function(a){a=$(a);if(a._madePositioned){a._madePositioned=undefined;a.style.position=a.style.top=a.style.left=a.style.bottom=a.style.right=""}return a},makeClipping:function(a){a=$(a);if(a._overflow){return a}a._overflow=Element.getStyle(a,"overflow")||"auto";if(a._overflow!=="hidden"){a.style.overflow="hidden"}return a},undoClipping:function(a){a=$(a);if(!a._overflow){return a}a.style.overflow=a._overflow=="auto"?"":a._overflow;a._overflow=null;return a},cumulativeOffset:function(a){var b=0,c=0;do{b+=a.offsetTop||0;c+=a.offsetLeft||0;a=a.offsetParent}while(a);return Element._returnOffset(c,b)},positionedOffset:function(a){var b=0,d=0;do{b+=a.offsetTop||0;d+=a.offsetLeft||0;a=a.offsetParent;if(a){if(a.tagName.toUpperCase()=="BODY"){break}var c=Element.getStyle(a,"position");if(c!=="static"){break}}}while(a);return Element._returnOffset(d,b)},absolutize:function(b){b=$(b);if(Element.getStyle(b,"position")=="absolute"){return b}var a=Element.positionedOffset(b);var g=a[1];var f=a[0];var c=b.clientWidth;var d=b.clientHeight;b._originalLeft=f-parseFloat(b.style.left||0);b._originalTop=g-parseFloat(b.style.top||0);b._originalWidth=b.style.width;b._originalHeight=b.style.height;b.style.position="absolute";b.style.top=g+"px";b.style.left=f+"px";b.style.width=c+"px";b.style.height=d+"px";return b},relativize:function(a){a=$(a);if(Element.getStyle(a,"position")=="relative"){return a}a.style.position="relative";var c=parseFloat(a.style.top||0)-(a._originalTop||0);var b=parseFloat(a.style.left||0)-(a._originalLeft||0);a.style.top=c+"px";a.style.left=b+"px";a.style.height=a._originalHeight;a.style.width=a._originalWidth;return a},cumulativeScrollOffset:function(a){var b=0,c=0;do{b+=a.scrollTop||0;c+=a.scrollLeft||0;a=a.parentNode}while(a);return Element._returnOffset(c,b)},getOffsetParent:function(a){if(a.offsetParent){return $(a.offsetParent)}if(a==document.body){return $(a)}while((a=a.parentNode)&&a!=document.body){if(Element.getStyle(a,"position")!="static"){return $(a)}}return $(document.body)},viewportOffset:function(c){var b=0,d=0;var a=c;do{b+=a.offsetTop||0;d+=a.offsetLeft||0;if(a.offsetParent==document.body&&Element.getStyle(a,"position")=="absolute"){break}}while(a=a.offsetParent);a=c;do{if(!Prototype.Browser.Opera||(a.tagName&&(a.tagName.toUpperCase()=="BODY"))){b-=a.scrollTop||0;d-=a.scrollLeft||0}}while(a=a.parentNode);return Element._returnOffset(d,b)},clonePosition:function(c,a){var d=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});a=$(a);var f=Element.viewportOffset(a);c=$(c);var g=[0,0];var b=null;if(Element.getStyle(c,"position")=="absolute"){b=Element.getOffsetParent(c);g=Element.viewportOffset(b)}if(b==document.body){g[0]-=document.body.offsetLeft;g[1]-=document.body.offsetTop}if(d.setLeft){c.style.left=(f[0]-g[0]+d.offsetLeft)+"px"}if(d.setTop){c.style.top=(f[1]-g[1]+d.offsetTop)+"px"}if(d.setWidth){c.style.width=a.offsetWidth+"px"}if(d.setHeight){c.style.height=a.offsetHeight+"px"}return c}};Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(a,c,d){switch(d){case"left":case"top":case"right":case"bottom":if(a(c,"position")==="static"){return null}case"height":case"width":if(!Element.visible(c)){return null}var f=parseInt(a(c,d),10);if(f!==c["offset"+d.capitalize()]){return f+"px"}var b;if(d==="height"){b=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{b=["border-left-width","padding-left","padding-right","border-right-width"]}return b.inject(f,function(h,g){var j=a(c,g);return j===null?h:h-parseInt(j,10)})+"px";default:return a(c,d)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(a,b,c){if(c==="title"){return b.title}return a(b,c)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(b,c){c=$(c);try{c.offsetParent}catch(f){return $(document.body)}var a=c.getStyle("position");if(a!=="static"){return b(c)}c.setStyle({position:"relative"});var d=b(c);c.setStyle({position:a});return d});$w("positionedOffset viewportOffset").each(function(a){Element.Methods[a]=Element.Methods[a].wrap(function(c,d){d=$(d);try{d.offsetParent}catch(h){return Element._returnOffset(0,0)}var b=d.getStyle("position");if(b!=="static"){return c(d)}var f=d.getOffsetParent();if(f&&f.getStyle("position")==="fixed"){f.setStyle({zoom:1})}d.setStyle({position:"relative"});var g=c(d);d.setStyle({position:b});return g})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(a,b){try{b.offsetParent}catch(c){return Element._returnOffset(0,0)}return a(b)});Element.Methods.getStyle=function(a,b){a=$(a);b=(b=="float"||b=="cssFloat")?"styleFloat":b.camelize();var c=a.style[b];if(!c&&a.currentStyle){c=a.currentStyle[b]}if(b=="opacity"){if(c=(a.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(c[1]){return parseFloat(c[1])/100}}return 1}if(c=="auto"){if((b=="width"||b=="height")&&(a.getStyle("display")!="none")){return a["offset"+b.capitalize()]+"px"}return null}return c};Element.Methods.setOpacity=function(c,f){function g(h){return h.replace(/alpha\([^\)]*\)/gi,"")}c=$(c);var b=c.currentStyle;if((b&&!b.hasLayout)||(!b&&c.style.zoom=="normal")){c.style.zoom=1}var a=c.getStyle("filter"),d=c.style;if(f==1||f===""){(a=g(a))?d.filter=a:d.removeAttribute("filter");return c}else{if(f<0.00001){f=0}}d.filter=g(a)+"alpha(opacity="+(f*100)+")";return c};Element._attributeTranslations=(function(){var c="className";var b="for";var a=document.createElement("div");a.setAttribute(c,"x");if(a.className!=="x"){a.setAttribute("class","x");if(a.className==="x"){c="class"}}a=null;a=document.createElement("label");a.setAttribute(b,"x");if(a.htmlFor!=="x"){a.setAttribute("htmlFor","x");if(a.htmlFor==="x"){b="htmlFor"}}a=null;return{read:{names:{"class":c,className:c,"for":b,htmlFor:b},values:{_getAttr:function(d,f){return d.getAttribute(f)},_getAttr2:function(d,f){return d.getAttribute(f,2)},_getAttrNode:function(d,g){var f=d.getAttributeNode(g);return f?f.value:""},_getEv:(function(){var d=document.createElement("div");d.onclick=Prototype.emptyFunction;var h=d.getAttribute("onclick");var g;if(String(h).indexOf("{")>-1){g=function(f,j){j=f.getAttribute(j);if(!j){return null}j=j.toString();j=j.split("{")[1];j=j.split("}")[0];return j.strip()}}else{if(h===""){g=function(f,j){j=f.getAttribute(j);if(!j){return null}return j.strip()}}}d=null;return g})(),_flag:function(d,f){return $(d).hasAttribute(f)?f:null},style:function(d){return d.style.cssText.toLowerCase()},title:function(d){return d.title}}}}})();Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(a,b){a.checked=!!b},style:function(a,b){a.style.cssText=b?b:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(a){Element._attributeTranslations.write.names[a.toLowerCase()]=a;Element._attributeTranslations.has[a.toLowerCase()]=a});(function(a){Object.extend(a,{href:a._getAttr2,src:a._getAttr2,type:a._getAttr,action:a._getAttrNode,disabled:a._flag,checked:a._flag,readonly:a._flag,multiple:a._flag,onload:a._getEv,onunload:a._getEv,onclick:a._getEv,ondblclick:a._getEv,onmousedown:a._getEv,onmouseup:a._getEv,onmouseover:a._getEv,onmousemove:a._getEv,onmouseout:a._getEv,onfocus:a._getEv,onblur:a._getEv,onkeypress:a._getEv,onkeydown:a._getEv,onkeyup:a._getEv,onsubmit:a._getEv,onreset:a._getEv,onselect:a._getEv,onchange:a._getEv})})(Element._attributeTranslations.read.values);if(Prototype.BrowserFeatures.ElementExtensions){(function(){function a(c){var b=c.getElementsByTagName("*"),f=[];for(var d=0,g;g=b[d];d++){if(g.tagName!=="!"){f.push(g)}}return f}Element.Methods.down=function(c,d,b){c=$(c);if(arguments.length==1){return c.firstDescendant()}return Object.isNumber(d)?a(c)[d]:Element.select(c,d)[b||0]}})()}}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(a,b){a=$(a);a.style.opacity=(b==1)?0.999999:(b==="")?"":(b<0.00001)?0:b;return a}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(a,b){a=$(a);a.style.opacity=(b==1||b==="")?"":(b<0.00001)?0:b;if(b==1){if(a.tagName.toUpperCase()=="IMG"&&a.width){a.width++;a.width--}else{try{var d=document.createTextNode(" ");a.appendChild(d);a.removeChild(d)}catch(c){}}}return a};Element.Methods.cumulativeOffset=function(a){var b=0,c=0;do{b+=a.offsetTop||0;c+=a.offsetLeft||0;if(a.offsetParent==document.body){if(Element.getStyle(a,"position")=="absolute"){break}}a=a.offsetParent}while(a);return Element._returnOffset(c,b)}}}}}if("outerHTML" in document.documentElement){Element.Methods.replace=function(f,g){f=$(f);if(g&&g.toElement){g=g.toElement()}if(Object.isElement(g)){f.parentNode.replaceChild(g,f);return f}g=Object.toHTML(g);var c=f.parentNode,d=c.tagName.toUpperCase();if(Element._insertionTranslations.tags[d]){var b=f.next();var a=Element._getContentFromAnonymousElement(d,g.stripScripts());c.removeChild(f);if(b){a.each(function(h){c.insertBefore(h,b)})}else{a.each(function(h){c.appendChild(h)})}}else{f.outerHTML=g.stripScripts()}g.evalScripts.bind(g).defer();return f}}Element._returnOffset=function(a,b){var c=[a,b];c.left=a;c.top=b;return c};Element._getContentFromAnonymousElement=function(a,c){var d=new Element("div"),b=Element._insertionTranslations.tags[a];if(b){d.innerHTML=b[0]+c+b[1];b[2].times(function(){d=d.firstChild})}else{d.innerHTML=c}return $A(d.childNodes)};Element._insertionTranslations={before:function(a,b){a.parentNode.insertBefore(b,a)},top:function(a,b){a.insertBefore(b,a.firstChild)},bottom:function(a,b){a.appendChild(b)},after:function(a,b){a.parentNode.insertBefore(b,a.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};(function(){var a=Element._insertionTranslations.tags;Object.extend(a,{THEAD:a.TBODY,TFOOT:a.TBODY,TH:a.TD})})();Element.Methods.Simulated={hasAttribute:function(a,c){c=Element._attributeTranslations.has[c]||c;var b=$(a).getAttributeNode(c);return !!(b&&b.specified)}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);(function(a){if(!Prototype.BrowserFeatures.ElementExtensions&&a.__proto__){window.HTMLElement={};window.HTMLElement.prototype=a.__proto__;Prototype.BrowserFeatures.ElementExtensions=true}a=null})(document.createElement("div"));Element.extend=(function(){function c(h){if(typeof window.Element!="undefined"){var l=window.Element.prototype;if(l){var n="_"+(Math.random()+"").slice(2);var j=document.createElement(h);l[n]="x";var m=(j[n]!=="x");delete l[n];j=null;return m}}return false}function b(l,j){for(var h in j){var m=j[h];if(Object.isFunction(m)&&!(h in l)){l[h]=m.methodize()}}}var a=c("object");if(Prototype.BrowserFeatures.SpecificElementExtensions){if(a){return function(h){if(h&&typeof h._extendedByPrototype=="undefined"){var j=h.tagName;if(j&&(/^(?:object|applet|embed)$/i.test(j))){b(h,Element.Methods);b(h,Element.Methods.Simulated);b(h,Element.Methods.ByTag[j.toUpperCase()])}}return h}}return Prototype.K}var f={},d=Element.Methods.ByTag;var g=Object.extend(function(l){if(!l||typeof l._extendedByPrototype!="undefined"||l.nodeType!=1||l==window){return l}var h=Object.clone(f),j=l.tagName.toUpperCase();if(d[j]){Object.extend(h,d[j])}b(l,h);l._extendedByPrototype=Prototype.emptyFunction;return l},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(f,Element.Methods);Object.extend(f,Element.Methods.Simulated)}}});g.refresh();return g})();Element.hasAttribute=function(a,b){if(a.hasAttribute){return a.hasAttribute(b)}return Element.Methods.Simulated.hasAttribute(a,b)};Element.addMethods=function(c){var l=Prototype.BrowserFeatures,d=Element.Methods.ByTag;if(!c){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var g=c;c=arguments[1]}if(!g){Object.extend(Element.Methods,c||{})}else{if(Object.isArray(g)){g.each(a)}else{a(g)}}function a(n){n=n.toUpperCase();if(!Element.Methods.ByTag[n]){Element.Methods.ByTag[n]={}}Object.extend(Element.Methods.ByTag[n],c)}function b(o,r,q){q=q||false;for(var n in o){var p=o[n];if(!Object.isFunction(p)){continue}if(!q||!(n in r)){r[n]=p.methodize()}}}function f(p){var n;var q={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(q[p]){n="HTML"+q[p]+"Element"}if(window[n]){return window[n]}n="HTML"+p+"Element";if(window[n]){return window[n]}n="HTML"+p.capitalize()+"Element";if(window[n]){return window[n]}var o=document.createElement(p);var r=o.__proto__||o.constructor.prototype;o=null;return r}var j=window.HTMLElement?HTMLElement.prototype:Element.prototype;if(l.ElementExtensions){b(Element.Methods,j);b(Element.Methods.Simulated,j,true)}if(l.SpecificElementExtensions){for(var m in Element.Methods.ByTag){var h=f(m);if(Object.isUndefined(h)){continue}b(d[m],h.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}};document.viewport={getDimensions:function(){return{width:this.getWidth(),height:this.getHeight()}},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};(function(c){var h=Prototype.Browser,g=document,d,b={};function a(){if(h.WebKit&&!g.evaluate){return document}if(h.Opera&&window.parseFloat(window.opera.version())<9.5){return document.body}return document.documentElement}function f(j){if(!d){d=a()}b[j]="client"+j;c["get"+j]=function(){return d[b[j]]};return c["get"+j]()}c.getWidth=f.curry("Width");c.getHeight=f.curry("Height")})(document.viewport);Element.Storage={UID:1};Element.addMethods({getStorage:function(a){if(!(a=$(a))){return}var b;if(a===window){b=0}else{if(typeof a._prototypeUID==="undefined"){a._prototypeUID=[Element.Storage.UID++]}b=a._prototypeUID[0]}if(!Element.Storage[b]){Element.Storage[b]=$H()}return Element.Storage[b]},store:function(a,b,c){if(!(a=$(a))){return}if(arguments.length===2){Element.getStorage(a).update(b)}else{Element.getStorage(a).set(b,c)}return a},retrieve:function(a,b,c){if(!(a=$(a))){return}var f=Element.getStorage(a),d=f.get(b);if(Object.isUndefined(d)){f.set(b,c);d=c}return d},clone:function(b,a){if(!(b=$(b))){return}var f=b.cloneNode(a);f._prototypeUID=void 0;if(a){var d=Element.select(f,"*"),c=d.length;while(c--){d[c]._prototypeUID=void 0}}return Element.extend(f)}});var Selector=Class.create({initialize:function(a){this.expression=a.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI"}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher()}else{this.mode="normal";this.compileMatcher()}}},shouldUseXPath:(function(){var a=(function(){var f=false;if(document.evaluate&&window.XPathResult){var c=document.createElement("div");c.innerHTML="<ul><li></li></ul><div><ul><li></li></ul></div>";var b=".//*[local-name()='ul' or local-name()='UL']//*[local-name()='li' or local-name()='LI']";var d=document.evaluate(b,c,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);f=(d.snapshotLength!==2);c=null}return f})();return function(){if(!Prototype.BrowserFeatures.XPath){return false}var b=this.expression;if(Prototype.Browser.WebKit&&(b.include("-of-type")||b.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(b)){return false}if(a){return false}return true}})(),shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false}if(Selector.CASE_INSENSITIVE_CLASS_NAMES){return false}if(!Selector._div){Selector._div=new Element("div")}try{Selector._div.querySelector(this.expression)}catch(a){return false}return true},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m,len=ps.length,name;if(Selector._cache[e]){this.matcher=Selector._cache[e];return}this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){this.matcher.push(Object.isFunction(c[name])?c[name](m):new Template(c[name]).evaluate(m));e=e.replace(m[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var h=this.expression,j=Selector.patterns,c=Selector.xpath,g,b,a=j.length,d;if(Selector._cache[h]){this.xpath=Selector._cache[h];return}this.matcher=[".//*"];while(h&&g!=h&&(/\S/).test(h)){g=h;for(var f=0;f<a;f++){d=j[f].name;if(b=h.match(j[f].re)){this.matcher.push(Object.isFunction(c[d])?c[d](b):new Template(c[d]).evaluate(b));h=h.replace(b[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(a){a=a||document;var c=this.expression,b;switch(this.mode){case"selectorsAPI":if(a!==document){var d=a.id,f=$(a).identify();f=f.replace(/([\.:])/g,"\\$1");c="#"+f+" "+c}b=$A(a.querySelectorAll(c)).map(Element.extend);a.id=d;return b;case"xpath":return document._getElementsByXPath(this.xpath,a);default:return this.matcher(a)}},match:function(j){this.tokens=[];var r=this.expression,b=Selector.patterns,g=Selector.assertions;var a,d,f,q=b.length,c;while(r&&a!==r&&(/\S/).test(r)){a=r;for(var l=0;l<q;l++){d=b[l].re;c=b[l].name;if(f=r.match(d)){if(g[c]){this.tokens.push([c,Object.clone(f)]);r=r.replace(f[0],"")}else{return this.findElements(document).include(j)}}}}var o=true,c,n;for(var l=0,h;h=this.tokens[l];l++){c=h[0],n=h[1];if(!Selector.assertions[c](j,n)){o=false;break}}return o},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});if(Prototype.BrowserFeatures.SelectorsAPI&&document.compatMode==="BackCompat"){Selector.CASE_INSENSITIVE_CLASS_NAMES=(function(){var c=document.createElement("div"),a=document.createElement("span");c.id="prototype_test_id";a.className="Test";c.appendChild(a);var b=(c.querySelector("#prototype_test_id .test")!==null);c=a=null;return b})()}Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(a){if(a[1]=="*"){return""}return"[local-name()='"+a[1].toLowerCase()+"' or local-name()='"+a[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(a){a[1]=a[1].toLowerCase();return new Template("[@#{1}]").evaluate(a)},attr:function(a){a[1]=a[1].toLowerCase();a[3]=a[5]||a[6];return new Template(Selector.xpath.operators[a[2]]).evaluate(a)},pseudo:function(a){var b=Selector.xpath.pseudos[a[1]];if(!b){return""}if(Object.isFunction(b)){return b(a)}return new Template(Selector.xpath.pseudos[a[1]]).evaluate(a)},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0)]",checked:"[@checked]",disabled:"[(@disabled) and (@type!='hidden')]",enabled:"[not(@disabled) and (@type!='hidden')]",not:function(f){var j=f[6],c=Selector.patterns,l=Selector.xpath,a,n,h=c.length,b;var d=[];while(j&&a!=j&&(/\S/).test(j)){a=j;for(var g=0;g<h;g++){b=c[g].name;if(f=j.match(c[g].re)){n=Object.isFunction(l[b])?l[b](f):new Template(l[b]).evaluate(f);d.push("("+n.substring(1,n.length-1)+")");j=j.replace(f[0],"");break}}}return"[not("+d.join(" and ")+")]"},"nth-child":function(a){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",a)},"nth-last-child":function(a){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",a)},"nth-of-type":function(a){return Selector.xpath.pseudos.nth("position() ",a)},"nth-last-of-type":function(a){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",a)},"first-of-type":function(a){a[6]="1";return Selector.xpath.pseudos["nth-of-type"](a)},"last-of-type":function(a){a[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](a)},"only-of-type":function(a){var b=Selector.xpath.pseudos;return b["first-of-type"](a)+b["last-of-type"](a)},nth:function(g,d){var l,j=d[6],h;if(j=="even"){j="2n+0"}if(j=="odd"){j="2n+1"}if(l=j.match(/^(\d+)$/)){return"["+g+"= "+l[1]+"]"}if(l=j.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(l[1]=="-"){l[1]=-1}var f=l[1]?Number(l[1]):1;var c=l[2]?Number(l[2]):0;h="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(h).evaluate({fragment:g,a:f,b:c})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(a){a[3]=(a[5]||a[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(a)},pseudo:function(a){if(a[6]){a[6]=a[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(a)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:[{name:"laterSibling",re:/^\s*~\s*/},{name:"child",re:/^\s*>\s*/},{name:"adjacent",re:/^\s*\+\s*/},{name:"descendant",re:/^\s/},{name:"tagName",re:/^\s*(\*|[\w\-]+)(\b|$)?/},{name:"id",re:/^#([\w\-\*]+)(\b|$)/},{name:"className",re:/^\.([\w\-\*]+)(\b|$)/},{name:"pseudo",re:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/},{name:"attrPresence",re:/^\[((?:[\w-]+:)?[\w-]+)\]/},{name:"attr",re:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/}],assertions:{tagName:function(a,b){return b[1].toUpperCase()==a.tagName.toUpperCase()},className:function(a,b){return Element.hasClassName(a,b[1])},id:function(a,b){return a.id===b[1]},attrPresence:function(a,b){return Element.hasAttribute(a,b[1])},attr:function(b,c){var a=Element.readAttribute(b,c[1]);return a&&Selector.operators[c[2]](a,c[5]||c[6])}},handlers:{concat:function(d,c){for(var f=0,g;g=c[f];f++){d.push(g)}return d},mark:function(a){var d=Prototype.emptyFunction;for(var b=0,c;c=a[b];b++){c._countedByPrototype=d}return a},unmark:(function(){var a=(function(){var c=document.createElement("div"),f=false,b="_countedByPrototype",d="x";c[b]=d;f=(c.getAttribute(b)===d);c=null;return f})();return a?function(b){for(var c=0,d;d=b[c];c++){d.removeAttribute("_countedByPrototype")}return b}:function(b){for(var c=0,d;d=b[c];c++){d._countedByPrototype=void 0}return b}})(),index:function(g,c,h){g._countedByPrototype=Prototype.emptyFunction;if(c){for(var a=g.childNodes,d=a.length-1,b=1;d>=0;d--){var f=a[d];if(f.nodeType==1&&(!h||f._countedByPrototype)){f.nodeIndex=b++}}}else{for(var d=0,b=1,a=g.childNodes;f=a[d];d++){if(f.nodeType==1&&(!h||f._countedByPrototype)){f.nodeIndex=b++}}}},unique:function(b){if(b.length==0){return b}var d=[],f;for(var c=0,a=b.length;c<a;c++){if(typeof(f=b[c])._countedByPrototype=="undefined"){f._countedByPrototype=Prototype.emptyFunction;d.push(Element.extend(f))}}return Selector.handlers.unmark(d)},descendant:function(a){var d=Selector.handlers;for(var c=0,b=[],f;f=a[c];c++){d.concat(b,f.getElementsByTagName("*"))}return b},child:function(a){var f=Selector.handlers;for(var d=0,c=[],g;g=a[d];d++){for(var b=0,l;l=g.childNodes[b];b++){if(l.nodeType==1&&l.tagName!="!"){c.push(l)}}}return c},adjacent:function(a){for(var c=0,b=[],f;f=a[c];c++){var d=this.nextElementSibling(f);if(d){b.push(d)}}return b},laterSibling:function(a){var d=Selector.handlers;for(var c=0,b=[],f;f=a[c];c++){d.concat(b,Element.nextSiblings(f))}return b},nextElementSibling:function(a){while(a=a.nextSibling){if(a.nodeType==1){return a}}return null},previousElementSibling:function(a){while(a=a.previousSibling){if(a.nodeType==1){return a}}return null},tagName:function(a,l,g,j){var m=g.toUpperCase();var d=[],f=Selector.handlers;if(a){if(j){if(j=="descendant"){for(var c=0,b;b=a[c];c++){f.concat(d,b.getElementsByTagName(g))}return d}else{a=this[j](a)}if(g=="*"){return a}}for(var c=0,b;b=a[c];c++){if(b.tagName.toUpperCase()===m){d.push(b)}}return d}else{return l.getElementsByTagName(g)}},id:function(a,n,b,l){var m=$(b),g=Selector.handlers;if(n==document){if(!m){return[]}if(!a){return[m]}}else{if(!n.sourceIndex||n.sourceIndex<1){var a=n.getElementsByTagName("*");for(var d=0,c;c=a[d];d++){if(c.id===b){return[c]}}}}if(a){if(l){if(l=="child"){for(var f=0,c;c=a[f];f++){if(m.parentNode==c){return[m]}}}else{if(l=="descendant"){for(var f=0,c;c=a[f];f++){if(Element.descendantOf(m,c)){return[m]}}}else{if(l=="adjacent"){for(var f=0,c;c=a[f];f++){if(Selector.handlers.previousElementSibling(m)==c){return[m]}}}else{a=g[l](a)}}}}for(var f=0,c;c=a[f];f++){if(c==m){return[m]}}return[]}return(m&&Element.descendantOf(m,n))?[m]:[]},className:function(d,b,c,a){if(d&&a){d=this[a](d)}return Selector.handlers.byClassName(d,b,c)},byClassName:function(c,a,b){if(!c){c=Selector.handlers.descendant([a])}var j=" "+b+" ";for(var f=0,d=[],h,g;h=c[f];f++){g=h.className;if(g.length==0){continue}if(g==b||(" "+g+" ").include(j)){d.push(h)}}return d},attrPresence:function(d,c,a,b){if(!d){d=c.getElementsByTagName("*")}if(d&&b){d=this[b](d)}var g=[];for(var f=0,h;h=d[f];f++){if(Element.hasAttribute(h,a)){g.push(h)}}return g},attr:function(a,l,j,m,h,g){if(!a){a=l.getElementsByTagName("*")}if(a&&g){a=this[g](a)}var n=Selector.operators[h],d=[];for(var c=0,b;b=a[c];c++){var f=Element.readAttribute(b,j);if(f===null){continue}if(n(f,m)){d.push(b)}}return d},pseudo:function(c,d,f,b,a){if(c&&a){c=this[a](c)}if(!c){c=b.getElementsByTagName("*")}return Selector.pseudos[d](c,f,b)}},pseudos:{"first-child":function(b,g,a){for(var d=0,c=[],f;f=b[d];d++){if(Selector.handlers.previousElementSibling(f)){continue}c.push(f)}return c},"last-child":function(b,g,a){for(var d=0,c=[],f;f=b[d];d++){if(Selector.handlers.nextElementSibling(f)){continue}c.push(f)}return c},"only-child":function(b,j,a){var f=Selector.handlers;for(var d=0,c=[],g;g=b[d];d++){if(!f.previousElementSibling(g)&&!f.nextElementSibling(g)){c.push(g)}}return c},"nth-child":function(b,c,a){return Selector.pseudos.nth(b,c,a)},"nth-last-child":function(b,c,a){return Selector.pseudos.nth(b,c,a,true)},"nth-of-type":function(b,c,a){return Selector.pseudos.nth(b,c,a,false,true)},"nth-last-of-type":function(b,c,a){return Selector.pseudos.nth(b,c,a,true,true)},"first-of-type":function(b,c,a){return Selector.pseudos.nth(b,"1",a,false,true)},"last-of-type":function(b,c,a){return Selector.pseudos.nth(b,"1",a,true,true)},"only-of-type":function(b,d,a){var c=Selector.pseudos;return c["last-of-type"](c["first-of-type"](b,d,a),d,a)},getIndices:function(d,c,f){if(d==0){return c>0?[c]:[]}return $R(1,f).inject([],function(a,b){if(0==(b-c)%d&&(b-c)/d>=0){a.push(b)}return a})},nth:function(c,d,w,u,t){if(c.length==0){return[]}if(d=="even"){d="2n+0"}if(d=="odd"){d="2n+1"}var s=Selector.handlers,r=[],f=[],n;s.mark(c);for(var q=0,g;g=c[q];q++){if(!g.parentNode._countedByPrototype){s.index(g.parentNode,u,t);f.push(g.parentNode)}}if(d.match(/^\d+$/)){d=Number(d);for(var q=0,g;g=c[q];q++){if(g.nodeIndex==d){r.push(g)}}}else{if(n=d.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(n[1]=="-"){n[1]=-1}var x=n[1]?Number(n[1]):1;var v=n[2]?Number(n[2]):0;var y=Selector.pseudos.getIndices(x,v,c.length);for(var q=0,g,o=y.length;g=c[q];q++){for(var p=0;p<o;p++){if(g.nodeIndex==y[p]){r.push(g)}}}}}s.unmark(c);s.unmark(f);return r},empty:function(b,g,a){for(var d=0,c=[],f;f=b[d];d++){if(f.tagName=="!"||f.firstChild){continue}c.push(f)}return c},not:function(a,d,n){var j=Selector.handlers,o,c;var l=new Selector(d).findElements(n);j.mark(l);for(var g=0,f=[],b;b=a[g];g++){if(!b._countedByPrototype){f.push(b)}}j.unmark(l);return f},enabled:function(b,g,a){for(var d=0,c=[],f;f=b[d];d++){if(!f.disabled&&(!f.type||f.type!=="hidden")){c.push(f)}}return c},disabled:function(b,g,a){for(var d=0,c=[],f;f=b[d];d++){if(f.disabled){c.push(f)}}return c},checked:function(b,g,a){for(var d=0,c=[],f;f=b[d];d++){if(f.checked){c.push(f)}}return c}},operators:{"=":function(b,a){return b==a},"!=":function(b,a){return b!=a},"^=":function(b,a){return b==a||b&&b.startsWith(a)},"$=":function(b,a){return b==a||b&&b.endsWith(a)},"*=":function(b,a){return b==a||b&&b.include(a)},"~=":function(b,a){return(" "+b+" ").include(" "+a+" ")},"|=":function(b,a){return("-"+(b||"").toUpperCase()+"-").include("-"+(a||"").toUpperCase()+"-")}},split:function(b){var a=[];b.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(c){a.push(c[1].strip())});return a},matchElements:function(a,j){var g=$$(j),f=Selector.handlers;f.mark(g);for(var d=0,c=[],b;b=a[d];d++){if(b._countedByPrototype){c.push(b)}}f.unmark(g);return c},findElement:function(a,c,b){if(Object.isNumber(c)){b=c;c=false}return Selector.matchElements(a,c||"*")[b||0]},findChildElements:function(c,j){j=Selector.split(j.join(","));var f=[],g=Selector.handlers;for(var d=0,b=j.length,a;d<b;d++){a=new Selector(j[d].strip());g.concat(f,a.findElements(c))}return(b>1)?g.unique(f):f}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(d,c){for(var f=0,g;g=c[f];f++){if(g.tagName!=="!"){d.push(g)}}return d}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(a){a=$(a);a.reset();return a},serializeElements:function(c,f){if(typeof f!="object"){f={hash:!!f}}else{if(Object.isUndefined(f.hash)){f.hash=true}}var d,h,b=false,a=f.submit;var g=c.inject({},function(l,j){if(!j.disabled&&j.name){d=j.name;h=$(j).getValue();if(h!=null&&j.type!="file"&&(j.type!="submit"||(!b&&a!==false&&(!a||d==a)&&(b=true)))){if(d in l){if(!Object.isArray(l[d])){l[d]=[l[d]]}l[d].push(h)}else{l[d]=h}}}return l});return f.hash?g:Object.toQueryString(g)}};Form.Methods={serialize:function(b,a){return Form.serializeElements(Form.getElements(b),a)},getElements:function(g){var b=$(g).getElementsByTagName("*"),d,a=[],c=Form.Element.Serializers;for(var f=0;d=b[f];f++){a.push(d)}return a.inject([],function(h,j){if(c[j.tagName.toLowerCase()]){h.push(Element.extend(j))}return h})},getInputs:function(h,f,c){h=$(h);var g=h.getElementsByTagName("input");if(!f&&!c){return $A(g).map(Element.extend)}for(var d=0,j=[],a=g.length;d<a;d++){var b=g[d];if((f&&b.type!=f)||(c&&b.name!=c)){continue}j.push(Element.extend(b))}return j},disable:function(a){a=$(a);Form.getElements(a).invoke("disable");return a},enable:function(a){a=$(a);Form.getElements(a).invoke("enable");return a},findFirstElement:function(c){var a=$(c).getElements().findAll(function(d){return"hidden"!=d.type&&!d.disabled});var b=a.findAll(function(d){return d.hasAttribute("tabIndex")&&d.tabIndex>=0}).sortBy(function(d){return d.tabIndex}).first();return b?b:a.find(function(d){return/^(?:input|select|textarea)$/i.test(d.tagName)})},focusFirstElement:function(a){a=$(a);a.findFirstElement().activate();return a},request:function(c,b){c=$(c),b=Object.clone(b||{});var d=b.parameters,a=c.readAttribute("action")||"";if(a.blank()){a=window.location.href}b.parameters=c.serialize(true);if(d){if(Object.isString(d)){d=d.toQueryParams()}Object.extend(b.parameters,d)}if(c.hasAttribute("method")&&!b.method){b.method=c.method}return new Ajax.Request(a,b)}};Form.Element={focus:function(a){$(a).focus();return a},select:function(a){$(a).select();return a}};Form.Element.Methods={serialize:function(a){a=$(a);if(!a.disabled&&a.name){var b=a.getValue();if(b!=undefined){var c={};c[a.name]=b;return Object.toQueryString(c)}}return""},getValue:function(a){a=$(a);var b=a.tagName.toLowerCase();return Form.Element.Serializers[b](a)},setValue:function(a,b){a=$(a);var c=a.tagName.toLowerCase();Form.Element.Serializers[c](a,b);return a},clear:function(a){$(a).value="";return a},present:function(a){return $(a).value!=""},activate:function(a){a=$(a);try{a.focus();if(a.select&&(a.tagName.toLowerCase()!="input"||!(/^(?:button|reset|submit)$/i.test(a.type)))){a.select()}}catch(b){}return a},disable:function(a){a=$(a);a.disabled=true;return a},enable:function(a){a=$(a);a.disabled=false;return a}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(a,b){switch(a.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(a,b);default:return Form.Element.Serializers.textarea(a,b)}},inputSelector:function(a,b){if(Object.isUndefined(b)){return a.checked?a.value:null}else{a.checked=!!b}},textarea:function(a,b){if(Object.isUndefined(b)){return a.value}else{a.value=b}},select:function(b,g){if(Object.isUndefined(g)){return this[b.type=="select-one"?"selectOne":"selectMany"](b)}else{var d,f,h=!Object.isArray(g);for(var c=0,a=b.length;c<a;c++){d=b.options[c];f=this.optionValue(d);if(h){if(f==g){d.selected=true;return}}else{d.selected=g.include(f)}}}},selectOne:function(b){var a=b.selectedIndex;return a>=0?this.optionValue(b.options[a]):null},selectMany:function(b){var f,a=b.length;if(!a){return null}for(var d=0,f=[];d<a;d++){var c=b.options[d];if(c.selected){f.push(this.optionValue(c))}}return f},optionValue:function(a){return Element.extend(a).hasAttribute("value")?a.value:a.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,a,c,b){$super(b,c);this.element=$(a);this.lastValue=this.getValue()},execute:function(){var a=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(a)?this.lastValue!=a:String(this.lastValue)!=String(a)){this.callback(this.element,a);this.lastValue=a}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=Class.create({initialize:function(a,b){this.element=$(a);this.callback=b;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var a=this.getValue();if(this.lastValue!=a){this.callback(this.element,a);this.lastValue=a}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(a){if(a.type){switch(a.type.toLowerCase()){case"checkbox":case"radio":Event.observe(a,"click",this.onElementEvent.bind(this));break;default:Event.observe(a,"change",this.onElementEvent.bind(this));break}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});(function(){var z={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{}};var h=document.documentElement;var p="onmouseenter" in h&&"onmouseleave" in h;var u;if(Prototype.Browser.IE){var l={0:1,1:4,2:2};u=function(B,A){return B.button===l[A]}}else{if(Prototype.Browser.WebKit){u=function(B,A){switch(A){case 0:return B.which==1&&!B.metaKey;case 1:return B.which==1&&B.metaKey;default:return false}}}else{u=function(B,A){return B.which?(B.which===A+1):(B.button===A)}}}function s(A){return u(A,0)}function t(A){return u(A,1)}function o(A){return u(A,2)}function m(C){C=z.extend(C);var B=C.target,A=C.type,D=C.currentTarget;if(D&&D.tagName){if(A==="load"||A==="error"||(A==="click"&&D.tagName.toLowerCase()==="input"&&D.type==="radio")){B=D}}if(B.nodeType==Node.TEXT_NODE){B=B.parentNode}return Element.extend(B)}function x(C,D){var B=z.element(C);if(!D){return B}var A=[B].concat(B.ancestors());return Selector.findElement(A,D,0)}function v(A){return{x:d(A),y:c(A)}}function d(C){var B=document.documentElement,A=document.body||{scrollLeft:0};return C.pageX||(C.clientX+(B.scrollLeft||A.scrollLeft)-(B.clientLeft||0))}function c(C){var B=document.documentElement,A=document.body||{scrollTop:0};return C.pageY||(C.clientY+(B.scrollTop||A.scrollTop)-(B.clientTop||0))}function r(A){z.extend(A);A.preventDefault();A.stopPropagation();A.stopped=true}z.Methods={isLeftClick:s,isMiddleClick:t,isRightClick:o,element:m,findElement:x,pointer:v,pointerX:d,pointerY:c,stop:r};var w=Object.keys(z.Methods).inject({},function(A,B){A[B]=z.Methods[B].methodize();return A});var f=[];if(Prototype.Browser.IE){function g(B){var A;switch(B.type){case"mouseover":A=B.fromElement;break;case"mouseout":A=B.toElement;break;default:return null}return Element.extend(A)}Object.extend(w,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});z.extend=function(B,A){if(!B){return false}if(B._extendedByPrototype){return B}B._extendedByPrototype=Prototype.emptyFunction;var C=z.pointer(B);Object.extend(B,{target:B.srcElement||A,relatedTarget:g(B),pageX:C.x,pageY:C.y});return Object.extend(B,w)}}else{z.prototype=window.Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(z.prototype,w);z.extend=Prototype.K}function b(B,A,E){var D=Element.retrieve(B,"prototype_event_registry");if(Object.isUndefined(D)){f.push(B);D=Element.retrieve(B,"prototype_event_registry",$H())}var F=D.get(A);if(Object.isUndefined(F)){F=[];D.set(A,F)}if(F.pluck("handler").include(E)){return false}var C;if(A.include(":")){C=function(G){if(Object.isUndefined(G.eventName)){return false}if(G.eventName!==A){return false}z.extend(G,B);E.call(B,G)}}else{if(!p&&(A==="mouseenter"||A==="mouseleave")){if(A==="mouseenter"||A==="mouseleave"){C=function(H){z.extend(H,B);var G=H.relatedTarget;while(G&&G!==B){try{G=G.parentNode}catch(I){G=B}}if(G===B){return}E.call(B,H)}}}else{C=function(G){z.extend(G,B);E.call(B,G)}}}C.handler=E;F.push(C);return C}function j(){for(var B=0,A=f.length;B<A;B++){z.stopObserving(f[B]);f[B]=null}}if(Prototype.Browser.IE){window.attachEvent("onunload",j)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}var a=Prototype.K;if(!p){a=function(A){var B={mouseenter:"mouseover",mouseleave:"mouseout"};return A in B?B[A]:A}}function q(B,A,E){B=$(B);var D=b(B,A,E);if(!D){return B}if(A.include(":")){if(B.addEventListener){B.addEventListener("dataavailable",D,false)}else{B.attachEvent("ondataavailable",D);B.attachEvent("onfilterchange",D)}}else{var C=a(A);if(B.addEventListener){B.addEventListener(C,D,false)}else{B.attachEvent("on"+C,D)}}return B}function n(B,A,G){B=$(B);var F=Element.retrieve(B,"prototype_event_registry");if(Object.isUndefined(F)){return B}if(A&&!G){var C=F.get(A);if(Object.isUndefined(C)){return B}C.each(function(H){Element.stopObserving(B,A,H.handler)});return B}else{if(!A){F.each(function(J){var H=J.key,I=J.value;I.each(function(K){Element.stopObserving(B,H,K.handler)})});return B}}var C=F.get(A);if(!C){return}var E=C.find(function(H){return H.handler===G});if(!E){return B}var D=a(A);if(A.include(":")){if(B.removeEventListener){B.removeEventListener("dataavailable",E,false)}else{B.detachEvent("ondataavailable",E);B.detachEvent("onfilterchange",E)}}else{if(B.removeEventListener){B.removeEventListener(D,E,false)}else{B.detachEvent("on"+D,E)}}F.set(A,C.without(E));return B}function y(C,B,A,E){C=$(C);if(Object.isUndefined(E)){E=true}if(C==document&&document.createEvent&&!C.dispatchEvent){C=document.documentElement}var D;if(document.createEvent){D=document.createEvent("HTMLEvents");D.initEvent("dataavailable",true,true)}else{D=document.createEventObject();D.eventType=E?"ondataavailable":"onfilterchange"}D.eventName=B;D.memo=A||{};if(document.createEvent){C.dispatchEvent(D)}else{C.fireEvent(D.eventType,D)}return z.extend(D)}Object.extend(z,z.Methods);Object.extend(z,{fire:y,observe:q,stopObserving:n,unloadCache:j});Element.addMethods({fire:y,observe:q,stopObserving:n});Object.extend(document,{fire:y.methodize(),observe:q.methodize(),stopObserving:n.methodize(),loaded:false});if(window.Event){Object.extend(window.Event,z)}else{window.Event=z}})();(function(){var d;function a(){if(document.loaded){return}if(d){window.clearTimeout(d)}document.loaded=true;document.fire("dom:loaded")}function c(){if(document.readyState==="complete"){document.stopObserving("readystatechange",c);a()}}function b(){try{document.documentElement.doScroll("left")}catch(f){d=b.defer();return}a()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",a,false)}else{document.observe("readystatechange",c);if(window==top){d=b.defer()}}Event.observe(window,"load",a)})();Element.addMethods();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(a,b){return Element.insert(a,{before:b})},Top:function(a,b){return Element.insert(a,{top:b})},Bottom:function(a,b){return Element.insert(a,{bottom:b})},After:function(a,b){return Element.insert(a,{after:b})}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},within:function(b,a,c){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(b,a,c)}this.xcomp=a;this.ycomp=c;this.offset=Element.cumulativeOffset(b);return(c>=this.offset[1]&&c<this.offset[1]+b.offsetHeight&&a>=this.offset[0]&&a<this.offset[0]+b.offsetWidth)},withinIncludingScrolloffsets:function(b,a,d){var c=Element.cumulativeScrollOffset(b);this.xcomp=a+c[0]-this.deltaX;this.ycomp=d+c[1]-this.deltaY;this.offset=Element.cumulativeOffset(b);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+b.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+b.offsetWidth)},overlap:function(b,a){if(!b){return 0}if(b=="vertical"){return((this.offset[1]+a.offsetHeight)-this.ycomp)/a.offsetHeight}if(b=="horizontal"){return((this.offset[0]+a.offsetWidth)-this.xcomp)/a.offsetWidth}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(a){Position.prepare();return Element.absolutize(a)},relativize:function(a){Position.prepare();return Element.relativize(a)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(a,c,b){b=b||{};return Element.clonePosition(c,a,b)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(b){function a(c){return c.blank()?null:"[contains(concat(' ', @class, ' '), ' "+c+" ')]"}b.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(d,c){c=c.toString().strip();var f=/\s/.test(c)?$w(c).map(a).join(""):a(c);return f?document._getElementsByXPath(".//*"+f,d):[]}:function(g,f){f=f.toString().strip();var c=[],j=(/\s/.test(f)?$w(f):null);if(!j&&!f){return c}var d=$(g).getElementsByTagName("*");f=" "+f+" ";for(var h=0,m,l;m=d[h];h++){if(m.className&&(l=" "+m.className+" ")&&(l.include(f)||(j&&j.all(function(n){return !n.toString().blank()&&l.include(" "+n+" ")})))){c.push(Element.extend(m))}}return c};return function(c,d){return $(d||document.body).getElementsByClassName(c)}}(Element.Methods)}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(a){this.element=$(a)},_each:function(a){this.element.className.split(/\s+/).select(function(b){return b.length>0})._each(a)},set:function(a){this.element.className=a},add:function(a){if(this.include(a)){return}this.set($A(this).concat(a).join(" "))},remove:function(a){if(!this.include(a)){return}this.set($A(this).without(a).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);String.prototype.parseColor=function(){var a="#";if(this.slice(0,4)=="rgb("){var c=this.slice(4,this.length-1).split(",");var b=0;do{a+=parseInt(c[b]).toColorPart()}while(++b<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var b=1;b<4;b++){a+=(this.charAt(b)+this.charAt(b)).toLowerCase()}}if(this.length==7){a=this.toLowerCase()}}}return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return(b.nodeType==3?b.nodeValue:(b.hasChildNodes()?Element.collectTextNodes(b):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(b,a){return $A($(b).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:((c.hasChildNodes()&&!Element.hasClassName(c,a))?Element.collectTextNodesIgnoreClass(c,a):""))}).flatten().join("")};Element.setContentZoom=function(b,a){b=$(b);b.setStyle({fontSize:(a/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return b};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var c=document.createTextNode(" ");a.appendChild(c);a.removeChild(c)}catch(b){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){var a=((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;return a>1?1:a},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(b,a){return(-Math.cos((b*((a||5)-0.5)*2)*Math.PI)/2)+0.5},spring:function(a){return 1-(Math.cos(a*4.5*Math.PI)*Math.exp(-a*6))},none:function(a){return 0},full:function(a){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(a){var b="position:relative";if(Prototype.Browser.IE){b+=";zoom:1"}a=$(a);$A(a.childNodes).each(function(c){if(c.nodeType==3){c.nodeValue.toArray().each(function(d){a.insertBefore(new Element("span",{style:b}).update(d==" "?String.fromCharCode(160):d),c)});Element.remove(c)}})},multiple:function(c,b){var a;if(((typeof c=="object")||Object.isFunction(c))&&(c.length)){a=c}else{a=$(c).childNodes}var d=Object.extend({speed:0.1,delay:0},arguments[2]||{});var f=d.delay;$A(a).each(function(h,g){new b(h,Object.extend(d,{delay:g*d.speed+f}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(b,a,c){b=$(b);a=(a||"appear").toLowerCase();return Effect[Effect.PAIRS[a][b.visible()?1:0]](b,Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},c||{}))}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=Object.isString(b.options.queue)?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"with-last":c=this.effects.pluck("startOn").max()||c;break;case"end":c=this.effects.pluck("finishOn").max()||c;break}b.startOn+=c;b.finishOn+=c;if(!b.options.queue.limit||(this.effects.length<b.options.queue.limit)){this.effects.push(b)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var c=new Date().getTime();for(var b=0,a=this.effects.length;b<a;b++){this.effects[b]&&this.effects[b].loop(c)}}});Effect.Queues={instances:$H(),get:function(a){if(!Object.isString(a)){return a}return this.instances.get(a)||this.instances.set(a,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(a){if(a&&a.transition===false){a.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;this.render=(function(){function b(d,c){if(d.options[c+"Internal"]){d.options[c+"Internal"](d)}if(d.options[c]){d.options[c](d)}}return function(c){if(this.state==="idle"){this.state="running";b(this,"beforeSetup");if(this.setup){this.setup()}b(this,"afterSetup")}if(this.state==="running"){c=(this.options.transition(c)*this.fromToDelta)+this.options.from;this.position=c;b(this,"beforeUpdate");if(this.update){this.update(c)}b(this,"afterUpdate")}}})();this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(a){if(a>=this.startOn){if(a>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var c=(a-this.startOn)/this.totalTime,b=(c*this.totalFrames).round();if(b>this.currentFrame){this.render(c);this.currentFrame=b}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}if(this.options[a]){this.options[a](this)}},inspect:function(){var a=$H();for(property in this){if(!Object.isFunction(this[property])){a.set(property,this[property])}}return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}b.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(c,g,f){c=Object.isString(c)?$(c):c;var a=$A(arguments),d=a.last(),b=a.length==5?a[3]:null;this.method=Object.isFunction(d)?d.bind(c):Object.isFunction(c[d])?c[d].bind(c):function(h){c[d]=h};this.start(Object.extend({from:g,to:f},b||{}))},update:function(a){this.method(a)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(a){this.element=$(a);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var b=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(b)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create(Effect.Base,{initialize:function(a){this.element=$(a);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(b)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:(this.options.x*a+this.originalLeft).round()+"px",top:(this.options.y*a+this.originalTop).round()+"px"})}});Effect.MoveBy=function(b,c,a){return new Effect.Move(b,Object.extend({x:a,y:c},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(b,a){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var c=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:a},arguments[2]||{});this.start(c)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType})}this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(f,c){var g={};if(this.options.scaleX){g.width=c.round()+"px"}if(this.options.scaleY){g.height=f.round()+"px"}if(this.options.scaleFromCenter){var b=(f-this.dims[0])/2;var a=(c-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){g.top=this.originalTop-b+"px"}if(this.options.scaleX){g.left=this.originalLeft-a+"px"}}else{if(this.options.scaleY){g.top=-b+"px"}if(this.options.scaleX){g.left=-a+"px"}}}this.element.setStyle(g)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(a){this.element=$(a);if(!this.element){throw (Effect._elementDoesNotExistError)}var b=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(b)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,c,d){return b+((this._base[d]+(this._delta[d]*a)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(a){var b=arguments[1]||{},d=document.viewport.getScrollOffsets(),c=$(a).cumulativeOffset();if(b.offset){c[1]+=b.offset}return new Effect.Tween(null,d.top,c[1],b,function(f){scrollTo(d.left,f.round())})};Effect.Fade=function(b){b=$(b);var a=b.getInlineOpacity();var c=Object.extend({from:b.getOpacity()||1,to:0,afterFinishInternal:function(d){if(d.options.to!=0){return}d.element.hide().setStyle({opacity:a})}},arguments[1]||{});return new Effect.Opacity(b,c)};Effect.Appear=function(a){a=$(a);var b=Object.extend({from:(a.getStyle("display")=="none"?0:a.getOpacity()||0),to:1,afterFinishInternal:function(c){c.element.forceRerendering()},beforeSetup:function(c){c.element.setOpacity(c.options.from).show()}},arguments[1]||{});return new Effect.Opacity(a,b)};Effect.Puff=function(b){b=$(b);var a={opacity:b.getInlineOpacity(),position:b.getStyle("position"),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(c){Position.absolutize(c.effects[0].element)},afterFinishInternal:function(c){c.effects[0].element.hide().setStyle(a)}},arguments[1]||{}))};Effect.BlindUp=function(a){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(b){b.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(c){c.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(c){c.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(b){b=$(b);var a=b.getInlineOpacity();return new Effect.Appear(b,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(c){new Effect.Scale(c.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(d){d.element.makePositioned().makeClipping()},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned().setStyle({opacity:a})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left"),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(c){c.effects[0].element.makePositioned()},afterFinishInternal:function(c){c.effects[0].element.hide().undoPositioned().setStyle(a)}},arguments[1]||{}))};Effect.Shake=function(b){b=$(b);var d=Object.extend({distance:20,duration:0.5},arguments[1]||{});var f=parseFloat(d.distance);var c=parseFloat(d.duration)/10;var a={top:b.getStyle("top"),left:b.getStyle("left")};return new Effect.Move(b,{x:f,y:0,duration:c,afterFinishInternal:function(g){new Effect.Move(g.element,{x:-f*2,y:0,duration:c*2,afterFinishInternal:function(h){new Effect.Move(h.element,{x:f*2,y:0,duration:c*2,afterFinishInternal:function(j){new Effect.Move(j.element,{x:-f*2,y:0,duration:c*2,afterFinishInternal:function(l){new Effect.Move(l.element,{x:f*2,y:0,duration:c*2,afterFinishInternal:function(m){new Effect.Move(m.element,{x:-f,y:0,duration:c,afterFinishInternal:function(n){n.element.undoPositioned().setStyle(a)}})}})}})}})}})}})};Effect.SlideDown=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle("bottom");var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:c})}},arguments[1]||{}))};Effect.SlideUp=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle("bottom");var a=b.getDimensions();return new Effect.Scale(b,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:c})}},arguments[1]||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};Effect.Grow=function(b){b=$(b);var c=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var a={top:b.style.top,left:b.style.left,height:b.style.height,width:b.style.width,opacity:b.getInlineOpacity()};var j=b.getDimensions();var g,h;var f,d;switch(c.direction){case"top-left":g=h=f=d=0;break;case"top-right":g=j.width;h=d=0;f=-j.width;break;case"bottom-left":g=f=0;h=j.height;d=-j.height;break;case"bottom-right":g=j.width;h=j.height;f=-j.width;d=-j.height;break;case"center":g=j.width/2;h=j.height/2;f=-j.width/2;d=-j.height/2;break}return new Effect.Move(b,{x:g,y:h,duration:0.01,beforeSetup:function(l){l.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(l){new Effect.Parallel([new Effect.Opacity(l.element,{sync:true,to:1,from:0,transition:c.opacityTransition}),new Effect.Move(l.element,{x:f,y:d,sync:true,transition:c.moveTransition}),new Effect.Scale(l.element,100,{scaleMode:{originalHeight:j.height,originalWidth:j.width},sync:true,scaleFrom:window.opera?1:0,transition:c.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(m){m.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(m){m.effects[0].element.undoClipping().undoPositioned().setStyle(a)}},c))}})};Effect.Shrink=function(b){b=$(b);var c=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var a={top:b.style.top,left:b.style.left,height:b.style.height,width:b.style.width,opacity:b.getInlineOpacity()};var g=b.getDimensions();var f,d;switch(c.direction){case"top-left":f=d=0;break;case"top-right":f=g.width;d=0;break;case"bottom-left":f=0;d=g.height;break;case"bottom-right":f=g.width;d=g.height;break;case"center":f=g.width/2;d=g.height/2;break}return new Effect.Parallel([new Effect.Opacity(b,{sync:true,to:0,from:1,transition:c.opacityTransition}),new Effect.Scale(b,window.opera?1:0,{sync:true,transition:c.scaleTransition,restoreAfterFinish:true}),new Effect.Move(b,{x:f,y:d,sync:true,transition:c.moveTransition})],Object.extend({beforeStartInternal:function(h){h.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(h){h.effects[0].element.hide().undoClipping().undoPositioned().setStyle(a)}},c))};Effect.Pulsate=function(c){c=$(c);var d=arguments[1]||{},b=c.getInlineOpacity(),f=d.transition||Effect.Transitions.linear,a=function(g){return 1-f((-Math.cos((g*(d.pulses||5)*2)*Math.PI)/2)+0.5)};return new Effect.Opacity(c,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(g){g.element.setStyle({opacity:b})}},d),{transition:a}))};Effect.Fold=function(b){b=$(b);var a={top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};b.makeClipping();return new Effect.Scale(b,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(c){new Effect.Scale(b,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(d){d.element.hide().undoClipping().setStyle(a)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(a){this.element=$(a);if(!this.element){throw (Effect._elementDoesNotExistError)}var c=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(c.style)){this.style=$H(c.style)}else{if(c.style.include(":")){this.style=c.style.parseStyle()}else{this.element.addClassName(c.style);this.style=$H(this.element.getStyles());this.element.removeClassName(c.style);var b=this.element.getStyles();this.style=this.style.reject(function(d){return d.value==b[d.key]});c.afterFinishInternal=function(d){d.element.addClassName(d.options.style);d.transforms.each(function(f){d.element.style[f.style]=""})}}}this.start(c)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b)){b="#ffffff"}b=b.parseColor();return $R(0,2).map(function(c){return parseInt(b.slice(c*2+1,c*2+3),16)})}this.transforms=this.style.map(function(h){var b=h[0],g=h[1],f=null;if(g.parseColor("#zzzzzz")!="#zzzzzz"){g=g.parseColor();f="color"}else{if(b=="opacity"){g=parseFloat(g);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(g)){var d=g.match(/^([\+\-]?[0-9\.]+)(.*)$/);g=parseFloat(d[1]);f=(d.length==3)?d[2]:null}}}var c=this.element.getStyle(b);return{style:b.camelize(),originalValue:f=="color"?a(c):parseFloat(c||0),targetValue:f=="color"?a(g):g,unit:f}}.bind(this)).reject(function(b){return((b.originalValue==b.targetValue)||(b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))))})},update:function(a){var d={},b,c=this.transforms.length;while(c--){d[(b=this.transforms[c]).style]=b.unit=="color"?"#"+(Math.round(b.originalValue[0]+(b.targetValue[0]-b.originalValue[0])*a)).toColorPart()+(Math.round(b.originalValue[1]+(b.targetValue[1]-b.originalValue[1])*a)).toColorPart()+(Math.round(b.originalValue[2]+(b.targetValue[2]-b.originalValue[2])*a)).toColorPart():(b.originalValue+(b.targetValue-b.originalValue)*a).toFixed(3)+(b.unit===null?"":b.unit)}this.element.setStyle(d,true)}});Effect.Transform=Class.create({initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){b=$H(b);var c=b.values().first();this.tracks.push($H({ids:b.keys().first(),effect:Effect.Morph,options:{style:c}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(b){var f=b.get("ids"),c=b.get("effect"),d=b.get("options");var a=[$(f)||$$(f)].flatten();return a.map(function(g){return new c(g,Object.extend({sync:true},d))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");String.prototype.parseStyle=function(){var b,a=$H();if(Prototype.Browser.WebKit){b=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';b=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(c){if(b[c]){a.set(c,b[c])}});if(Prototype.Browser.IE&&this.include("opacity")){a.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return a};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(a){var b=document.defaultView.getComputedStyle($(a),null);return Element.CSS_PROPERTIES.inject({},function(d,c){d[c]=b[c];return d})}}else{Element.getStyles=function(b){b=$(b);var c=b.currentStyle,a;a=Element.CSS_PROPERTIES.inject({},function(f,d){f[d]=c[d];return f});if(!a.opacity){a.opacity=b.getOpacity()}return a}}Effect.Methods={morph:function(a,b){a=$(a);new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a},visualEffect:function(c,b,d){c=$(c);var f=b.dasherize().camelize(),a=f.charAt(0).toUpperCase()+f.substring(1);new Effect[a](c,d);return c},highlight:function(a,b){a=$(a);new Effect.Highlight(a,b);return a}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(a){Effect.Methods[a]=function(b,c){b=$(b);Effect[a.charAt(0).toUpperCase()+a.substring(1)](b,c);return b}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(a){Effect.Methods[a]=Element[a]});Element.addMethods(Effect.Methods);var Scriptaculous={Version:"1.8.3",require:function(b){try{document.write('<script type="text/javascript" src="'+b+'"><\/script>')}catch(c){var a=document.createElement("script");a.type="text/javascript";a.src=b;document.getElementsByTagName("head")[0].appendChild(a)}},REQUIRED_PROTOTYPE:"1.6.0.3",load:function(){function a(c){var d=c.replace(/_.*|\./g,"");d=parseInt(d+"0".times(4-d.length));return c.indexOf("_")>-1?d-1:d}if((typeof Prototype=="undefined")||(typeof Element=="undefined")||(typeof Element.Methods=="undefined")||(a(Prototype.Version)<a(Scriptaculous.REQUIRED_PROTOTYPE))){throw ("script.aculo.us requires the Prototype JavaScript framework >= "+Scriptaculous.REQUIRED_PROTOTYPE)}var b=/scriptaculous\.js(\?.*)?$/;$$("head script[src]").findAll(function(c){return c.src.match(b)}).each(function(d){var f=d.src.replace(b,""),c=d.src.match(/\?.*load=([a-z,]*)/);(c?c[1]:"builder,effects,dragdrop,controls,slider,sound").split(",").each(function(g){Scriptaculous.require(f+g+".js")})})}};Scriptaculous.load();if(Object.isUndefined(Effect)){throw ("dragdrop.js requires including script.aculo.us' effects.js library")}var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(b){return b.element==$(a)})},add:function(a){a=$(a);var b=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(b.containment){b._containers=[];var c=b.containment;if(Object.isArray(c)){c.each(function(d){b._containers.push($(d))})}else{b._containers.push($(c))}}if(b.accept){b.accept=[b.accept].flatten()}Element.makePositioned(a);b.element=a;this.drops.push(b)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i){if(Element.isParent(a[i].element,deepest.element)){deepest=a[i]}}return deepest},isContained:function(b,a){var c;if(a.tree){c=b.treeNode}else{c=b.parentNode}return a._containers.detect(function(d){return c==d})},isAffected:function(a,c,b){return((b.element!=c)&&((!b._containers)||this.isContained(c,b))&&((!b.accept)||(Element.classNames(c).detect(function(d){return b.accept.include(d)})))&&Position.within(b.element,a[0],a[1]))},deactivate:function(a){if(a.hoverclass){Element.removeClassName(a.element,a.hoverclass)}this.last_active=null},activate:function(a){if(a.hoverclass){Element.addClassName(a.element,a.hoverclass)}this.last_active=a},show:function(a,c){if(!this.drops.length){return}var b,d=[];this.drops.each(function(f){if(Droppables.isAffected(a,c,f)){d.push(f)}});if(d.length>0){b=Droppables.findDeepestChild(d)}if(this.last_active&&this.last_active!=b){this.deactivate(this.last_active)}if(b){Position.within(b.element,a[0],a[1]);if(b.onHover){b.onHover(c,b.element,Position.overlap(b.overlap,b.element))}if(b!=this.last_active){Droppables.activate(b)}}},fire:function(b,a){if(!this.last_active){return}Position.prepare();if(this.isAffected([Event.pointerX(b),Event.pointerY(b)],a,this.last_active)){if(this.last_active.onDrop){this.last_active.onDrop(a,this.last_active.element,b);return true}}},reset:function(){if(this.last_active){this.deactivate(this.last_active)}}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)}this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(b){return b==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay)}else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(!this.activeDraggable){return}var b=[Event.pointerX(a),Event.pointerY(a)];if(this._lastPointer&&(this._lastPointer.inspect()==b.inspect())){return}this._lastPointer=b;this.activeDraggable.updateDrag(a,b)},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable){return}this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null},keyPress:function(a){if(this.activeDraggable){this.activeDraggable.keyPress(a)}},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(b){return b.element==a});this._cacheObserverCallbacks()},notify:function(a,c,b){if(this[a+"Count"]>0){this.observers.each(function(d){if(d[a]){d[a](a,c,b)}})}if(c.options[a]){c.options[a](c,b)}},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(a){Draggables[a+"Count"]=Draggables.observers.select(function(b){return b[a]}).length})}};var Draggable=Class.create({initialize:function(a){var c={handle:false,reverteffect:function(d,h,g){var f=Math.sqrt(Math.abs(h^2)+Math.abs(g^2))*0.02;new Effect.Move(d,{x:-g,y:-h,duration:f,queue:{scope:"_draggable",position:"end"}})},endeffect:function(f){var d=Object.isNumber(f._opacity)?f._opacity:1;new Effect.Opacity(f,{duration:0.2,from:0.7,to:d,queue:{scope:"_draggable",position:"end"},afterFinish:function(){Draggable._dragging[f]=false}})},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect)){Object.extend(c,{starteffect:function(d){d._opacity=Element.getOpacity(d);Draggable._dragging[d]=true;new Effect.Opacity(d,{duration:0.2,from:d._opacity,to:0.7})}})}var b=Object.extend(c,arguments[1]||{});this.element=$(a);if(b.handle&&Object.isString(b.handle)){this.handle=this.element.down("."+b.handle,0)}if(!this.handle){this.handle=$(b.handle)}if(!this.handle){this.handle=this.element}if(b.scroll&&!b.scroll.scrollTo&&!b.scroll.outerHTML){b.scroll=$(b.scroll);this._isScrollChild=Element.childOf(this.element,b.scroll)}Element.makePositioned(this.element);this.options=b;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,"left")||"0"),parseInt(Element.getStyle(this.element,"top")||"0")])},initDrag:function(a){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]){return}if(Event.isLeftClick(a)){var c=Event.element(a);if((tag_name=c.tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA")){return}var b=[Event.pointerX(a),Event.pointerY(a)];var d=this.element.cumulativeOffset();this.offset=[0,1].map(function(f){return(b[f]-d[f])});Draggables.activate(this);Event.stop(a)}},startDrag:function(b){this.dragging=true;if(!this.delta){this.delta=this.currentDelta()}if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex}if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle("position")=="absolute");if(!this._originallyAbsolute){Position.absolutize(this.element)}this.element.parentNode.insertBefore(this._clone,this.element)}if(this.options.scroll){if(this.options.scroll==window){var a=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=a.left;this.originalScrollTop=a.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}}Draggables.notify("onStart",this,b);if(this.options.starteffect){this.options.starteffect(this.element)}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event)}if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element)}Draggables.notify("onDrag",this,event);this.draw(pointer);if(this.options.change){this.options.change(this)}if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)}var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity)}if(pointer[1]<(p[1]+this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity)}if(pointer[0]>(p[2]-this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity)}if(pointer[1]>(p[3]-this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity)}this.startScrolling(speed)}if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(event)},finishDrag:function(b,g){this.dragging=false;if(this.options.quiet){Position.prepare();var f=[Event.pointerX(b),Event.pointerY(b)];Droppables.show(f,this.element)}if(this.options.ghosting){if(!this._originallyAbsolute){Position.relativize(this.element)}delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null}var h=false;if(g){h=Droppables.fire(b,this.element);if(!h){h=false}}if(h&&this.options.onDropped){this.options.onDropped(this.element)}Draggables.notify("onEnd",this,b);var a=this.options.revert;if(a&&Object.isFunction(a)){a=a(this.element)}var c=this.currentDelta();if(a&&this.options.reverteffect){if(h==0||a!="failure"){this.options.reverteffect(this.element,c[1]-this.delta[1],c[0]-this.delta[0])}}else{this.delta=c}if(this.options.zindex){this.element.style.zIndex=this.originalZ}if(this.options.endeffect){this.options.endeffect(this.element)}Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode!=Event.KEY_ESC){return}this.finishDrag(a,false);Event.stop(a)},endDrag:function(a){if(!this.dragging){return}this.stopScrolling();this.finishDrag(a,true);Event.stop(a)},draw:function(a){var h=this.element.cumulativeOffset();if(this.options.ghosting){var c=Position.realOffset(this.element);h[0]+=c[0]-Position.deltaX;h[1]+=c[1]-Position.deltaY}var g=this.currentDelta();h[0]-=g[0];h[1]-=g[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){h[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;h[1]-=this.options.scroll.scrollTop-this.originalScrollTop}var f=[0,1].map(function(d){return(a[d]-h[d]-this.offset[d])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){f=this.options.snap(f[0],f[1],this)}else{if(Object.isArray(this.options.snap)){f=f.map(function(d,j){return(d/this.options.snap[j]).round()*this.options.snap[j]}.bind(this))}else{f=f.map(function(d){return(d/this.options.snap).round()*this.options.snap}.bind(this))}}}var b=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){b.left=f[0]+"px"}if((!this.options.constraint)||(this.options.constraint=="vertical")){b.top=f[1]+"px"}if(b.visibility=="hidden"){b.visibility=""}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1])){return}this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0){Draggables._lastScrollPointer[0]=0}if(Draggables._lastScrollPointer[1]<0){Draggables._lastScrollPointer[1]=0}this.draw(Draggables._lastScrollPointer)}if(this.options.change){this.options.change(this)}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}return{top:T,left:L,width:W,height:H}}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(b,a){this.element=$(b);this.observer=a;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element)){this.observer(this.element)}}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id]){return a}a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a){return}return Sortable.sortables[a.id]},destroy:function(a){a=$(a);var b=Sortable.sortables[a.id];if(b){Draggables.removeObserver(b.element);b.droppables.each(function(c){Droppables.remove(c)});b.draggables.invoke("destroy");delete Sortable.sortables[b.element.id]}},create:function(a){a=$(a);var b=Object.extend({element:a,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:a,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(a);var c={revert:true,quiet:b.quiet,scroll:b.scroll,scrollSpeed:b.scrollSpeed,scrollSensitivity:b.scrollSensitivity,delay:b.delay,ghosting:b.ghosting,constraint:b.constraint,handle:b.handle};if(b.starteffect){c.starteffect=b.starteffect}if(b.reverteffect){c.reverteffect=b.reverteffect}else{if(b.ghosting){c.reverteffect=function(g){g.style.top=0;g.style.left=0}}}if(b.endeffect){c.endeffect=b.endeffect}if(b.zindex){c.zindex=b.zindex}var f={overlap:b.overlap,containment:b.containment,tree:b.tree,hoverclass:b.hoverclass,onHover:Sortable.onHover};var d={onHover:Sortable.onEmptyHover,overlap:b.overlap,containment:b.containment,hoverclass:b.hoverclass};Element.cleanWhitespace(a);b.draggables=[];b.droppables=[];if(b.dropOnEmpty||b.tree){Droppables.add(a,d);b.droppables.push(a)}(b.elements||this.findElements(a,b)||[]).each(function(j,h){var g=b.handles?$(b.handles[h]):(b.handle?$(j).select("."+b.handle)[0]:j);b.draggables.push(new Draggable(j,Object.extend(c,{handle:g})));Droppables.add(j,f);if(b.tree){j.treeNode=a}b.droppables.push(j)});if(b.tree){(Sortable.findTreeElements(a,b)||[]).each(function(g){Droppables.add(g,d);g.treeNode=a;b.droppables.push(g)})}this.sortables[a.identify()]=b;Draggables.addObserver(new SortableObserver(a,b.onUpdate))},findElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.tag)},findTreeElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.treeTag)},onHover:function(d,c,f){if(Element.isParent(c,d)){return}if(f>0.33&&f<0.66&&Sortable.options(c).tree){return}else{if(f>0.5){Sortable.mark(c,"before");if(c.previousSibling!=d){var b=d.parentNode;d.style.visibility="hidden";c.parentNode.insertBefore(d,c);if(c.parentNode!=b){Sortable.options(b).onChange(d)}Sortable.options(c.parentNode).onChange(d)}}else{Sortable.mark(c,"after");var a=c.nextSibling||null;if(a!=d){var b=d.parentNode;d.style.visibility="hidden";c.parentNode.insertBefore(d,a);if(c.parentNode!=b){Sortable.options(b).onChange(d)}Sortable.options(c.parentNode).onChange(d)}}}},onEmptyHover:function(d,h,j){var l=d.parentNode;var a=Sortable.options(h);if(!Element.isParent(h,d)){var g;var b=Sortable.findElements(h,{tag:a.tag,only:a.only});var c=null;if(b){var f=Element.offsetSize(h,a.overlap)*(1-j);for(g=0;g<b.length;g+=1){if(f-Element.offsetSize(b[g],a.overlap)>=0){f-=Element.offsetSize(b[g],a.overlap)}else{if(f-(Element.offsetSize(b[g],a.overlap)/2)>=0){c=g+1<b.length?b[g+1]:null;break}else{c=b[g];break}}}}h.insertBefore(d,c);Sortable.options(l).onChange(d);a.onChange(d)}},unmark:function(){if(Sortable._marker){Sortable._marker.hide()}},mark:function(c,a){var d=Sortable.options(c.parentNode);if(d&&!d.ghosting){return}if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)}var b=c.cumulativeOffset();Sortable._marker.setStyle({left:b[0]+"px",top:b[1]+"px"});if(a=="after"){if(d.overlap=="horizontal"){Sortable._marker.setStyle({left:(b[0]+c.clientWidth)+"px"})}else{Sortable._marker.setStyle({top:(b[1]+c.clientHeight)+"px"})}}Sortable._marker.show()},_tree:function(c,g,a){var f=Sortable.findElements(c,g)||[];for(var d=0;d<f.length;++d){var b=f[d].id.match(g.format);if(!b){continue}var h={id:encodeURIComponent(b?b[1]:null),element:c,parent:a,children:[],position:a.children.length,container:$(f[d]).down(g.treeTag)};if(h.container){this._tree(h.container,g,h)}a.children.push(h)}return a},tree:function(c){c=$(c);var b=this.options(c);var d=Object.extend({tag:b.tag,treeTag:b.treeTag,only:b.only,name:c.id,format:b.format},arguments[1]||{});var a={id:null,parent:null,children:[],container:c,position:0};return Sortable._tree(c,d,a)},_constructIndex:function(b){var a="";do{if(b.id){a="["+b.position+"]"+a}}while((b=b.parent)!=null);return a},sequence:function(a){a=$(a);var b=Object.extend(this.options(a),arguments[1]||{});return $(this.findElements(a,b)||[]).map(function(c){return c.id.match(b.format)?c.id.match(b.format)[1]:""})},setSequence:function(b,a){b=$(b);var c=Object.extend(this.options(b),arguments[2]||{});var d={};this.findElements(b,c).each(function(f){if(f.id.match(c.format)){d[f.id.match(c.format)[1]]=[f,f.parentNode]}f.parentNode.removeChild(f)});a.each(function(f){var g=d[f];if(g){g[1].appendChild(g[0]);delete d[f]}})},serialize:function(b){b=$(b);var c=Object.extend(Sortable.options(b),arguments[1]||{});var a=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:b.id);if(c.tree){return Sortable.tree(b,arguments[1]).children.map(function(d){return[a+Sortable._constructIndex(d)+"[id]="+encodeURIComponent(d.id)].concat(d.children.map(arguments.callee))}).flatten().join("&")}else{return Sortable.sequence(b,arguments[1]).map(function(d){return a+"[]="+encodeURIComponent(d)}).join("&")}}};Element.isParent=function(b,a){if(!b.parentNode||b==a){return false}if(b.parentNode==a){return true}return Element.isParent(b.parentNode,a)};Element.findChildren=function(f,d,c,b){if(!f.hasChildNodes()){return null}b=b.toUpperCase();if(d){d=[d].flatten()}var a=[];$A(f.childNodes).each(function(h){if(h.tagName&&h.tagName.toUpperCase()==b&&(!d||(Element.classNames(h).detect(function(j){return d.include(j)})))){a.push(h)}if(c){var g=Element.findChildren(h,d,c,b);if(g){a.push(g)}}});return(a.length>0?a.flatten():[])};Element.offsetSize=function(a,b){return a["offset"+((b=="vertical"||b=="height")?"Height":"Width")]};if(!Control){var Control={}}Control.Slider=Class.create({initialize:function(a,c,d){var b=this;if(Object.isArray(a)){this.handles=a.collect(function(f){return $(f)})}else{this.handles=[$(a)]}this.track=$(c);this.options=d||{};this.axis=this.options.axis||"horizontal";this.increment=this.options.increment||1;this.step=parseInt(this.options.step||"1");this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(f){return $(f)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled){this.setDisabled()}this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max()}this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(g,f){f=b.handles.length-1-f;b.setValue(parseFloat((Object.isArray(b.options.sliderValue)?b.options.sliderValue[f]:b.options.sliderValue)||b.range.start),f);g.makePositioned().observe("mousedown",b.eventMouseDown)});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true},dispose:function(){var a=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(b){Event.stopObserving(b,"mousedown",a.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(a){if(this.allowedValues){if(a>=this.allowedValues.max()){return(this.allowedValues.max())}if(a<=this.allowedValues.min()){return(this.allowedValues.min())}var c=Math.abs(this.allowedValues[0]-a);var b=this.allowedValues[0];this.allowedValues.each(function(d){var f=Math.abs(d-a);if(f<=c){b=d;c=f}});return b}if(a>this.range.end){return this.range.end}if(a<this.range.start){return this.range.start}return a},setValue:function(c,b,a){if(!this.active){this.activeHandleIdx=b||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles()}b=b||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((b>0)&&(c<this.values[b-1])){c=this.values[b-1]}if((b<(this.handles.length-1))&&(c>this.values[b+1])){c=this.values[b+1]}}c=this.getNearestValue(c);this.values[b]=c;this.value=this.values[0];this.handles[b].style[this.isVertical()?"top":"left"]=this.translateToPx(c);this.drawSpans();if(a&&(!this.dragging||!this.event)){this.updateFinished()}},setValueBy:function(b,a){this.setValue(this.values[a||this.activeHandleIdx||0]+b,a||this.activeHandleIdx||0)},translateToPx:function(a){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(a-this.range.start))+"px"},translateToValue:function(a){return((a/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start)},getRange:function(b){var a=this.values.sortBy(Prototype.K);b=b||0;return $R(a[b],a[b+1])},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX)},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX)},isVertical:function(){return(this.axis=="vertical")},drawSpans:function(){var a=this;if(this.spans){$R(0,this.spans.length-1).each(function(b){a.setSpan(a.spans[b],a.getRange(b))})}if(this.options.startSpan){this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value))}if(this.options.endSpan){this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum))}},setSpan:function(b,a){if(this.isVertical()){b.style.top=this.translateToPx(a.start);b.style.height=this.translateToPx(a.end-a.start+this.range.start)}else{b.style.left=this.translateToPx(a.start);b.style.width=this.translateToPx(a.end-a.start+this.range.start)}},updateStyles:function(){this.handles.each(function(a){Element.removeClassName(a,"selected")});Element.addClassName(this.activeHandle,"selected")},startDrag:function(d){if(Event.isLeftClick(d)){if(!this.disabled){this.active=true;var a=Event.element(d);var f=[Event.pointerX(d),Event.pointerY(d)];var c=a;if(c==this.track){var b=this.track.cumulativeOffset();this.event=d;this.setValue(this.translateToValue((this.isVertical()?f[1]-b[1]:f[0]-b[0])-(this.handleLength/2)));var b=this.activeHandle.cumulativeOffset();this.offsetX=(f[0]-b[0]);this.offsetY=(f[1]-b[1])}else{while((this.handles.indexOf(a)==-1)&&a.parentNode){a=a.parentNode}if(this.handles.indexOf(a)!=-1){this.activeHandle=a;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var b=this.activeHandle.cumulativeOffset();this.offsetX=(f[0]-b[0]);this.offsetY=(f[1]-b[1])}}}Event.stop(d)}},update:function(a){if(this.active){if(!this.dragging){this.dragging=true}this.draw(a);if(Prototype.Browser.WebKit){window.scrollBy(0,0)}Event.stop(a)}},draw:function(b){var c=[Event.pointerX(b),Event.pointerY(b)];var a=this.track.cumulativeOffset();c[0]-=this.offsetX+a[0];c[1]-=this.offsetY+a[1];this.event=b;this.setValue(this.translateToValue(this.isVertical()?c[1]:c[0]));if(this.initialized&&this.options.onSlide){this.options.onSlide(this.values.length>1?this.values:this.value,this)}},endDrag:function(a){if(this.active&&this.dragging){this.finishDrag(a,true);Event.stop(a)}this.active=false;this.dragging=false},finishDrag:function(a,b){this.active=false;this.dragging=false;this.updateFinished()},updateFinished:function(){if(this.initialized&&this.options.onChange){this.options.onChange(this.values.length>1?this.values:this.value,this)}this.event=null}});
/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var G="undefined",E="object",V="Shockwave Flash",Z="ShockwaveFlash.ShockwaveFlash",F="application/x-shockwave-flash",U="SWFObjectExprInst",A="onreadystatechange",N=window,n=document,u=navigator,d=false,Y=[j],K=[],Q=[],q=[],O,m,H,v,L=false,a=false,p,r,P=true,S=function(){var ab=typeof n.getElementById!=G&&typeof n.getElementsByTagName!=G&&typeof n.createElement!=G,aj=u.userAgent.toLowerCase(),ac=u.platform.toLowerCase(),ah=ac?/win/.test(ac):/win/.test(aj),af=ac?/mac/.test(ac):/mac/.test(aj),ak=/webkit/.test(aj)?parseFloat(aj.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,aa=!+"\v1",ai=[0,0,0],ae=null;if(typeof u.plugins!=G&&typeof u.plugins[V]==E){ae=u.plugins[V].description;if(ae&&!(typeof u.mimeTypes!=G&&u.mimeTypes[F]&&!u.mimeTypes[F].enabledPlugin)){d=true;aa=false;ae=ae.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ai[0]=parseInt(ae.replace(/^(.*)\..*$/,"$1"),10);ai[1]=parseInt(ae.replace(/^.*\.(.*)\s.*$/,"$1"),10);ai[2]=/[a-zA-Z]/.test(ae)?parseInt(ae.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof N.ActiveXObject!=G){try{var ag=new ActiveXObject(Z);if(ag){ae=ag.GetVariable("$version");if(ae){aa=true;ae=ae.split(" ")[1].split(",");ai=[parseInt(ae[0],10),parseInt(ae[1],10),parseInt(ae[2],10)]}}}catch(ad){}}}return{w3:ab,pv:ai,wk:ak,ie:aa,win:ah,mac:af}}(),R=function(){if(!S.w3){return}if((typeof n.readyState!=G&&n.readyState=="complete")||(typeof n.readyState==G&&(n.getElementsByTagName("body")[0]||n.body))){W()}if(!L){if(typeof n.addEventListener!=G){n.addEventListener("DOMContentLoaded",W,false)}if(S.ie&&S.win){n.attachEvent(A,function(){if(n.readyState=="complete"){n.detachEvent(A,arguments.callee);W()}});if(N==top){(function(){if(L){return}try{n.documentElement.doScroll("left")}catch(aa){setTimeout(arguments.callee,0);return}W()})()}}if(S.wk){(function(){if(L){return}if(!/loaded|complete/.test(n.readyState)){setTimeout(arguments.callee,0);return}W()})()}t(W)}}();function W(){if(L){return}try{var ac=n.getElementsByTagName("body")[0].appendChild(D("span"));ac.parentNode.removeChild(ac)}catch(ad){return}L=true;var aa=Y.length;for(var ab=0;ab<aa;ab++){Y[ab]()}}function o(aa){if(L){aa()}else{Y[Y.length]=aa}}function t(ab){if(typeof N.addEventListener!=G){N.addEventListener("load",ab,false)}else{if(typeof n.addEventListener!=G){n.addEventListener("load",ab,false)}else{if(typeof N.attachEvent!=G){l(N,"onload",ab)}else{if(typeof N.onload=="function"){var aa=N.onload;N.onload=function(){aa();ab()}}else{N.onload=ab}}}}}function j(){if(d){X()}else{J()}}function X(){var aa=n.getElementsByTagName("body")[0];var ad=D(E);ad.setAttribute("type",F);var ac=aa.appendChild(ad);if(ac){var ab=0;(function(){if(typeof ac.GetVariable!=G){var ae=ac.GetVariable("$version");if(ae){ae=ae.split(" ")[1].split(",");S.pv=[parseInt(ae[0],10),parseInt(ae[1],10),parseInt(ae[2],10)]}}else{if(ab<10){ab++;setTimeout(arguments.callee,10);return}}aa.removeChild(ad);ac=null;J()})()}else{J()}}function J(){var ak=K.length;if(ak>0){for(var ah=0;ah<ak;ah++){var ab=K[ah].id;var ad=K[ah].callbackFn;var ae={success:false,id:ab};if(S.pv[0]>0){var ai=c(ab);if(ai){if(I(K[ah].swfVersion)&&!(S.wk&&S.wk<312)){z(ab,true);if(ad){ae.success=true;ae.ref=B(ab);ad(ae)}}else{if(K[ah].expressInstall&&C()){var al={};al.data=K[ah].expressInstall;al.width=ai.getAttribute("width")||"0";al.height=ai.getAttribute("height")||"0";if(ai.getAttribute("class")){al.styleclass=ai.getAttribute("class")}if(ai.getAttribute("align")){al.align=ai.getAttribute("align")}var aj={};var aa=ai.getElementsByTagName("param");var af=aa.length;for(var ag=0;ag<af;ag++){if(aa[ag].getAttribute("name").toLowerCase()!="movie"){aj[aa[ag].getAttribute("name")]=aa[ag].getAttribute("value")}}T(al,aj,ab,ad)}else{s(ai);if(ad){ad(ae)}}}}}else{z(ab,true);if(ad){var ac=B(ab);if(ac&&typeof ac.SetVariable!=G){ae.success=true;ae.ref=ac}ad(ae)}}}}}function B(ab){var aa=null;var ac=c(ab);if(ac&&ac.nodeName=="OBJECT"){if(typeof ac.SetVariable!=G){aa=ac}else{var ad=ac.getElementsByTagName(E)[0];if(ad){aa=ad}}}return aa}function C(){return !a&&I("6.0.65")&&(S.win||S.mac)&&!(S.wk&&S.wk<312)}function T(ab,ad,ae,aa){a=true;H=aa||null;v={success:false,id:ae};var ah=c(ae);if(ah){if(ah.nodeName=="OBJECT"){O=h(ah);m=null}else{O=ah;m=ae}ab.id=U;if(typeof ab.width==G||(!/%$/.test(ab.width)&&parseInt(ab.width,10)<310)){ab.width="310"}if(typeof ab.height==G||(!/%$/.test(ab.height)&&parseInt(ab.height,10)<137)){ab.height="137"}n.title=n.title.slice(0,47)+" - Flash Player Installation";var ag=S.ie&&S.win?"ActiveX":"PlugIn",af="MMredirectURL="+N.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ag+"&MMdoctitle="+n.title;if(typeof ad.flashvars!=G){ad.flashvars+="&"+af}else{ad.flashvars=af}if(S.ie&&S.win&&ah.readyState!=4){var ac=D("div");ae+="SWFObjectNew";ac.setAttribute("id",ae);ah.parentNode.insertBefore(ac,ah);ah.style.display="none";(function(){if(ah.readyState==4){ah.parentNode.removeChild(ah)}else{setTimeout(arguments.callee,10)}})()}w(ab,ad,ae)}}function s(ab){if(S.ie&&S.win&&ab.readyState!=4){var aa=D("div");ab.parentNode.insertBefore(aa,ab);aa.parentNode.replaceChild(h(ab),aa);ab.style.display="none";(function(){if(ab.readyState==4){ab.parentNode.removeChild(ab)}else{setTimeout(arguments.callee,10)}})()}else{ab.parentNode.replaceChild(h(ab),ab)}}function h(af){var ae=D("div");if(S.win&&S.ie){ae.innerHTML=af.innerHTML}else{var ab=af.getElementsByTagName(E)[0];if(ab){var ag=ab.childNodes;if(ag){var aa=ag.length;for(var ad=0;ad<aa;ad++){if(!(ag[ad].nodeType==1&&ag[ad].nodeName=="PARAM")&&!(ag[ad].nodeType==8)){ae.appendChild(ag[ad].cloneNode(true))}}}}}return ae}function w(al,ab,ac){var aa,ae=c(ac);if(S.wk&&S.wk<312){return aa}if(ae){if(typeof al.id==G){al.id=ac}if(S.ie&&S.win){var ak="";for(var ai in al){if(al[ai]!=Object.prototype[ai]){if(ai.toLowerCase()=="data"){ab.movie=al[ai]}else{if(ai.toLowerCase()=="styleclass"){ak+=' class="'+al[ai]+'"'}else{if(ai.toLowerCase()!="classid"){ak+=" "+ai+'="'+al[ai]+'"'}}}}}var aj="";for(var ah in ab){if(ab[ah]!=Object.prototype[ah]){aj+='<param name="'+ah+'" value="'+ab[ah]+'" />'}}ae.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ak+">"+aj+"</object>";Q[Q.length]=al.id;aa=c(al.id)}else{var ad=D(E);ad.setAttribute("type",F);for(var ag in al){if(al[ag]!=Object.prototype[ag]){if(ag.toLowerCase()=="styleclass"){ad.setAttribute("class",al[ag])}else{if(ag.toLowerCase()!="classid"){ad.setAttribute(ag,al[ag])}}}}for(var af in ab){if(ab[af]!=Object.prototype[af]&&af.toLowerCase()!="movie"){g(ad,af,ab[af])}}ae.parentNode.replaceChild(ad,ae);aa=ad}}return aa}function g(ac,aa,ab){var ad=D("param");ad.setAttribute("name",aa);ad.setAttribute("value",ab);ac.appendChild(ad)}function y(ab){var aa=c(ab);if(aa&&aa.nodeName=="OBJECT"){if(S.ie&&S.win){aa.style.display="none";(function(){if(aa.readyState==4){b(ab)}else{setTimeout(arguments.callee,10)}})()}else{aa.parentNode.removeChild(aa)}}}function b(ac){var ab=c(ac);if(ab){for(var aa in ab){if(typeof ab[aa]=="function"){ab[aa]=null}}ab.parentNode.removeChild(ab)}}function c(ac){var aa=null;try{aa=n.getElementById(ac)}catch(ab){}return aa}function D(aa){return n.createElement(aa)}function l(ac,aa,ab){ac.attachEvent(aa,ab);q[q.length]=[ac,aa,ab]}function I(ac){var ab=S.pv,aa=ac.split(".");aa[0]=parseInt(aa[0],10);aa[1]=parseInt(aa[1],10)||0;aa[2]=parseInt(aa[2],10)||0;return(ab[0]>aa[0]||(ab[0]==aa[0]&&ab[1]>aa[1])||(ab[0]==aa[0]&&ab[1]==aa[1]&&ab[2]>=aa[2]))?true:false}function x(af,ab,ag,ae){if(S.ie&&S.mac){return}var ad=n.getElementsByTagName("head")[0];if(!ad){return}var aa=(ag&&typeof ag=="string")?ag:"screen";if(ae){p=null;r=null}if(!p||r!=aa){var ac=D("style");ac.setAttribute("type","text/css");ac.setAttribute("media",aa);p=ad.appendChild(ac);if(S.ie&&S.win&&typeof n.styleSheets!=G&&n.styleSheets.length>0){p=n.styleSheets[n.styleSheets.length-1]}r=aa}if(S.ie&&S.win){if(p&&typeof p.addRule==E){p.addRule(af,ab)}}else{if(p&&typeof n.createTextNode!=G){p.appendChild(n.createTextNode(af+" {"+ab+"}"))}}}function z(ac,ab){if(!P){return}var aa=ab?"visible":"hidden";if(L&&c(ac)){c(ac).style.visibility=aa}else{x("#"+ac,"visibility:"+aa)}}function M(ab){var ac=/[\\\"<>\.;]/;var aa=ac.exec(ab)!=null;return aa&&typeof encodeURIComponent!=G?encodeURIComponent(ab):ab}var f=function(){if(S.ie&&S.win){window.attachEvent("onunload",function(){var af=q.length;for(var ae=0;ae<af;ae++){q[ae][0].detachEvent(q[ae][1],q[ae][2])}var ac=Q.length;for(var ad=0;ad<ac;ad++){y(Q[ad])}for(var ab in S){S[ab]=null}S=null;for(var aa in swfobject){swfobject[aa]=null}swfobject=null})}}();return{registerObject:function(ae,aa,ad,ab){if(S.w3&&ae&&aa){var ac={};ac.id=ae;ac.swfVersion=aa;ac.expressInstall=ad;ac.callbackFn=ab;K[K.length]=ac;z(ae,false)}else{if(ab){ab({success:false,id:ae})}}},getObjectById:function(aa){if(S.w3){return B(aa)}},embedSWF:function(ad,ah,ak,aj,ab,af,ae,ac,ai,ag){var aa={success:false,id:ah};if(S.w3&&!(S.wk&&S.wk<312)&&ad&&ah&&ak&&aj&&ab){z(ah,false);o(function(){ak+="";aj+="";var am={};if(ai&&typeof ai===E){for(var ao in ai){am[ao]=ai[ao]}}am.data=ad;am.width=ak;am.height=aj;var ap={};if(ac&&typeof ac===E){for(var an in ac){ap[an]=ac[an]}}if(ae&&typeof ae===E){for(var al in ae){if(typeof ap.flashvars!=G){ap.flashvars+="&"+al+"="+ae[al]}else{ap.flashvars=al+"="+ae[al]}}}if(I(ab)){var aq=w(am,ap,ah);if(am.id==ah){z(ah,true)}aa.success=true;aa.ref=aq}else{if(af&&C()){am.data=af;T(am,ap,ah,ag);return}else{z(ah,true)}}if(ag){ag(aa)}})}else{if(ag){ag(aa)}}},switchOffAutoHideShow:function(){P=false},ua:S,getFlashPlayerVersion:function(){return{major:S.pv[0],minor:S.pv[1],release:S.pv[2]}},hasFlashPlayerVersion:I,createSWF:function(aa,ab,ac){if(S.w3){return w(aa,ab,ac)}else{return undefined}},showExpressInstall:function(ab,ac,ad,aa){if(S.w3&&C()){T(ab,ac,ad,aa)}},removeSWF:function(aa){if(S.w3){y(aa)}},createCSS:function(ad,ac,aa,ab){if(S.w3){x(ad,ac,aa,ab)}},addDomLoadEvent:o,addLoadEvent:t,getQueryParamValue:function(ad){var ac=n.location.search||n.location.hash;if(ac){if(/\?/.test(ac)){ac=ac.split("?")[1]}if(ad==null){return M(ac)}var ab=ac.split("&");for(var aa=0;aa<ab.length;aa++){if(ab[aa].substring(0,ab[aa].indexOf("="))==ad){return M(ab[aa].substring((ab[aa].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var aa=c(U);if(aa&&O){aa.parentNode.replaceChild(O,aa);if(m){z(m,true);if(S.ie&&S.win){O.style.display="block"}}if(H){H(v)}}a=false}}}}();if(!window.FB){FB={}}if(!FB.dynData){FB.dynData={site_vars:{canvas_client_compute_content_size_method:1,use_postMessage:1,use_xdProxy:0,use_ui_server:1,monitor_usage_regex:"somethingtoputhere.com|huffingtonpost.com|lala.com",monitor_usage_rate:0.05,enable_custom_href:1},resources:{base_url_format:"http://{0}.connect.facebook.com/",base_cdn_url:"http://static.ak.fbcdn.net/",api_channel:222721,api_server:222721,www_channel:222721,xd_proxy:222721,xd_comm_swf_url:"http://static.ak.fbcdn.net/rsrc.php/z48NA/hash/6r2djk2l.swf",share_button:"http://b.static.ak.fbcdn.net/rsrc.php/z1NNP/hash/4273uaqa.png",login_img_dark_small_short:"http://b.static.ak.fbcdn.net/rsrc.php/zATAA/hash/a969rwcd.png",login_img_dark_medium_short:"http://b.static.ak.fbcdn.net/rsrc.php/zI08N/hash/156b4b3s.png",login_img_dark_medium_long:"http://b.static.ak.fbcdn.net/rsrc.php/zDFXV/hash/85b5jlja.png",login_img_dark_large_short:"http://b.static.ak.fbcdn.net/rsrc.php/zHW0N/hash/a22m3ibb.png",login_img_dark_large_long:"http://static.ak.fbcdn.net/rsrc.php/zC8F0/hash/8mzymam2.png",login_img_light_small_short:"http://b.static.ak.fbcdn.net/rsrc.php/z68PZ/hash/8t35mjql.png",login_img_light_medium_short:"http://static.ak.fbcdn.net/rsrc.php/zEV10/hash/6ad3z8m6.png",login_img_light_medium_long:"http://b.static.ak.fbcdn.net/rsrc.php/z7T3O/hash/4li2k73z.png",login_img_light_large_short:"http://static.ak.fbcdn.net/rsrc.php/zEYEC/hash/7e3mp7ee.png",login_img_light_large_long:"http://b.static.ak.fbcdn.net/rsrc.php/z1RA7/hash/8rc0izvz.png",login_img_white_small_short:"http://static.ak.fbcdn.net/rsrc.php/z79GY/hash/di0gkqrt.png",login_img_white_medium_short:"http://static.ak.fbcdn.net/rsrc.php/zDTB7/hash/cdozw38w.png",login_img_white_medium_long:"http://static.ak.fbcdn.net/rsrc.php/z6AST/hash/338d3m67.png",login_img_white_large_short:"http://static.ak.fbcdn.net/rsrc.php/z6FD4/hash/8yzn0wu3.png",login_img_white_large_long:"http://static.ak.fbcdn.net/rsrc.php/z5V8V/hash/5pwowlag.png",logout_img_small:"http://static.ak.fbcdn.net/rsrc.php/z68NS/hash/cxrz4k7j.png",logout_img_medium:"http://static.ak.fbcdn.net/rsrc.php/zATSY/hash/4lsqsd7l.png",logout_img_large:"http://b.static.ak.fbcdn.net/rsrc.php/z8P0T/hash/4515xk7j.png"}}}if(!FB.locale){FB.locale="en_US"}if(!FB.localeIsRTL){FB.localeIsRTL=false}if(!window.FB){FB={}}if(!FB.Monitor){FB.Monitor={wrapObject:function(h,g,j){if(typeof(h)!="object"){return h}if(!FB.Monitor.loggingEnabled()){return h}if(g=="FB.Debug"||g=="FB.HiddenContainer"||g=="FB.XdComm.Server"||g.indexOf("FBIntern")==0){return h}for(var m in h){var n=h[m];if(!h.hasOwnProperty(m)||typeof(n)!="function"||n.wrapped){continue}var l={containerName:g,functionName:m};h[m]=FB.Monitor._monitorWrapper(n,h,j,l);h[m].wrapped=true}return h},disableLogging:function(){FB.Monitor.loggingEnabledCache=false},loggingEnabled:function(){if(FB.Monitor.loggingEnabledCache===null){var g=FB.dynData&&FB.dynData.site_vars&&FB.dynData.site_vars.monitor_usage_regex;if(!g){FB.Monitor.loggingEnabledCache=false}else{var f=new RegExp(g);var d=FB.dynData.site_vars.monitor_usage_rate;FB.Monitor.loggingEnabledCache=f.test(document.domain)?(Math.random()/d)<1:false}}return FB.Monitor.loggingEnabledCache},externalCallback:function(b){if(typeof(b)!="function"){return b}return function(){var f=FB.Monitor.internalCallStackDepth;FB.Monitor.internalCallStackDepth=0;var a=Array.prototype.slice.call(arguments);var g=b.apply(this,a);FB.Monitor.internalCallStackDepth=f;return g}},_monitorWrapper:function(f,g,h,j){return function(){var b=Array.prototype.slice.call(arguments);context=h?this:(g||window);j=j||{containerName:"unknown",functionName:"unknown"};if(FB.Monitor.internalCallStackDepth==0){if(j.functionName.substr(0,1)!="_"){FB.Monitor.logFunction(j,b)}}++FB.Monitor.internalCallStackDepth;var a=f.apply(context,b);--FB.Monitor.internalCallStackDepth;return a}},logFunction:function(h,l){var f=[];for(var j=0;j<l.length;j++){var g=l[j];f[j]=g?g.toString():g}FB.Monitor.log("functions",h.containerName+"."+h.functionName,f)},logXFBML:function(l){var f={};for(var j=0;j<l.attributes.length;++j){var g=l.attributes[j];if(g.specified!==false&&g.nodeName&&g.nodeValue&&g.nodeName!="class"){f[g.nodeName]=g.nodeValue.toString()}}var h=l.nodeName.toLowerCase();FB.Monitor.log("tags",h,f)},log:function(f,h,g){var j={name:h,args:g};FB.Monitor.loggingQueue[f].push(j);if(!FB.Monitor.pendingTimer){setTimeout(FB.Monitor.send,FB.Monitor.TIMER_INTERVAL);FB.Monitor.pendingTimer=true}},clearQueues:function(){var b=FB.Monitor.loggingQueue;FB.Monitor.pendingTimer=false;FB.Monitor.loggingQueue={tags:[],functions:[]};return b},send:function(){if(FB.MonitorSender){FB.bind(FB.MonitorSender.send)()}else{FB.Monitor.TIMER_INTERVAL=FB.Monitor.TIMER_INTERVAL*1.5;setTimeout(FB.Monitor.send,FB.Monitor.TIMER_INTERVAL)}},TIMER_INTERVAL:6*1000,internalCallStackDepth:0,loggingQueue:{tags:[],functions:[]},pendingTimer:false,loggingEnabledCache:null}}if(!window.FB){FB={}}FB.forEach=function(n,h,j){if(Object.prototype.toString.apply(n)==="[object Array]"){if(n.forEach){n.forEach(h)}else{for(var g=0,l=n.length;g<l;g++){h(n[g],g,n)}}}else{for(var m in n){if(j||n.hasOwnProperty(m)){h(n[m],m,n)}}}};FB.copy=function(g,d,f){FB.forEach(d,function(a,b){if(f||typeof g[b]==="undefined"){g[b]=a}})};FB.copy(FB,{$:function(b){return document.getElementById(b)},TypeLoader:{NOTIFY:{},LOADED_MODULES:{},LOADED_CLASSES:{},resolve:function(j,l,h){for(var g=0,n=l.length;g<n;g++){var m=l[g];if(m===""){continue}if(typeof j[m]==="undefined"){if(h){j[m]={}}else{return false}}j=j[m]}return j},provide:function(j,f,g){FB.Monitor.wrapObject(f,j,false);var h=this.resolve(window,j.split("."),true);if(g||!this.LOADED_MODULES[j]){FB.copy(h,f,true);if(f._onLoad){h._onLoad()}}this.LOADED_MODULES[j]=true},subclass:function(q,u,m){if(this.LOADED_CLASSES[q]){return}if(u!=="FB.Class"&&!this.LOADED_CLASSES[u]){FB.Log.debug('"'+q+'" needs to wait for "'+u+'"');var l=FB.redo(arguments,this);this.NOTIFY[u]?this.NOTIFY[u].push(l):this.NOTIFY[u]=[l];return}var t=this.resolve(window,u.split(".")),p=t.extend(m),o=this.NOTIFY[q],n=q.split("."),r=this.resolve(window,n,true),s=n.pop();FB.Monitor.wrapObject(p.prototype,q,true);FB.Monitor.wrapObject(p,q,false);FB.copy(p,r);this.resolve(window,n)[s]=p;this.LOADED_CLASSES[q]=true;if(o){FB.forEach(o,function(a){a()});delete this.NOTIFY[q]}}},bind:function(){var g=Array.prototype.slice.call(arguments),j=g.shift(),f=g.shift();var h=function(){++FB.Monitor.internalCallStackDepth;var a=j.apply(f,g.concat(Array.prototype.slice.call(arguments)));--FB.Monitor.internalCallStackDepth;return a};h._targets=[f,j];return h},redo:function(f,g){var d=Array.prototype.slice.call(f);d.unshift(g);d.unshift(f.callee);return FB.bind.apply(FB,d)}});FB.provide=FB.bind(FB.TypeLoader.provide,FB.TypeLoader);FB.subclass=FB.bind(FB.TypeLoader.subclass,FB.TypeLoader);FB.provide("FB.Log",{level:3,Level:{DEBUG:3,INFO:2,WARNING:1,ERROR:0},_helper:function(){var f=Array.prototype.slice.call(arguments),g=f.shift(),d=f.shift();if(this.level>=d&&window.console){(console[g]||console.log).apply(console,f)}}});FB.provide("FB.Log",{debug:FB.bind(FB.Log._helper,FB.Log,"debug",FB.Log.Level.DEBUG),info:FB.bind(FB.Log._helper,FB.Log,"info",FB.Log.Level.INFO),warn:FB.bind(FB.Log._helper,FB.Log,"warn",FB.Log.Level.WARNING),error:FB.bind(FB.Log._helper,FB.Log,"error",FB.Log.Level.ERROR)},true);(function(){var c=false,d=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;FB.Class=function(){};FB.Class.extend=function(b){var g=this.prototype;c=true;var a=new this();c=false;FB.forEach(b,function(f,j){a[j]=typeof f==="function"&&typeof g[j]==="function"&&d.test(f)?(function(l,m){return function(){var n=this._super;this._super=g[l];var o=m.apply(this,arguments);this._super=n;return o}})(j,f):f});var h=function(){if(!c){var f;if(this instanceof h){f=this}else{c=true;f=new h();c=false}if(f.init){f.init.apply(f,arguments)}return f}};h.prototype=a;h.constructor=h;h.extend=FB.Class.extend;return h}})();if(!window.FB){FB={}}if(!FB.Type){FB.Type={createNamespace:function(g){var m=window;var n=g.split(".");for(var h=0;h<n.length;h++){var j=n[h];var l=m[j];if(!l){m[j]=l={}}m=l}return m},createEnum:function(h,l,j){if(this.getObj(h)){return}var g=function(){};g.prototype=l;for(var f in l){g[f]=l[f]}if(j){g.__flags=true}this.setObj(h,g)},createClass2:function(cls,baseType){if(baseType&&typeof(baseType)=="string"){baseType=eval(baseType)}cls.prototype.constructor=cls;this.extend(cls,FB.Type.Methods);cls.__baseType=baseType||Object;if(baseType){cls.__basePrototypePending=true}},setObj:function(fullName,value){var i=fullName.lastIndexOf(".");var objName;var scope=window;if(i>0){var ns=fullName.substring(0,i);this.createNamespace(ns);objName=fullName.substring(i+1);scope=eval(ns)}else{objName=fullName}scope[objName]=value},getObj:function(f){var j=window;var l=f.split(".");for(var g=0;g<l.length;g++){var h=l[g];j=j[h];if(!j){break}}return j},createClass:function(d,c){if(this.getObj(d)){return}if(arguments.length==1&&typeof(d)!="string"){return this._createClass(d)}else{this.setObj(d,this._createClass(c))}},_createClass:function(c){var d=c.ctor||function(){};if(c.static_ctor){this.addStaticInit(c.static_ctor)}if(c.instance){d.prototype=c.instance}if(c["static"]){this.extend(d,c["static"])}this.createClass2(d,c.base);return d},addStaticInit:function(b){if(!FB.Type._pendingInits){FB.Type._pendingInits=[]}FB.Type._pendingInits[FB.Type._pendingInits.length]=b;window.setTimeout(FB.Type.runPendingInits,0)},runPendingInits:function(){if(FB.Type._pendingInits){var d=FB.Type._pendingInits;FB.Type._pendingInits=null;var f=d.length;for(var g=0;g<f;g++){d[g]()}}},extend:function(f,g){for(var d in g){f[d]=g[d]}return f},getInstanceType:function(b){return b.constructor}};FB.Type.Methods={setupBase:function(){if(this.__basePrototypePending){var f=this.__baseType;if(f.__basePrototypePending){f.setupBase()}for(var d in f.prototype){var g=f.prototype[d];if(!this.prototype[d]){this.prototype[d]=g}}delete this.__basePrototypePending}},constructBase:function(c,d){if(this.__basePrototypePending){this.setupBase()}if(!d){this.__baseType.apply(c)}else{this.__baseType.apply(c,d)}},callBase:function(j,h,g){var f=this.__baseType.prototype[h];if(!g){return f.apply(j)}else{return f.apply(j,g)}},get_baseType:function(){return this.__baseType||null}}}FB.provide("FB.HiddenContainer",{_onLoad:function(){if(document.getElementById("FB_HiddenContainer")==null){var d;try{var c=window.navigator.userAgent.toLowerCase().indexOf("msie")>=0&&window.attachEvent;if((!c||document.readyState=="completed")&&document.body){d=document.createElement("div");d.id="FB_HiddenContainer";d.style.position="absolute";d.style.top="-10000px";d.style.width="0px";d.style.height="0px";document.body.appendChild(d)}}catch(f){d=null}if(!d){document.write('<div id="FB_HiddenContainer" style="position:absolute; top:-10000px; left:-10000px; width:0px; height:0px;" ></div>')}}},get:function(){return FB.$("FB_HiddenContainer")}});FB.provide("FB.HiddenContainerLoader",{_onLoad:function(){FB.HiddenContainer.get()}});FB.subclass("FB.Delegate","FB.Class",{});FB.provide("FB.Delegate",{Null:function(){},_create:function(c){var d=function(){if(c.length==2){return c[1].apply(c[0],arguments)}else{var a=c.slice();for(var b=0;b<a.length;b+=2){a[b+1].apply(a[b],arguments)}return null}};d._targets=c;return d},create:function(c,d){if(!c){return d}return FB.Delegate._create([c,d])},combine:function(g,f){if(!g){if(!f._targets){return FB.Delegate.create(null,f)}return f}if(!f){if(!g._targets){return FB.Delegate.create(null,g)}return g}var j=g._targets?g._targets:[null,g];var h=f._targets?f._targets:[null,f];return FB.Delegate._create(j.concat(h))},remove:function(h,g){if(!h||(h===g)){return null}if(!g){return h}var j=h._targets;var l=null;var m;if(g._targets){l=g._targets[0];m=g._targets[1]}else{m=g}for(var n=0;n<j.length;n+=2){if((j[n]===l)&&(j[n+1]===m)){if(j.length==2){return null}j.splice(n,2);return FB.Delegate._create(j)}}return h}});if(!window.Delegate){window.Delegate=FB.Delegate}if(!window.FB){FB={}}if(!FB.Loader){FB.Loader={loaded:{},loading:{},loadedCss:{},loadedCallback:null,onScriptLoaded:function(f){var g=f.length;for(var j=0;j<g;j++){var h=f[j];FB.Loader.loaded[h]=true}if(FB.Loader.loadedCallback){window.setTimeout(function(){FB.Loader.loadedCallback(f)},0)}},loadCssComps:function(f){var d=FB.Loader.getStaticResourceUrl("connect.php/"+FB.locale+"/css/"+f.join("/"));if(!this.loadedCss[d]){var g=document.createElement("link");g.setAttribute("rel","stylesheet");g.setAttribute("type","text/css");g.setAttribute("href",d);document.getElementsByTagName("head")[0].appendChild(g);this.loadedCss[d]=true}},getStaticResourceUrl:function(d){var f=FB.dynData.resources.base_url_format;var g=(f.indexOf("https")===0)?"ssl":"static.ak";return f.replace("{0}",g)+d}}}if(!FB.Bootstrap){FB.Bootstrap={requireFeatures:function(q,s){if(FB.Bootstrap.isXdChannel){return}var m={features:q,callback:FB.Monitor.externalCallback(s),completed:false};if(FB.Bootstrap._checkRequest(m)){return}FB.Bootstrap._featureReqQueue.push(m);FB.Loader.loadedCallback=FB.Delegate.combine(FB.Loader.loadedCallback,FB.Bootstrap._onCompLoaded);FB.Bootstrap._transformFeatureList(q);var n={};var u=[];var p;var t=q.length;var o=0;for(p=0;p<t;p++){var r=q[p];if(!(FB.Loader.loaded[r])){if(!(FB.Loader.loaded[r]||FB.Loader.loading[r])){n[r]=true;u[u.length]=r}}}u.sort();var l=FB.Loader.getStaticResourceUrl("connect.php/"+FB.locale+"/js/"+u.join("/"));FB.Bootstrap.addScript(l)},_requireFeatures:function(c,d){this.requireFeatures(c,FB.bind(d))},_checkRequest:function(j){if(!j.completed){var f=0;var h=j.features.length;var l=0;for(f=0;f<h;f++){var g=j.features[f];if(FB.Loader.loaded[g]){l++}}if(l==h){j.completed=true;if(j.callback){j.callback(true)}}}return j.completed},_transformFeatureList:function(h){var p={Api:true,CanvasUtil:true,Connect:true,XFBML:true};var j=h.length;var l=false;var m={};for(var o=0;o<j;o++){m[h[o]]=true;if(p[h[o]]){l=true}}if(l){for(var n in p){if(!m[n]){h[h.length]=n}}}},ensureInit:function(b){if(!b){throw ("FB.ensureInit called without a valid callback")}b=FB.Monitor.externalCallback(b);if(FB.Facebook&&FB.Facebook.get_initialized&&FB.Facebook.get_initialized().get_isReady()&&FB.Facebook.get_initialized().result){return b()}FB.Bootstrap._requireFeatures(FB.Bootstrap.features,function(){FB.Facebook.get_initialized().waitForValue(true,b)})},init:function(f,g,d){FB.Bootstrap._requireFeatures(FB.Bootstrap.features,function(){if(FB.Facebook){FB.Facebook.init(f,g,d)}})},addScript:function(j){var m;var l=document.getElementsByTagName("script");if(l){var h=l.length;for(var g=0;g<h;g++){m=l[g];if(m.src==j){return}}}m=document.createElement("script");m.type="text/javascript";m.src=j;var n=document.getElementsByTagName("HEAD")[0]||document.body;n.appendChild(m)},setLocale:function(c,d){window.FB.locale=c;window.FB.localeIsRTL=d},_initializeXdChannel:function(){FB.Bootstrap.isXdChannel=window.location.search.indexOf(FB.Bootstrap.fbc_channel_token)>=0},_detectDocumentNamespaces:function(){if(document.namespaces&&!document.namespaces.item.fb){document.namespaces.add("fb")}},createDefaultXdChannelUrl:function(){var b=location.protocol+"//"+location.hostname+location.pathname+location.search;if(location.search||location.search.length>0){b+="&"}else{b+="?"}b+="fbc_channel=1";return b},_onCompLoaded:function(){var c=0;var d=FB.Bootstrap._featureReqQueue.length;for(c=0;c<d;c++){FB.Bootstrap._checkRequest(FB.Bootstrap._featureReqQueue[c])}},_onLoad:function(){this._initializeXdChannel();this._detectDocumentNamespaces()},features:["XFBML","CanvasUtil"],fbc_channel_token:"fbc_channel=1",_featureReqQueue:[]};FB.Monitor.wrapObject(FB.Bootstrap,"FB.Bootstrap");window.FB_RequireFeatures=FB.Bootstrap.requireFeatures;window.FB.init=FB.Bootstrap.init;window.FB.ensureInit=FB.Bootstrap.ensureInit;FB.Bootstrap._onLoad()}if(!window.FBIntern){FBIntern={}}if(!FBIntern.XdReceiver){FBIntern.XdReceiver={delay:100,timerId:-1,dispatchMessage:function(){var j=document.URL;var o=j.indexOf("#");var p;if(o>0){p=j.substring(o+1)}else{o=j.indexOf("fb_login&");if(o>0){p=j.substring(o+9)}else{return}}var s="debug=1&";if(p.indexOf(s)==0){p=p.substring(s.length)}var l;var q=null;try{var n=window.parent;if(p.indexOf("fname=")==0){var m=p.indexOf("&");var r=p.substr(6,m-6);if(r=="_opener"){n=n.opener}else{if(r=="_oparen"){n=n.opener.parent}else{if(r!="_parent"){n=n.frames[r]}}}l=p.substr(m+1)}else{n=n.parent;l=p}q=n.FB.XdComm.Server.singleton.onReceiverLoaded}catch(o){if(o.number==-2146828218){return}}if(q){n.FB.XdComm.Server.singleton.onReceiverLoaded(l);if(FBIntern.XdReceiver.timerId!=-1){window.clearInterval(FBIntern.XdReceiver.timerId);FBIntern.XdReceiver.timerId=-1}}else{if(FBIntern.XdReceiver.timerId==-1){try{FBIntern.XdReceiver.timerId=window.setInterval(FBIntern.XdReceiver.dispatchMessage,FBIntern.XdReceiver.delay)}catch(o){}}}}};if(!(window.FB&&FB.Bootstrap&&!FB.Bootstrap.isXdChannel)){try{FBIntern.XdReceiver.dispatchMessage()}catch(e){}}}(function(){var j=document.getElementsByTagName("script");var h=j[j.length-1];if(h!=undefined){var g=h.getAttribute("fb-api-key");var f=h.getAttribute("fb-xd-receiver");if(g!=null){window.setTimeout(function(){FB.init(g,f)},0)}}})();if(FB&&FB.Loader){FB.Loader.onScriptLoaded(["FB.monitor-wrapper","FB.Prelude","FB.Log","FB.Class","FB.Type","FB.HiddenContainer","FB.HiddenContainerLoader","FB.Delegate","FB.Loader","FB.Bootstrap","XdCommReceiver"])}function $RF(b,a){if($(b).type&&$(b).type.toLowerCase()=="radio"){var a=$(b).name;var b=$(b).form}else{if($(b).tagName.toLowerCase()!="form"){return false}}var c=$(b).getInputs("radio",a).find(function(d){return d.checked});return(c)?$F(c):null}t61.Cookies=Class.create();t61.Cookies.prototype={initialize:function(b,a){this.path=b||"/";this.domain=a||null},set:function(h,g,j){if(typeof h!="string"){throw"Invalid key"}if(typeof g!="string"&&typeof g!="number"){throw"Invalid value"}if(j&&typeof j!="number"){throw"Invalid expiration time"}var d=h+"="+escape(new String(g));if(j){var c=new Date();c.setTime(c.getTime()+(j*24*60*60*1000));var a="; expires="+c.toGMTString()}else{var a=""}var f="; path="+escape(this.path);var b=(this.domain)?"; domain="+escape(this.domain):"";var l=d+a+f+b;document.cookie=l},get:function(b){var a=b+"=";var c=false;document.cookie.split(";").invoke("strip").each(function(d){if(d.startsWith(a)){c=unescape(d.substring(a.length,d.length));throw $break}});return c},clear:function(a){this.set(a,"",-1)},clearAll:function(){document.cookie.split(";").collect(function(a){return a.split("=").first().strip()}).each(function(a){this.clear(a)}.bind(this))}};t61.util={get_time_text:function(b){var c=parseInt(b/1000)%60;var a=parseInt(b/60000);if(c<10){c="0"+c}var d=a+":"+c;return d},stop_event_all:function(a){if(!a){a=window.event}if(a.stopPropagation){a.stopPropagation()}if(a.preventDefault){a.preventDefault()}a.cancelBubble=true;a.cancel=true;a.returnValue=false;return false},stop_event:function(a){if(!a){a=window.event}a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}},serialize_list:function(a,d){var c=[];for(var b=0;b<d.length;b++){var f="";if(d[b]){f=d[b]}c.push(a+"[]="+f)}return c.join("&")},link_to_remote:function(b,a,c,d){if(!d){d=""}return'<a href="#'+a+'" onclick="t61.load_url(\''+a+'\', {emulate_nonajax: false});" class="'+c+'" title="'+d+'">'+b+"</a>"},get_viewport:function(){var a,b;if(self.innerHeight){a=self.innerWidth;b=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){a=document.documentElement.clientWidth;b=document.documentElement.clientHeight}else{if(document.body){a=document.body.clientWidth;b=document.body.clientHeight}}}return{width:a,height:b}},pngfix:function(d){if((BrowserDetect.browser!="Explorer")||(BrowserDetect.version==7)){return}var c=d.style;var g=d.tagName;var a=d.src;var b=c.backgroundImage||c.backgroundImage;var m=t61.media_url+"/site_media/images/blank.gif";var j=d.childNodes;var h=t61.util.filter;if(g=="IMG"){if((/\.png$/i).test(a)){if(c.width=="auto"&&c.height=="auto"){c.width=c.offsetWidth+"px"}h(d,a,"scale");d.src=m}else{if(a.indexOf(m)<0){h(d)}}}else{if(b&&b!="none"){if(b.match(/^url[(\"\']+(.*\.png)[)\"\']+$/i)){var l=RegExp.$1;if(c.width=="auto"&&c.height=="auto"){c.width=c.offsetWidth+"px"}c.backgroundImage="none";h(d,l,"crop");for(var f=0;f<j.length;f++){if(j[f].style){j[f].style.position="relative"}}}else{h(d)}}}},filter:function(el,s,m){var f="DXImageTransform.Microsoft.AlphaImageLoader";if(el.style.filters&&el.style.filters[f]){el.style.filters[f].enabled=s?true:false;if(s){with(el.style.filters[f]){src=s;sizingMethod=m}}}else{if(s){el.style.filter="progid:"+f+'(src="'+s+'",sizingMethod="'+m+'")'}}},pngfix_therack_popup:function(){if(BrowserDetect.browser=="Explorer"&&BrowserDetect.version==6){var b=$("popup_content").getElementsByClassName("medium_button");for(var a=0;a<b.length;a++){b[a].style.backgroundImage="url("+t61.media_url+"/site_media/images/black_button.png)";t61.util.pngfix(b[a])}b=$("popup_content").getElementsByClassName("large_button");b[0].style.backgroundImage="url("+t61.media_url+"/site_media/images/large_black_button.png)";t61.util.pngfix(b[0])}},get_scroll_top:function(){return(document.documentElement.scrollTop||document.body.scrollTop)},get_scroll_height:function(){return(document.documentElement.scrollHeight||document.body.scrollHeight)},get_max_scroll_top:function(){var b=t61.util.get_viewport()["height"];var a=t61.util.get_scroll_height();return a-b},get_safe_name:function(a){return a.replace(/\(|\)|\?|\/|\'|\"/g,"")},apply_defaults:function(b,c){for(var a in c){if(b[a]==undefined){b[a]=c[a]}}}};t61.dom={move_children:function(a,g){var d=[];var f;while(a.childNodes.length>0){f=a.childNodes[0];d.push(f);a.removeChild(f)}while(g.childNodes.length>0){f=g.childNodes[0];g.removeChild(f)}for(var b=0;b<d.length;b++){g.appendChild(d[b])}},save_children:function(a,f,b){var d=[];var g;while(a.childNodes.length>0){g=a.childNodes[0];d.push(g);a.removeChild(g)}f[b]=d},restore_children:function(f,d,a){var c=d[a];for(var b=0;b<c.length;b++){f.appendChild(c[b])}},move_children:function(a,f){a=$(a);f=$(f);var d=[];var b=a.childNodes;for(var c=0;c<b.length;c++){d.push($(b[c]))}for(c=0;c<d.length;c++){a.removeChild(d[c]);f.appendChild(d[c])}}};t61.animation={slide_left:function(b,a){t61.animation.slide(b,0,-100,100,a)},slide_right:function(b,a){t61.animation.slide(b,0,100,-100,a)},slide:function(a,d,c,b,j){if(!j){j={}}t61.util.apply_defaults(j,{duration:1});var h=d;var g=50;var l=new Date();var f=function(){var n=new Date();if(j.duration==0){h=c}else{h=d+(c-d)*Math.min(1,(n-l)/Math.max(1,j.duration*1000))}for(var m=0;m<a.length;m++){a[m].style.left=m*b+h+"%"}if(Math.abs(h)>=Math.abs(c)){clearInterval(t61.animation._interval);delete (t61.animation._interval);if(j.onComplete){j.onComplete()}}};if(j.duration>0){t61.animation._interval=setInterval(f,g)}else{f()}},shake_vertical:function(element){var mag=10;element=$(element);var oldStyle={top:Element.getStyle(element,"top"),left:Element.getStyle(element,"left")};return new Effect.Move(element,{x:0,y:mag*0.5,duration:0.025,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:0,y:mag*-1,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:0,y:mag,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:0,y:mag*-0.5,duration:0.025,afterFinishInternal:function(effect){with(Element){undoPositioned(effect.element);setStyle(effect.element,oldStyle)}}})}})}})}})},shake_horizontal:function(a){var b=10;a=$(a);var c=parseInt(Element.getStyle(a,"marginLeft"));return new Effect.Morph(a,{style:{marginLeft:c+b*0.5+"px"},duration:0.025,afterFinishInternal:function(d){new Effect.Morph(d.element,{style:{marginLeft:c+b*-0.5+"px"},duration:0.05,afterFinishInternal:function(f){new Effect.Morph(f.element,{style:{marginLeft:c+b*0.5+"px"},duration:0.05,afterFinishInternal:function(g){new Effect.Morph(g.element,{style:{marginLeft:c+"px"},duration:0.025})}})}})}})}};t61.crypto={};t61.crypto.encrypt=function(f){var c="";var a=[];var d=[];var b=null;for(i=0;i<f.length;i++){b=Math.round(Math.random()*122)+68;a[i]=f.charCodeAt(i)+b;d[i]=b}for(i=0;i<f.length;i++){c+=String.fromCharCode(a[i],d[i])}return c};t61.crypto.unencrypt=function(d){var b="";var a=[];var c=[];for(i=0;i<d.length;i++){a[i]=d.charCodeAt(i);c[i]=d.charCodeAt(i+1)}for(i=0;i<d.length;i=i+2){b+=String.fromCharCode(a[i]-c[i])}return b};var hexcase=0;var b64pad="";var chrsz=8;function hex_sha1(a){return binb2hex(core_sha1(str2binb(a),a.length*chrsz))}function core_sha1(v,p){v[p>>5]|=128<<(24-p%32);v[((p+64>>9)<<4)+15]=p;var z=Array(80);var y=1732584193;var u=-271733879;var s=-1732584194;var r=271733878;var q=-1009589776;for(var m=0;m<v.length;m+=16){var o=y;var n=u;var l=s;var h=r;var f=q;for(var g=0;g<80;g++){if(g<16){z[g]=v[m+g]}else{z[g]=rol(z[g-3]^z[g-8]^z[g-14]^z[g-16],1)}var A=safe_add(safe_add(rol(y,5),sha1_ft(g,u,s,r)),safe_add(safe_add(q,z[g]),sha1_kt(g)));q=r;r=s;s=rol(u,30);u=y;y=A}y=safe_add(y,o);u=safe_add(u,n);s=safe_add(s,l);r=safe_add(r,h);q=safe_add(q,f)}return Array(y,u,s,r,q)}function sha1_ft(f,a,h,g){if(f<20){return(a&h)|((~a)&g)}if(f<40){return a^h^g}if(f<60){return(a&h)|(a&g)|(h&g)}return a^h^g}function sha1_kt(a){return(a<20)?1518500249:(a<40)?1859775393:(a<60)?-1894007588:-899497514}function safe_add(a,d){var c=(a&65535)+(d&65535);var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function rol(a,b){return(a<<b)|(a>>>(32-b))}function str2binb(d){var c=Array();var a=(1<<chrsz)-1;for(var b=0;b<d.length*chrsz;b+=chrsz){c[b>>5]|=(d.charCodeAt(b/chrsz)&a)<<(32-chrsz-b%32)}return c}function binb2hex(c){var b=hexcase?"0123456789ABCDEF":"0123456789abcdef";var d="";for(var a=0;a<c.length*4;a++){d+=b.charAt((c[a>>2]>>((3-a%4)*8+4))&15)+b.charAt((c[a>>2]>>((3-a%4)*8))&15)}return d}t61.shortcut={all_shortcuts:{},add:function(g,j,c){var h={type:"keydown",propagate:false,disable_in_input:true,target:document,keycode:false};if(!c){c=h}else{for(var a in h){if(typeof c[a]=="undefined"){c[a]=h[a]}}}var f=c.target;if(typeof c.target=="string"){f=document.getElementById(c.target)}var b=this;g=g.toLowerCase();var d=function(p){p=p||window.event;if(c.disable_in_input){var m;if(p.target){m=p.target}else{if(p.srcElement){m=p.srcElement}}if(m.nodeType==3){m=m.parentNode}if(m.tagName=="INPUT"||m.tagName=="TEXTAREA"){return}}if(p.keyCode){code=p.keyCode}else{if(p.which){code=p.which}}var o=String.fromCharCode(code).toLowerCase();if(code==188){o=","}if(code==190){o="."}var t=g.split("+");var r=0;var q={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"};var l={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123};var s={shift:{wanted:false,pressed:false},ctrl:{wanted:false,pressed:false},alt:{wanted:false,pressed:false},meta:{wanted:false,pressed:false}};if(p.ctrlKey){s.ctrl.pressed=true}if(p.shiftKey){s.shift.pressed=true}if(p.altKey){s.alt.pressed=true}if(p.metaKey){s.meta.pressed=true}for(var n=0;k=t[n],n<t.length;n++){if(k=="ctrl"||k=="control"){r++;s.ctrl.wanted=true}else{if(k=="shift"){r++;s.shift.wanted=true}else{if(k=="alt"){r++;s.alt.wanted=true}else{if(k=="meta"){r++;s.meta.wanted=true}else{if(k.length>1){if(l[k]==code){r++}}else{if(c.keycode){if(c.keycode==code){r++}}else{if(o==k){r++}else{if(q[o]&&p.shiftKey){o=q[o];if(o==k){r++}}}}}}}}}}if(r==t.length&&s.ctrl.pressed==s.ctrl.wanted&&s.shift.pressed==s.shift.wanted&&s.alt.pressed==s.alt.wanted&&s.meta.pressed==s.meta.wanted){j(p);if(!c.propagate){p.cancelBubble=true;p.returnValue=false;if(p.stopPropagation){p.stopPropagation();p.preventDefault()}return false}}};this.all_shortcuts[g]={callback:d,target:f,event:c.type};if(f.addEventListener){f.addEventListener(c.type,d,false)}else{if(f.attachEvent){f.attachEvent("on"+c.type,d)}else{f["on"+c.type]=d}}},remove:function(c){c=c.toLowerCase();var f=this.all_shortcuts[c];delete (this.all_shortcuts[c]);if(!f){return}var a=f.event;var b=f.target;var d=f.callback;if(b.detachEvent){b.detachEvent("on"+a,d)}else{if(b.removeEventListener){b.removeEventListener(a,d,false)}else{b["on"+a]=false}}}};t61.shortcut.volume_up=function(){var c=0.1;var a=t61.volume.level;var b=Math.min(1,a+c);t61.volume.on_change(b)};t61.shortcut.volume_down=function(){var c=0.1;var a=t61.volume.level;var b=Math.max(0,a-c);t61.volume.on_change(b)};t61.shortcut.toggle_play=function(){if(t61.current_song){t61.song.toggle(t61.current_song.id,{from_user:true})}};t61.shortcut.init=function(){if(t61.shortcut.__initialized){return}t61.shortcut.add("left",t61.playlist.play_previous_song);t61.shortcut.add("right",t61.playlist.play_next_song);t61.shortcut.add("space",t61.shortcut.toggle_play);if(BrowserDetect.OS=="Mac"){t61.shortcut.add("+",t61.shortcut.volume_up,{keycode:107});t61.shortcut.add("-",t61.shortcut.volume_down,{keycode:109});t61.shortcut.add("=",t61.shortcut.volume_up,{keycode:61})}else{t61.shortcut.add("+",t61.shortcut.volume_up,{keycode:107});t61.shortcut.add("=",t61.shortcut.volume_up,{keycode:187});t61.shortcut.add("-",t61.shortcut.volume_down,{keycode:109});t61.shortcut.add("-",t61.shortcut.volume_down,{keycode:108});t61.shortcut.add("_",t61.shortcut.volume_down,{keycode:189})}t61.shortcut.add("r",t61.song.toggle_autorepeat,{keycode:82});t61.shortcut.__initialized=true};t61.shortcut.destroy=function(){for(var a in t61.shortcut.all_shortcuts){t61.shortcut.remove(a)}};if(!t61){var t61={}}t61.global_scope=this;t61.init=function(){if(!t61.context){setTimeout(t61.init,1000);return}var a=t61.init_common();if(!a){return}if(t61[t61.context.nav]&&t61[t61.context.nav].init){t61[t61.context.nav].init()}t61._initialized=true};t61.init_common=function(){t61.page.init();if(t61.page.redirecting){t61.splash.hide();return false}t61.background.init();t61.init_flash();t61.miniplayer.init();t61.playlist.init();t61.song.init();t61.shortcut.init();t61.song_panel.init();t61.fbconnect.init();t61.splash.init();t61.openmic.init();t61.navigation.init();return true};t61.init_flash=function(a){if(!a){a={tries:0}}var b=5;if(!t61.flashplayer){t61.flashplayer=$("flash_song_player")}if(t61.flashplayer){if(t61.flashplayer.init){t61.flashplayer.init()}else{setTimeout(function(){t61.init_flash()},500)}}else{if(a.tries>=b){}else{setTimeout(function(){t61.init_flash({tries:a.tries+1})},500)}}};t61.teardown=function(){t61.page.redirecting=null;t61.song.teardown();t61.album_collectibles.teardown();t61.openmic.teardown();t61.song_panel.reset();t61.menu.teardown();t61.album_collectibles.teardown()};t61.background={next_image_url:null,loading:false,init:function(){if(!this.__initialized){Event.observe(window,"resize",t61.background.sync_size);Event.observe("background_image","mousedown",function(b){return t61.util.stop_event_all(b)});Event.observe("background_image_next","mousedown",function(b){return t61.util.stop_event_all(b)});Event.observe("background_image_cache","abort",function(b){t61.background.cache_busy=false});Event.observe("background_image_cache","error",function(b){t61.background.cache_busy=false});$("background_image_cache").onload=function(b){t61.background.cache_busy=false};$("background_image_next").onload=function(b){t61.background.on_image_load($("background_image_next").getAttribute("src"))}}this.__initialized=true;var a=t61.background.counter;setTimeout(function(){if(t61.background.counter==a){t61.background.loading=false}},5000)},dimensions:{width:null,height:null},get_bg_img:function(){var a=t61.background.counter;if((a%2)==0){return $("background_image")}else{return $("background_image_next")}},get_bg_img_next:function(){var a=t61.background.counter;if((a%2)==1){return $("background_image")}else{return $("background_image_next")}},sync_size:function(c,p){if(!p){p={}}var q=(p.bg_img?p.bg_img:t61.background.get_bg_img());if(!q){return}var l=new Image();var d=q.getAttribute("src");if(!d){return}l.src=d;var b={width:l.width,height:l.height};var o=t61.util.get_viewport();var g=o.width*1/b.width;var n=o.height*1/b.height;var m,a,f;if((g>1)||(n>1)||((g<1)&&(n<1))){f=(g>n)?g:n}else{f=1}m=l.width*f;a=l.height*f;if(!m||!a){return}q.style.width=m+"px";q.style.height=a+"px";q.style.top=parseInt(0.25*(o.height-a))+"px";q.style.left=parseInt(0.5*(o.width-m))+"px";q.setOpacity(0.99);extra_bgs=$("page_content").getElementsByClassName("fill_background");for(var j=0;j<extra_bgs.length;j++){var h=$(extra_bgs[j]);h.style.height=o.height+"px"}if(t61.popup.filled){t61.popup.fill()}return{width:m,height:a}},is_busy:function(){if(this.counter==0){return false}if(this.loading){return true}if(Prototype.Browser.WebKit&&(document.readyState!="complete")){return true}if(!t61.is_initialized()){return}var a=t61.background.get_bg_img_next();return((a.style.left!="100%")&&(a.style.left!="-100%"))},load_image:function(a,b){if(!a){return}a=a.strip();if(!a){return}if(!b){b={}}this.direction=b.direction?b.direction:"next";this.next_image_url=a;this.transition_enabled=b.transition_enabled;if(this.direction=="stay"){this.transition_enabled=false}if(t61.background.is_busy()){setTimeout(function(){if(a==t61.background.next_image_url){t61.background.load_image(a,b)}},1000);return}var f=t61.background.get_bg_img_next();var d=this.get_bg_img();this.loading=true;f.src=a;var c=t61.background.counter;setTimeout(function(){if(t61.background.counter==c){t61.page.show_loader()}},500)},cache_busy:false,cache_image:function(a,b){if(!b){b=t61.background.counter}if(!a){return}a=a.strip();if(!a){return}setTimeout(function(){if(!t61.background.is_busy()&&!t61.background.cache_busy){if((b+1)==t61.background.counter){$("background_image_cache").src=a;t61.background.cache_busy=true}}else{t61.background.cache_image(a,b)}},1000)},slide_left:function(a,d,c,b){if(!b){b={}}b.onComplete=t61.background.get_reset_func(d,c,a);t61.background.sync_size(null,{bg_img:c});c.style.left="100%";t61.animation.slide_left([d,c],b);if(!t61.context.disable_page_wipes){if(b.duration>0){t61.page.wipe_left(b)}}},slide_right:function(a,d,c,b){if(!b){b={}}b.onComplete=t61.background.get_reset_func(d,c,a);t61.background.sync_size(null,{bg_img:c});c.style.left="-100%";t61.animation.slide_right([d,c],b);if(!t61.context.disable_page_wipes){if(b.duration>0){t61.page.wipe_right(b)}}},on_image_error:function(){t61.background.loading=false},on_image_load:function(a){Element.hide("ajax_loader");t61.background.loaded_once=true;t61.background.loading=false;if(t61.background.is_busy()){setTimeout(function(){t61.background.on_image_load(a)},1000);return}var d=t61.background.get_bg_img();var c=t61.background.get_bg_img_next();var b=1;if((!t61.background.transition_enabled)||(t61.background.counter==0)){b=0}if(t61.background.direction=="next"){t61.background.slide_left(a,d,c,{duration:b})}else{t61.background.slide_right(a,d,c,{duration:b})}t61.background.counter+=1;if(this.on_image_load_extras){this.on_image_load_extras()}this.on_image_load_extras=null},get_reset_func:function(c,b,a){return function(){if(Prototype.Browser.WebKit){var d=c.parentNode;c.onload=null;d.removeChild(c);var f=document.createElement("IMG");f.id=c.id;d.appendChild(f);c=f}else{c.removeAttribute("src");c.removeAttribute("width");c.removeAttribute("height")}c.style.left="100%";c.onload=function(){t61.background.on_image_load(a)};if(!c.onerror||!c.onabort){c.onerror=t61.background.on_image_error;c.onabort=t61.background.on_image_error}b.onload=null;t61.background.sync_size({bg_img:b})}},counter:0};t61.url_history={data:[],cur_position:-1,add:function(a){t61.url_history.cur_position+=1;t61.url_history.data[t61.url_history.cur_position]=a}};t61.user={heart_attempted_by_song_id:{},played_time_by_song_id:{},num_times_hearted:{},_last_keep_alive:null,load_settings:function(){var a=t61.page.get_current_url();t61.load_url("/settings/",{emulate_nonajax:true,parameters:{back_url:a}})},keep_alive:function(){var a=new Date();var b=30*60*1000;if((t61.user._last_keep_alive==null)||((a-t61.user._last_keep_alive)>b)){new Ajax.Request("/user/subscribe_to_radio_playlist/",{method:"post",parameters:{url:"/hot/all"},hideLoader:true});t61.user._last_keep_alive=a}},logout:function(){new Ajax.Request("/user/logout/")},forgot_password:function(){new Ajax.Request("/user/forgot_password/")},on_login_click:function(){if($("login_popup").style.display=="none"){t61.popup.show_login({from_user:true})}else{t61.popup.hide_login({from_user:true})}},check_for_login_award:function(){if(t61.user._just_logged_in){new Ajax.Request("/user/post_login/")}},start_login:function(b,a){new Ajax.Request("/user/get_salt/"+b+"/",{onSuccess:function(g){if(g.responseText!=""){var c=g.responseText.split(",");var f=c[0];var d=c[1];t61.user.do_encrypted_login(f,d,b,a)}else{t61.notice.error("The e-mail or username was not found, please try again.");Element.hide("ajax_loader")}}})},do_encrypted_login:function(f,d,b,c){var a=hex_sha1(d+hex_sha1(f+c));if(t61.flashplayer&&t61.flashplayer.encrypted_login){t61.flashplayer.encrypted_login(b,a)}else{new Ajax.Request("/user/login/",{parameters:{email:b,hashed_password:a}})}},reset:function(){t61.user.num_times_hearted={};t61.my_username=null;t61.user.played_time_by_song_id={};t61.user.heart_attempted_by_song_id={};t61.hearts._completely_loaded=false;t61.is_artist=false;t61.is_label=false;t61.is_listener=true},toggle_register_form:function(a){if(a=="artist"){Element.show("register_form_artist_field")}else{Element.show("register_form_label_field")}Element.hide("register_form_signup_type_field");Element.show("register_form_artist_warning");Element.hide("register_popup_form");Element.hide("listener_username_label");Element.show("artist_username_label");t61.user._register_form_toggled=true},handle_login:function(){t61.song_panel.handle_login();Element.show("avatarbar_wrapper");t61.popup.hide_login();t61.popup.hide();t61.navigation.init()},handle_logout:function(){t61.song_panel.handle_logout();Element.hide("avatarbar_wrapper");this.reset()},_just_logged_in:false};t61.plays={increment:function(){t61.plays.update(t61.plays.cur_plays+1)},update:function(a){t61.plays.cur_plays=a;if($("user_play_count")){$("user_play_count").update(a)}}};t61.recommendations={};t61.get_property=function(a){return t61[a]};t61.is_initialized=function(a){var b=t61._initialized&&t61.flashplayer&&t61.flashfileio&&t61.flashplayer.play_song&&!t61.splash.is_active();return b};t61.ensure_init=function(b,a){if(!a){a={}}setTimeout(function(){if(t61.is_initialized()){if(a.require_fb){FB.ensureInit(b)}else{b()}}else{t61.ensure_init(b,a)}},100)};t61.page={_active:true,keep_active:function(){if(t61.page._active_check_interval){clearInterval(t61.page._active_check_interval)}t61.page._active_check_interval=setInterval(t61.page.set_inactive.bind(t61.page),3600000);t61.page._active=true},set_inactive:function(){this._active=false},is_active:function(){return this._active},sync_hash_with_context:function(){var a=t61.context.base_url;if(t61.context.page){a+="/"+t61.context.page+"/"}else{a+="/"}window.location.hash=a;t61.page.set_ajax_url(a)},get_site_url:function(){if(this.site_url){return this.site_url}var a=window.location.protocol+"//"+window.location.host;if(window.location.port){a+=":"+window.location.port}this.site_url=a;return a},load_into_previous:function(){var b=0;var a=$("accordion_content_"+t61.context.subnav);if(a){b=a.scrollTop}t61.dom.move_children("page_content","page_content_previous");Element.show("page_content_previous");a=$("accordion_content_"+t61.context.subnav);if(a){a.scrollTop=b}$("page_content_previous").style.marginLeft="0px";$("page_content").style.marginLeft="100%"},restore_from_previous:function(){t61.dom.move_children("page_content_previous","page_content");Element.show("page_content")},hash_url:function(){var a=window.location.href;var c=a.indexOf("#");var b;if(c!=-1){b=a.substr(c+1)}else{b=null}if(b){b=b.replace(t61.page.get_site_url(),"")}return b},original_url:function(){var a=window.location.href.substr(0);var b=a.indexOf("#");var c;if(b!=-1){c=a.substr(0,b)}else{c=a}c=c.replace(t61.page.get_site_url(),"");return c},init:function(){this.process_links();if(!this._back_button_checker_started){this.back_button_check();this._back_button_checker_started=true}if(!this.from_ajax()){var b=this.hash_url();var a=this.original_url();if(b&&(a!=b)){t61.page.load_url(b,{emulate_nonajax:false,parameters:{redirecting:true}});t61.page.redirecting=true;return}if(t61.url_history.data.length==0){t61.url_history.add(this.get_current_url())}}if(!this.__initialized){Event.observe(window,"mousemove",this.keep_active.bind(this));Event.observe(window,"focus",this.keep_active.bind(this))}scroll(0,0);if($("static_list_link")){Element.hide("static_list_link");$("static_info_link").style.paddingRight="5px"}this.__initialized=true},from_ajax:function(){return(this._followed_ajax_link||t61._initialized)},show_loader:function(c){if(!c){c={}}var a;if(!c.load_text){var d=["wondering","thinking","pondering","debating","speculating","introspecting","dreaming","contemplating"];var b=Math.floor(Math.random()*d.length);a=d[b]}else{a=c.load_text}$("ajax_loader_content").update(a);Element.show("ajax_loader")},cleanup_links:function(c){if(!c){c=document}else{c=$(c)}var a=c.getElementsByTagName("a");for(var b=0;b<a.length;b++){a[b].onclick=null}},replace_html:function(a,b){if($(a)){this.cleanup_links(a);$(a).update(b);this.process_links(a)}},add_html:function(a,b){if($(a)){this.cleanup_links(a);$(a).innerHTML+=b;this.process_links(a)}},process_links:function(d){if(!d){d=document}else{d=$(d)}var a=d.getElementsByTagName("a");for(var c=0;c<a.length;c++){var g=a[c];var b=g.getAttribute("href");if(g.getAttribute("graceful")&&b[0]!="#"&&!g.onclick){var f={};if(this.get_protocol(b)==window.location.protocol){b=b.replace(/http(s*)\:\/\/\w+\.thesixtyone\.com(\:\d+)*/,"")}if(g.getAttribute("from_user")){f.from_user=true}g.setAttribute("href","#"+b);g.onclick=this.get_link_onclick(b,f)}}},load_url:function(b,c){if(!c){c={}}t61.util.apply_defaults(c,{emulate_nonajax:false,parameters:{}});var f="?";if(b&&b.indexOf("?")!=-1){f="&"}if(t61.page.get_protocol(b)!=window.location.protocol){c.force_refresh=true}var a=b;if(t61.playlist.current&&((t61.playlist.current.base_url+"/").indexOf(b)>-1)&&(t61.playlist.current.page>1)&&(b!="/")){a=b+t61.playlist.current.page+"/"}if(c.force_refresh){var g={force_refresh:true};if(t61.current_song&&t61.current_song.playing){t61.util.apply_defaults(g,t61.song.get_continuation_params())}b+=f+Hash.toQueryString(g);window.location.href=b;return}else{t61.page.set_ajax_url(b);var d=c.parameters;d.prev_nav=t61.context.nav;d.prev_subnav=t61.context.subnav;d.prev_username=t61.context?t61.context.viewed_username:"";d.back_url=t61.page.get_current_url();new Ajax.Request(a,{evalScripts:true,method:"post",parameters:d});t61._loading_page=true;t61.prev_context=t61.context;if(!c.skip_history){t61.url_history.add(b)}}if(window.location.hash&&!c.from_click){window.location.hash=b}},different_than_previous:function(){if(t61.prev_context){return(t61.prev_context.base_url!=t61.context.base_url)}else{return true}},get_link_onclick:function(a,b){if(!b){b={}}return function(c){t61.util.stop_event(c);try{t61.page.load_url(a,{force_ajax:true,emulate_nonajax:true,from_click:true,parameters:b})}catch(d){}return true}.bind(this)},get_protocol:function(c){var b=c.substr(0,5);if(b=="http:"){return"http:"}if(b=="https"){return"https:"}return window.location.protocol},set_ajax_url:function(a){this._followed_ajax_link=true;this.current_ajax_url=this.process_url(a);t61.analytics.track_pageview()},process_url:function(a){return a.replace(/\s/g,"%20").replace(this.get_site_url(),"")},back_button_check:function(){var g=this.hash_url();var d=this.original_url();var b=null;var a=200;var c=this.current_ajax_url;if(c){if(g&&(g!=c)&&(escape(g)!=c)){b=g}else{if((!g)&&d&&((c!=d)&&(c!=escape(d)))){b=d}}}var f=$("ajax_loader").style.display=="none";if(b&&f){t61.page.load_url(b,{force_ajax:true,emulate_nonajax:true});if(this.get_protocol(b)!=window.location.protocol){return}}setTimeout(this.back_button_check.bind(this),a)},get_current_url:function(){var a=this.hash_url();if(!a){a=this.original_url()}return a},wipe_left:function(a){this.wipe(-1,a)},wipe_right:function(a){this.wipe(1,a)},wipe:function(d,a){if(!a){a={}}t61.util.apply_defaults(a,{duration:1});duration=a.duration;if($("page_content_previous").childNodes.length==0){this.load_into_previous()}var b=t61.util.get_viewport().width;var c=d*b;$("page_content_previous").style.marginLeft="0px";$("page_content").style.marginLeft=c*-1+"px";Element.show("page_content");Element.show("page_content_previous");new Effect.Morph("page_content_previous",{style:{marginLeft:c+"px"},duration:duration,afterFinishInternal:function(){if($("page_content").childNodes.length==0){t61.page.restore_from_previous()}else{$("page_content_previous").update("")}Element.hide("page_content_previous");if($("song_presentation")){t61.presentation.reset()}if(a.onComplete){a.onComplete()}if(t61.popup.shown&&!t61.popup.background_shown){setTimeout(t61.popup.fade_background,1)}if(t61.context.nav=="song"){t61.song.init()}}});new Effect.Morph("page_content",{style:{marginLeft:"0px"},duration:duration})},refresh:function(){var b=t61.page.get_current_url();if(b!=null){var a=b;t61.page.load_url(a,{force_ajax:true,emulate_nonajax:true})}},handle_flash_embed:function(a){if(!a.success){Element.show("flash_install_message")}}};t61.analytics={track_pageview:function(){var a=t61.page.get_site_url()+t61.page.get_current_url();var b=t61.page.get_site_url()+t61.url_history.data[t61.url_history.cur_position-1];if(t61.global_scope._qpixelsent&&t61.global_scope.quantserve){_qpixelsent=null;t61.analytics.quantserve(a,b)}if(t61.global_scope.pageTracker){pageTracker._trackPageview(a)}},quantserve:function(f,g){f=_qceuc(f);g=_qceuc(g);var m=_qcrnd();var n="",b="",c="",f="",g="",t="u",w="1",h="webpage",p="load";if(typeof _qoptions!="undefined"&&_qoptions!=null){for(var o in _qoptions){if(typeof(_qoptions[o])!="string"){continue}if(o=="qacct"){_qacct=_qoptions[o]}else{b+=";"+o+"="+_qceuc(_qoptions[o])}if(o=="media"){h=_qoptions[o]}if(o=="event"){p=_qoptions[o]}}_qoptions=null}if((typeof _qacct=="undefined")||(_qacct.length==0)){return}if(h=="webpage"&&p=="load"){if((typeof _qpixelsent!="undefined")&&(_qpixelsent==_qacct)){return}_qpixelsent=_qacct}var l=(navigator.cookieEnabled)?"1":"0";if(typeof navigator.javaEnabled!="undefined"){t=(navigator.javaEnabled())?"1":"0"}if(typeof _qmeta!="undefined"&&_qmeta!=null){c=";m="+_qceuc(_qmeta);_qmeta=null}if(self.screen){n=screen.width+"x"+screen.height+"x"+screen.colorDepth}var s=new Date();var v=_qcdst();var u="1196292207-45087610-65760369";var q="E4151-W-MO-5";var a="http://pixel.quantserve.com";var j=_qcsc(u,h);if(self==top){w="0"}_qimg=new Image();_qimg.alt="";_qimg.src=a+"/pixel;r="+m+j+";ns="+w+";url="+f+";ref="+g+";ce="+l+";je="+t+";sr="+n+";dc="+u+";dg="+q+";dst="+v+";et="+s.getTime()+";tzo="+s.getTimezoneOffset()+";a="+_qacct+b+c;_qimg.onload=function(){_qpxload()}}};t61.load_url=t61.page.load_url;t61.popup={id:0,show_download_button:function(){t61.flashfileio.init();$("flash_file_io").style.top="50%";$("flash_file_io").style.marginTop="85px";$("flash_file_io").style.marginLeft="21px"},hide_download_button:function(){if($("flash_file_io")){$("flash_file_io").style.marginTop="-10000px"}},fill:function(){$("popup").addClassName("popup_fill");$("popup_background").addClassName("popup_background_fill");vp=t61.util.get_viewport();this.set_dimensions(vp.width+2,vp.height);$("popup_background").setOpacity(0.85);this.filled=true;Element.hide("popup_close");t61.navigation.hide_buttons()},unfill:function(){$("popup").removeClassName("popup_fill");$("popup_background").setOpacity(0.95);$("popup_background").removeClassName("popup_background_fill");this.filled=false},set_dimensions:function(a,f){var c=[$("popup"),$("popup_background")];for(var b=0;b<c.length;b++){var d=c[b];d.style.width=a+"px";d.style.height=f+"px";d.style.marginTop=-0.5*f+"px";d.style.marginLeft=-0.5*a+"px"}$("popup_close").style.marginTop=(-0.5*f-4)+"px";$("popup_close").style.marginLeft=(0.5*a-9)+"px";this.width=a;this.height=f;this.position_submit_button()},position_submit_button:function(a){if(!a){a=$("popup")}else{a=$(a)}var c=a.getElementsByClassName("submit_button");if(c.length>0){var b=c[0];if(b.hasClassName("relative_button")){return}var d=a.getDimensions();b.style.marginTop=(0.5*d.height-30)+"px";b.style.marginLeft=(0.5*d.width-90)+"px"}},setup:function(){t61.popup.on_hide=function(){};$("popup_content").style.width="";this.unfill();$("popup").removeClassName("popup_white");$("popup").removeClassName("popup_gray")},expire:function(b){var a=t61.popup.id;setTimeout(function(){if(a==t61.popup.id){t61.popup.hide({from_user:true})}},b*1000)},elements:["popup","popup_close","popup_background"],show:function(b){if(!b){b={}}t61.util.apply_defaults(b,{fade_background:true});var c=b.width||380;var d=b.height||220;t61.popup.set_dimensions(c,d);for(var a=0;a<t61.popup.elements.length;a++){Element.show(t61.popup.elements[a])}t61.popup.setup();t61.popup.id+=1;if($("login_popup").style.display==""){t61.popup.hide_login({show_background:false})}if(b.on_hide){t61.popup.on_hide=b.on_hide}t61.popup.current_name=b.name;if(b.fade_background){this.fade_background()}else{this.background_shown=true}this.shown=true;if(b.fill){t61.popup.fill()}if(b.white){$("popup").addClassName("popup_white")}if(b.gray){$("popup").addClassName("popup_gray")}if(b.popup_content_width){$("popup_content").style.width=b.popup_content_width+"px"}scroll(0,0)},fade_background:function(){if($("page_content").style.display==""){setTimeout(function(){if(t61.popup.shown){Effect.Fade("page_content",{duration:0.3})}},1)}Element.hide("song_panel_wrapper");Element.hide("adventure_slider");this.background_shown=false},show_background:function(){if($("page_content").style.display=="none"){setTimeout(function(){if(!t61.popup.shown){Effect.Appear("page_content",{duration:0.3})}},1)}Element.show("song_panel_wrapper");if(t61.context.subnav=="openmic"){Element.show("adventure_slider")}},hide:function(b){if(!b){b={}}if(b.show_background==null){b.show_background=true}if(BrowserDetect.browser=="Opera"){if(t61.flashfileio._in_progress){if(b.from_user){t61.notice.create("Please wait until the download finishes.")}return}}for(var a=0;a<t61.popup.elements.length;a++){if(b.fade_out){Effect.Fade($(t61.popup.elements[a]))}else{Element.hide(t61.popup.elements[a])}}t61.popup.current_name=null;if(b.show_background){this.show_background()}this.shown=false;if(t61.popup.on_hide){t61.popup.on_hide()}this.unfill();this.hide_download_button()},hide_login:function(a){if(!a){a={}}if(a.show_background==null){a.show_background=true}Element.hide("login_popup_background");Element.hide("login_popup");Element.hide("login_popup_close");if(a.show_background){t61.popup.show_background()}this.shown=false;if(t61.popup.on_hide){t61.popup.on_hide()}},show_login:function(a){if(!a){a={}}Element.show("login_popup_background");Element.show("login_popup");Element.show("login_popup_close");if($("popup").style.display==""){t61.popup.hide({show_background:false})}this.position_submit_button("login_popup");t61.popup.fade_background();try{if($("id_login_email").value==""){$("id_login_email").focus()}else{$("id_login_password").focus()}}catch(b){}this.shown=true;t61.popup.on_hide=a.on_hide}};t61.quests={log_opened:false,update_count:function(a){$("current_quest_count").update(a)},open_log:function(){new Ajax.Request("/quest/list/");this.log_opened=true},pulsate_quest_count:function(){}};t61.video={embed:function(a,b){swfobject.embedSWF("http://www.youtube.com/v/"+a+"&autoplay=0&fs=1",b,"390","335","8",null,null,{wmode:"transparent",allowFullScreen:"true"})}};t61.form={submit:function(b,a){new Ajax.Request(a,{parameters:Form.serialize(b),load_text:"saving"})}};t61.request={previous_url:null,previous_request_date:null,record:function(a){this.previous_url=a;this.previous_request_date=new Date()},min_request_age:2000,is_redundant:function(a){if(this.previous_request_date&&(a==this.previous_url)){return((new Date()-this.previous_request_date)<this.min_request_age)}}};t61.splash={is_active:function(){if(this.active==false){return this.active}var a=$("intro_splash").getStyle("marginLeft");if((a=="0px")&&($("intro_splash").style.display!="none")){return true}return false},hide:function(){this.active=false;new Effect.Morph("intro_splash",{style:{left:"-100%"},duration:0.5,afterFinishInternal:function(){Element.hide("intro_splash")}});if(t61.current_song){t61.ensure_init(function(){t61.current_song.play({from_user:true})})}},init:function(){}};t61.flashfileio={_initialized:false,_in_progress:false,init:function(){if(!t61.flashfileio._initialized){swf_url=t61.media_url+"/site_media/swf/file_io.v"+t61.revision+".swf";swfobject.embedSWF(swf_url,"flash_file_io_content","80","40","9.0.0",null,{},{allowscriptaccess:true},{id:"flash_file_io",name:"flash_file_io"});t61.flashfileio._initialized=true}},download_purchased_album:function(c,b,a){if(t61.flashfileio._in_progress){t61.notice.create("You can only download one file at a time.");t61.popup.hide();return}t61.flashfileio.init();t61.flashfileio.song=null;t61.flashfileio.onload(function(){$("flash_file_io").set_django_env(t61.environment);$("flash_file_io").load_url_for_purchased_album(c,a);$("flash_file_io").set_filename(b+".zip")})},download_purchased_song:function(a){if(t61.flashfileio._in_progress){t61.notice.create("You can only download one file at a time.");t61.popup.hide();return}t61.flashfileio.init();var b=t61.song.get_by_id(a);t61.flashfileio.song=b;t61.flashfileio.onload(function(){$("flash_file_io").set_django_env(t61.environment);$("flash_file_io").load_url_for_purchased_song(b.id);$("flash_file_io").set_filename(b.get_filename())})},download:function(a){if(t61.flashfileio._in_progress){t61.notice.create("You can only download one file at a time.");t61.popup.hide();return}t61.flashfileio.init();var b=t61.song.get_by_id(a);t61.flashfileio.song=b;t61.flashfileio.onload(function(){$("flash_file_io").set_django_env(t61.environment);$("flash_file_io").set_download_url(b.data.key,b.data.audio_server,b.id);$("flash_file_io").set_filename(b.get_filename())})},onload:function(a){if($("flash_file_io")&&$("flash_file_io").set_django_env){a()}else{setTimeout(function(){t61.flashfileio.onload(a)},100)}},complete_handler:function(){t61.flashfileio._in_progress=false;$("progress_label").update("completed");setTimeout(t61.flashfileio.hide_progress,51);setTimeout(function(){t61.flashfileio.progress_handler(1,1)},100);t61.popup.hide();if(t61.flashfileio._buy_album_id){new Ajax.Request("/purchases/show_completion/"+t61.flashfileio._buy_album_id+"/");t61.flashfileio._buy_album_id=null}else{if(t61.flashfileio._buy_song_id){new Ajax.Request("/purchases/show_completion/song/"+t61.flashfileio._buy_song_id+"/");t61.flashfileio._buy_song_id=null}}},progress_handler:function(a,c){if(t61.flashfileio._animation_in_progress){setTimeout(function(){t61.flashfileio.progress_handler()},50);return}var b=parseInt(a/c*198);b=b-(b%14);new Effect.Morph("progress_bar",{style:{width:b+"px"},duration:0.05,afterFinishInternal:function(){t61.flashfileio._animation_in_progress=false}});t61.flashfileio._animation_in_progress=true},select_handler:function(){t61.flashfileio._in_progress=true;t61.flashfileio.show_progress();t61.popup.hide();$("progress_label").update("downloading");$("progress_bar").style.width="0px"},error_handler:function(a){t61.popup.hide();t61.notice.create("error: "+a);t61.flashfileio._in_progress=false;t61.flashfileio.hide_progress()},show_progress:function(){new Effect.Morph("progress_floater",{style:{marginTop:"-32px"},duration:0.5})},hide_progress:function(){new Effect.Morph("progress_floater",{style:{marginTop:"0px"},duration:0.5})}};t61.song={destroy:function(a){var b="Deleting a song will cause listeners to lose the points they gained from hearting the removed track. If you want to re-upload a song you can do so through the 'edit' link on the player. Do you still want to delete this song?";if(confirm(b)){new Ajax.Request("/song/destroy/"+a+"/")}},stop:function(){t61.flashplayer.pause_song();this.set_not_playing();t61.miniplayer.handle_pause()},handle_play:function(){t61.miniplayer.handle_play();setTimeout(function(){t61.song_panel.expand({duration:8000})},1250);t61.current_song.played=true},download:function(a){if(t61.is_logged_in){new Ajax.Request("/song/download_popup/"+a+"/")}else{t61.popup.show_login()}},buy:function(){if(!t61.current_song){return}var a=t61.current_song.id;if(!t61.current_song.is_downloadable()){t61.notice.create("Sorry, song is not available for download.");return}if(t61.flashfileio._in_progress){t61.notice.create("Please wait until the download completes.");return}new Ajax.Request("/purchases/buy_song_popup/"+a+"/")},_autorepeat_on:false,toggle_autorepeat:function(){this._autorepeat_on=!this._autorepeat_on;var a="off";if(this._autorepeat_on){a="on"}t61.notice.create("Auto-repeat is "+a+".");t61.miniplayer.sync_icons()},handle_song_complete:function(){t61.current_song.playing=false;if(this._autorepeat_on){t61.flashplayer.reset_song();t61.current_song.play();return}t61.playlist.play_next_song()},set_not_playing:function(){t61.current_song.reset();document.title=t61.page_title;if(t61._playback_interval){clearInterval(t61._playback_interval);t61._playback_interval=null}},playback_refresh_interval:200,get_continuation_params:function(){var b;if(!t61.playlist.current){return{}}if(!t61.playlist.current.base_url||t61.playlist.current.shuffled){b={cur_song_id:t61.current_song.id,cur_song_progress:t61.current_song.progress}}else{var a=2000;b={base_url:t61.playlist.current.base_url,per_page:t61.playlist.current.per_page,page:t61.playlist.current.page,song_position:t61.playlist.get_song_position(t61.current_song.id),cur_song_progress:t61.current_song.progress+a};if(t61.playlist.current.shuffled){b.shuffled=true}}return b},_songs:{},_playback_interval:null,get_by_id:function(a){return this._songs[a]},store:function(a){this._songs[a.id]=a},get_by_position:function(a){if(!this.data){this.data={by_id:{},id_by_position:[]}}return this.get_by_id(this.data.id_by_position[a])},init:function(b){if(!b){b={}}var d=this._songs;var f;if(!this.data){this.data={by_id:{},id_by_position:[]}}if(!b.data){f=this.data}else{f=b.data}var c=[];for(var h in f.by_id){var g=this.get_by_id(h);var a=f.by_id[h];if(!g){g=new t61.Song(a);this.store(g)}else{g.refresh();if(this.is_current(g)){g.select()}g.load_data(a)}g.visible=true;if(t61.is_logged_in&&(t61.is_listener)&&(!t61.hearts._completely_loaded)&&(t61.user.num_times_hearted[h]==null)){c.push(h);t61.user.num_times_hearted[h]=0}}if(c.length>0){new Ajax.Request("/heart/load_num_times_hearted/",{parameters:"song_ids="+c,redundant_proof:true})}for(var h in d){var g=d[h];if(!g.visible&&!t61.playlist.is_song_id_active(h)&&!this.is_current(g)){g.destroy();delete (d[h])}}},is_current:function(a){return(t61.current_song&&t61.current_song.id==a.id)},sync_title:function(b){var a=t61.current_song.data.name+" - "+t61.current_song.data.artist;if(b){a="("+b+") "+a}document.title=a},set_current:function(c,a){if(!a){a={}}if(this.is_current(c)){return}if(t61.current_song&&!this.is_current(c)&&t61.current_song.visible){t61.current_song.reset()}if(!c){return}t61.current_song=c;var d=t61.util.get_time_text(c.data.play_time*1000);this.sync_title(d);t61.song_panel.sync_song(c);var b=false;if($("comments_post")&&($("comments_post").value.length>1)){b=true}if((t61.popup.current_name=="song_comments")&&!b){this.list_comments()}c.select()},toggle:function(c,a){if(!a){a={}}var b=this.get_by_id(c);if(b){if(t61.current_song&&(t61.current_song.id==c)&&t61.current_song.playing){b.pause(a)}else{t61.song.play(c,a)}}t61.mousehover_panel.hide()},play:function(c,a){var b=this.get_by_id(c);if(b){b.play(a)}},get_song_link:function(g,c){if(!c){c={}}t61.util.apply_defaults({css_class:"hoverable",limit:25});var b,d;var a=t61.current_song.data.name.truncate(c.limit);var f=t61.util.get_safe_name(g.data.name);if(c.upper_case){f=f.toUpperCase();a=a.toUpperCase()}b="/s/"+g.id+"/";d=t61.util.link_to_remote(a,b,c.css_class,f);return{html:d,url:b}},receive_playback_state:function(b,j,f,d,a){var c=this.playback_refresh_interval/1000;var g=t61.current_song.data.play_time*1000;t61.current_song.loaded_duration=d;this.update_progress(f,g);t61.current_song.progress=f;var h=t61.current_song.id;if(t61.user.played_time_by_song_id[h]){t61.user.played_time_by_song_id[h]+=c}else{t61.user.played_time_by_song_id[h]=c}if(t61.user.heart_attempted_by_song_id[h]&&(t61.user.played_time_by_song_id[h]>60)){t61.user.heart_attempted_by_song_id[h]=false;t61.notice.create('You may heart "'+t61.current_song.data.name+'" now.')}if(t61.flashfileio.song&&t61.current_song&&(t61.flashfileio.song.id==t61.current_song.id)&&t61.current_song.data.downloadable_flag){t61.flashfileio.progress_handler(b,j)}},update_progress:function(a,b){var d=t61.current_song.data.play_time*1000-a;var f=t61.util.get_time_text(d);t61.song.sync_title(f);var c=$("song_player_progress_time_"+t61.current_song.id);if(c){c.update(f)}},set_song_position:function(a){if(!t61.current_song.playing){return}var b=a*t61.current_song.data.play_time*1000;if(b>t61.current_song.loaded_duration){b=t61.current_song.loaded_duration}t61.flashplayer.set_song_position(b)},reset_song_position:function(){t61.flashplayer.set_song_position(0)},list_comments:function(a){if(!a){a={}}a.real_url=true;this.make_popup_request("song_comments","/song/comments/list/",a)},share:function(a){this.make_popup_request("song_share","/song/share/",a)},make_popup_request:function(c,d,b){if(!b){b={}}if(!t61.current_song){return}if(($("popup").style.display=="")&&(t61.popup.current_name==c)&&b.from_user){t61.popup.hide({from_user:true});return}var a=d+t61.current_song.id+"/";if(b.real_url){t61.load_url(a,{emulate_nonajax:true})}else{new Ajax.Request(a)}},on_hide_comments:function(){t61.song._listing_comments=false},teardown:function(a){if(!a){a={}}var b=t61.song._songs;if(a.preserve_current_song&&t61.current_song&&t61.current_song.playing){delete (b[t61.current_song.id])}for(var d in b){b[d].visible=false}if(t61.song.data){for(var d in t61.song.data.by_id){var c=t61.song.get_by_id(d);if(c){c.destroy()}}}if(a.preserve_current_song&&t61.current_song&&t61.current_song.playing){b[t61.current_song.id]=t61.current_song}}};t61.playlist={queue_listen:function(b,a){if(!t61.is_logged_in||!t61.is_listener){return}if(a.indexOf("/"+t61.user.username+"/")!=-1){return}setTimeout(function(){if(!t61.is_logged_in||!t61.is_listener){return}if(t61.playlist.current.base_url==a){new Ajax.Request("/listener/profile/playlist/record_listen/"+b+"/")}},120000)},destroy:function(b,a){if(confirm("Are you sure you want to delete this playlist?")){new Ajax.Request("/listener/"+t61.user.username+"/playlist/destroy/"+b+"/"+a+"/")}},is_drilldown_synced:function(){if(!t61.current_song){return false}return(t61.current_song.id==t61.context.goto_song_id)},init_sort:function(a){this.sortable=Sortable.create("playlist_items_edit_"+a,{tag:"li",onUpdate:function(){t61.playlist.reorder(a)}})},cleanup_sort:function(a){Sortable.destroy("playlist_items_edit_"+a);this.sortable=null;if(t61.context.tab=="show"){new Ajax.Request("/listener/profile/playlist/show/"+a+"/")}},reorder:function(a){var c=Sortable.serialize("playlist_items_edit_"+a);var b=c.split("playlist_items_edit_"+a+"[]=")+"";b=b.replace(/\&/g,"");b=b.replace(",","");new Ajax.Request("/listener/"+t61.context.viewed_username+"/playlist/reorder/"+a+"/",{parameters:"ordering="+b,load_text:"saving..."})},add:function(a){if(t61.playlist.song_to_add==t61.current_song){if($("playlist_adder").style.display!="none"){t61.miniplayer.hide_adder();return}}t61.playlist.song_to_add=a;if(t61.is_logged_in){t61.miniplayer.show_adder();$("playlist_adder_content").update("Loading...");new Ajax.Request("/listener/"+t61.user.username+"/playlist/show_adder/"+a.id+"/")}else{t61.popup.show_login({from_user:true});t61.notice.create("You must login to add songs to playlist.")}},enter_drilldown:function(b,a){if(this.is_drilldown_synced()){return}setTimeout(function(){if(!t61.song.is_current(b)){return}if(!a){a={}}t61.util.apply_defaults(a,{transition_enabled:true});var d=a.transition_enabled;var c="/"+b.data.artist_username+"/song/"+b.id+"/";t61.load_url(c,{emulate_nonajax:true,parameters:{direction:a.direction,transition_enabled:d}})},250)},return_to:function(b){if(!b){b={}}if(t61.playlist.current){t61.util.apply_defaults(b,{page:t61.playlist.current.page});var a=t61.playlist.current.base_url+"/";if(b.page){a+=b.page+"/"}t61.load_url(a,{emulate_nonajax:true,transition_enabled:false})}},load:function(c,j){if(!j){j={}}var f=t61.playlist.current;var l=j.base_url||t61.context.base_url;var h=j.page||t61.context.page;var a=j.per_page||t61.context.per_page;var g=j.shuffled||t61.context.shuffled;t61.playlist.current={id_by_position:c.id_by_position,by_id:c.by_id,base_url:l,page:h,per_page:a,shuffled:g};if(!t61._play_tallied){var b=$("num_currently_listening");if(b){var d=parseInt(b.innerHTML);b.update(d+1);t61._play_tallied=true}}},unload:function(){t61.playlist.current={}},current:{},history:{},is_song_id_active:function(a){if(t61.playlist.is_active()){return(t61.playlist.current.by_id[a]!=null)}else{return false}},handle_complete:function(){if(t61.context.presentation_mode_enabled&&(this.current.base_url==t61.context.base_url)){setTimeout(function(){t61.load_url(t61.context.base_url+"/",{emulate_nonajax:true})},800)}},play_song_by_position:function(j,c){if(!j){j=0}if(!c){c={}}if(c.transition_enabled==null){c.transition_enabled=true}var g=t61.playlist.current;var f=g.id_by_position[j];var h=t61.song.get_by_id(f);if(!h&&(f!=null)){var b=g.by_id[f];h=new t61.Song(b);t61.song.store(h)}if(h){if(t61.current_song&&!t61.current_song.visible){t61.current_song.destroy()}h.play({in_playlist:true,direction:c.direction,transition_enabled:c.transition_enabled})}else{if(t61.current_song&&t61.current_song.playing){t61.current_song.stop();t61.playlist.handle_complete()}}var d=g.id_by_position[j+1];var a=g.by_id[d];if(a){t61.background.cache_image(a.background_photo_base_url+"_desktop")}},get_song_position:function(a){return t61.playlist.current.id_by_position.indexOf(a)},has_next:function(){if(!t61.current_song){return}var a=this.get_song_position(t61.current_song.id);var b=this.current.id_by_position[a+1];return(b!=null)},play_next_page:function(){var c=t61.playlist.current;var b=parseInt(c.page)+1;var a=c.base_url+"/"+b+"/";if(c.base_url==t61.context.base_url){window.location.hash=a;t61.page.set_ajax_url(a)}new Ajax.Request(a+"?playlist_js")},play_next_song:function(){if(t61.current_song){if(!t61.page.is_active()){this.set_not_playing();return}var b=t61.playlist.current;var a=t61.playlist.get_song_position(t61.current_song.id);if(b.per_page&&(a>=(b.per_page-1))){t61.playlist.play_next_page()}else{if(t61.playlist.has_next()){t61.playlist.play_song_by_position(a+1,{direction:"next",transition_enabled:true})}else{t61.playlist.return_to({page:1})}}}},play_previous_page:function(){var c=t61.playlist.current;var a=parseInt(c.page)-1;var d=(parseInt(c.per_page)-1);var b=c.base_url+"/"+a+"/";if(c.base_url==t61.context.base_url){window.location.hash=b;t61.page.set_ajax_url(b)}new Ajax.Request(b+"?playlist_js&song_position="+d)},play_previous_song:function(){if(t61.current_song){var b=t61.playlist.current;var a=b.id_by_position.indexOf(t61.current_song.id);if((b.page>1)&&(a<=0)){t61.playlist.play_previous_page()}else{if(a>0){t61.playlist.play_song_by_position(a-1,{direction:"previous",transition_enabled:true})}else{t61.playlist.return_to()}}}},is_active:function(){var a=t61.playlist.current;return((a.by_id!=null)&&((t61.context.base_url!=a.base_url)||(t61.context.page!=a.page))||(t61.context.presentation_mode_enabled)||(t61.context.drilldown_mode_enabled))},play_song_data:function(a){if(!a){a={}}t61.util.apply_defaults(a,{transition_enabled:false});t61.playlist.load(t61.song.data,t61.context);var b=0;if(t61.context.goto_song_id){t61.ensure_init(function(){var c=t61.song.data.by_id[t61.context.goto_song_id];if(c){b=c.position}var d=t61.song.get_by_position(b);if(d){d.play()}});return}b=0;if(t61.context.playlist_start_position){b=t61.context.playlist_start_position}t61.playlist.play_song_by_position(b,a)},init:function(){if(t61.context.presentation_mode_enabled||t61.context.drilldown_mode_enabled){if(t61.current_song&&t61.playlist.current&&(t61.playlist.current.page==t61.context.page)&&(t61.playlist.current.base_url==t61.context.base_url)){if(t61.song.data.by_id[t61.current_song.id]){t61.context.goto_song_id=t61.current_song.id}}var a={transition_enabled:t61.context.transition_enabled};if(!t61.context.skip_play_song_data){if(t61.song.data){this.play_song_data(a)}}}if(!t61.current_song||!t61.current_song.playing){this.check_for_autoplay()}},check_for_autoplay:function(){var a=t61.page.get_current_url().toQueryParams();if(a.base_url){t61.ensure_init(function(){var b=a.base_url;var c=a.page;if(c&&(parseInt(c)>1)){b+="/"+c}delete (a.base_url);delete (a.page);t61.ensure_init(function(){new Ajax.Request(b+"/?playlist_js&"+Hash.toQueryString(a))})});return}}};t61.Song=Class.create();t61.Song.prototype={initialize:function(a,b){if(!b){b={}}this.load_data(a);this.load_elements();this.bind_ui()},load_elements:function(){this.player=$("song_player_"+this.id);this.visible=(this.player!=null)},load_data:function(a){this.data=a;this.id=a.id},select:function(){if(this.player){this.player.addClassName("song_player_selected")}},pause:function(a){if(!a){a={}}t61.song.paused=true;t61.ensure_init(function(){t61.song.stop()})},stop:function(a){if(!a){a={}}t61.ensure_init(function(){t61.song.stop()})},play:function(b){if(!b){b={}}if(!b.in_playlist){t61.playlist.load(t61.song.data,b);t61.user.keep_alive()}if(t61.song.is_current(this)&&this.playing&&b.skip_flash_play==undefined){b.skip_flash_play=true}t61.song.set_current(this,b);this.playing=true;if(!b.skip_flash_play){t61.ensure_init((function(){t61.flashplayer.play_song(this.data.key,this.id,this.data.play_time,this.data.audio_server);if(t61.song._playback_interval){clearInterval(t61.song._playback_interval)}t61.song._playback_interval=setInterval(function(){t61.flashplayer.send_playback_state()},t61.song.playback_refresh_interval)}).bind(this))}var a=t61.volume.level;var c=this.data.background_photo_base_url+"_desktop";if(t61.context.presentation_mode_enabled||b.presentation_mode_enabled){t61.background.load_image(c,b);t61.presentation.present_content()}else{if(t61.context.drilldown_mode_enabled||b.drilldown_mode_enabled){t61.playlist.enter_drilldown(this,{direction:b.direction})}}t61.song.handle_play()},is_downloadable:function(){return(this.data.purchasable_flag||this.data.downloadable_flag)},sync_heart_button:function(){var a=t61.user.num_times_hearted[this.id];if(a){if(this.data.score==null){var b=$("song_player_hearts_count_"+this.id);if(b){b.update("+"+a)}}b=$("song_player_hearts_"+this.id);if(b){b.addClassName("filled")}}},bind_ui:function(){if(!this.player){return}this.sync_heart_button()},unbind_ui:function(){delete (this.visible);delete (this.player)},destroy:function(){this.unbind_ui()},get_filename:function(){var a=this.data.artist+" - "+this.data.name;a=a.replace(/[^a-zA-Z0-9\s\-]/g,"");a=a+".mp3";return a},reset:function(){this.playing=false;if(this.player){this.player.removeClassName("song_player_selected")}var a=$("song_player_progress_time_"+t61.current_song.id);if(a){a.update("")}},refresh:function(){this.unbind_ui();this.load_elements();this.bind_ui()},heart:function(c){if(!c){c={}}var d=this.id;var b=this.has_played_enough();if(t61.user.heart_attempted_by_song_id[d]&&!b){var a=t61.user.played_time_by_song_id[d];if(a!=null){t61.notice.create(parseInt(60-a)+" seconds left before you can heart.")}else{t61.notice.create("Give it a listen first!")}t61._heart_in_progress=false;return}if(t61.hearts.cur_available<=0){t61.notice.create("Sorry you ran out of hearts.");t61.tutorial.do_open_mic_tip(4000);return}if(t61._heart_in_progress){t61.notice.error("Please wait before hearting again.");if(!t61._heart_timeout_set){setTimeout(function(){t61._heart_in_progress=false;t61._heart_timeout_set=false},5000);t61._heart_timeout_set=true}return}t61._heart_in_progress=true;var f="?played_enough="+b+"&artist_username="+this.data.artist_username;if(c.complete_heart_tutorial){f+="&complete_heart_tutorial"}if(c.skip_tutorial){f+="&skip_tutorial"}if(c.agreed_to_pay){f+="&agreed_to_pay"}new Ajax.Request("/heart/create/"+this.id+"/"+f,{redundant_proof:true})},has_played_enough:function(){var c=this.id;var b=t61.user.played_time_by_song_id[c];var a=Math.min(60,this.data.play_time-5);return(b>=a)}};t61.presentation={is_content_relevant:function(a,b){return(($("artist_photo")!=null)&&(b==t61.presentation.content_counter)&&(t61.current_song.id==a))},init:function(){if(this.__initialized){return}this.bind_panels();this.__initialized=true},update_via_users:function(){var d=t61.current_song.id;if(!t61.context.song_usernames_map){return}var c=t61.context.song_usernames_map[d];if(!c){return}var b="via ";for(var a=0;a<c.length;a++){var f=c[a];b+='<a href="/'+f+'/" graceful="true">'+f+"</a> "}$("via_users").update(b);t61.page.process_links("via_users");Element.show("song_presentation_notes")},shift_panel:function(a,d){var c=parseInt(a.getStyle("top"));var b=parseInt(a.getStyle("left"));a.setStyle({top:(c+d)+"px",left:(b+d)+"px"})},on_panel_mouseover:function(h){var a=Event.element(h);if(!a){return}var f=$(a).up(".floating_panel");if(!f){return}var d,c;var g=f.getElementsByClassName("background");if(g.length>0){d=$(g[0])}var b=f.getElementsByClassName("foreground");if(b.length>0){c=$(b[0])}var j=-7;if(!d||!c){f.addClassName("active_photo");j=-6}else{d.addClassName("active_panel");c.addClassName("active_panel")}t61.presentation.shift_panel(f,j)},on_panel_mouseout:function(h){var a=Event.element(h);if(!a){return}var f=$(a).up(".floating_panel");if(!f){return}var d,c;var g=f.getElementsByClassName("background");if(g.length>0){d=$(g[0])}var b=f.getElementsByClassName("foreground");if(b.length>0){c=$(b[0])}var j=7;if(!d||!c){f.removeClassName("active_photo");j=6}else{d.removeClassName("active_panel");c.removeClassName("active_panel")}t61.presentation.shift_panel(f,j)},panels:["artist_tweets","artist_biography","artist_shows","artist_photo"],teardown:function(){for(var b=0;b<this.panels.length;b++){var a=$(this.panels[b]);if(a){Event.stopObserving(a,"mouseover",this.on_panel_mouseover);Event.stopObserving(a,"mouseout",this.on_panel_mouseout);Event.stopObserving(a,"click",this.on_panel_click)}}},on_panel_click:function(c){var b="/"+t61.current_song.data.artist_username+"/";var a=$(Event.element(c)).up(".floating_panel");if(a){if(a.id=="artist_shows"){b+="shows/"}else{if(a.id=="artist_biography"){b+="about/"}}}t61.load_url(b,{emulate_nonajax:true})},bind_panels:function(){for(var b=0;b<this.panels.length;b++){var a=$(this.panels[b]);Event.observe(a,"mouseover",this.on_panel_mouseover);Event.observe(a,"mouseout",this.on_panel_mouseout);Event.observe(a,"click",this.on_panel_click)}},position_panel:function(a,j){if(j==null){j=0}var a=$(a);var d=Element.getDimensions(a);var g=Math.max(400,d.width);var c=Math.max(260,d.height);var f=t61.util.get_viewport();var n=50;var b=n+parseInt((f.width-g-2*n)*Math.random());var m=n+parseInt((f.height-c-3*n)*Math.random());a.style.top=m+"px";a.style.left=b+"px"},present_content:function(){if(t61.splash.is_active()){return}this.content_counter+=1;this.shows_shown=false;this.shows_available=false;var j=this.content_counter;if(!t61.current_song){return}var d=t61.current_song.id;this.update_via_users();if(t61.current_song.playing){setTimeout(function(){if(t61.current_song.id==d){new Ajax.Request("/song/present_biography/"+t61.current_song.id+"/",{hideLoader:true,parameters:{content_counter:j}})}},10001)}var a=10000;var g=function(m,l){if(!t61.presentation.is_content_relevant(d,j)){return}var n=t61.presentation.tweet_data.list;var o=n[l%n.length];if(!o){return}t61.presentation.reset_content();setTimeout(function(){if(!t61.presentation.is_content_relevant(d,j)){return}$("artist_tweets_body").update(o.post_text);$("artist_tweets_body_dummy").update(o.post_text);if(o.days_ago>0){$("artist_tweets_time").update(o.days_ago+" days ago");$("artist_tweets_time_dummy").update(o.days_ago+" days ago")}else{$("artist_tweets_time").update(o.hours_ago+" hours ago");$("artist_tweets_time_dummy").update(o.hours_ago+" hours ago")}t61.presentation.position_panel("artist_tweets");Effect.Appear("artist_tweets",{duration:0.5})},501);setTimeout(function(){h(m,l+1)},a)};var c=function(p,o){if(!t61.presentation.is_content_relevant(d,j)){return}var q=t61.presentation.photo_data.list;var n=q[p%q.length];if(!n){return}var m=n.url;var l=n.caption;t61.presentation.reset_content();setTimeout(function(){if(!t61.presentation.is_content_relevant(d,j)){return}$("artist_photo_img_loader").src=m+"_medium";if(l){$("artist_photo_caption").update(l);Element.show("artist_photo_caption")}else{Element.hide("artist_photo_caption")}},501);setTimeout(function(){h(p+1,o)},a)};var b=function(m,l){t61.presentation.shows_shown=true;t61.presentation.reset_content();setTimeout(function(){t61.presentation.position_panel("artist_shows");Effect.Appear("artist_shows",{duration:0.5})},501);setTimeout(function(){h(m,l)},a*1.5)};var h=function(n,m){if(!t61.current_song.playing){setTimeout(function(){h(n,m)},1000);return}var l=t61.presentation.photo_data.list.length*1;var q=t61.presentation.tweet_data.list.length*1;var o=l+q;var p=Math.random()*o*1;if(((n+m)>=(parseInt(o/2-1)))&&(t61.presentation.shows_available&&!t61.presentation.shows_shown)){return b(n,m)}if((o<=1)&&((n>0)||(m>0))){return}if(p<l){return c(n,m)}else{if(p<(l+q)){return g(n,m)}}};var f=function(){if(!t61.presentation.is_content_relevant(d,j)){return}h(0,0)};setTimeout(function(){if(t61.presentation.is_content_relevant(d,j)){new Ajax.Request("/song/load_presentation_data/"+t61.current_song.id+"/",{hideLoader:true,onComplete:f})}},28000)},reset_content:function(d){var b=["artist_biography","artist_photo","artist_tweets","artist_shows"];if(d){var a=b.indexOf(d);if(a>=0){b.splice(a,1)}}var c;for(var a=0;a<b.length;a++){c=$(b[a]);if(c&&(c.style.display=="")){Effect.Fade(c,{duration:0.5})}}},content_counter:0,handle_artist_photo_load:function(){var a=parseInt($("artist_photo_img_loader").width);var c=parseInt($("artist_photo_img_loader").height);var f=a;var l=c;var j=70000;var d=a*c*1;var g=Math.sqrt(j/d);if(g<1){f=parseInt(a*g);l=parseInt(c*g)}$("artist_photo_img").src=$("artist_photo_img_loader").getAttribute("src");$("artist_photo_img").style.width=f+"px";$("artist_photo_img").style.height=l+"px";var b=Math.max(100,f-20);$("artist_photo_caption").style.width=b+"px";t61.presentation.position_panel("artist_photo")},reset:function(){var b=$("song_presentation").childNodes;for(var a=0;a<b.length;a++){var d=$(b[a]);if(d&&d.id&&d.hasClassName("floating_panel")){Element.hide(d)}}}};t61.song_uploader={on_song_cover_no:function(){if($("song_remix_no").checked){Element.hide("song_cover_subform");$("covered_artists").update("");$("id_covered_artist_name").value=""}},on_song_cover_yes:function(){Element.show("song_cover_subform");$("song_remix_no").checked=true},on_song_remix_no:function(){if($("song_cover_no").checked){Element.hide("song_cover_subform");$("covered_artists").update("");$("id_covered_artist_name").value=""}$("id_remix_flag").checked=false},on_song_remix_yes:function(){Element.show("song_cover_subform");$("song_cover_no").checked=true;$("id_remix_flag").checked=true},submit:function(f){var d=$("song_upload_form");d.onsubmit=function(){return true};if(f){var g="/artist/"+t61.context.viewed_username+"/settings/song/update_audio/"+f+"/"}else{var g="/artist/"+t61.context.viewed_username+"/settings/song/upload/"}var c="multipart/form-data";d.action=g;d.enctype=c;if(BrowserDetect.browser=="Explorer"){var b=d.getAttributeNode("enctype");b.value=c;var a=d.getAttribute("action");a.value=g}else{d.setAttribute("action",g);d.setAttribute("enctype",c)}d.submit()},init:function(b){if(b){var a="/artist/"+t61.context.viewed_username+"/settings/song/update/"+b+"/"}else{var a="/artist/"+t61.context.viewed_username+"/settings/song/validate_upload/"}$("song_upload_form").onsubmit=function(){var c=Form.serialize("song_upload_form");c+="&mp3_file="+$("mp3_file").value;new Ajax.Request(a,{parameters:c});t61.album.show_loading();return false};if($("song_cover_yes").checked){t61.song_uploader.on_song_cover_yes()}}};t61.comment={upvote:function(b,a){new Ajax.Request("/song/comments/upvote/"+b+"/",{parameters:{commentee_id:a}})},downvote:function(b,a){new Ajax.Request("/song/comments/downvote/"+b+"/",{parameters:{commentee_id:a}})},collapse:function(a){if($("comment_children_"+a)){Element.hide("comment_children_"+a)}$("comment_"+a).addClassName("collapsed");$("comment_"+a).removeClassName("expanded");if($("comment_toggle_"+a)){$("comment_toggle_"+a).addClassName("toggle_collapsed");$("comment_toggle_"+a).removeClassName("toggle_expanded")}},expand:function(a){if($("comment_children_"+a)){Element.show("comment_children_"+a)}$("comment_"+a).removeClassName("collapsed");$("comment_"+a).addClassName("expanded");if($("comment_toggle_"+a)){$("comment_toggle_"+a).removeClassName("toggle_collapsed");$("comment_toggle_"+a).addClassName("toggle_expanded")}}};t61.miniplayer={init:function(){t61.volume.init();if(!this.__initialized){Event.observe("miniplayer","mousemove",function(){if(t61.navigation.interval){clearInterval(t61.navigation.interval)}t61.navigation.interval=null});Event.observe("return_button","mouseover",this.on_return_button_mouseover.bind(this));Event.observe("return_button","mouseout",this.on_return_button_mouseout.bind(this))}this.__initialized=true},show:function(a){if(t61.menu.is_active()){return}Element.show("miniplayer")},on_return_button_mouseover:function(a){t61.mousehover_panel.update("return to playlist");var b=t61.util.get_viewport().width-115;t61.mousehover_panel.show(a,{top:70,left:b})},hide_adder:function(){this.busy=false;Element.hide("playlist_adder");Element.show("miniplayer_core")},show_adder:function(){this.busy=true;Element.show("playlist_adder");Element.hide("miniplayer_core")},on_return_button_mouseout:function(a){t61.mousehover_panel.hide(a)},hide:function(){if(!this.busy){Element.hide("miniplayer")}},handle_pause:function(){Element.show("play_button");Element.hide("pause_button")},handle_play:function(){Element.show("pause_button");Element.hide("play_button")},destroy:function(){},sync_icons:function(){if(t61.song._autorepeat_on){$("repeat_button").addClassName("repeat_on");$("repeat_button").removeClassName("repeat_off")}else{$("repeat_button").removeClassName("repeat_on");$("repeat_button").addClassName("repeat_off")}},play:function(){var a={from_user:true};if(t61.current_song){t61.current_song.play(a)}else{this.play_first_song(a)}},play_first_song:function(a){var b=t61.song.get_by_position(0);if(b){b.play(a)}},pause:function(){if(t61.current_song){t61.current_song.pause()}},busy:false};t61.volume={level:0.5,persist:function(a){if(this.interval){clearInterval(this.interval)}this.interval=setInterval(function(){new Ajax.Request("/user/set_volume/"+a+"/",{hideLoader:true});clearInterval(t61.volume.interval);t61.volume.interval=null},2000)},on_slide:function(a){t61.flashplayer.set_volume(a);this.update_track_background(a);this.update_handle(a)},update_track_background:function(a){this.slider.track.style.backgroundPosition=parseInt(-92+33*(-1+a))+"px -22px"},update_handle:function(a){},update_ui:function(a){this.slider.setValue(a,null,false);this.update_track_background(a);this.update_handle(a)},on_change:function(a){this.update_ui(a);t61.flashplayer.set_volume(a);this.level=a;if(t61.current_song){if((a==0)&&(t61.current_song.playing)){t61.current_song.pause();t61.song._implicitly_paused=true}else{if((a>0)&&t61.song._implicitly_paused&&!t61.current_song.playing){t61.current_song.play({from_user:true});t61.song._implicitly_paused=false}}}this.persist(a)},init:function(){if(!this.__initialized){this.slider=new Control.Slider("volume_handle","volume_track",{onSlide:this.on_slide.bind(this),onChange:this.on_change.bind(this)});this.update_ui(this.level);t61.ensure_init(function(){t61.flashplayer.set_volume(t61.volume.level)})}this.__initialized=true}};t61.mousehover_panel={update:function(a){$("mousehover_panel_content").update(a)},append:function(a){$("mousehover_panel").innerHTML+=a},show:function(d,c){if(!c){c={}}if(!c.left_offset){c.left_offset=-20}if(!c.top_offset){c.top_offset=-20}var f=(document.documentElement.scrollTop||document.body.scrollTop);var a=Event.pointerX(d),b=Event.pointerY(d);Element.show("mousehover_panel");if(!c.left){c.left=(a+c.left_offset)}if(!c.top){c.top=(b+c.top_offset)}c.top-=f;$("mousehover_panel").style.left=c.left+"px";$("mousehover_panel").style.top=c.top+"px"},hide:function(a){Element.hide("mousehover_panel")},suppress:function(a){t61.mousehover_panel.hide(a);t61.util.stop_event(a)}};t61.notice={counter:0,create:function(f,d){var b=0.3;if(!d||(typeof(d)!="object")){d={}}t61.util.apply_defaults(d,{duration:8,delay:0});if(d.delay>0){var c=d.delay;d.delay=0;setTimeout(function(){t61.notice.create(f,d)},c*1000);return}if(this.busy){Effect.SlideUp("notice_wrapper",{duration:b,afterFinish:function(){t61.notice.busy=false;t61.notice.create(f,d)}});return}this.counter+=1;var a=this.counter;$("notice_content").update(f);t61.page.process_links("notice_content");Effect.SlideDown("notice_wrapper",{duration:b,afterFinish:function(){setTimeout(function(){if(a==t61.notice.counter){Effect.SlideUp("notice_wrapper",{duration:b,afterFinish:function(){t61.notice.busy=false}})}},d.duration*1000)}});this.busy=true},error:function(b,a){this.create(b,a)}};t61.achievement={loaded_images:{},notice_queue:[],is_busy:function(){var a=(!t61.background.loaded_once||this.loading_image||($("achievement_notice_wrapper").style.display!="none")||(t61.context.subnav=="settings"));return a},notice_queue_notice:function(d,a,b,c){this.notice_queue.push([d,a,b,c])},create_notice:function(d,a,b,c){if(this.is_busy()){this.notice_queue_notice(d,a,b,c);this.check_notice_queue();return}if(!c){c={}}t61.util.apply_defaults(c,{duration:8,title:"Achievement Unlocked",img_url:t61.media_url+"/site_media/images/achievements/"+d+".gif",points_type:"reputation",sound_effect:"unlock"});this.cur_options=c;$("achievement_notice_description").update(a);$("achievement_notice_title").update(c.title);if(c.hide_delta_sign){$("achievement_notice_points").update(b)}else{$("achievement_notice_points").update("+"+b)}$("achievement_notice_points_type").update(c.points_type);if(this.loaded_images[d]){Event.stopObserving($("achievement_notice_img"),"load",this.show_notice);this.show_notice()}else{Event.stopObserving($("achievement_notice_img"),"load",this.show_notice);Event.observe($("achievement_notice_img"),"load",this.show_notice);this.loaded_images[d]=true;this.loading_image=true}$("achievement_notice_img").src=c.img_url},show_notice:function(){t61.achievement.loading_image=false;if(t61.flashplayer&&!t61.achievement.cur_options.from_queue){t61.ensure_init(function(){t61.flashplayer.play_sound_effect(t61.achievement.cur_options.sound_effect)})}Element.show("achievement_notice_wrapper");var d=0.33;var b=["achievement_notice","achievement_notice_background"];for(var a=0;a<b.length;a++){var c=$(b[a]);c.style.left="-324px";new Effect.Morph(c,{style:{left:"0px"},duration:d});Element.show(c)}setTimeout(function(){t61.animation.shake_horizontal("achievement_notice_sleeve")},d*1000);setTimeout(t61.achievement.hide_notice.bind(t61.achievement),t61.achievement.cur_options.duration*1000);if(t61.achievement.cur_options.onshow){t61.achievement.cur_options.onshow()}},check_notice_queue:function(){if(this.notice_queue.length>0){var a=this.notice_queue[0];a[3].from_queue=true;if(!this.is_busy()){this.create_notice.apply(this,a);this.notice_queue.splice(0,1)}else{setTimeout(this.check_notice_queue.bind(this),1000)}}},hide_notice:function(){Effect.Fade("achievement_notice_wrapper",{duration:0.33,afterFinish:t61.achievement.check_notice_queue.bind(this)})},unlock:function(c,a,b){t61.points.add(b,"Achievement Unlocked",a,{achievement_id:c,duration:5,animate:true,notice_only:true})}};t61.points={add:function(c,d,a,b){if(typeof(b)=="string"){b={img_url:b}}if(!b){b={}}t61.util.apply_defaults(b,{notice_only:false,animate:true,duration:4,achievement_id:"generic",sound_effect:"notification"});if(!b.onshow){if(!b.notice_only){b.onshow=function(){t61.points.update(t61.points.cur_points+c);if(b.animate){t61.points.animate(c,{duration:Math.max(1,b.duration-1)})}}}else{if(b.animate){b.onshow=function(){t61.points.animate(c)}}}}b.title=d;t61.achievement.create_notice(b.achievement_id,a,c,b)},animate:function(g,b){if(!b){b={}}t61.util.apply_defaults(b,{duration:5});var f=t61.points.cur_points;var j=f-g;var h=Math.max(1,parseInt(g/33));var d=Math.min(50,b.duration*1000*(h/g));t61.points.update(j);var a;var c=function(){a=parseInt(h*(-0.33+Math.random()*0.66));if((t61.points.cur_points+h+a)>=f){t61.points.update(f);return}else{t61.points.update(t61.points.cur_points+h+a);setTimeout(c,d)}};setTimeout(c,d)},update:function(b){var a=t61.level.cur_level;t61.points.cur_points=b;var d=t61.level.cur_level;t61.level.update_progress(b,d);var c=$("user_points");if(c){c.update(b)}}};t61.hearts={animate:function(a,c){if(!c){c={}}t61.util.apply_defaults(c,{duration:5});var j=t61.hearts.cur_available;var h=j-a;var g=Math.max(1,parseInt(a/100));var f=Math.min(50,c.duration*1000*(g/a));t61.hearts.update(h);var b;var d=function(){b=parseInt(g*(-0.33+Math.random()*0.66));if((t61.hearts.cur_available+g+b)>=j){t61.hearts.update(j);return}else{t61.hearts.update(t61.hearts.cur_available+g+b);setTimeout(d,f)}};setTimeout(d,f)},update:function(a){this.cur_available=a;if($("user_hearts")){$("user_hearts").update(a)}},add:function(c,d,a,b){if(typeof(b)=="string"){b={img_url:b}}if(!b){b={}}t61.util.apply_defaults(b,{notice_only:false,animate:true,duration:3,achievement_id:"generic",points_type:"hearts"});if(!b.onshow){if(!b.notice_only){b.onshow=function(){t61.hearts.update(t61.hearts.cur_available+c);if(b.animate){t61.hearts.animate(c,{duration:Math.max(1,b.duration-1)})}}}else{if(b.animate){b.onshow=function(){t61.hearts.animate(c)}}}}b.title=d;t61.achievement.create_notice(b.achievement_id,a,c,b)},revive_current_song:function(){if(!t61.current_song){return}if(!t61.is_logged_in){t61.popup.show_login();return}new Ajax.Request("/heart/revive/"+t61.current_song.id+"/")},heart_current_song:function(){if(!t61.current_song){return}if(!t61.is_logged_in){t61.popup.show_login();return}t61.current_song.heart()},fill_button:function(a){var b=t61.song.get_by_id(a);if(b){b.sync_heart_button()}}};t61.level={get_progress:function(f,c){if(c<(t61.level.xp_requirements.length-1)){var d=t61.level.xp_requirements[c+1];var a=t61.level.xp_requirements[c];var b;if(f<a){b=0}else{b=1*(f-a)/(d-a)}return b}else{return 1}},get_from_xp:function(b){for(var c=1;c<t61.level.xp_requirements.length;c++){var a=t61.level.xp_requirements[c];if(b<a){return(c-1)}}return c},update_progress:function(d,c){var b=t61.level.get_progress(d,c);if($("avatarbar_levelbar")){var f=$("avatarbar_levelbar").getDimensions().width;var a=-21+parseInt((b-1)*f);$("avatarbar_levelbar").style.backgroundPosition=a+"px -39px"}$("user_cur_level").update(c);$("user_next_level").update(c+1)},update_level:function(b,a){t61.level.update_progress(b,a);if(t61.level.notices_given[a]==null){t61.level.cur_level=a;t61.achievement.create_notice("generic","You reached level "+a+"!",1,{title:"Level Up",sound_effect:"unlock",points_type:"level",onshow:function(){t61.level.check_for_unlocked_features(a);t61.level.notices_given[a]=true}})}},check_for_unlocked_features:function(d){var a=4;var c=4;if(t61.is_listener){t61.notice.create("Feature Unlock: <br/>Earn an additional heart everyday you log in.",{sound_effect:"unlock",delay:a});a+=c;if(d>=5){var b="Heart any song up to "+d+" times.";t61.notice.create("Feature Unlock: <br/>"+b,{sound_effect:"unlock",delay:a});a+=c}if(d==10){t61.notice.create("Feature Unlock: <br/>Can revive a song.",{sound_effect:"unlock",delay:a})}a+=c}},notices_given:{}};t61.current_tutorial={};t61.tutorial={get_icon_url:function(){return t61.media_url+"/site_media/images/notice_icons/question_mark.gif"},do_keyboard_nav_tip:function(){if(t61.tutorial._do_keyboard_shortcut_prev_next_sent){return}t61.tutorial._do_keyboard_shortcut_prev_next_sent=true;var a="Tip: you can also navigate between songs with the keyboard left and right arrows.";t61.notice.create(a,{delay:2})},remind_profile_photo:function(){if(t61.tutorial._profile_photo_reminder_sent){return}t61.tutorial._profile_photo_reminder_sent=true;var a="/settings/";if(t61.is_listener){a="/listener/profile/settings/picture/"}else{if(t61.is_artist){a="/artist/profile/settings/background/"}}t61.notice.create("Be sure to <a href='#"+a+"' class='light' style=\"text-decoration:underline;\" onclick=\"t61.load_url('"+a+"');\">upload your picture</a>.",{delay:6})},remind_email_verify:function(){if(t61.tutorial._profile_photo_reminder_sent){return}t61.tutorial._profile_photo_reminder_sent=true;var a="/user/account/";var b="Be sure to verify your email in the <a href='#"+a+"' class='light' style=\"text-decoration:underline;\" onclick=\"t61.load_url('"+a+"');\">account page</a>."},do_open_mic_tip:function(a){if(t61.tutorial._open_mic_tip_displayed){return}t61.tutorial._open_mic_tip_displayed=true;var b="Tip: earn extra hearts by listening to <a href='#' onclick='new Ajax.Request(\"/openmic/\"); return false;' class='light' style='text-decoration:underline;'>Open Mic</a>";t61.notice.create(b,{delay:4})},do_adventure_meter_tip:function(a){if(t61.tutorial._adventure_meter_tip_displayed){return}t61.tutorial._adventure_meter_tip_displayed=true;var b="Tip: Earn more rewards by increasing the adventure meter to listen to under-explored songs.";t61.notice.create(b,{delay:4});setTimeout(function(){$("adventure_tip").addClassName("shown")},5000)},do_about_invites:function(a){if(!t61.is_listener){return}var b=t61.tutorial.get_icon_url();var c="Earn 100 rep and a percentage of your friend's total rep when they sign up."},do_add_song_tip:function(){if(t61.tutorial._playlist_tip_displayed){return}t61.tutorial._playlist_tip_displayed=true},do_upload_music_as_artist_tip:function(){if(t61.tutorial._upload_music_as_artist_tip_displayed){return}var a="Note: If you want to upload your tracks, register as an artist instead.";t61.tutorial._upload_music_as_artist_tip_displayed=true},do_quest_log_tip:function(){if(t61.quests.log_opened){return}var a=t61.media_url+"/site_media/images/notice_icons/quest_log_sample.gif";var b="Get started by opening the <a href='#' onclick='t61.quests.open_log(); return false;'>quest log</a> next to your username."}};t61.listener={init:function(){t61.album_collectibles.init()}};t61.credits={buy_in_progress:false,add_credit_card:function(){var a=Form.serialize("add_credit_card_form");var b=t61.page.get_protocol(document.location.toString());if(b!="https:"){t61.flashplayer.add_credit_card(a)}else{new Ajax.Request("/credits/add_credit_card/",{parameters:a})}},credits_to_amount:function(c){var b=c*1.25/100;return"$"+b.toFixed(2)},add_credits:function(a,b){t61.notice.create("+"+a+" credits");t61.credits.buy_in_progress=false;if((b!=null)&&$("artist_listener_credits_number")){$("artist_listener_credits_number").update(b)}},buy_credits:function(b){var a=t61.flashfileio._buy_song_id;if(t61.credits.buy_in_progress){t61.notice.create("Please wait for the previous buy request to finish.",null,null,{expire_delay:4000});return}var d="Purchase "+b+" credits for "+t61.credits.credits_to_amount(b)+"?";var c="num_credits="+b;if(a){c+="&buy_song_id="+a}if(confirm(d)){t61.credits.buy_in_progress=true;new Ajax.Request("/credits/buy_credits/authorize/",{parameters:c})}}};t61.artist={leave_tip:function(){if($("artist_tip_form").style.display==""){$("artist_tip_form").onsubmit();return}Element.hide("artist_last_patron");$("artist_tip_link").update("&nbsp;");Element.show("artist_tip_form");Element.show("artist_credits_left");$("id_tip_credits").focus()},restore_tip_link:function(){$("artist_tip_link").update("leave tip");Element.show("artist_last_patron");Element.hide("artist_tip_form");Element.hide("artist_credits_left")},init:function(){},display_video:function(b){if(this.video_ids==undefined){return}if(b>=this.video_ids.length){return}var a=this.video_ids[b];t61.video.embed(a,"artist_page_videos_content")}};t61.album={show_loading:function(){$("popup_content").update("Please wait while the album finishes updating, this can take a few minutes...");t61.popup.show({width:200,height:70});Element.hide("popup_close")},_previous_album_id:null,rename:function(a){Element.hide("static_album_link_"+a);Element.show("album_name_form_"+a);$("album_name_form_"+a).style.display="inline";$("id_album_name_"+a).focus();$("id_album_name_"+a).select()},cancel_rename:function(a){Element.show("static_album_link_"+a);Element.hide("album_name_form_"+a)},reorder:function(a){var c=Sortable.serialize("edit_album");var b=c.split("edit_album[]=")+"";b=b.replace(/\&/g,"");b=b.replace(",","");new Ajax.Request("/artist/"+t61.context.viewed_username+"/album/reorder/"+a+"/",{parameters:"ordering="+b});t61.notice.create("Resyncing id3 tags (can take a while).");this.show_loading()},reset:function(){if(t61.album._previous_album_id){t61.album.collapse(t61.album._previous_album_id);t61.album._previous_album_id=null}},on_paid_download_change:function(a,b){if($("id_purchasable_flag_"+a).checked){var c;if(b<10){c="Are you sure you want to publish your album for sale with less than 10 songs?"}else{c="Are you sure you are ready to publish your album for sale with these songs in the given order?"}if(confirm(c)){$("id_purchasable_flag_"+a).checked=true;if($("album_update_form_"+a)){$("album_update_form_"+a).onsubmit()}}}},init:function(){}};t61.fbconnect={init:function(){if(!t61.page._followed_ajax_link){setTimeout(function(){FB.init(t61.facebook_api_key,"/site_media/fbconnect/xd_receiver.htm")},1)}},post_song:function(a){FB.ensureInit(function(){setTimeout(function(){FB.Connect.requireSession(function(){new Ajax.Request("/fbconnect/show_feed_dialog/"+a+"/")})},1)})},on_login:function(a){if(!a){a={}}var b={};if(a.secure){b.secure=true}new Ajax.Request("/user/login/?via_fbconnect=true",{parameters:b,method:"post"})},on_link_account:function(){new Ajax.Request("/fbconnect/link_account/")}};t61.album_collectibles={duration:0.25,init:function(){var a=document.getElementById("album_collectibles");if(!a){return}if(a.addEventListener){a.addEventListener("DOMMouseScroll",t61.album_collectibles.handle_mousewheel,false);a.addEventListener("mousewheel",t61.album_collectibles.handle_mousewheel,false)}else{a.onmousewheel=t61.album_collectibles.handle_mousewheel}t61.album_collectibles._in_progress=false;t61.album_collectibles.load_caption()},teardown:function(){if(el.removeEventListener){el.removeEventListener("DOMMouseScroll",t61.album_collectibles.handle_mousewheel,false);el.removeEventListener("mousewheel",t61.album_collectibles.handle_mousewheel,false)}else{el.onmousewheel=null}},load_caption:function(){var b=$("album_collectibles_caption");if(!b){return}var d=t61.album_collectibles.offset;var a=d+t61.album_collectibles.width;var c=t61.album_collectibles.data[a];Element.show(b);if(c&&(c.album_name||c.artist_name)){if(c.album_name){b.update(c.album_name)}else{b.update(c.artist_name)}}else{b.update("album shelf")}},teardown:function(){if(t61.context&&(t61.context.nav!="profile")){t61.album_collectibles.offset=0;t61.album_collectibles.offset_destination=0}},width:3,handle_mousewheel:function(a){var b=0;if(!a){a=window.event}if(a.wheelDelta){b=a.wheelDelta/120}else{if(a.detail){b=-a.detail/3}}if(b){if(b>1){b=1}else{if(b<-1){b=-1}}b*=-1;t61.album_collectibles.scroll(b)}return t61.util.stop_event_all(a)},stop_scrolling:function(a){if(t61.album_collectibles._scroll_interval){clearInterval(t61.album_collectibles._scroll_interval)}},start_scrolling:function(a){t61.album_collectibles.scroll(a);t61.album_collectibles._scroll_interval=setInterval(function(){t61.album_collectibles.scroll(a)},300)},scroll:function(g){var d=t61.album_collectibles.width;var b=-1*d;var a=t61.album_collectibles.data.length-1*(d+1);var f=parseInt(t61.album_collectibles.offset_destination);var c=t61.album_collectibles.offset_destination+g;if(c<b){c=b}if(c>a){c=a}t61.album_collectibles.offset_destination=c;if(!t61.album_collectibles._in_progress){t61.album_collectibles.goto_destination()}},goto_destination:function(){var b=$("album_collectibles_up");var f=$("album_collectibles_down");b&&b.removeClassName("disabled");f&&f.removeClassName("disabled");if(parseInt(t61.album_collectibles.offset)==parseInt(t61.album_collectibles.offset_destination)){var d=t61.album_collectibles.width;var c=-1*d;var a=t61.album_collectibles.data.length-1*(d+1);if(c==t61.album_collectibles.offset){b&&b.addClassName("disabled");t61.album_collectibles.stop_scrolling()}else{if(a==t61.album_collectibles.offset){f&&f.addClassName("disabled");t61.album_collectibles.stop_scrolling()}}t61.album_collectibles._in_progress=false;return}var g;if(parseInt(t61.album_collectibles.offset)<parseInt(t61.album_collectibles.offset_destination)){g=1}else{g=-1}if(!t61.album_collectibles._in_progress){t61.album_collectibles.animate(g);t61.album_collectibles._in_progress=true}},offset:0,offset_destination:0,get_scale:function(a){return[1.25,0.875,0.5,0.25,0][a]},get_config:function(f){var p=t61.album_collectibles.get_scale;var r=4;var l=Math.abs(f-r);var A=p(l);var h=160;var x=25;var s=parseInt(h*A);var y=parseInt(h*A);var w=parseInt(x*A);var n=parseInt(x*A);var g=s-w+parseInt(8*A);var j=y-n+parseInt(8*A);var a=1*A;var t=parseInt(-10*A);var z=1+r-l;var q=0;for(var u=1;u<f;u++){var m=Math.abs(u-r);var o=p(m);var v=parseInt(h*o);var d;var c=-20;if(u>=r){c=0}d=c-65*o;q+=parseInt(v+d)}var b=parseInt(17+(h-s)*0.5);return{outer_width:(s+parseInt(15*A))+"px",outer_height:(y+parseInt(5*A))+"px",width:s+"px",height:y+"px",zIndex:z,marginTop:q+"px",marginLeft:b+"px",songs_count_width:w+"px",songs_count_height:n+"px",songs_count_marginLeft:g+"px",songs_count_marginTop:j+"px",fontSize:a+"em",jewelcase_offset:t+"px"}},get_item:function(m){var a=parseInt(t61.album_collectibles.offset)+m;var l=[$("album_collectible_"+a),$("album_collectible_image_"+a),$("album_collectible_jewelcase_"+a),$("songs_count_"+a)];if((!l[0])&&(a>=1)&&(a<=t61.album_collectibles.data.length)){var h=document.createElement("div");Element.extend(h);h.addClassName("album_collectible");h.id="album_collectible_"+a;var j=t61.album_collectibles.get_config(m);var d=t61.album_collectibles.data[a-1];if(!d){return l}var g=d.photo_url;var f="";var c="";if(d.special_edition_flag||d.album_completed_flag){f="<img id='album_collectible_jewelcase_"+a+"' src='"+t61.media_url+"/site_media/images/jewelcase.png' style='display:none;'/>"}else{c="<div class='songs_count' id='songs_count_"+a+"'><img class='songs_count_bg' src='"+t61.media_url+"/site_media/images/orange_circle.png' width='100%' height='100%' /><div class='songs_count_label' style='z-index:1;'>"+d.individual_songs_count+"</div></div>"}var b;if(d.album_id){b="<a href='#/"+d.artist_username+"/album/"+t61.util.get_safe_name(d.album_name)+"/"+d.album_id+"/'>"}else{b="<a href='#/"+d.artist_username+"/'>"}h.innerHTML=b+"<img id='album_collectible_image_"+a+"' src='"+g+"' style='display:none;' /> "+f+c+" </a>";h.setStyle({width:j.outer_width,height:j.outer_height,marginTop:j.marginTop,marginLeft:j.marginLeft});$("album_collectibles").appendChild(h);$("album_collectible_image_"+a).setStyle({width:j.width,height:j.height,display:""});if(f!=""){$("album_collectible_jewelcase_"+a).setStyle({width:j.outer_width,height:j.outer_height,marginLeft:j.jewelcase_offset,display:""})}if(c!=""){$("songs_count_"+a).setStyle({width:j.songs_count_width,height:j.songs_count_height,marginLeft:j.songs_count_marginLeft,marginTop:j.songs_count_marginTop,fontSize:j.fontSize})}var l=t61.album_collectibles.get_item(m);return l}return l},get_size:function(){return t61.album_collectibles.data.length},animate:function(l){var d=t61.album_collectibles.get_item;var f,a,j,g,n,b,m;var c=t61.album_collectibles.duration;var o,h;g=d(0);if(g&&g[0]){Element.hide(g[0])}g=d(8);if(g&&g[0]){Element.hide(g[0])}g=d(1);if(g&&g[0]){Element.show(g[0])}g=d(7);if(g&&g[0]){Element.show(g[0])}if(l==-1){o=1;h=6}else{if(l==1){o=2;h=7}}t61.album_collectibles._animation_start_time=new Date().getTime();t61.album_collectibles.morph_elements(o,h,l,0)},attr_list:["outer_width","outer_height","marginLeft","marginTop","width","height","zIndex","songs_count_width","songs_count_height","songs_count_marginLeft","songs_count_marginTop","jewelcase_offset"],morph_elements:function(c,D,A,w){var l=t61.album_collectibles.duration*1000;var r=t61.album_collectibles.get_item;var y=20;var x=(new Date().getTime())-t61.album_collectibles._animation_start_time;var a=Math.min(1,x/l*1);var q,g,p,s,t;var m=t61.album_collectibles.attr_list;var b,z,o,C,d;var n,f,h,B;for(var v=c;v<=D;v++){b=r(v);z=b[0];o=b[1];C=b[2];d=b[3];if(z&&o){q=t61.album_collectibles.get_config(v);g=t61.album_collectibles.get_config(v-A);p={};for(var u=0;u<m.length;u++){s=m[u];p[s]=parseInt(a*(parseInt(g[s])-parseInt(q[s])))+parseInt(q[s]);if(s!="zIndex"){p[s]+="px"}}p.fontSize=(a*(parseFloat(g.fontSize)-parseFloat(q.fontSize))+parseFloat(q.fontSize))+"em";n={width:p.outer_width,height:p.outer_height,marginLeft:p.marginLeft,marginTop:p.marginTop};f={width:p.width,height:p.height};h={width:p.outer_width,height:p.outer_height,marginLeft:p.jewelcase_offset};B={marginTop:p.songs_count_marginTop,marginLeft:p.songs_count_marginLeft,width:p.songs_count_width,height:p.songs_count_height,fontSize:p.fontSize};z.setStyle(n);o.setStyle(f);if(C){C.setStyle(h)}else{if(d){d.setStyle(B)}}if(a>0.5){z.style.zIndex=g.zIndex;if(C){C.style.zIndex=g.zIndex}if(d){d.style.zIndex=g.zIndex}}}}if(a<1){setTimeout(function(){t61.album_collectibles.morph_elements(c,D,A,a)},y)}else{t61.album_collectibles.offset+=A;t61.album_collectibles.load_caption();t61.album_collectibles._in_progress=false;t61.album_collectibles.goto_destination()}}};t61.menu={_names:["popular","explore","settings"],_mouseover_handlers:{},_mouseout_handlers:{},is_active:function(){return(($("popular_menu").style.display=="")||($("explore_menu").style.display=="")||(($("settings_menu"))&&$("settings_menu").style.display==""))},init:function(){for(var b=0;b<t61.menu._names.length;b++){var a=t61.menu._names[b];var c=$(a+"_category");if(!c){continue}if(!t61.menu._mouseover_handlers[a]){t61.menu._mouseover_handlers[a]=t61.menu.get_mouseover_handler(a)}if(!t61.menu._mouseout_handlers[a]){t61.menu._mouseout_handlers[a]=t61.menu.get_mouseout_handler(a)}Event.observe(c,"mouseover",t61.menu._mouseover_handlers[a]);Event.observe(c,"mouseout",t61.menu._mouseout_handlers[a])}},teardown:function(){for(var b=0;b<t61.menu._names.length;b++){var a=t61.menu._names[b];var c=$(a+"_category");if(!c){continue}Event.stopObserving(c,"mouseover",t61.menu._mouseover_handlers[a]);Event.stopObserving(c,"mouseout",t61.menu._mouseout_handlers[a])}},get_mouseover_handler:function(a){return function(b){Element.show(a+"_menu");Element.hide("miniplayer");clearInterval(t61.menu["hide_menu_interval_"+a]);t61.menu["hide_menu_interval_"+a]=null}},get_mouseout_handler:function(a){return function(b){t61.menu["hide_menu_interval_"+a]=setInterval(function(){Element.hide(a+"_menu");clearInterval(t61.menu["hide_menu_interval_"+a]);t61.menu["hide_menu_interval_"+a]=null},100)}}};t61.navigation={show_buttons:function(c){if(t61.navigation.last_hide_buttons){var b=(new Date()-t61.navigation.last_hide_buttons);if(b<100){return}}var a=0;if(t61.current_song){a=t61.playlist.get_song_position(t61.current_song.id)}if(t61.context.presentation_mode_enabled||t61.context.drilldown_mode_enabled){if(!t61.background.shown&&(!t61.popup.filled)&&t61.current_song&&(a>0)){Element.show("large_previous_song_button")}Element.show("large_next_song_button")}t61.miniplayer.show()},hide_buttons:function(a){Element.hide("large_previous_song_button");Element.hide("large_next_song_button");t61.miniplayer.hide();t61.navigation.last_hide_buttons=new Date()},onmousemove:function(f){if(t61.navigation.last_mousemove){var d=(new Date()-t61.navigation.last_mousemove);if(d<100){return}}t61.navigation.last_mousemove=new Date();t61.navigation.show_buttons();var c=t61.util.get_viewport();var a=Event.pointerX(f);var b=50;if(t61.navigation.interval){clearTimeout(t61.navigation.interval)}t61.navigation.interval=null;if(((c.width-a)>b)&&(a>b)){t61.navigation.interval=setTimeout(t61.navigation.hide_buttons,1000)}return},init:function(){if(!t61.context.presentation_mode_enabled){this.hide_buttons()}if(t61.context.nav!="popular"){Element.hide("intro_splash")}t61.menu.init();var a=$("accordion_content_"+t61.context.subnav);if(a){a.scrollTop=0}if(!this.__initialized){Event.observe(document.body,"mousemove",this.onmousemove)}this.__initialized=true;this.init_avatarbar()},init_avatarbar:function(){if(!this.__avatarbar_initialized){Event.observe("avatarbar","mousemove",this.show_avatarbar_buttons);Event.observe("avatarbar","mouseout",this.on_avatar_mouseout);this.__avatarbar_initialized=true}},teardown_avatarbar:function(){this.__avatarbar_initialized=false;Event.stopObserving("avatarbar","mousemove",this.show_avatarbar_buttons);Event.stopObserving("avatarbar","mouseout",this.on_avatar_mouseout)},on_avatar_mouseout:function(f){var b=Event.pointerX(f);var j=Event.pointerY(f);var c=$("avatarbar_buttons").getDimensions().width;var a=$("avatarbar").getDimensions().height;var h=$("avatarbar_buttons").getDimensions().height;var g=t61.util.get_viewport().height;if((b<c)&&((g-j)<(a+h))){return}var d=Event.element(f);d=$(d);if(!d){return}if((d.id=="avatarbar")||(d.id=="avatarbar_buttons")||(d.hasClassName("avatarbar_button"))){Element.hide("avatarbar_buttons")}},show_avatarbar_buttons:function(){Element.show("avatarbar_buttons")}};t61.accordion={open:function(a){this.close();var c=this.get_bellow(a);if(!c){return}c.addClassName("selected_bellow");c.removeClassName("unselected_bellow");var b=this.get_content(a);if(b){Element.show(b)}},toggle:function(b,a){var c=this.get_bellow(b);if(!c){return}if(c.hasClassName("selected_bellow")&&false){this.close();return}this.open(b);t61.load_url(a,{emulate_nonajax:true});t61.page.redirecting=false},close:function(){if($("accordion")==null){return}var a=$("accordion").getElementsByClassName("accordion_content");var d,f;for(var c=0;c<a.length;c++){d=$(a[c]);Element.hide(d)}var b=$("accordion").getElementsByClassName("bellow");for(var c=0;c<b.length;c++){f=$(b[c]);f.removeClassName("selected_bellow");f.addClassName("unselected_bellow")}},get_bellow:function(a){return $("accordion_bellow_"+a)},get_content:function(a){return $("accordion_content_"+a)}};t61.song_panel={is_in_page:function(){return $("song_panel").parentNode.id=="page_content"},jump_into_page:function(){if(t61.song_panel.is_in_page()){return}var a=$("song_panel");a.parentNode.removeChild(a);$("page_content").appendChild(a);a.style.zIndex=1},jump_out_of_page:function(){var a=$("song_panel");a.parentNode.removeChild(a);$("song_panel_wrapper").appendChild(a)},reset:function(){},is_moused_over:function(g){var c=Event.pointerX(g);var j=Event.pointerY(g);var d=$("song_panel").getDimensions().width;var f=$("song_panel").getDimensions().height;var b=t61.util.get_viewport();var a=250;return((c<d)&&(j>(b.height-a))&&(j<(b.height-a+f)))},is_collapseable:function(){return(t61.context.nav!="song")},collapse:function(a){if(a&&t61.song_panel.is_moused_over(a)){return}t61.mousehover_panel.hide();if(!t61.song_panel.is_collapseable()){return}$("song_panel").morph("margin-left:-462px;",{duration:0.4,afterFinishInternal:function(){Element.hide("song_panel");t61.song_panel.restore_activator()}});clearInterval(t61.song_panel.collapse_interval);t61.song_panel.collapse_interval=null},collapse_interval:null,queue_collapse:function(b,a){if(!a){a={}}t61.util.apply_defaults(a,{duration:1000});if(t61.song_panel.collapse_interval){clearInterval(t61.song_panel.collapse_interval)}t61.song_panel.collapse_interval=null;if(t61.song_panel.is_collapseable()){t61.song_panel.collapse_interval=setInterval(t61.song_panel.collapse.bind(t61.song_panel),a.duration)}},is_collapsed:function(){return($("song_panel").style.marginLeft=="-462px")},is_expanded:function(){return($("song_panel").style.marginLeft=="0px")},sync_activator:function(){if(this.is_collapsed()){if(t61.current_song&&($("song_panel_activator").style.marginLeft=="-40px")){this.restore_activator()}}else{if(this.is_expanded()){if($("song_panel_activator").style.marginLeft=="0px"){this.retract_activator()}}}},restore_activator:function(){if(t61.current_song){$("song_panel_activator").style.marginLeft="0px"}},retract_activator:function(){$("song_panel_activator").style.marginLeft="-40px"},expand:function(a){if(!a){a={}}t61.util.apply_defaults(a,{duration:1000});Element.show("song_panel");t61.song_panel.retract_activator();$("song_panel").morph("margin-left:0px;",{duration:0.3});t61.song_panel.queue_collapse(null,a)},onmouseout:function(a){if(t61.song_panel.is_moused_over(a)){return}if(this.collapse_interval){return}t61.song_panel.queue_collapse(a)},onmousemove:function(b){if(t61.song_panel.last_mousemove){var a=(new Date()-t61.song_panel.last_mousemove);if(a<100){return}}t61.song_panel.last_mousemove=new Date();if(t61.song_panel.collapse_interval){clearInterval(t61.song_panel.collapse_interval)}t61.song_panel.collapse_interval=null},handle_logout:function(){if(t61.current_song){this.sync_song(t61.current_song)}},handle_login:function(){if(t61.current_song){this.sync_song(t61.current_song)}},phase_out:function(a){$("song_panel").style.zIndex=1;if(t61.song_panel.is_in_page()){$("song_panel").setOpacity(0.5)}t61.mousehover_panel.hide()},init:function(){if(!this.__initialized){Event.observe("song_panel_foreground","mouseout",this.onmouseout.bind(this));Event.observe("song_panel","mousemove",this.onmousemove.bind(this));Event.observe("song_panel_activator","mouseover",this.expand.bind(this));Event.observe("song_panel_hearts","mouseover",this.show_hearts_tip);Event.observe("song_panel_hearts","mouseout",t61.mousehover_panel.hide);Event.observe("song_panel_download","mouseover",this.show_download_tip);Event.observe("song_panel_download","mouseout",t61.mousehover_panel.hide);Event.observe("song_panel_comments_count","mouseover",this.show_comments_tip);Event.observe("song_panel_comments_count","mouseout",t61.mousehover_panel.hide);Event.observe("song_panel_revive","mouseover",this.show_revive_tip);Event.observe("song_panel_revive","mouseout",t61.mousehover_panel.hide)}if((t61.context.nav=="listener")||(t61.context.nav=="artist")){this.collapse()}if(t61.song_panel.sync_activator_interval){clearInterval(t61.song_panel.sync_activator_interval)}t61.song_panel.sync_activator_interval=setInterval(t61.song_panel.sync_activator.bind(this),200);this.__initialized=true},sync_song:function(h){var g=h.data.score;if(g!=null){$("song_panel_hearts_number").update(g)}else{$("song_panel_hearts_number").update("?")}var f=h.data.comments_count;$("song_panel_comments_count").update(f);if(parseInt(f)>=100){$("song_panel_comments_count").addClassName("big_score")}else{$("song_panel_comments_count").removeClassName("big_score")}this.sync_heart_icon();this.sync_download_link(h);var c=t61.song.get_song_link(h,{upper_case:true,limit:24,css_class:"hoverable"});var a=c.url;$("song_panel_title").innerHTML=c.html;var d="/"+h.data.artist_username+"/";var b=t61.util.link_to_remote(h.data.artist.toUpperCase().truncate(40),d,"hoverable");$("song_panel_artist").innerHTML=b;if(h.data.revivable_flag){Element.show("song_panel_revive")}else{Element.hide("song_panel_revive")}$("song_panel_comments_count").setAttribute("href","/song/comments/list/"+h.id+"/");$("song_panel_comments_count").onclick=null;t61.page.process_links($("song_panel_comments_count").parentNode)},sync_download_link:function(a){if(a.is_downloadable()){$("song_panel_download").removeClassName("disabled")}else{$("song_panel_download").addClassName("disabled")}},sync_heart_icon:function(){if(!t61.current_song){return}if(t61.is_logged_in){var a=t61.user.num_times_hearted[t61.current_song.id];if(a==null){a=0}if(a>0){$("song_panel_hearts").addClassName("filled")}else{$("song_panel_hearts").removeClassName("filled")}}else{$("song_panel_hearts").addClassName("filled")}},update_hearts:function(b,a){if(!t61.current_song){return}if(t61.current_song.id!=b){return}Effect.Fade("song_panel_hearts_number",{from:1,to:0.01});setTimeout(function(){$("song_panel_hearts_number").update(a);Effect.Appear("song_panel_hearts_number")},1000);var c=t61.song_panel.get_hearts_tip_text();t61.mousehover_panel.update(c)},show_revive_tip:function(a){if(!t61.current_song){return}var c="Push a song back to the home page.";var b=134;t61.song_panel.show_tip(a,c,{left:b})},get_hearts_tip_text:function(){var b;if(t61.is_logged_in){var a=t61.user.num_times_hearted[t61.current_song.id];if(!a){a=0}b="You've hearted this song "+a+" times."}else{b="Humans have hearted this "+t61.current_song.data.score+" times. You can too by joining or logging in."}return b},show_hearts_tip:function(a){if(!t61.current_song){return}var c=t61.song_panel.get_hearts_tip_text();var b=200;t61.song_panel.show_tip(a,c,{left:b})},show_download_tip:function(c){var f=t61.current_song;if(!f){return}var d;var b=f.data.license_type;var a;if(f.is_downloadable()&&b){a={cc_nc_nd:"Creative Commons: Attribution Non-commercial No Derivatives",cc_nc_sa:"Creative Commons: Attribution Non-commercial Share Alike",cc_nc:"Creative Commons: Attribution Non-commercial",cc_nd:"Creative Commons: Attribution No Derivatives",cc_sa:"Creative Commons: Attribution"}[b]}if(!a){a="All rights reserved"}if(f.is_downloadable()){d="License: "+a}else{d="Song not yet available for download."}t61.song_panel.show_tip(c,d,{left:365})},show_comments_tip:function(a){if(!t61.current_song){return}var c="View comments";var b=225;t61.song_panel.show_tip(a,c,{left:b})},show_tip:function(b,d,a){if(!a){a={}}t61.mousehover_panel.update(d);var c=t61.util.get_viewport().height-120;a.top=c;t61.mousehover_panel.show(b,a)}};t61.openmic={init:function(){if(t61.context.subnav=="openmic"){t61.adventuremeter.init()}else{Element.hide("adventure_slider")}},teardown:function(){t61.adventuremeter.teardown()},is_active:function(){return(t61.playlist.current&&(t61.playlist.current.base_url=="/openmic"))}};t61.adventuremeter={teardown:function(){if(this.slider){this.slider.dispose()}this.slider=null},init:function(){if(this.slider){this.slider.dispose()}Element.show("adventure_slider");var a=160;this.slider=new Control.Slider("adventure_slider_handle","adventure_slider_track",{onSlide:this.on_slide.bind(this),onChange:this.on_change.bind(this),axis:"vertical",range:$R(0,100)});this.update(this.adventureness);this.sync_tip()},update:function(b){var a=100-b;this.slider.setValue(a,null,false)},on_slide:function(a){this.adventureness=parseInt(100-this.slider.value);this.sync_tip();$("adventure_tip").removeClassName("shown")},sync_tip:function(){var a="normal";if(this.adventureness>=75){a="excellent"}else{if(this.adventureness>=50){a="great"}else{if(this.adventureness>=25){a="good"}}}$("adventure_tip_content").update("adventure meter: "+this.adventureness+"<br/>heart reward: "+a)},on_change:function(){var a=parseInt(100-this.slider.value);new Ajax.Request("/openmic/update_adventureness/",{parameters:"adventureness="+a,method:"post",hideLoader:true});this.adventureness=a;this.sync_tip()},adventureness:50};