var Prototype={Version:'1.6.0.3',Browser:{IE:!!(window.attachEvent&&navigator.userAgent.indexOf('Opera')===-1),Opera:navigator.userAgent.indexOf('Opera')>-1,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')===-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement('div')['__proto__']&&document.createElement('div')['__proto__']!==document.createElement('form')['__proto__']},ScriptFragment:'<script[^>]*>([\\S\\s]*?)<\/script>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari)
Prototype.BrowserFeatures.SpecificElementExtensions=false;var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0]))
parent=properties.shift();function klass(){this.initialize.apply(this,arguments);}
Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);}
for(var i=0;i<properties.length;i++)
klass.addMethods(properties[i]);if(!klass.prototype.initialize)
klass.prototype.initialize=Prototype.emptyFunction;klass.prototype.constructor=klass;return klass;}};Class.Methods={addMethods:function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=Object.keys(source);if(!Object.keys({toString:true}).length)
properties.push("toString","valueOf");for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super"){var method=value;value=(function(m){return function(){return ancestor[m].apply(this,arguments)};})(property).wrap(method);value.valueOf=method.valueOf.bind(method);value.toString=method.toString.bind(method);}
this.prototype[property]=value;}
return this;}};var Abstract={};Object.extend=function(destination,source){for(var property in source)
destination[property]=source[property];return destination;};Object.extend(Object,{inspect:function(object){try{if(Object.isUndefined(object))return'undefined';if(object===null)return'null';return object.inspect?object.inspect():String(object);}catch(e){if(e instanceof RangeError)return'...';throw e;}},toJSON:function(object){var type=typeof object;switch(type){case'undefined':case'function':case'unknown':return;case'boolean':return object.toString();}
if(object===null)return'null';if(object.toJSON)return object.toJSON();if(Object.isElement(object))return;var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(!Object.isUndefined(value))
results.push(property.toJSON()+': '+value);}
return'{'+results.join(', ')+'}';},toQueryString:function(object){return $H(object).toQueryString();},toHTML:function(object){return object&&object.toHTML?object.toHTML():String.interpret(object);},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);},isElement:function(object){return!!(object&&object.nodeType==1);},isArray:function(object){return object!=null&&typeof object=="object"&&'splice'in object&&'join'in object;},isHash:function(object){return object instanceof Hash;},isFunction:function(object){return typeof object=="function";},isString:function(object){return typeof object=="string";},isNumber:function(object){return typeof object=="number";},isUndefined:function(object){return typeof object=="undefined";}});Object.extend(Function.prototype,{argumentNames:function(){var names=this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g,'').split(',');return names.length==1&&!names[0]?[]:names;},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0]))return this;var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}},bindAsEventListener:function(){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args));}},curry:function(){if(!arguments.length)return this;var __method=this,args=$A(arguments);return function(){return __method.apply(this,args.concat($A(arguments)));}},delay:function(){var __method=this,args=$A(arguments),timeout=args.shift()*1000;return window.setTimeout(function(){return __method.apply(__method,args);},timeout);},defer:function(){var args=[0.01].concat($A(arguments));return this.delay.apply(this,args);},wrap:function(wrapper){var __method=this;return function(){return wrapper.apply(this,[__method.bind(this)].concat($A(arguments)));}},methodize:function(){if(this._methodized)return this._methodized;var __method=this;return this._methodized=function(){return __method.apply(null,[this].concat($A(arguments)));};}});Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+'-'+
(this.getUTCMonth()+1).toPaddedString(2)+'-'+
this.getUTCDate().toPaddedString(2)+'T'+
this.getUTCHours().toPaddedString(2)+':'+
this.getUTCMinutes().toPaddedString(2)+':'+
this.getUTCSeconds().toPaddedString(2)+'Z"';};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1');};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},execute:function(){this.callback(this);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();}finally{this.currentlyExecuting=false;}}}});Object.extend(String,{interpret:function(value){return value==null?'':String(value);},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(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;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this);},truncate:function(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this);},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var 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];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML;},unescapeHTML:function(){var div=new Element('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(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;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(count){return count<1?'':new Array(count+1).join(this);},camelize:function(){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;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:'\\u00'+match[0].charCodeAt().toPaddedString(2,16);});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'";},toJSON:function(){return this.inspect(true);},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,'#{1}');},isJSON:function(){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);},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON())return eval('('+json+')');}catch(e){}
throw new SyntaxError('Badly formed JSON string: '+this.inspect());},include:function(pattern){return this.indexOf(pattern)>-1;},startsWith:function(pattern){return this.indexOf(pattern)===0;},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d;},empty:function(){return this=='';},blank:function(){return/^\s*$/.test(this);},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},unescapeHTML:function(){return this.stripTags().replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');}});String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements))
object=object.toTemplateReplacements();return this.template.gsub(this.pattern,function(match){if(object==null)return'';var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3];var pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].gsub('\\\\]',']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr);}
return before+String.interpret(ctx);});}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(iterator,context){var index=0;try{this._each(function(value){iterator.call(context,value,index++);});}catch(e){if(e!=$break)throw e;}
return this;},eachSlice:function(number,iterator,context){var index=-number,slices=[],array=this.toArray();if(number<1)return array;while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.collect(iterator,context);},all:function(iterator,context){iterator=iterator||Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator.call(context,value,index);if(!result)throw $break;});return result;},any:function(iterator,context){iterator=iterator||Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator.call(context,value,index))
throw $break;});return result;},collect:function(iterator,context){iterator=iterator||Prototype.K;var results=[];this.each(function(value,index){results.push(iterator.call(context,value,index));});return results;},detect:function(iterator,context){var result;this.each(function(value,index){if(iterator.call(context,value,index)){result=value;throw $break;}});return result;},findAll:function(iterator,context){var results=[];this.each(function(value,index){if(iterator.call(context,value,index))
results.push(value);});return results;},grep:function(filter,iterator,context){iterator=iterator||Prototype.K;var results=[];if(Object.isString(filter))
filter=new RegExp(filter);this.each(function(value,index){if(filter.match(value))
results.push(iterator.call(context,value,index));});return results;},include:function(object){if(Object.isFunction(this.indexOf))
if(this.indexOf(object)!=-1)return true;var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inGroupsOf:function(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},inject:function(memo,iterator,context){this.each(function(value,index){memo=iterator.call(context,memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});},max:function(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index);if(result==null||value>=result)
result=value;});return result;},min:function(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index);if(result==null||value<result)
result=value;});return result;},partition:function(iterator,context){iterator=iterator||Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator.call(context,value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value){results.push(value[property]);});return results;},reject:function(iterator,context){var results=[];this.each(function(value,index){if(!iterator.call(context,value,index))
results.push(value);});return results;},sortBy:function(iterator,context){return this.map(function(value,index){return{value:value,criteria:iterator.call(context,value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last()))
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(iterable){if(!iterable)return[];if(iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;}
if(Prototype.Browser.WebKit){$A=function(iterable){if(!iterable)return[];if(!(typeof iterable==='function'&&typeof iterable.length==='number'&&typeof iterable.item==='function')&&iterable.toArray)
return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;};}
Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(Object.isArray(value)?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))
array.push(value);return array;});},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value});});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(!Object.isUndefined(value))results.push(value);});return'['+results.join(', ')+']';}});if(Object.isFunction(Array.prototype.forEach))
Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0)i=length+i;for(;i<length;i++)
if(this[i]===item)return i;return-1;};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1;};Array.prototype.toArray=Array.prototype.clone;function $w(string){if(!Object.isString(string))return[];string=string.strip();return string?string.split(/\s+/):[];}
if(Prototype.Browser.Opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(Object.isArray(arguments[i])){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;};}
Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16);},succ:function(){return this+1;},times:function(iterator,context){$R(0,this,true).each(iterator,context);return this;},toPaddedString:function(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string;},toJSON:function(){return isFinite(this)?this.toString():'null';}});$w('abs round ceil floor').each(function(method){Number.prototype[method]=Math[method].methodize();});function $H(object){return new Hash(object);};var Hash=Class.create(Enumerable,(function(){function toQueryPair(key,value){if(Object.isUndefined(value))return key;return key+'='+encodeURIComponent(String.interpret(value));}
return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object);},_each:function(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},set:function(key,value){return this._object[key]=value;},get:function(key){if(this._object[key]!==Object.prototype[key])
return this._object[key];},unset:function(key){var value=this._object[key];delete this._object[key];return value;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},index:function(value){var match=this.detect(function(pair){return pair.value===value;});return match&&match.key;},merge:function(object){return this.clone().update(object);},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result;});},toQueryString:function(){return this.inject([],function(results,pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object'){if(Object.isArray(values))
return results.concat(values.map(toQueryPair.curry(key)));}else results.push(toQueryPair(key,values));return results;}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';},toJSON:function(){return Object.toJSON(this.toObject());},clone:function(){return new Hash(this);}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);};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(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true};Object.extend(this.options,options||{});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,url,options){$super(options);this.transport=Ajax.getTransport();this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!['get','post'].include(this.method)){params['_method']=this.method;this.method='post';}
this.parameters=params;if(params=Object.toQueryString(params)){if(this.method=='get')
this.url+=(this.url.include('?')?'&':'?')+params;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
params+='&_=';}
try{var response=new Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(response);Ajax.Responders.dispatch('onCreate',this,response);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||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['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)
headers['Connection']='close';}
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push))
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);},success:function(){var status=this.getStatus();return!status||(status>=200&&status<300);},getStatus:function(){try{return this.transport.status||0;}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON);}catch(e){this.dispatchException(e);}
var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return!m||(m[0]=='#{protocol}//#{domain}#{port}'.interpolate({protocol:location.protocol,domain:document.domain,port:location.port?':'+location.port:''}));},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null;}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON();}
if(readyState==4){var xml=transport.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||'';}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json'))||this.responseText.blank())
return null;try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,json);}).bind(this);$super(url,options);},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion);}
else options.insertion(receiver,responseText);}
else receiver.update(responseText);}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;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(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.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 $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(Object.isString(element))
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(Element.extend(query.snapshotItem(i)));return results;};}
if(!window.Node)var Node={};if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12});}
(function(){var element=this.Element;this.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;if(Prototype.Browser.IE&&attributes.name){tagName='<'+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes);}
if(!cache[tagName])cache[tagName]=Element.extend(document.createElement(tagName));return Element.writeAttribute(cache[tagName].cloneNode(false),attributes);};Object.extend(this.Element,element||{});if(element)this.Element.prototype=element.prototype;}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){element=$(element);element.style.display='none';return element;},show:function(element){element=$(element);element.style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;},replace:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts());}
element.parentNode.replaceChild(content,element);return element;},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML)))
insertions={bottom:insertions};var content,insert,tagName,childNodes;for(var position in insertions){content=insertions[position];position=position.toLowerCase();insert=Element._insertionTranslations[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){insert(element,content);continue;}
content=Object.toHTML(content);tagName=((position=='before'||position=='after')?element.parentNode:element).tagName.toUpperCase();childNodes=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=='top'||position=='after')childNodes.reverse();childNodes.each(insert.curry(element));content.evalScripts.bind(content).defer();}
return element;},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper))
$(wrapper).writeAttribute(attributes||{});else if(Object.isString(wrapper))wrapper=new Element(wrapper,attributes);else wrapper=new Element('div',wrapper);if(element.parentNode)
element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $(element).select("*");},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element);},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(Object.isString(selector))
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return Object.isNumber(expression)?ancestors[expression]:Selector.findElement(ancestors,expression,index);},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();return Object.isNumber(expression)?element.descendants()[expression]:Element.select(element,expression)[index||0];},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return Object.isNumber(expression)?previousSiblings[expression]:Selector.findElement(previousSiblings,expression,index);},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return Object.isNumber(expression)?nextSiblings[expression]:Selector.findElement(nextSiblings,expression,index);},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element);},identify:function(element){element=$(element);var id=element.readAttribute('id'),self=arguments.callee;if(id)return id;do{id='anonymous_element_'+self.counter++}while($(id));element.writeAttribute('id',id);return id;},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':')){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value;}}
return element.getAttribute(name);},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=='object')attributes=name;else attributes[name]=Object.isUndefined(value)?true:value;for(var attr in attributes){name=t.names[attr]||attr;value=attributes[attr];if(t.values[attr])name=t.values[attr](element,value);if(value===false||value===null)
element.removeAttribute(name);else if(value===true)
element.setAttribute(name,name);else element.setAttribute(name,value);}
return element;},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!(element=$(element)))return;if(!element.hasClassName(className))
element.className+=(element.className?' ':'')+className;return element;},removeClassName:function(element,className){if(!(element=$(element)))return;element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;return element[element.hasClassName(className)?'removeClassName':'addClassName'](className);},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.blank();},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);if(element.compareDocumentPosition)
return(element.compareDocumentPosition(ancestor)&8)===8;if(ancestor.contains)
return ancestor.contains(element)&&ancestor!==element;while(element=element.parentNode)
if(element==ancestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);style=style=='float'?'cssFloat':style.camelize();var value=element.style[style];if(!value||value=='auto'){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
if(style=='opacity')return value?parseFloat(value):1.0;return value=='auto'?null:value;},getOpacity:function(element){return $(element).getStyle('opacity');},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=';'+styles;return styles.include('opacity')?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element;}
for(var property in styles)
if(property=='opacity')element.setOpacity(styles[property]);else
elementStyle[(property=='float'||property=='cssFloat')?(Object.isUndefined(elementStyle.styleFloat)?'cssFloat':'styleFloat'):property]=styles[property];return element;},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;return element;},getDimensions:function(element){element=$(element);var display=element.getStyle('display');if(display!='none'&&display!=null)
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(Prototype.Browser.Opera){element.style.top=0;element.style.left=0;}}
return element;},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=Element.getStyle(element,'overflow')||'auto';if(element._overflow!=='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName.toUpperCase()=='BODY')break;var p=Element.getStyle(element,'position');if(p!=='static')break;}}while(element);return Element._returnOffset(valueL,valueT);},absolutize:function(element){element=$(element);if(element.getStyle('position')=='absolute')return element;var offsets=element.positionedOffset();var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';element.style.left=left+'px';element.style.width=width+'px';element.style.height=height+'px';return element;},relativize:function(element){element=$(element);if(element.getStyle('position')=='relative')return element;element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element;},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return Element._returnOffset(valueL,valueT);},getOffsetParent:function(element){if(element.offsetParent)return $(element.offsetParent);if(element==document.body)return $(element);while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return $(element);return $(document.body);},viewportOffset:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||(element.tagName&&(element.tagName.toUpperCase()=='BODY'))){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT);},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});source=$(source);var p=source.viewportOffset();element=$(element);var delta=[0,0];var parent=null;if(Element.getStyle(element,'position')=='absolute'){parent=element.getOffsetParent();delta=parent.viewportOffset();}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)element.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)element.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)element.style.width=source.offsetWidth+'px';if(options.setHeight)element.style.height=source.offsetHeight+'px';return element;}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:'class',htmlFor:'for'},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(proceed,element,style){switch(style){case'left':case'top':case'right':case'bottom':if(proceed(element,'position')==='static')return null;case'height':case'width':if(!Element.visible(element))return null;var dim=parseInt(proceed(element,style),10);if(dim!==element['offset'+style.capitalize()])
return dim+'px';var properties;if(style==='height'){properties=['border-top-width','padding-top','padding-bottom','border-bottom-width'];}
else{properties=['border-left-width','padding-left','padding-right','border-right-width'];}
return properties.inject(dim,function(memo,property){var val=proceed(element,property);return val===null?memo:memo-parseInt(val,10);})+'px';default:return proceed(element,style);}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(proceed,element,attribute){if(attribute==='title')return element.title;return proceed(element,attribute);});}
else if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(proceed,element){element=$(element);try{element.offsetParent}
catch(e){return $(document.body)}
var position=element.getStyle('position');if(position!=='static')return proceed(element);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});$w('positionedOffset viewportOffset').each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);try{element.offsetParent}
catch(e){return Element._returnOffset(0,0)}
var position=element.getStyle('position');if(position!=='static')return proceed(element);var offsetParent=element.getOffsetParent();if(offsetParent&&offsetParent.getStyle('position')==='fixed')
offsetParent.setStyle({zoom:1});element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(proceed,element){try{element.offsetParent}
catch(e){return Element._returnOffset(0,0)}
return proceed(element);});Element.Methods.getStyle=function(element,style){element=$(element);style=(style=='float'||style=='cssFloat')?'styleFloat':style.camelize();var value=element.style[style];if(!value&&element.currentStyle)value=element.currentStyle[style];if(style=='opacity'){if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
if(value=='auto'){if((style=='width'||style=='height')&&(element.getStyle('display')!='none'))
return element['offset'+style.capitalize()]+'px';return null;}
return value;};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,'');}
element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=='normal'))
element.style.zoom=1;var filter=element.getStyle('filter'),style=element.style;if(value==1||value===''){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute('filter');return element;}else if(value<0.00001)value=0;style.filter=stripAlpha(filter)+'alpha(opacity='+(value*100)+')';return element;};Element._attributeTranslations={read:{names:{'class':'className','for':'htmlFor'},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:"";},_getEv:function(element,attribute){attribute=element.getAttribute(attribute);return attribute?attribute.toString().slice(23,-2):null;},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){return element.title;}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:'cellPadding',cellspacing:'cellSpacing'},Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value;},style:function(element,value){element.style.cssText=value?value:'';}}};Element._attributeTranslations.has={};$w('colSpan rowSpan vAlign dateTime accessKey tabIndex '+'encType maxLength readOnly longDesc frameBorder').each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr;});(function(v){Object.extend(v,{href:v._getAttr,src:v._getAttr,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv});})(Element._attributeTranslations.read.values);}
else if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==='')?'':(value<0.00001)?0:value;return element;};}
else if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;if(value==1)
if(element.tagName.toUpperCase()=='IMG'&&element.width){element.width++;element.width--;}else try{var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}
return element;};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);};}
if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName in Element._insertionTranslations.tags){$A(element.childNodes).each(function(node){element.removeChild(node)});Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)});}
else element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
if('outerHTML'in document.createElement('div')){Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element;}
content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next();var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling)
fragments.each(function(node){parent.insertBefore(node,nextSibling)});else
fragments.each(function(node){parent.appendChild(node)});}
else element.outerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result;};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element('div'),t=Element._insertionTranslations.tags[tagName];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild});}else div.innerHTML=html;return $A(div.childNodes);};Element._insertionTranslations={before:function(element,node){element.parentNode.insertBefore(node,element);},top:function(element,node){element.insertBefore(node,element.firstChild);},bottom:function(element,node){element.appendChild(node);},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling);},tags:{TABLE:['<table>','</table>',1],TBODY:['<table><tbody>','</tbody></table>',2],TR:['<table><tbody><tr>','</tr></tbody></table>',3],TD:['<table><tbody><tr><td>','</td></tr></tbody></table>',4],SELECT:['<select>','</select>',1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD});}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return!!(node&&node.specified);}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div')['__proto__']){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div')['__proto__'];Prototype.BrowserFeatures.ElementExtensions=true;}
Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions)
return Prototype.K;var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window)return element;var methods=Object.clone(Methods),tagName=element.tagName.toUpperCase(),property,value;if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element))
element[property]=value.methodize();}
element._extendedByPrototype=Prototype.emptyFunction;return element;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated);}}});extend.refresh();return extend;})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute);};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){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 tagName=methods;methods=arguments[1];}
if(!tagName)Object.extend(Element.Methods,methods||{});else{if(Object.isArray(tagName))tagName.each(extend);else extend(tagName);}
function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName])
Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods);}
function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination))
destination[property]=value.methodize();}}
function findDOMClass(tagName){var klass;var trans={"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(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName)['__proto__'];return window[klass];}
if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);}
if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;copy(T[tag],klass.prototype);}}
Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh)Element.extend.refresh();Element.cache={};};document.viewport={getDimensions:function(){var dimensions={},B=Prototype.Browser;$w('width height').each(function(d){var D=d.capitalize();if(B.WebKit&&!document.evaluate){dimensions[d]=self['inner'+D];}else if(B.Opera&&parseFloat(window.opera.version())<9.5){dimensions[d]=document.body['client'+D]}else{dimensions[d]=document.documentElement['client'+D];}});return dimensions;},getWidth:function(){return this.getDimensions().width;},getHeight:function(){return this.getDimensions().height;},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();if(this.shouldUseSelectorsAPI()){this.mode='selectorsAPI';}else if(this.shouldUseXPath()){this.mode='xpath';this.compileXPathMatcher();}else{this.mode="normal";this.compileMatcher();}},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath)return false;var e=this.expression;if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty")))
return false;if((/(\[[\w-]*?:|:checked)/).test(e))
return false;return true;},shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI)return false;if(!Selector._div)Selector._div=new Element('div');try{Selector._div.querySelector(this.expression);}catch(e){return false;}
return true;},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;}
this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;}
this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;var e=this.expression,results;switch(this.mode){case'selectorsAPI':if(root!==document){var oldId=root.id,id=$(root).identify();e="#"+id+" "+e;}
results=$A(root.querySelectorAll(e)).map(Element.extend);root.id=oldId;return results;case'xpath':return document._getElementsByXPath(this.xpath,root);default:return this.matcher(root);}},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],'');}else{return this.findElements(document).include(element);}}}}
var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break;}}
return match;},toString:function(){return this.expression;},inspect:function(){return"#<Selector:"+this.expression.inspect()+">";}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m);},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(Object.isFunction(h))return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},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(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break;}}}
return"[not("+exclusion.join(" and ")+")]";},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m);},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m);},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m);},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m);},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/))
return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b});}}}},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(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m);},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[((?:[\w]+:)?[\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase();},className:function(element,matches){return Element.hasClassName(element,matches[1]);},id:function(element,matches){return element.id===matches[1];},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1]);},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return nodeValue&&Selector.operators[matches[2]](nodeValue,matches[5]||matches[6]);}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++)
a.push(node);return a;},mark:function(nodes){var _true=Prototype.emptyFunction;for(var i=0,node;node=nodes[i];i++)
node._countedByPrototype=_true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._countedByPrototype=undefined;return nodes;},index:function(parentNode,reverse,ofType){parentNode._countedByPrototype=Prototype.emptyFunction;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)
if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++;}},unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i<l;i++)
if(!(n=nodes[i])._countedByPrototype){n._countedByPrototype=Prototype.emptyFunction;results.push(Element.extend(n));}
return Selector.handlers.unmark(results);},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName('*'));return results;},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,child;child=node.childNodes[j];j++)
if(child.nodeType==1&&child.tagName!='!')results.push(child);}
return results;},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next)results.push(next);}
return results;},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,Element.nextSiblings(node));return results;},nextElementSibling:function(node){while(node=node.nextSibling)
if(node.nodeType==1)return node;return null;},previousElementSibling:function(node){while(node=node.previousSibling)
if(node.nodeType==1)return node;return null;},tagName:function(nodes,root,tagName,combinator){var uTagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName(tagName));return results;}else nodes=this[combinator](nodes);if(tagName=="*")return nodes;}
for(var i=0,node;node=nodes[i];i++)
if(node.tagName.toUpperCase()===uTagName)results.push(node);return results;}else return root.getElementsByTagName(tagName);},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!targetNode)return[];if(!nodes&&root==document)return[targetNode];if(nodes){if(combinator){if(combinator=='child'){for(var i=0,node;node=nodes[i];i++)
if(targetNode.parentNode==node)return[targetNode];}else if(combinator=='descendant'){for(var i=0,node;node=nodes[i];i++)
if(Element.descendantOf(targetNode,node))return[targetNode];}else if(combinator=='adjacent'){for(var i=0,node;node=nodes[i];i++)
if(Selector.handlers.previousElementSibling(targetNode)==node)
return[targetNode];}else nodes=h[combinator](nodes);}
for(var i=0,node;node=nodes[i];i++)
if(node==targetNode)return[targetNode];return[];}
return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[];},className:function(nodes,root,className,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);return Selector.handlers.byClassName(nodes,root,className);},byClassName:function(nodes,root,className){if(!nodes)nodes=Selector.handlers.descendant([root]);var needle=' '+className+' ';for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0)continue;if(nodeClassName==className||(' '+nodeClassName+' ').include(needle))
results.push(node);}
return results;},attrPresence:function(nodes,root,attr,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var results=[];for(var i=0,node;node=nodes[i];i++)
if(Element.hasAttribute(node,attr))results.push(node);return results;},attr:function(nodes,root,attr,value,operator,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null)continue;if(handler(nodeValue,value))results.push(node);}
return results;},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);if(!nodes)nodes=root.getElementsByTagName("*");return Selector.pseudos[name](nodes,value,root);}},pseudos:{'first-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node))continue;results.push(node);}
return results;},'last-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node))continue;results.push(node);}
return results;},'only-child':function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
if(!h.previousElementSibling(node)&&!h.nextElementSibling(node))
results.push(node);return results;},'nth-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root);},'nth-last-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true);},'nth-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true);},'nth-last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true);},'first-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true);},'last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true);},'only-of-type':function(nodes,formula,root){var p=Selector.pseudos;return p['last-of-type'](p['first-of-type'](nodes,formula,root),formula,root);},getIndices:function(a,b,total){if(a==0)return b>0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo;});},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._countedByPrototype){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode);}}
if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++)
if(node.nodeIndex==formula)results.push(node);}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j<l;j++)
if(node.nodeIndex==indices[j])results.push(node);}}
h.unmark(nodes);h.unmark(indexed);return results;},'empty':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=='!'||node.firstChild)continue;results.push(node);}
return results;},'not':function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++)
if(!node._countedByPrototype)results.push(node);h.unmark(exclusions);return results;},'enabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(!node.disabled&&(!node.type||node.type!=='hidden'))
results.push(node);return results;},'disabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.disabled)results.push(node);return results;},'checked':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.checked)results.push(node);return results;}},operators:{'=':function(nv,v){return nv==v;},'!=':function(nv,v){return nv!=v;},'^=':function(nv,v){return nv==v||nv&&nv.startsWith(v);},'$=':function(nv,v){return nv==v||nv&&nv.endsWith(v);},'*=':function(nv,v){return nv==v||nv&&nv.include(v);},'$=':function(nv,v){return nv.endsWith(v);},'*=':function(nv,v){return nv.include(v);},'~=':function(nv,v){return(' '+nv+' ').include(' '+v+' ');},'|=':function(nv,v){return('-'+(nv||"").toUpperCase()+'-').include('-'+(v||"").toUpperCase()+'-');}},split:function(expression){var expressions=[];expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});return expressions;},matchElements:function(elements,expression){var matches=$$(expression),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)
if(element._countedByPrototype)results.push(element);h.unmark(matches);return results;},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false;}
return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){expressions=Selector.split(expressions.join(','));var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element));}
return(l>1)?h.unique(results):results;}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++)
if(node.tagName!=="!")a.push(node);return a;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node.removeAttribute('_countedByPrototype');return nodes;}});}
function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,options){if(typeof options!='object')options={hash:!!options};else if(Object.isUndefined(options.hash))options.hash=true;var key,value,submitted=false,submit=options.submit;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&element.type!='file'&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return options.hash?data:Object.toQueryString(data);}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form;},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form;},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return'hidden'!=element.type&&!element.disabled;});var firstByIndex=elements.findAll(function(element){return element.hasAttribute('tabIndex')&&element.tabIndex>=0;}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params);}
if(form.hasAttribute('method')&&!options.method)
options.method=form.method;return new Ajax.Request(action,options);}};Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element;},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();}catch(e){}
return element;},disable:function(element){element=$(element);element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value);}},inputSelector:function(element,value){if(Object.isUndefined(value))return element.checked?element.value:null;else element.checked=!!value;},textarea:function(element,value){if(Object.isUndefined(value))return element.value;else element.value=value;},select:function(element,value){if(Object.isUndefined(value))
return this[element.type=='select-one'?'selectOne':'selectMany'](element);else{var opt,currentValue,single=!Object.isArray(value);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];currentValue=this.optionValue(opt);if(single){if(currentValue==value){opt.selected=true;return;}}
else opt.selected=value.include(currentValue);}}},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){return Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue();},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value;}}});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(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element);}});if(!window.Event)var Event={};Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(event){var element;switch(event.type){case'mouseover':element=event.fromElement;break;case'mouseout':element=event.toElement;break;default:return null;}
return Element.extend(element);}});Event.Methods=(function(){var isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};isButton=function(event,code){return event.button==buttonMap[code];};}else if(Prototype.Browser.WebKit){isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false;}};}else{isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code);};}
return{isLeftClick:function(event){return isButton(event,0)},isMiddleClick:function(event){return isButton(event,1)},isRightClick:function(event){return isButton(event,2)},element:function(event){event=Event.extend(event);var node=event.target,type=event.type,currentTarget=event.currentTarget;if(currentTarget&&currentTarget.tagName){if(type==='load'||type==='error'||(type==='click'&&currentTarget.tagName.toLowerCase()==='input'&&currentTarget.type==='radio'))
node=currentTarget;}
if(node.nodeType==Node.TEXT_NODE)node=node.parentNode;return Element.extend(node);},findElement:function(event,expression){var element=Event.element(event);if(!expression)return element;var elements=[element].concat(element.ancestors());return Selector.findElement(elements,expression,0);},pointer:function(event){var docElement=document.documentElement,body=document.body||{scrollLeft:0,scrollTop:0};return{x:event.pageX||(event.clientX+
(docElement.scrollLeft||body.scrollLeft)-
(docElement.clientLeft||0)),y:event.pageY||(event.clientY+
(docElement.scrollTop||body.scrollTop)-
(docElement.clientTop||0))};},pointerX:function(event){return Event.pointer(event).x},pointerY:function(event){return Event.pointer(event).y},stop:function(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true;}};})();Event.extend=(function(){var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m;});if(Prototype.Browser.IE){Object.extend(methods,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(event){if(!event)return false;if(event._extendedByPrototype)return event;event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement,relatedTarget:Event.relatedTarget(event),pageX:pointer.x,pageY:pointer.y});return Object.extend(event,methods);};}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents")['__proto__'];Object.extend(Event.prototype,methods);return Prototype.K;}})();Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._prototypeEventID)return element._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id];}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";return eventName;}
function getCacheForID(id){return cache[id]=cache[id]||{};}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[];}
function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))
return false;Event.extend(event);handler.call(element,event);};wrapper.handler=handler;c.push(wrapper);return wrapper;}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler});}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler));}
function destroyCache(){for(var id in cache)
for(var eventName in cache[id])
cache[id][eventName]=null;}
if(window.attachEvent){window.attachEvent("onunload",destroyCache);}
if(Prototype.Browser.WebKit){window.addEventListener('unload',Prototype.emptyFunction,false);}
return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false);}else{element.attachEvent("on"+name,wrapper);}
return element;},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler);});return element;}else if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName);});return element;}
var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false);}else{element.detachEvent("on"+name,wrapper);}
destroyWrapper(id,eventName,handler);return element;},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)
element=document.documentElement;var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true);}else{event=document.createEventObject();event.eventType="ondataavailable";}
event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event);}else{element.fireEvent(event.eventType,event);}
return Event.extend(event);}};})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var timer;function fireContentLoadedEvent(){if(document.loaded)return;if(timer)window.clearInterval(timer);document.fire("dom:loaded");document.loaded=true;}
if(document.addEventListener){if(Prototype.Browser.WebKit){timer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState))
fireContentLoadedEvent();},0);Event.observe(window,"load",fireContentLoadedEvent);}else{document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false);}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent();}};}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content});},Top:function(element,content){return Element.insert(element,{top:content});},Bottom:function(element,content){return Element.insert(element,{bottom:content});},After:function(element,content){return Element.insert(element,{after:content});}};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(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element);},relativize:function(element){Position.prepare();return Element.relativize(element);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options);}};if(!document.getElementsByClassName)document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]";}
instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(''):iter(className);return cond?document._getElementsByXPath('.//*'+cond,element):[];}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className)return elements;var nodes=$(element).getElementsByTagName('*');className=' '+className+' ';for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=' '+child.className+' ')&&(cn.include(className)||(classNames&&classNames.all(function(name){return!name.toString().blank()&&cn.include(' '+name+' ');}))))
elements.push(Element.extend(child));}
return elements;};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className);};}(Element.Methods);Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();if(!window.Kidzbop)Kidzbop={};Kidzbop.Preferences={video_service_url:'video-svc.kidzbop.com'};function absoluteOffset(element){var element=$(element);var parent=element;var offset=[0,0];while(parent.offsetParent){offset[0]+=parent.offsetLeft;offset[1]+=parent.offsetTop
parent=parent.offsetParent;}
offset.push(offset[0]+element.getWidth());offset.push(offset[1]+element.getHeight());return offset;}
function show_popup(popup_div,reference_element,e){var minus_top=$('wrapper').offsetTop;var minus_left=$('wrapper').offsetLeft;var popup=$(popup_div);var ref_element=$(reference_element);var left=absoluteOffset(reference_element)[0]-popup.getWidth();if(left<minus_left)
{left=left+popup.getWidth();}
var top=absoluteOffset(reference_element)[1];popup.style.top=(top-minus_top)+'px';popup.style.left=(left-minus_left)+'px';Element.show(popup);}
function set_value(reference_element,el){var tab=reference_element.split('_');$(el).value=tab.last();}
function selectVideoStill(link){var list=$(link.parentNode.parentNode);var elements_list=$A(list.getElementsByTagName("li"));elements_list.each(function(e){$(e).removeClassName("selected");});$(link.parentNode).addClassName("selected");$('still_video_id').value=link.id;}
function checkUploadAvatarRulesAgreement(){if($('rules_agreement')&&$('rules_agreement').checked&&$('uploaded_file').value!=''){document.avatar_upload_form.submit();$('upload_indicator').toggle();$('avatar_upload_error_message_1').innerHTML="";$('avatar_upload_error_message_2').innerHTML="";return true;}
else{$('avatar_upload_error_message_1').innerHTML=!$('rules_agreement').checked?"You must agree to the rules!":"";$('avatar_upload_error_message_2').innerHTML=$('uploaded_file').value==''?"You haven't selected an image to upload!":"";return false;}}
function checkUploadBackgroundRulesAgreement(){if($('background_rules_agreement')&&$('background_rules_agreement').checked&&$('uploaded_file').value!=''){document.background_upload_form.submit();$('upload_indicator').toggle();$('background_upload_error_message_1').innerHTML="";$('background_upload_error_message_2').innerHTML="";return true;}
else{$('background_upload_error_message_1').innerHTML=!$('background_rules_agreement').checked?"You must agree to the rules!":"";$('background_upload_error_message_2').innerHTML=$('uploaded_file').value==''?"You haven't selected an image to upload!":"";return false;}}
function select_all_checkboxes_in_form(form_id,select){var elements_list=$(form_id).getElementsByTagName('input');for(i=0;i<elements_list.length;i++){elements_list[i].checked=select?"checked":"";}
return false;}
function updateWordsBar(checkbox){var list_elements=$('description_words').getElementsByTagName('li');var html_words='';var warning_text='';var j=1,counter=0,disabled=false;for(i=0;i<list_elements.length;i++){if(list_elements[i].childNodes[0].checked==true){counter++;}}
if(counter>5){checkbox.checked=false;warning_text="You've already selected 5 words. To choose another word unselect the one you want to delete.";}
for(i=0;i<list_elements.length;i++){if(list_elements[i].childNodes[0].checked==true){html_words+='<div id="word-'+j+'">'+list_elements[i].childNodes[1].innerHTML+'</div>';j+=1;}}
$('words_bar').innerHTML=html_words;$('words_warning').innerHTML=warning_text;}
function showMoreWords(){var page_1=$('description_words_1');var page_2=$('description_words_2');var pagination_info=$('pagination_info');if(page_2.style.display=='none'){page_1.style.display='none';page_2.style.display='block';pagination_info.innerHTML='2 of 2';}else{page_2.style.display='none';page_1.style.display='block';pagination_info.innerHTML='1 of 2';}}
function callBackColorPickerOpen(){this.isSendColor=true;}
function redirect_and_close(newlocation){window.opener.location.href=newlocation;window.close();}
function reload_parent_and_close_popup(){window.opener.location.reload();window.close();}
function activate_submit_button_for_top_search(){if(document.getElementById('submit_button_for_top_search')){var submit=document.getElementById('submit_button_for_top_search');if(check_count_of_selected_checkboxes("top_search_list[]",10)){submit.disabled=false;$('top_search_message').innerHTML='';}else{submit.disabled=true;$('top_search_message').innerHTML="You can't choose more and less than 10 items.";}}}
function check_count_of_selected_checkboxes(name,limit){var counter=0;if(document.getElementsByName(name)){var checkboxes=document.getElementsByName(name);for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].checked)
counter++;}}
if(counter==limit)
return true;else
return false;}
function check_search_promo_keywords(){if(document.getElementsByTagName('input')){var inp=document.getElementsByTagName('input')
for(var i=0;i<inp.length;i++){for(var j=0;j<inp.length;j++){if(inp[i].value==inp[j].value&&i!=j){return true}}}}}
function showUploadPage(){window.location='http://'+document.domain+'/video/upload';}
function openNewWindow(URLtoOpen,windowName,windowFeatures){newWindow=window.open('http://'+document.domain+'/game/send_to_friend?link='+window.location.href.substring(7),windowName,'height=400,width=300');}
function overlay(){b=document.getElementsByTagName('body')[0];overlay_in=document.createElement('div');overlay_in.id='overlay_in';b.appendChild(overlay_in);o=document.getElementById('overlay_in');detect=navigator.userAgent.toLowerCase();place=detect.indexOf('msie')+1;if(place){if(self.pageYOffset){yPos=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yPos=document.documentElement.scrollTop;}else if(document.body){yPos=document.body.scrollTop;}
bod=document.getElementsByTagName('body')[0];bod.style.height='100%';bod.style.overflow='hidden';htm=document.getElementsByTagName('html')[0];htm.style.height='100%';htm.style.overflow='hidden';selects=document.getElementsByTagName('select');for(i=0;i<selects.length;i++){selects[i].style.visibility='hidden';}}
else{o=document.getElementById('overlay_in');o.style.height=""+$('wrapper').offsetHeight+"px;";}
window.scrollTo(0,0);o.style.display='block';}
function returnBrowserType(){var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isMac=(navigator.platform.indexOf("Mac")!=-1)?true:false;if(isIE){return"IE";}else if(isMac){return'Macintosh';}else{return'other';}}
function safari(){var isSafari=(navigator.appVersion.indexOf("Safari")!=-1)?true:false;if(isSafari){return"Safari"}}
function detectBrowserTypeLogin(){try{if(content_id&&content_type){new Ajax.Request('/account/get_popup_login?content_id='+content_id+'&content_type='+content_type+'&rating='+rating+'&url_go='+url_go,{asynchronous:true,evalScripts:true});}else{new Ajax.Request('/account/get_popup_login',{asynchronous:true,evalScripts:true});}}
catch(err){new Ajax.Request('/account/get_popup_login',{asynchronous:true,evalScripts:true});}}
function addToFavorite(){new Ajax.Request('/'+content_type.toLowerCase()+'/add_to_favorites?ajax_value='+content_id,{asynchronous:false,evalScripts:true});return true;}
function vote(){if(user_answer=='1'){new Ajax.Updater('poll_question_'+poll_question_id,'/'+content_type.toLowerCase()+'/vote?from_session=1&poll_question_id='+poll_question_id,{asynchronous:true,evalScripts:true});}
else{new Ajax.Updater('poll_question_'+poll_question_id,'/'+content_type.toLowerCase()+'/vote?answer_id='+content_id,{asynchronous:true,evalScripts:true});}
return true;}
function addToFavoriteCdAlbum(){new Ajax.Request('/cd_album/add_cd_album_to_favorites?ajax_value='+content_id,{asynchronous:false,evalScripts:true});return true;}
function videoRating(){new Ajax.Request('/video/rate_ajax?video_id='+content_id+'&rating='+rating,{asynchronous:false,evalScripts:true});return true;}
function addToFavoriteTrack(){new Ajax.Request('/cd_album/add_track_to_favorites?ajax_value='+content_id,{asynchronous:false,evalScripts:true});return true;}
function popupLogin(){window.open("http://"+document.domain+"/account/login"+get_url_go()+"","Login","status = 1, height = 430, width = 300, resizable = 0")}
function popupLoginSafari(){window.open("http://"+document.domain+"/account/login"+get_url_go()+"","Login","status = 1, height = 431, width = 301, resizable = 0")}
function get_url_go(){try{var url_to="?url_go="+url_go}
catch(err){var url_to="";}
return url_to}
function popupSignup(){window.open("http://"+document.domain+"/account/register","Signup","status = 1, height = 430, width = 300, resizable = 0")}
function popupSignupSafari(){window.open("http://"+document.domain+"/account/register","Signup","status = 1, height = 431, width = 301, resizable = 0")}
function hideContents(id){if(document.getElementById(id)){document.getElementById(id).style.display='none';}}
function showContents(id){var contentType;hideContents(id);contentType=document.getElementById('type_of_'+id).value;if(contentType!='Select'){new Ajax.Updater(id,'/admin/home/show_contents?content_type='+contentType+'&id='+id,{asynchronous:true,evalScripts:true});document.getElementById(id).style.display='block';}
return false;}
function showContentsDrag(id){var contentType;hideContents(id);contentType=document.getElementById('type_of_'+id).value;if(contentType!='Select'){new Ajax.Updater(id,'/admin/fun/show_contents?content_type='+contentType,{asynchronous:true,evalScripts:true});document.getElementById(id).style.display='block';}
return false;}
function showKidzContentsDrag(id){var contentType;hideContents(id);contentType=document.getElementById('type_of_'+id).value;if(contentType!='Select'){new Ajax.Updater(id,'/kidzbop_world/show_contents?content_type='+contentType,{asynchronous:true,evalScripts:true});document.getElementById(id).style.display='block';}
return false;}
function setWidget(id){var contentType;var contentId;contentType=document.getElementById('type_of_'+id).value;contentId=document.getElementById('content_of_'+id).value;new Ajax.Updater(id+'_content','/admin/home/set_widget?content_type='+contentType+'&content_id='+contentId+'&id='+id,{asynchronous:true,evalScripts:true});document.getElementById(id).style.display='block';return false;}
function readHtml(){var html;html_code=document.getElementById("canvas").innerHTML;alert(html_code);new Ajax.Updater('canvas','/kidzbop_world/save_content?html_code='+html_code,{asynchronous:true,evalScripts:true});}
function getMediaTagPlay(track){alert("fff");if(returnBrowserType()!="IE")
document.write("<object data=\""+track+"\" type=\"audio/mpeg\" ></object>");else
document.write("<embed src=\""+track+"\" type=\"audio/mpeg\" hidden=\"true\"></embed>");}
function playTrack(cd_id,track,div_id,div_id_to_stop){stopTrack(div_id_to_stop);new Ajax.Updater(div_id,'/cd_album/play_track?cd_id='+cd_id+'&track='+track,{asynchronous:true,evalScripts:true});}
function stopTrack(div_id){new Ajax.Updater(div_id,'/cd_album/stop_track',{asynchronous:true,evalScripts:true});}
function stopAllOther(src,div_name){var playersArray=new Array;var i;var actual;var cdId;cdId=src.split("/")[3];actual=div_name+"::album_"+cdId+"::player_"+src.split("/")[4];if($$('span[name="album_track_mp3_player"]').length>0){playersArray=$$('span[name="album_track_mp3_player"]');}
else{playersArray=$$('div[name="album_track_mp3_player"]');}
for(i=0;i<playersArray.length;i++){if(playersArray[i].id!=actual){var inner_element=document.getElementById(playersArray[i].id).innerHTML;var album_id=playersArray[i].id.split("::player_")[0].split("::album_")[1];var div_name_other=playersArray[i].id.split("::player_")[0].split("::album_")[0];var file_name=playersArray[i].id.split("::player_")[1];inner_element=inner_element.replace(/<PARAM NAME="FlashVars" VALUE="">/g,'<PARAM NAME="FlashVars" VALUE="mp3_source=/uploads/cd_album/'+album_id+'/'+file_name+'&div_name='+div_name_other+'"');document.getElementById(playersArray[i].id).innerHTML=inner_element;}else{var album_name=$(actual).getAttribute('album_name');var track_name=$(actual).getAttribute('track_name');pageTracker._trackEvent("Cd Albums",album_name,track_name+' play event');}}}
function googleEvent(s_category,s_title,s_desc){var desc=s_desc?s_desc:null;if(s_category&&s_title){pageTracker._trackEvent(s_category,s_title,s_desc);}}
function changeStatus(content_id,content_type){var controller;if(content_type=="contest"){controller="contests";}
else{controller=content_type;}
var status;status=document.getElementById(content_id).value;new Ajax.Request('/admin/'+controller+'/change_status?content_id='+content_id+'&content_type='+content_type+'&status='+status,{asynchronous:true,evalScripts:true});if(content_type!='webshows'){alert("Status Changed");}}
function turnOffAllStyles(content_id,content_type){var selects=new Array();var i;selects=document.getElementsByTagName('select');for(i=0;i<selects.length;i++){if(selects[i].id!=content_id&&selects[i].options[1].selected==true){new Ajax.Updater('is_active_'+content_id,'/admin/main_style/change_status?content_id='+selects[i].id+'&content_type='+content_type+'&status=0',{asynchronous:true,evalScripts:true});selects[i].options[1].selected=false;selects[i].options[0].selected=true;}}}
function changeFeaturedStatus(content_id,content_type,contest_id){var status;if(document.getElementById(content_id).checked==true)status=1;else status=0;if(confirm('Are You sure?')){new Ajax.Request('/admin/featured/change_featured_status?content_id='+content_id+'&content_type='+content_type+'&contest_id='+contest_id+'&status='+status,{asynchronous:true,evalScripts:true});}else{status==1?document.getElementById(content_id).checked=false:document.getElementById(content_id).checked=true;}}
function hideLink(id){document.getElementById(id).style.display="none";}
function showLink(id){document.getElementById(id).style.display="block"}
function addMore(track_number){next_track_number=track_number+1;document.getElementById("field"+track_number).value
new Ajax.Request('/admin/cd_album/get_track_fields?track_number='+next_track_number,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});return false;return false;}
function getCdAlbumsByCategory(){var category;category=document.getElementById("category").value;new Ajax.Updater('cd_albums','/admin/music_page/get_cd_albums_by_category?category_id='+category,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});return false;}
function getBannerPreview(){var banner;var section;banner=document.getElementById("banner").value;section=document.getElementById("section").value;new Ajax.Updater('banner_preview','/admin/promo_banner/get_banner_preview?banner_id='+banner+'&section='+section,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});return false;}
function changeOrder(from_position,dropdown_id){var dest_position;var section;dest_position=document.getElementById(dropdown_id).value;section=document.getElementById("section").value;new Ajax.Updater('selected_banners','/admin/promo_banner/change_order?from='+from_position+'&dest='+dest_position+'&section='+section,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});return false;}
function getPlaythingsByContentType(){var contentType;contentType=document.getElementById("contentType").value;new Ajax.Updater('playthings','/admin/fun_page/get_playthings_by_content_type?content_type='+contentType,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});return false;}
function getContentsByContentType(){var contentType;contentType=document.getElementById('contentType').value;new Ajax.Updater('contents','/admin/home/show_contents?content_type='+contentType,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});return false;}
function validateFields(divId,arrayOfIds){var errorHTML;var errorListHTML='';var errors=0;if(arrayOfIds.indexOf('Not unique array')>0){errorListHTML+='<li> Track number must be unique</li>';errors+=1;}
for(var i=0;i<arrayOfIds.length;++i){if(document.getElementById(arrayOfIds[i][0])&&(document.getElementById(arrayOfIds[i][0]).value==''||!document.getElementById(arrayOfIds[i][0]).value)){errorListHTML+='<li>'+arrayOfIds[i][1]+' can\'t be blank</li>';errors+=1;}}
startHTMLDiv='<div class="errorExplanation" id="errorExplanation">';errorHTML='<h2>'+errors+' errors prohibited this content from being saved</h2>';errorHTML+='<p>There were problems with the following fields:</p>';errorHTML+='<ul>';errorHTML+=errorListHTML;errorHTML+='</ul>';endHTMLDiv='</div>';if(errors!=0){if(document.getElementById('errorExplanation')==null)
errorHTML=startHTMLDiv+errorHTML+endHTMLDiv;else divId='errorExplanation';document.getElementById(divId).innerHTML=errorHTML;return false;}
document.forms[0].submit();}
function getFieldsForPoll(){var fields=new Array();fields[0]=new Array('title_file','Title Image');return fields;}
function getFieldsForPollSidebar(){var fields=new Array();fields[0]=new Array('name','Name');return fields;}
function getTrackFieldsForCdAlbum(){var fields=new Array();var reg=/^track/;var track_numbers=[];for(var i=0;i<$('tracks').childNodes.length;i++){var node=$('tracks').childNodes[i].id;if(reg.test(node)){if($(node+"_name"))fields.push(new Array(node+"_name",'Track name '));if($(node+"_track_number")){fields.push(new Array(node+"_track_number",'Track number'));track_numbers.push($(node+"_track_number").value);}}}
return fields;}
function getFieldsForCdAlbum(){var fields=new Array();fields.push(new Array('cd_album_name','Name'));fields.push(new Array('image','Medium Image'));fields.push(new Array('small_image','Thumbnail'));fields.push(new Array('mini_image','Mini Image'));fields=fields.concat(getTrackFieldsForCdAlbum());return fields;}
function getFieldsForCdAlbumEdit(){return getTrackFieldsForCdAlbum();}
function getFieldsForTheme(){var fields=new Array();fields[0]=new Array('theme_name','Name');fields[1]=new Array('image1','Background');fields[2]=new Array('image2','Navbar');fields[3]=new Array('image3','Top Pic');fields[4]=new Array('image4','Bottom Container');fields[5]=new Array('image5','Right Pic');fields[6]=new Array('image6','Left Pic');fields[7]=new Array('image7','Top Container');fields[8]=new Array('extra_image1','Navbar Title Video');fields[9]=new Array('extra_image2','Navbar Title Fun & Games');fields[10]=new Array('extra_image3','Navbar Title Friends');fields[11]=new Array('extra_image4','Navbar Title Music');fields[12]=new Array('extra_image5','Navbar Top My Picks');fields[13]=new Array('extra_image6','Navbar Top Requests');fields[14]=new Array('extra_image7','Navbar Bottom My Creations');fields[15]=new Array('extra_image8','Navbar Bottom Favorites');return fields;}
function getFieldsForGame(){var fields=new Array();fields[0]=new Array('game_name','Name');fields[1]=new Array('games','Game');fields[2]=new Array('thumbnail','Thumbnail');fields[3]=new Array('medium_image','Medium Image');fields[4]=new Array('mini_image','Mini Image');return fields;}
function getFieldsForHeaderNav(){var fields=new Array();fields[0]=new Array('header_nav_name','Name');fields[1]=new Array('background_image','Background Image');return fields;}
function getFieldsForSendable(){var fields=new Array();fields[0]=new Array('sendable_name','Name');fields[1]=new Array('sendables','Flash');fields[2]=new Array('thumbnail','Thumbnail');fields[3]=new Array('medium_image','Medium Image');fields[4]=new Array('mini_image','Mini Image');return fields;}
function getFieldsForPrintable(){var fields=new Array();fields[0]=new Array('printable_name','Name');fields[1]=new Array('pdf','Source name');fields[2]=new Array('image','Image');fields[3]=new Array('thumbnail','Thumbnail');fields[4]=new Array('medium_image','Medium Image');fields[5]=new Array('mini_image','Mini Image');return fields;}
function getFieldsForCreativity(){var fields=new Array();fields[0]=new Array('creativity_name','Name');fields[1]=new Array('image','Image');fields[2]=new Array('thumbnail','Thumbnail');fields[3]=new Array('creativity_pdf_name','Media name');fields[4]=new Array('pdf','Media file field');fields[5]=new Array('medium_image','Medium Image');fields[6]=new Array('mini_image','Mini Image');return fields;}
function getFieldsForAdvert(){var fields=new Array();fields[0]=new Array('advert_name','Name');fields[1]=new Array('advert_url','Url');fields[2]=new Array('image_url','Banner');return fields;}
function sortByCategory(){var categoryId=$('category_id').value;document.location='/video/browse?category_id='+categoryId;}
function sortFavoriteByCategory(type,user_id){var categoryId=$('category_id').value;new Ajax.Updater('','/kids_world/sort_by?category_id='+categoryId+'&content_type='+type+'&user_id='+user_id,{asynchronous:true,evalScripts:true,onComplete:function(request){Element.hide('indicator')},onLoading:function(request){Element.show('indicator')}});}
function countPlayed(game_id){new Ajax.Request('/game/count_how_often_game_was_played?game_id='+game_id,{asynchronous:true,evalScripts:true});alert('cool!!!');}
function setCategory(){var categoryId=$('category_id').value;new Ajax.Updater('','/admin/video_categories/set_hot_topic_category?category_id='+categoryId,{asynchronous:true,evalScripts:true});alert("Hot Topic Category updated");}
function uploadVideoWhenLogged(){window.location="http://"+document.domain+"/video/upload?need_render=1";}
function closePopup(){try{if(content_type=="CdAlbum"){if(addToFavoriteCdAlbum()){closePopupWithFadeEffect();}}else if(content_type=="video_rating"){if(videoRating()){closePopupWithFadeEffect();}}else if(content_type=="Track"){if(addToFavoriteTrack()){closePopupWithFadeEffect();}}else if(content_type=="Poll"){if(vote())
closePopupWithFadeEffect();}else if(content_type=="KBW"||content_type=="none"||addToFavorite()){closePopupWithFadeEffect();}}
catch(err){closePopupWithFadeEffectAndStop();}}
function loginAutoClose(){document.getElementById("pop").style.display="none";closePopup();}
function effect(div){new Effect.Fade(div,{duration:3});return true;}
function closePopupWithFadeEffect(){url_go=(url_go==undefined||url_go==null)?"":url_go;skip_game_ad=(skip_game_ad==undefined||skip_game_ad==null)?false:skip_game_ad;var link=url_go.match(/^http:\/\//)?url_go:'http://'+document.domain+url_go;if(skip_game_ad)
link+='?played='+skip_game_ad;window.location=link;}
function closePopupWithFadeEffectAndStop(no_redirect){if(no_redirect==true){new Effect.Fade("pop",{});}else{window.location.reload();}}
function disablePageLinks()
{var linkArray;var onclickArray;var dropdownArray;linkArray=document.links;dropdownArray=document.getElementsByTagName("select");var size=linkArray.length;var i;for(i=0;i<size;i++){linkArray[i].href="#";linkArray[i].removeAttribute('onclick');}
for(i=0;i<dropdownArray.length;i++){dropdownArray[i].disabled=true;}}
function login(){new Ajax.Request('/account/get_popup_login',{asynchronous:true,evalScripts:true});}
Array.prototype.has_unique_values=function(b){var a=[],i,l=this.length;for(i=0;i<l;i++){if(a.indexOf(this[i],0,b)<0){a.push(this[i]);}else{alert("Not unique track number: "+this[i]);return false;}}
return true;};function count_down(sec,url,div_id){document.getElementById(div_id).innerHTML='This notice will close in '+(sec/1000)+' seconds.';if(sec<=0){window.parent.location=url;}else{setTimeout('count_down('+(sec-1000)+',\''+url+'\',\''+div_id+'\');',1000);}}
function clearDiv(id){var div=document.getElementById(id)
div.className='';div.style.cssText='';}
function changeStyleForIE(trackId){var ifIE;var i;ifIE=returnBrowserType();if(ifIE=="IE"){try{document.getElementById("show_"+trackId).style.marginLeft="-8px";}
catch(err){document.getElementById("show_"+trackId).style.marginLeft="-8px";}}}
function getElementsByClassName(cn){var arr=new Array();var els=document.getElementsByTagName("*");var exp=new RegExp("^(.* )?"+cn+"( .*)?$","g");for(var i=0;i<els.length;i++){if(exp.test(els[i].className)){arr.push(els[i]);}}
return arr;}
function changeIcon(picture_id,user_id){new Ajax.Updater("user_icon","/account/change_avatar?user_id="+user_id+"&picture_id="+picture_id,{asynchronous:true,evalScripts:true});document.getElementById('icons_1').style.display='none';}
function getStarsNumber(videoId,star_on){var star_on=(star_on==null)?"/images/star_on.gifa":star_on;var i;var starCounter=0;var hiddenField=document.getElementById("stars_on");for(i=0;i<5;i++){if(document.getElementById(videoId+"_"+i).src.match(star_on))
starCounter++;}
hiddenField.value=starCounter;}
function turnOffAllStars(videoId,star_off){var star_off=(star_off==null)?"/images/star_off.gif":star_off;var i;for(i=0;i<5;i++){document.getElementById(videoId+"_"+i).src=star_off;}}
function lightStars(starId,videoId,star_on,star_off){var star_on=(star_on==null)?"/images/star_on.gif":star_on;var star_off=(star_off==null)?"/images/star_off.gif":star_off;var i;getStarsNumber(videoId,star_on);var starNumber=starId;turnOffAllStars(videoId,star_off);for(i=0;i<starId+1;i++){document.getElementById(videoId+"_"+starNumber).src=star_on;starNumber--;}}
function reloadStars(videoId,star_on,star_off){var star_on=(star_on==null)?"/images/star_on.gif":star_on;var star_off=(star_off==null)?"/images/star_off.gif":star_off;var hiddenField=document.getElementById("stars_on");var i;turnOffAllStars(videoId,star_off);for(i=0;i<hiddenField.value;i++){document.getElementById(videoId+"_"+i).src=star_on;}}
var flg=false;function setContestLinkImage(id1,image1,size){style1="display:block;"+size+";text-indent:-9999px;margin-bottom:3px;";document.getElementById(id1).style.cssText=style1+"background:url('../"+image1+"') no-repeat;";}
function linkTo(href){if(!flg){window.location='http://'+document.domain+href;}}
function disableLinkWhenDrag(){setTimeout("flg = true",800);resetFlag();}
tagFlag=false;function resetFlag(){flg=false;}
function showStylePreview(selectId,divId){var select;var styleId;select=document.getElementById(selectId);styleId=select.value;new Ajax.Updater(divId,'/admin/main_style/preview_section?id='+styleId,{asynchronous:true,evalScripts:true});return false;}
function hideTags(){setTimeout("hideTags1()",600);}
function setTagFlag(){tagFlag=true;}
function unsetTagFlag(){tagFlag=false;}
function hideTags1(){if(!tagFlag)
document.getElementById('delayed_tags').style.display="none";}
function showKbwPopUp(id){document.getElementById(id).style.display="block";}
function hideKbwPopUp(id){document.getElementById(id).style.display="none";}
function changeMyChannelBackground(image_url){document.getElementById('content_wide_2').style.background="#fff url('"+image_url+"')";}
function getEditMode(uri){hideKbwPopUp('instructions_pop');showEditTools(uri);new Ajax.Request('/kids_world/update_theme_user_set_copies',{asynchronous:true,evalScripts:true});}
function showEditTools(uri){enableDraggables();new Ajax.Request('/kids_world/update_widgets?temp=true',{asynchronous:true,evalScripts:true})
new Ajax.Request('/kids_world/change_draggable?enable=true&uri='+uri,{asynchronous:true,evalScripts:true});}
function enableDraggables(){$('buttons_top').innerHTML="<a href='#' onclick =\"showKbwPopUp('save_pop')\" class='edit_world'><img src='/images/button-complete.gif' alt='Complete' /></a>";for(var i=1;i<=7;i++)document.getElementById("arrow-"+i).style.display="block";}
function disableDraggables(){$('buttons_top').innerHTML="<a href='#' onclick =\"showKbwPopUp('instructions_pop')\" class='b-edit_your_world'><img src='/images/b-edit_your_world.gif' alt='Edit your world' /><span></span></a>";for(var i=1;i<=7;i++)$("arrow-"+i).style.display="none";}
function saveKbwLayoutChanges(uri){new Ajax.Request('/kids_world/save_theme_user_sets',{asynchronous:false,evalScripts:true});new Ajax.Request('/kids_world/update_widgets',{asynchronous:false,evalScripts:true});new Ajax.Request('/kids_world/change_draggable?&uri='+uri,{asynchronous:true,evalScripts:true});hideKbwPopUp('save_pop');disableDraggables();}
function updateStyle(id,newStyleLines){try{if($(id)!=undefined)$(id).style.cssText=newStyleLines;}
catch(err){}}
function turnOffEditMode(uri){new Ajax.Request('/kids_world/clear_edit_mode_session?uri='+uri,{asynchronous:true,evalScripts:true});}
function keepIcon(){window.location='/kids_world/home';}
function updatePlayer(id){var element=document.getElementById("kiszka");element.innerHTML="<iframe class='vid' id='twistage_view_iframe' name='twistage_view_iframe' allowtransparency='true' src='http://"+Kidzbop.Preferences.video_service_url+"/assets/"+id+"?width=320&height=263&config=%7B%22autoplay%22%3A%20false%7D' frameborder='0' height='263' scrolling='no' width='320'></iframe>";}
function setPreloaderGif(){var element;element=document.getElementById("twistage_view_iframe");element.className="vid";}
function hideSubmitForPickedVideo(){document.getElementById("submit").style.display='none';}
function displaySelectedPersonalMessage(){var element=document.getElementById("personal_message");var friend_name=document.getElementById("friend_name_1").value;var personal_message=element.options[element.selectedIndex].value.replace('[friend_name]',friend_name);document.getElementById("personal_message_frame").innerHTML=personal_message;}
function turnOffFlashElement(divId){var element;element=document.getElementById(divId);if(element!=undefined){element.style.display='none';}}
function clearTagValue(tag_id){var element=document.getElementById(tag_id);element.value="";return false;}
function changeRulesTextFor(rulesParagraph){paragraph=$('rules');links=$('links_to_paragraphs').childNodes;for(var i=0;i<links.length;i++){if(links[i].nodeName=="A"){links[i].className='';}}
$(rulesParagraph).setAttribute('class','active');if(rulesParagraph=='eligibility'){paragraph.innerHTML='<big>Eligibility:</big><br />Dodge Grand Caravan Presents the KIDZ BOP "Let the Music Drive You" Contest (the "Contest") is open to all legal residents of the United States and District of Columbia who are fifteen (15) years old or younger. Employees and agents of Kidz Bop, LLC ("KB"), Chrysler Company, LLC (Kidz Bop, LLC and Chrysler Company, LLC are collectively referred to herein as "Sponsors") Razor and Tie Direct, LLC, Better Homes & Gardens and the Meredith Corporation and any affiliates, and subsidiaries thereof and their immediate families and household members are not eligible. This contest is void in Puerto Rico and all other U.S. territories and possessions and where prohibited or otherwise restricted by law. Any person submitting an original music video featuring the Kidz Bop Kids performance of the song "First Time" ("Video") for judging ("Participant," and "you") must be a registered user of kidzbop.com. Participants can submit as many Videos as they desire, provided, however, that only one Grand Prize (AND ANY SECONDARY PRIZING) will be awarded to any given Participant. Sponsors reserve the right to verify the eligibility qualifications of any Participant at anytime throughout the duration of the Contest. United States law governs these Official Rules.';}else if(rulesParagraph=='how_to_entry'){paragraph.innerHTML='<big>How to Enter</big><br />Beginning on October 10, 2007 at 12:01 AM EST, any person wishing to enter the contest must go to www.kidzbop.com ("Contest Site") and follow the instructions to upload a Video. By uploading a Video and filling out the required form, you accept and agree to be bound by these Official Rules, including the decisions of the Judges and Sponsors, which are final and binding in all respects. All Videos must be received by May 30, 2008 at 11:59 PM EST ("Submission End Date") in order to qualify for participation in the Contest. All Videos must be formatted and encoded according to the requirements set forth on the Contest Site and must be intended for family audience viewing, as such term is defined by the Sponsors at their sole discretion. Following the Submission End Date, staff members of Kidz Bop LLC ("Judges") will view the submitted Videos and rate them based on the following criteria: (1) originality: 34%, (2) art direction: 33%, (3) performance: 33% ("Judging Criteria"). The twenty (20) Videos that receive the highest scores from the Judges, at their and Sponsors\' sole discretion, shall be deemed the "Semi-Finalists" and shall be posted on the Contest Site for public viewing no later than June 4, 2008. From June 4, 2008 at 12:01 AM EST to June 11, 2008 at 11:59 PM EST ("Voting Period"), all visitors to the contest site ("Users") will be able to view the Semi-Finalists. Videos and rate them based on the Users\' personal opinions and preferences. At the close of the Voting Period, the Sponsors shall determine the total number of times each Video was viewed and multiply that amount by the average score the Video received from the Users. These scores will determine the top five (5) Videos submitted ("Finalists"). The Finalists\' Videos shall be featured on the Contest Site from June 12, 2008 through June 30, 2008. The Videos created by the Finalists shall be rated by the staff members of the Dodge (also "Judges") based on the Judging Criteria. The Finalist whose video receives the highest score from the Judges, at their and Sponsors\' sole discretion, shall be deemed the "Grand Prize Winner". The four (4) Finalists not receiving the Grand Prize ("Honorable Mentions") and the Grand Prize Winner will be notified via email to their parents/legal guardians that that they have won no later that June 20, 2008. In the event of a tie, the Finalist receiving the highest total score from the Users will prevail. Odds of winning depend on the number of eligible Videos received and the skill of the Participants in creating their Videos.'}else if(rulesParagraph=='judging'){paragraph.innerHTML='<big>Judging</big><br />One (1) Grand Prize Winner will win a 2008 Dodge Grand Caravan SXT (approximate retail value of $38,480.00) for his or her family (.Grand Prize.). The parent/legal guardian Grand Prize Winner is solely responsible for the taxes, registration, insurance of Grand Prize (proof of which must be shown prior to the parent/legal guardian Grand Prize Winner taking possession of Grand Prize), license, pickup costs at the automobile dealership designated by Chrysler Company and any other option not included on the stated model. The Grand Prize Winner must provide proof of a valid U.S. driver.s license prior to being awarded the Grand Prize. Grand Prize awarded to a California, Massachusetts, New York or Vermont resident will include required emissions equipment. Sponsors will not provide any additional verbal or written warranties other than the standard written warranty statement provided with the vehicle and are the sole responsibility of the vehicle manufacturer. Some restrictions may apply. All costs, taxes, fees, and other expenses associated with the acceptance and use of any element of Grand Prize not specifically addressed above as being provided are the sole responsibility of the parent/guardian of the Grand Prize Winner. All federal, state and local taxes on Prize are the sole responsibility of the Grand Prize Winner.s parent/legal guardian. Dodge will provide the Grand Prize Winner with a 1099 tax form for the ARV of the prize. The specifics of all aforementioned elements of the Grand Prize in the Contest shall be solely determined by Sponsors. Grand Prize cannot be transferred, substituted or redeemed for cash except at Sponsors. sole discretion. Sponsors hereby reserve the right to substitute the Grand Prize with a prize of comparable or greater value. The Grand Prize Winner and his or her parent/legal guardian will be notified via email that the Participant has won and links to the Grand Prize Winner.s Video will be featured on the Contest Site from June 20, 2008 through June 28, 2008.<br />In the event the parents of the Grand Prize Winner are divorced, the parent retaining primary custody of the Participant shall be deemed the parent eligible to receive the Grand Prize. In the event both parents have been granted joint custody of the Grand Prize Winner by a court of competent jurisdiction, the parent the Grand Prize Winner selected as his or her .parent or legal guardian. when the submitting winning Video shall be deemed eligible to receive the Grand Prize.';}else if(rulesParagraph=='prizes'){paragraph.innerHTML='<big>Prizes</big><br /><br /><b>Grand Prize</b><br/ >One (1) Grand Prize Winner will win a 2008 Dodge Grand Caravan SXT (approximate retail value of $38,480.00) for his or her family ("Grand Prize"). The parent/legal guardian Grand Prize Winner is solely responsible for the taxes, registration, insurance of Grand Prize (proof of which must be shown prior to the parent/legal guardian Grand Prize Winner taking possession of Grand Prize), license, pickup costs at the automobile dealership designated by Chrysler Company and any other option not included on the stated model. The Grand Prize Winner must provide proof of a valid U.S. driver\'s license prior to being awarded the Grand Prize. Grand Prize awarded to a California, Massachusetts, New York or Vermont resident will include required emissions equipment. Sponsors will not provide any additional verbal or written warranties other than the standard written warranty statement provided with the vehicle and are the sole responsibility of the vehicle manufacturer. Some restrictions may apply. All costs, taxes, fees, and other expenses associated with the acceptance and use of any element of Grand Prize not specifically addressed above as being provided are the sole responsibility of the parent/guardian of the Grand Prize Winner. All federal, state and local taxes on Prize are the sole responsibility of the Grand Prize Winner\'s parent/legal guardian. Dodge will provide the Grand Prize Winner with a 1099 tax form for the ARV of the prize. The specifics of all aforementioned elements of the Grand Prize in the Contest shall be solely determined by Sponsors. Grand Prize cannot be transferred, substituted or redeemed for cash except at Sponsors\' sole discretion. Sponsors hereby reserve the right to substitute the Grand Prize with a prize of comparable or greater value. The Grand Prize Winner and his or her parent/legal guardian will be notified via email that the Participant has won and links to the Grand Prize Winner\'s Video will be featured on the Contest Site from June 20, 2008 through June 28, 2008.<br /><br />In the event the parents of the Grand Prize Winner are divorced, the parent retaining primary custody of the Participant shall be deemed the parent eligible to receive the Grand Prize. In the event both parents have been granted joint custody of the Grand Prize Winner by a court of competent jurisdiction, the parent the Grand Prize Winner selected as his or her "parent or legal guardian" when the submitting winning Video shall be deemed eligible to receive the Grand Prize.<br /><br /><b>Honorable Mention Prizes</b><br/>Prizes TBD. The four (4) Honorable Mentions and each of their parents/legal guardians will be notified via email that the Participant has won an Award and links to the Finalists. Videos will be featured on the Contest Site from June 12, 2008 through June 30, 2008. Check rules often as honorable prize packages may be added.<br /><br />Participant and his/her parent/legal guardian acknowledge and agree that as a condition of being awarded the Grand Prize or an Award, the Grand Prize Winner, Honorable Mentions and each of their parents/legal guardians must sign and return, within seven (7) days following attempted notification, such work-for-hire and release forms included in the notification emails, which include, among their provisions, an agreement by the Grand Prize Winner, Honorable Mentions and each of their parents/legal guardians that all services and the products of all services rendered by the Grand Prize Winner and each Honorable Mention as part of his/her appearance in the Video shall be deemed a "work made-for-hire" under U.S. copyright law, or, if, for any reason, are deemed not to be a "work made-for-hire," shall be assigned by the Grand Prize Winner, Honorable Mentions and each of their each of their parents/legal guardians to KB. Failure to comply with the above procedure will result in disqualification and the Grand Prize and/or Award will be will be forfeited and may be awarded to another Participant.';}else if(rulesParagraph=='terms_of_use'){paragraph.innerHTML='<big>Terms of Use</big><br />By uploading a Video onto the Contest Site, Participant hereby agrees to comply with the terms and conditions stated herein and irrevocably grants to Sponsors the worldwide, royalty-free, non-exclusive, unconditional, perpetual and transferable license and right to reproduce, encode, store, modify, copy, transmit, publish, post, broadcast, display, publicly perform, adapt, exhibit and otherwise use or reuse, the Participant\'s Video, in whole or in part, as well as Participant\'s name and Participant\'s image, voice and likeness as contained in the Video, throughout the universe, in any and all media, now known or hereafter devised, alone or as part of other material of any kind or nature. Without limiting the foregoing, Sponsors shall have the right to use and change the Video in any manner that Sponsors may determine. Additionally, Participant irrevocably grants to Sponsors the license to authorize Users to access, rate and review Participant\'s Video through the Contest Site and to permit Users to send and distribute the Video via email or instant messenger.<br/><br />Participant irrevocably grants to Sponsors and their respective affiliates, legal representatives, assigns, agents and licensees, the worldwide, royalty-free, non-exclusive, sublicensable, unconditional, perpetual and transferable right and license to use the Video for advertising, promotional or commercial purposes, including without limitation, the right to publicly display, perform, reproduce and distribute the Video in any media format or medium and through any media channels.<br/><br />Participant forever waives any rights of privacy, intellectual property rights and any other legal or moral rights that may preclude Sponsors. use of the Participant.s Video or require Participant.s permission for Sponsors to use the Video for promotional purposes and agrees to never sue or assert any claim against Sponsors. use of the Video.<br/>br />Participant acknowledges and agrees that (a) Sponsors have access to and/or may create or have created literary, film, tape and/or other materials, ideas and concepts which may be similar or identical to the Video in theme, idea, plot, format, characters and/or other respects; (b) the Participant will not be entitled to any compensation or other consideration because of use by Sponsors of any such similar or identical material, ideas and/or concepts; and (c) Sponsors. use of material containing elements similar or identical to those contained in the Video shall not obligate Sponsors to negotiate with nor entitle Participant to any compensation or other claim.';}else if(rulesParagraph=='conditions'){paragraph.innerHTML='<big>Conditions</big><br />All Videos must include the master recording embodying the musical composition entitled "First Time" as performed by the Kidz Bop Kids ("Song"). Accordingly, KB, on behalf of itself, and Chrysler Company, on behalf of Jeseth Music, hereby grant to Participants who comply with the terms and conditions stated in the Official Rules, the limited, personal, nonexclusive, non-assignable and non-transferable license to use the Song as part of your Videos for non-commercial use on the Contest Site, only, between the launch and completion of the Contest. Participant hereby warrants and represents that Participant has all necessary rights in and to any and all elements contained in any Video Participant submits and no information and elements contained in each such Video infringes upon any proprietary or other rights of any third parties, nor contains any libelous, tortuous or otherwise unlawful information or elements. Upon Sponsors\' request, Participant must be able to provide Sponsors with written and signed documentation demonstrating that Participant has all rights, clearances and permissions required by law or otherwise to Participant\'s Video.<br /><br />Sponsors will not allow any Video which contains any one or more of the following elements:<br /><br /><ul style="margin-left: 20px; list-style-type: circle;"><li>private or personal information that might identify a user;</li><li>logos of any kind (aside from the Kidz Bop\' logos);</li><li>any music, aside, from the Song, that is owned or copyrighted by a third party</li><li>profanity or obscenit;</li><li>personal attacks on any individual;</li><li>slanderous, defamatory, obscene, pornographic, threatening and harassing comments;</li><li>and/or any other material that Sponsor, in its sole discretion may deem to be inappropriate for the Contest Site.</li></ul><br />Sponsors hereby reserve the right to refuse to post, edit, delete and/or disqualify any Video that contains any one or more of the above elements or any other element that Sponsors, at their sole discretion, deem to be otherwise inappropriate. Any attempt by a Participant or any other individual to deliberately damage the Contest Site or any online service or website, tamper with the judging process or otherwise undermine the legitimate operation of the Contest is a violation of criminal and civil laws, and Sponsors reserve the right to seek damages and/or other remedies from any person attempting to do any one or more of the foregoing activities to the fullest extent permitted by law. Any failure on the part of Sponsors to enforce any term of the Official Rules shall not constitute a waiver of such provision. Sponsors reserve the right, at their sole discretion, to disqualify and/or revoke the access privileges of any Participant or other person who does not comply with the Official Rules of the Contest and the general Terms & Conditions of use stated on the Kidz Bop website, which may be found at <a href="http://www.kidzbop.com/home/terms">www.kidzbop.com/home/terms</a>.';}else if(rulesParagraph=='privacy_policy'){paragraph.innerHTML='<big>Privacy Plicy</big><br />Any Participant under the age of 13 will be required to submit the name & email address of his or her parent/legal guardian when uploading a Video. When a Participant under the age of 13 uploads a Video for consideration, Sponsors will inform the Participant\'s parent/legal guardian of the child\'s submission and give the parent/legal guardian the option to have the child\'s entry deleted. In the event that a child under the age of 13 is selected as the Grand Prize Winner or Honorable Mention, that Participant\'s parent/legal guardian shall be notified that the Participant has won and such parent/legal guardian shall be obligated fulfill all obligations needed to redeem the Grand Prize or Award. All personal information collected by Sponsor in connection with the Contest shall be securely maintained by Sponsors and used only for the purpose of conducting the Contest. Once the Grand Prize Winner and Honorable Mentions are announced and the Grand Prize and Awards are redeemed, Sponsors shall delete any personal information collected in connection with the Contest. For a complete discussion of the Kidz Bop.com privacy policy, please visit <a href="http://www.kidzbop.com/home/privacy">www.kidzbop.com/home/privacy</a>.';}else if(rulesParagraph=='limitation'){paragraph.innerHTML='<big>Limitation of Liability</big><br />Sponsors assume no responsibility for any computer, online, telephone transmission or technical malfunctions that may occur in the course of participation in the Contest, or for theft, destruction, unauthorized access to or alteration of any Video. Sponsors are not responsible for any incorrect or inaccurate information, whether caused by Users, Participants or any of the equipment or programming associated with or utilized in the Contest, or for any technical or human error which may occur in the process of submitting or voting on a Video in the Contest. Sponsors assume no responsibility for any error, omission, interruption, deletion, defect, delay in operation or transmission, failures or technical malfunction of any telephone network or lines, computer online systems, servers, providers, computer equipment, software, email, players or browsers, whether on account of technical problems, traffic congestion on the Internet or any website, or any combination of the foregoing (including, but not limited to, any such problems, which may result in the inability to access the Contest Site or to submit a Videos of vote in connection with the Contest). If, for any reason whatsoever, the Contest is not capable of running as planned, including any event that corrupts or affects the administration, security, fairness, integrity or proper conduct of this Contest, Sponsors reserve the right, at their sole discretion, to cancel, terminate, modify or suspend the Contest and select winners from among the Participants submitting Videos during the portion of the Contest that has not been compromised, if any.<br /><br />Participant agrees to defend, release and hold harmless Sponsors, their respective affiliates, agents and employees from and against any claims, actions and/or liability for injury, loss or damage of any kind, resulting from participation in the Contest (including in connection with the making, use and/or exploitation of Videos), downloading or streaming of any materials on the Contest Site or the acceptance, use or misuse of the Grand Prize.<br /><br />Sponsors reserve the right, at their sole discretion, to change, modify, add or remove any portion of the Contest Site and the Official Rules and/or Terms & Conditions and Privacy Policy of kidzbop.com ("Terms & Conditions")  in whole or in part, at any time. Additions and modifications to the Contest Site and/or Terms & Conditions the will be noted on the Contest Site or such other pages where those policies are posted. Participant hereby agrees to visit and review the Contest Site and those containing the Terms & Conditions periodically to be aware of any changes. Participant\'s and any other person\'s continued use of the Contest Site after any changes to the Terms & Conditions, will be considered acceptance of those changes and will signify Participant\'s agreement to be bound to any such new terms.';}else if(rulesParagraph=='disputes'){paragraph.innerHTML='<big>Disputes/Governing Law</big><br />Except where prohibited as a condition of participating in the Contest, Participant agrees that any and all disputes, claims or causes of action arising out of or connected with the Contest, any prize awarded or the determination of winners shall be resolved individually, without resort to any form of class action. Further, in any such dispute, under no circumstances will Participant be permitted to obtain awards for, and hereby waives all rights to claim, punitive, incidental or consequential damages, or any other damages, including attorneys. fees, other than Participant\'s actual out-of-pocket expenses that are specifically associated with the Contest and Participant further waives all rights to have damages multiplied or increased.<br /><br />In the event that an action is commenced which relates to the Contest, such action must brought in the federal and state courts located in the United States of America in the State of New York, County of New York, and the parties hereto consent to personal jurisdiction. Only courts located in the State of New York will have jurisdiction over any controversies arising out of or regarding the Contest.';}}
function display_proper_number_of_elements(div_height,prefix,nelements){var free_space=div_height;for(var i=0;i<nelements;i++){if(set_html_tag_visible_or_hidden(prefix+i,free_space)){free_space-=$(prefix+i).getHeight();}
else{break;}}}
function display_proper_number_of_elements_back(div_height,prefix,nelements){var free_space=div_height;for(var i=nelements-1;i>=0;i--){if(set_html_tag_visible_or_hidden(prefix+i,free_space)){free_space-=$(prefix+i).getHeight();}
else{break;}}}
function set_html_tag_visible_or_hidden(tag_id,free_space){$(tag_id).style.display='block';if(is_enough_space_in_tag(free_space,$(tag_id).getHeight())){$(tag_id).style.visibility='visible';return true;}
else{$(tag_id).style.display='none';return false;}}
function is_enough_space_in_tag(free_space,entry_height){return free_space>entry_height}
function get_last_visible_element_nr(prefix,nelements){for(var i=nelements-1;i>=0;i--){if($(prefix+i).style.visibility=='visible'){return i;}}
return 0;}
function get_first_visible_element_nr(prefix,nelements){for(var i=0;i<nelements;i++){if($(prefix+i).style.visibility=='visible'){return i;}}
return 0;}
function show_pagination_links(prefix,nelements,fan_wall_id){var last=get_last_visible_element_nr(prefix,nelements);var first=get_first_visible_element_nr(prefix,nelements);new Ajax.Request('/fan_wall/show_pagination_links_fw?fan_wall_id='+fan_wall_id+'&last='+$('wall_entry_id_'+last).value+'&first='+$('wall_entry_id_'+first).value,{asynchronous:true,evalScripts:true});}
function disable_and_hide_input_fields(obj_for_disable,hide){if(obj_for_disable.length>0){for(var i=0;i<obj_for_disable.length;i++){var obj=$(obj_for_disable[i].toString());if(hide){if(obj.style.visibility=='visible'||obj.style.visibility==''){obj.style.visibility='hidden';}
else{obj.style.visibility='visible';}}
if(obj.disabled==false){obj.disabled=true;}
else{obj.disabled=false;}}}}
function set_value_for_input(id,value){var input_object=document.getElementById(id);input_object.value=value;}
function swap_ratio_image(selected_image,group_of_images,src_checked,src_unchecked){var tempimg=document.createElement('img');tempimg.src=src_checked;var images=document.getElementsByName(group_of_images);for(var i=0;i<images.length;i++){if(images[i].src.toString()!=src_unchecked.toString()){setTimeout("void(0)",5);images[i].src=src_unchecked;}}
setTimeout("void(0)",5);document.getElementById(selected_image).src=src_checked.toString();}
function check_selected_form(theForm,input_id){if(document.all||document.getElementById){var tempobj=document.getElementById(input_id);if(tempobj.value.toLowerCase()=="false"||tempobj.value==""){return false;}
else{return true;}}}
function show_hide_and_change_element_class(id,element_id){show_hide_id(id);var object_element=document.getElementById(element_id);if(obj.style.display=="none"){if(returnBrowserType()=='IE'){object_element.setAttribute("className","more");}
else{object_element.setAttribute("class","more");}}else{if(returnBrowserType()=='IE'){object_element.setAttribute("className","more active");}
else{object_element.setAttribute("class","more active");}}}
function show_hide_id(id){if(document.getElementById){obj=document.getElementById(id);if(obj.style.display=="none"){Effect.BlindDown(id,{duration:0.1});}else{Effect.BlindUp(id,{duration:0.1});}}
return false;}
function showHideId(id){obj=document.getElementById(id);if(obj.style.display=="none"){obj.style.display="block";}else{obj.style.display="none";}
return false;}
function countUserNameCharacters(){var username=document.getElementById('signup-username');var length=username.value.length;document.getElementById('username-counter').innerHTML='9 characters maximum. You\'ve used ['+length+']';document.getElementById('signup-username').style.color=(length==9)?"red":"";}
function countPasswordCharacters(){var username=document.getElementById('signup-password');var length=username.value.length;document.getElementById('password-counter').innerHTML='9 characters maximum. You\'ve used ['+length+']';document.getElementById('signup-password').style.color=(length==9)?"red":"";}
function checkPassword(){var pass1=$('signup-password').value;var pass2=$('f-password2').value;if((pass1==pass2)&&(pass1.length>3)&&(pass1.length<=9)){$('password-check').update('<p class="success">Great, your passwords match!</p>');$('password-check').style.color="green";$('password-check').style.fontWeight="bold";}else{if(pass1.length<4){$('password-check').update('<p class="error">Your password is too short. It must be at least 4 character length.</p>');}else if(pass1.length>9){$('password-check').update('<p class="error">Your password is too long. It needs to be a maximum of 9 characters.</p>');}else{$('password-check').update('<p class="error">Whoops! Your passwords don\'t match, try that again.</p>');}
$('password-check').style.color="red";}}
function validateParentEmailConfirmation(){var agree=$('rules_agree').checked;var allow=$('allow_1').checked;var decline=$('allow_0').checked;if(allow==true){if(agree==true){$('parent_confirm_form').submit();}else{alert('You must first agree to the Terms of Use and Privacy Policy before clicking Submit.');}}else if(decline==true){$('parent_confirm_form').submit();}}
function validateEmailsAndSubmit(){var sendEmails=true;function isEmailValid(elementValue){var emailPattern=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;return emailPattern.test(elementValue);}
var emailFields=document.getElementsByClassName('send_to_friend_email_field');for(i in emailFields){if(!emailFields[i].value||emailFields[i].value=='enter e-mail address'){continue;}
if(!isEmailValid(emailFields[i].value)){emailFields[i].style.border='1px solid red';sendEmails=false;}else{emailFields[i].style.border='1px solid #C0AA88';}}
if(sendEmails){document.getElementById('send_to_friend_form').submit();}else{document.getElementById('email_error_message').style.display="block";}
return false;}
function drawOutlineOverTheBanner(banner_id){var banner_spans=$('kidzbop_tv_banner').getElementsByTagName('span');for(var i=0;i<banner_spans.length;i++){banner_spans[i].style.display='none';}
var banner_span=$(banner_id).getElementsByTagName('span')[0];banner_span.style.display='block';}
function show_hide_dedication_tracks(id,element_id){show_hide_id(id);if($(id).style.display=="none"){if(returnBrowserType()=="IE"){$(element_id).setAttribute("className","edit_active");}else{$(element_id).setAttribute("class","edit_active");}}else{if(returnBrowserType()=="IE"){$(element_id).setAttribute("className","edit");}else{$(element_id).setAttribute("class","edit");}}}
function selected_cd_album(album_id){for(i=0;i<$$('a.active').length;i++){$$('a.active')[i].className='cd_album';}
$('selected_cd_album_image_'+album_id).className='active';}
function selected_cd_album_track(form){selected_track_id=0;radio_array=document.choose_song_for_dedication_form.track_id;for(i=0;i<radio_array.length;i++){if(radio_array[i].checked){selected_track_id=radio_array[i].value;}}
if(selected_track_id!=0){$('selected_cd_album_track_id').value=selected_track_id;}
else{alert("Please select any Track.");return false;}
$('selected_track_name').innerHTML=$('selected_track_name_'+selected_track_id).innerHTML;$('dedication_song').show();$('edit_selection').show();show_hide_dedication_tracks('cd_albums_form','edit_selection_link');return true;}
function check_dedication_form(){if($('selected_cd_album_track_id').value==''){alert("Please select any Track.");return false;}
selected_prop_id=0;radio_array=document.dedication_form.prop_id;for(i=0;i<radio_array.length;i++){if(radio_array[i].checked){selected_prop_id=radio_array[i].value;}}
if(selected_prop_id==0){alert("Please select any Image.");return false;}
selected_message=0;radio_array=document.dedication_form.message;for(i=0;i<radio_array.length;i++){if(radio_array[i].checked){selected_message=radio_array[i].value;}}
if(selected_message==0){alert("Please select any Message.");return false;}
return true;}
function getFlashMovieObject(movieName)
{if(window.document[movieName])
{return window.document[movieName];}
if(navigator.appName.indexOf("Microsoft Internet")==-1)
{if(document.embeds&&document.embeds[movieName])
return document.embeds[movieName];}
else
{return document.getElementById(movieName);}}
function decHex(x){x=x-0;hexDigits=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");return hexDigits[(x-x%16)/16]+hexDigits[x%16];}
function RGBcss2Hex(str){var vals=str.match(/\d+/g);var hex="";for(var i=0;i<vals.length;i++){hex+=decHex(vals[i]);}
return hex;}
function setMessage(message){var flashMovie=getFlashMovieObject('banner');flashMovie.setMessage(message);}
function setFont(id){var flashMovie=getFlashMovieObject('banner');flashMovie.setFont(id);}
function setBackgroundImage(id,path,field_id){var field=field_id?field_id:'webshow_bg';update_field_value(field,id);var flashMovie=getFlashMovieObject('banner');flashMovie.setBackgroundImage(path);}
function setFontColor(event){var target;if(event.target)target=event.target;else if(event.srcElement)target=event.srcElement;if(target.nodeType==3)target=target.parentNode;var color=getFontColor(target);var flashMovie=getFlashMovieObject('banner');flashMovie.setFontColor(color);return false;}
function setFontSize(size){var flashMovie=getFlashMovieObject('banner');flashMovie.setFontSize(size);update_field_value('hidden_field_font_size',size);}
function tooBig(value){var flashMovie=getFlashMovieObject('font_sizer');flashMovie.tooBig(value);}
function update_field_value(field,value){if($(field)){$(field).value=value;}}
function getFontColor(element){if(returnBrowserType()=='IE'){var color="0x"+element.style.backgroundColor.toString().substr(1,6);}else{var color="0x"+RGBcss2Hex(element.style.backgroundColor);}
update_field_value('hidden_field_font_color',color);return color;}
function update_field_value_with_bkg_marked(field,value){if($(field)){$(field).value=value;var element_checked=document.getElementById("small_webshow_"+value);var list_elements=$('webshows_to_edit').getElementsByTagName('div');for(i=0;i<list_elements.length;i++){if(list_elements[i]==element_checked){list_elements[i].style.background="url(/images/page-video/webshow_selected.png)";}
else{list_elements[i].style.background="none";}}}}
function webshow_check_selected_videos(){var num_selected_videos=0;var checkboxes=$('save_webshow_form').getInputs('checkbox');checkboxes.each(function(checkbox){if(checkbox.checked){num_selected_videos+=1;}});if(num_selected_videos==0){$('error').innerHTML='Please select at least one video.';return false;}else{$('error').innerHTML='';return true;}}
function disable_onclick(element){element.onclick=function(){return false};}
var radio_popup_window;var RadioPopup={timerId:null,parentId:null,show:function(url){if(RadioPopup.popupExists())
radio_popup_window=window.open(url,'radio_player','height=275,width=435,location=0');radio_popup_window.focus();RadioPopup.addUnloadEvent();},popupExists:function(){return(typeof(radio_popup_window)=="undefined"||radio_popup_window.closed)},addUnloadEvent:function(){if(window.onunload==null){window.onunload=function(){if(!RadioPopup.popupExists()){radio_popup_window.RadioPopup.addReference();}}
RadioPopup.parentId=RadioPopup.generateRandomString();}},saveReference:function(){RadioPopup.parentId=window.opener.RadioPopup.parentId;},addReference:function(){RadioPopup.timerId=setInterval(function(){if(window.opener.RadioPopup){var parentId=window.opener.RadioPopup.parentId;if(RadioPopup.parentId!=parentId){clearInterval(RadioPopup.timerId);window.opener.radio_popup_window=window;window.opener.RadioPopup.addUnloadEvent();RadioPopup.saveReference();}}},500);},redirectParent:function(url){window.opener.location=url;window.opener.focus();},generateRandomString:function(){var chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var stringLength=12;var randomString='';for(var i=0;i<stringLength;i++){var rnum=Math.floor(Math.random()*chars.length);randomString+=chars.substring(rnum,rnum+1);}
return randomString;}}
function submitScore(score,game_id,user_id){new Ajax.Request('/game/show_popup',{asynchronous:true,evalScripts:true,parameters:{score:score,game_id:game_id}});}
function startGame(){$('game_ad').toggle();$('game_movie').toggle();}
function check_radio_inputs(div_id,update_field){var num_selected=0;var update_field_id=update_field?update_field:'webshow_bg';var selectboxes=$(div_id).select('input[type="radio"]');selectboxes.each(function(selectbox){if(selectbox.checked){num_selected+=1;update_field_value(update_field_id,selectbox.value);}});if(num_selected==0){return true;}else{return false;}}
function updateHtmlForelementsByName(element_name,html){var elements=document.getElementsByName(element_name);for(i=0;i<elements.length;i++){elements[i].innerHTML=html;}}
function showGameAdTag(){if(typeof(gnm_ord)=='undefined')
gnm_ord=Math.random()*10000000000000000;if(typeof(gnm_tile)=='undefined')
gnm_tile=1;document.write('<scr'+'ipt language="JavaScript" src="http://n4403ad.doubleclick.net/adj/gn.kidzbop.com/games;sect=games;sz=300x250;tile='+(gnm_tile++)+';ord='+gnm_ord+'?" type="text/javascript"></scr'+'ipt>');}
function setActiveVideo(video_id){var videos=$('brand-videos').getElementsByTagName("a");for(i=0;i<videos.length;i++){videos[i].id==video_id?videos[i].className='active':videos[i].className='video_thumbnail';}}
function updateDropdownSelection(select_id){$(select_id).selectedIndex=0;}
function reportAdminActivityAndUpdate(section,page_number){new Ajax.Updater('admin_activity','/administrator/report_activity_and_update?section='+section+'&page_number='+page_number,{asynchronous:true,evalScripts:true});setInterval(function(){new Ajax.Updater('admin_activity','/administrator/report_activity_and_update?section='+section+'&page_number='+page_number,{asynchronous:true,evalScripts:true});},20000);}
function reportAdminActivity(section,page_number){new Ajax.Request('/administrator/report_activity?section='+section+'&page_number='+page_number,{asynchronous:true,evalScripts:true});setInterval(function(){new Ajax.Request('/administrator/report_activity?section='+section+'&page_number='+page_number,{asynchronous:true,evalScripts:true});},20000);}
function observeImageLoad(element_id,function_to_run){var img=$(element_id);if(img.complete){function_to_run();}else{Event.observe(img,'load',function_to_run);}}
Kidzbop.Home={show_login_labels:function(){Event.observe(window,'load',function(e){var login_input=$('login_input');var login_label=$('login_label');var pass_input=$('password_input');var pass_label=$('password_label');if(login_input&&login_label&&pass_input&&pass_label){if(login_input.value==''){login_label.show();}
if(pass_input.value==''){pass_label.show();}}});},hide_login_label:function(input){Element.extend(input);input.parentNode.childNodes[0].style.display='none';}}
Kidzbop.Webshow={show_hide_upload_bg_form:function(id,element_id){if($(id).style.display=="none"){if(window.returnBrowserType()=="IE"){$(element_id).setAttribute("className","edit_active");}else{$(element_id).setAttribute("class","edit_active");}}else{if(window.returnBrowserType()=="IE"){$(element_id).setAttribute("className","edit");}else{$(element_id).setAttribute("class","edit");}}
$(id).toggle();},checkUploadBackgroundRulesAgreement:function(){if($('background_rules_agreement')&&$('background_rules_agreement').checked&&$('uploaded_file').value!=''){$('upload_indicator').toggle();$('webshow_background_upload_error_message_1').innerHTML="";$('webshow_background_upload_error_message_2').innerHTML="";document.background_upload_form.submit();return true;}
else{$('webshow_background_upload_error_message_1').innerHTML=!$('background_rules_agreement').checked?"You must agree to the rules!":"";$('webshow_background_upload_error_message_2').innerHTML=$('uploaded_file').value==''?"You haven't selected an image to upload!":"";return false;}},cleanUploadBackgroundForm:function(){$('background_rules_agreement').checked=false;$('uploaded_file').value='';$('upload_indicator').toggle();$('upload_image').toggle();$('webshow_background_upload_error_message_1').innerHTML="";$('webshow_background_upload_error_message_2').innerHTML="";},checkWebshowTitleForm:function(){error_message='';error_message_detail='';var form_ok=true;if(window.checkfieldlength('webshow_name',1)){form_ok=false;error_message='Oops! Before you can go to the next step you need to enter information in the highlighted fields.';error_message_detail+='&bull; You need to give your Webshow a Title.<br/>';}
if(window.checkfieldlength('hidden_field_font_color',1)){form_ok=false;error_message='Oops! Before you can go to the next step you need to enter information in the highlighted fields.';error_message_detail+='&bull; You need to choose a Font Color.<br/>';}
if(window.check_radio_inputs('webshow-bgs')){form_ok=false;error_message='Oops! Before you can go to the next step you need to enter information in the highlighted fields.';error_message_detail+='&bull; You need to choose a Background.';}
if(form_ok==false){document.getElementById('error').innerHTML=error_message;document.getElementById('error_detail').innerHTML=error_message_detail;$('error').show();$('error_detail').show();}else{$('error').hide();$('error_detail').hide();document.create_webshow_form.submit();}
return form_ok;}};function openPopup(popup_id){popup=$(popup_id);if(popup){$$('.custom-popup').each(function(p){closePopupWithElement(p);});popup.parentNode.style.zIndex=9999;popup.show();}}
function closePopupWithElement(popup){if(typeof(popup)=='string'){popup=$(popup);}
if(popup){popup.hide();popup.parentNode.style.zIndex=1;}}
function closePopupFromButton(close_button){if(close_button){closePopupWithElement(close_button.parentNode.parentNode.parentNode.parentNode);}}
function centerElement(outer_element_id,inner_element_id){setTimeout(function(){var outerElement=$(outer_element_id);var innerElement=$(inner_element_id);if(outerElement&&innerElement){var inner_height=innerElement.getHeight();var inner_width=innerElement.getWidth();var outer_height=outerElement.getHeight();var outer_width=outerElement.getWidth();if(inner_width>0&&inner_height>0&&outer_width>0&&outer_height>0){innerElement.style.top=((outer_height-inner_height)/2)+'px';innerElement.style.left=((outer_width-inner_width)/2)+'px';innerElement.style.display='block';ok=true;}}},500);}
String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return element;};Element.getInlineOpacity=function(element){return $(element).style.opacity||'';};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};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(pos){return(-Math.cos(pos*Math.PI)/2)+.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+.75)+Math.random()/4;return pos>1?1:pos;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+.5;},pulse:function(pos,pulses){return(-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2)+.5;},spring:function(pos){return 1-(Math.cos(pos*4.5*Math.PI)*Math.exp(-pos*6));},none:function(pos){return 0;},full:function(pos){return 1;}},DefaultOptions:{duration:1.0,fps:100,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'},tagifyText:function(element){var tagifyStyle='position:relative';if(Prototype.Browser.IE)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(new Element('span',{style:tagifyStyle}).update(character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||Object.isFunction(element))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=Object.isString(effect.options.queue)?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
this.effects[i]&&this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(!Object.isString(queueName))return queueName;return this.instances.get(queueName)||this.instances.set(queueName,new Effect.ScopedQueue());}};Effect.Queue=Effect.Queues.get('global');Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+'Internal']?'this.options.'+eventName+'Internal(this);':'')+
(options[eventName]?'this.options.'+eventName+'(this);':''));}
if(options&&options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});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 dispatch(effect,eventName){if(effect.options[eventName+'Internal'])
effect.options[eventName+'Internal'](effect);if(effect.options[eventName])
effect.options[eventName](effect);}
return function(pos){if(this.state==="idle"){this.state="running";dispatch(this,'beforeSetup');if(this.setup)this.setup();dispatch(this,'afterSetup');}
if(this.state==="running"){pos=(this.options.transition(pos)*this.fromToDelta)+this.options.from;this.position=pos;dispatch(this,'beforeUpdate');if(this.update)this.update(pos);dispatch(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(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/this.totalTime,frame=(pos*this.totalFrames).round();if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},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(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
if(!Object.isFunction(this[property]))data.set(property,this[property]);return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Tween=Class.create(Effect.Base,{initialize:function(object,from,to){object=Object.isString(object)?$(object):object;var args=$A(arguments),method=args.last(),options=args.length==5?args[3]:null;this.method=Object.isFunction(method)?method.bind(object):Object.isFunction(object[method])?object[method].bind(object):function(value){object[method]=value};this.start(Object.extend({from:from,to:to},options||{}));},update:function(position){this.method(position);}});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(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},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(position){this.element.setStyle({left:(this.options.x*position+this.originalLeft).round()+'px',top:(this.options.y*position+this.originalTop).round()+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create(Effect.Base,{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.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(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=width.round()+'px';if(this.options.scaleY)d.height=height.round()+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
this.element.setStyle(d);}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},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(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=function(element){var options=arguments[1]||{},scrollOffsets=document.viewport.getScrollOffsets(),elementOffsets=$(element).cumulativeOffset();if(options.offset)elementOffsets[1]+=options.offset;return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1],options,function(p){scrollTo(scrollOffsets.left,p.round());});};Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element);},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));};Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));};Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));};Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}});}},arguments[1]||{}));};Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));};Effect.Shake=function(element){element=$(element);var options=Object.extend({distance:20,duration:0.5},arguments[1]||{});var distance=parseFloat(options.distance);var split=parseFloat(options.duration)/10.0;var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:distance,y:0,duration:split,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance,y:0,duration:split,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}});}});}});}});}});}});};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options));}});};Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));};Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{},oldOpacity=element.getInlineOpacity(),transition=options.transition||Effect.Transitions.linear,reverser=function(pos){return 1-transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2)+.5);};return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(options.style))this.style=$H(options.style);else{if(options.style.include(':'))
this.style=options.style.parseStyle();else{this.element.addClassName(options.style);this.style=$H(this.element.getStyles());this.element.removeClassName(options.style);var css=this.element.getStyles();this.style=this.style.reject(function(style){return style.value==css[style.key];});options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){effect.element.style[transform.style]='';});};}}
this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16);});}
this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null;}
var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit};}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))));});},update:function(position){var style={},transform,i=this.transforms.length;while(i--)
style[(transform=this.transforms[i]).style]=transform.unit=='color'?'#'+
(Math.round(transform.originalValue[0]+
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+
(Math.round(transform.originalValue[1]+
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+
(Math.round(transform.originalValue[2]+
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():(transform.originalValue+
(transform.targetValue-transform.originalValue)*position).toFixed(3)+
(transform.unit===null?'':transform.unit);this.element.setStyle(style,true);}});Effect.Transform=Class.create({initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){track=$H(track);var data=track.values().first();this.tracks.push($H({ids:track.keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var ids=track.get('ids'),effect=track.get('effect'),options=track.get('options');var elements=[$(ids)||$$(ids)].flatten();return elements.map(function(e){return new effect(e,Object.extend({sync:true},options))});}).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 style,styleRules=$H();if(Prototype.Browser.WebKit)
style=new Element('div',{style:this}).style;else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';style=String.__parseStyleElement.childNodes[0].style;}
Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules.set(property,style[property]);});if(Prototype.Browser.IE&&this.include('opacity'))
styleRules.set('opacity',this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);return styleRules;};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(element){var css=document.defaultView.getComputedStyle($(element),null);return Element.CSS_PROPERTIES.inject({},function(styles,property){styles[property]=css[property];return styles;});};}else{Element.getStyles=function(element){element=$(element);var css=element.currentStyle,styles;styles=Element.CSS_PROPERTIES.inject({},function(results,property){results[property]=css[property];return results;});if(!styles.opacity)styles.opacity=element.getOpacity();return styles;};}
Effect.Methods={morph:function(element,style){element=$(element);new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;},visualEffect:function(element,effect,options){element=$(element);var s=effect.dasherize().camelize(),klass=s.charAt(0).toUpperCase()+s.substring(1);new Effect[klass](element,options);return element;},highlight:function(element,options){element=$(element);new Effect.Highlight(element,options);return element;}};$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+'pulsate shake puff squish switchOff dropOut').each(function(effect){Effect.Methods[effect]=function(element,options){element=$(element);Effect[effect.charAt(0).toUpperCase()+effect.substring(1)](element,options);return element;};});$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(function(f){Effect.Methods[f]=Element[f];});Element.addMethods(Effect.Methods);