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(c){return c;}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false;}var Class={create:function(){var e=null,f=$A(arguments);if(Object.isFunction(f[0])){e=f.shift();}function c(){this.initialize.apply(this,arguments);}Object.extend(c,Class.Methods);c.superclass=e;c.subclasses=[];if(e){var h=function(){};h.prototype=e.prototype;c.prototype=new h;e.subclasses.push(c);}for(var g=0;g<f.length;g++){c.addMethods(f[g]);}if(!c.prototype.initialize){c.prototype.initialize=Prototype.emptyFunction;}c.prototype.constructor=c;return c;}};Class.Methods={addMethods:function(f){var k=this.superclass&&this.superclass.prototype;var l=Object.keys(f);if(!Object.keys({toString:true}).length){l.push("toString","valueOf");}for(var c=0,j=l.length;c<j;c++){var g=l[c],h=f[g];if(k&&Object.isFunction(h)&&h.argumentNames().first()=="$super"){var e=h;h=(function(m){return function(){return k[m].apply(this,arguments);};})(g).wrap(e);h.valueOf=e.valueOf.bind(e);h.toString=e.toString.bind(e);}this.prototype[g]=h;}return this;}};var Abstract={};Object.extend=function(c,e){for(var f in e){c[f]=e[f];}return c;};Object.extend(Object,{inspect:function(c){try{if(Object.isUndefined(c)){return"undefined";}if(c===null){return"null";}return c.inspect?c.inspect():String(c);}catch(e){if(e instanceof RangeError){return"...";}throw e;}},toJSON:function(c){var g=typeof c;switch(g){case"undefined":case"function":case"unknown":return;case"boolean":return c.toString();}if(c===null){return"null";}if(c.toJSON){return c.toJSON();}if(Object.isElement(c)){return;}var h=[];for(var e in c){var f=Object.toJSON(c[e]);if(!Object.isUndefined(f)){h.push(e.toJSON()+": "+f);}}return"{"+h.join(", ")+"}";},toQueryString:function(c){return $H(c).toQueryString();},toHTML:function(c){return c&&c.toHTML?c.toHTML():String.interpret(c);},keys:function(c){var f=[];for(var e in c){f.push(e);}return f;},values:function(f){var c=[];for(var e in f){c.push(f[e]);}return c;},clone:function(c){return Object.extend({},c);},isElement:function(c){return !!(c&&c.nodeType==1);},isArray:function(c){return c!=null&&typeof c=="object"&&"splice" in c&&"join" in c;},isHash:function(c){return c instanceof Hash;},isFunction:function(c){return typeof c=="function";},isString:function(c){return typeof c=="string";},isNumber:function(c){return typeof c=="number";},isUndefined:function(c){return typeof c=="undefined";}});Object.extend(Function.prototype,{argumentNames:function(){var c=this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g,"").split(",");return c.length==1&&!c[0]?[]:c;},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this;}var c=this,e=$A(arguments),f=e.shift();return function(){return c.apply(f,e.concat($A(arguments)));};},bindAsEventListener:function(){var c=this,e=$A(arguments),f=e.shift();return function(g){return c.apply(f,[g||window.event].concat(e));};},curry:function(){if(!arguments.length){return this;}var c=this,e=$A(arguments);return function(){return c.apply(this,e.concat($A(arguments)));};},delay:function(){var c=this,f=$A(arguments),e=f.shift()*1000;return window.setTimeout(function(){return c.apply(c,f);},e);},defer:function(){var c=[0.01].concat($A(arguments));return this.delay.apply(this,c);},wrap:function(e){var c=this;return function(){return e.apply(this,[c.bind(this)].concat($A(arguments)));};},methodize:function(){if(this._methodized){return this._methodized;}var c=this;return this._methodized=function(){return c.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 g;for(var h=0,f=arguments.length;h<f;h++){var c=arguments[h];try{g=c();break;}catch(e){}}return g;}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(c){return String(c).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1");};var PeriodicalExecuter=Class.create({initialize:function(e,c){this.callback=e;this.frequency=c;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(c){return c==null?"":String(c);},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,{gsub:function(e,g){var c="",f=this,h;g=arguments.callee.prepareReplacement(g);while(f.length>0){if(h=f.match(e)){c+=f.slice(0,h.index);c+=String.interpret(g(h));f=f.slice(h.index+h[0].length);}else{c+=f,f="";}}return c;},sub:function(e,c,f){c=this.gsub.prepareReplacement(c);f=Object.isUndefined(f)?1:f;return this.gsub(e,function(g){if(--f<0){return g[0];}return c(g);});},scan:function(e,c){this.gsub(e,c);return String(this);},truncate:function(e,c){e=e||30;c=Object.isUndefined(c)?"...":c;return this.length>e?this.slice(0,e-c.length)+c: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 e=new RegExp(Prototype.ScriptFragment,"img");var c=new RegExp(Prototype.ScriptFragment,"im");return(this.match(e)||[]).map(function(f){return(f.match(c)||["",""])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script);});},escapeHTML:function(){var c=arguments.callee;c.text.data=this;return c.div.innerHTML;},unescapeHTML:function(){var c=new Element("div");c.innerHTML=this.stripTags();return c.childNodes[0]?(c.childNodes.length>1?$A(c.childNodes).inject("",function(f,e){return f+e.nodeValue;}):c.childNodes[0].nodeValue):"";},toQueryParams:function(e){var c=this.strip().match(/([^?#]*)(#.*)?$/);if(!c){return{};}return c[1].split(e||"&").inject({},function(g,f){if((f=f.split("="))[0]){var j=decodeURIComponent(f.shift());var h=f.length>1?f.join("="):f[0];if(h!=undefined){h=decodeURIComponent(h);}if(j in g){if(!Object.isArray(g[j])){g[j]=[g[j]];}g[j].push(h);}else{g[j]=h;}}return g;});},toArray:function(){return this.split("");},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(c){return c<1?"":new Array(c+1).join(this);},camelize:function(){var e=this.split("-"),c=e.length;if(c==1){return e[0];}var f=this.charAt(0)=="-"?e[0].charAt(0).toUpperCase()+e[0].substring(1):e[0];for(var g=1;g<c;g++){f+=e[g].charAt(0).toUpperCase()+e[g].substring(1);}return f;},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(e){var c=this.gsub(/[\x00-\x1f\\]/,function(g){var f=String.specialChar[g[0]];return f?f:"\\u00"+g[0].charCodeAt().toPaddedString(2,16);});if(e){return'"'+c.replace(/"/g,'\\"')+'"';}return"'"+c.replace(/'/g,"\\'")+"'";},toJSON:function(){return this.inspect(true);},unfilterJSON:function(c){return this.sub(c||Prototype.JSONFilter,"#{1}");},isJSON:function(){var c=this;if(c.blank()){return false;}c=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(c);},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(c){return this.indexOf(c)>-1;},startsWith:function(c){return this.indexOf(c)===0;},endsWith:function(c){var e=this.length-c.length;return e>=0&&this.lastIndexOf(c)===e;},empty:function(){return this=="";},blank:function(){return/^\s*$/.test(this);},interpolate:function(c,e){return new Template(this,e).evaluate(c);}});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(e){if(Object.isFunction(e)){return e;}var c=new Template(e);return function(f){return c.evaluate(f);};};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(c,e){this.template=c.toString();this.pattern=e||Template.Pattern;},evaluate:function(c){if(Object.isFunction(c.toTemplateReplacements)){c=c.toTemplateReplacements();
}return this.template.gsub(this.pattern,function(h){if(c==null){return"";}var f=h[1]||"";if(f=="\\"){return h[2];}var k=c,e=h[3];var g=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;h=g.exec(e);if(h==null){return f;}while(h!=null){var j=h[1].startsWith("[")?h[2].gsub("\\\\]","]"):h[1];k=k[j];if(null==k||""==h[3]){break;}e=e.substring("["==h[3]?h[1].length:h[0].length);h=g.exec(e);}return f+String.interpret(k);});}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(f,g){var c=0;try{this._each(function(h){f.call(g,h,c++);});}catch(e){if(e!=$break){throw e;}}return this;},eachSlice:function(g,h,j){var c=-g,f=[],e=this.toArray();if(g<1){return e;}while((c+=g)<e.length){f.push(e.slice(c,c+g));}return f.collect(h,j);},all:function(e,f){e=e||Prototype.K;var c=true;this.each(function(g,h){c=c&&!!e.call(f,g,h);if(!c){throw $break;}});return c;},any:function(e,f){e=e||Prototype.K;var c=false;this.each(function(g,h){if(c=!!e.call(f,g,h)){throw $break;}});return c;},collect:function(e,f){e=e||Prototype.K;var c=[];this.each(function(g,h){c.push(e.call(f,g,h));});return c;},detect:function(e,f){var c;this.each(function(g,h){if(e.call(f,g,h)){c=g;throw $break;}});return c;},findAll:function(e,f){var c=[];this.each(function(g,h){if(e.call(f,g,h)){c.push(g);}});return c;},grep:function(e,f,g){f=f||Prototype.K;var c=[];if(Object.isString(e)){e=new RegExp(e);}this.each(function(h,j){if(e.match(h)){c.push(f.call(g,h,j));}});return c;},include:function(c){if(Object.isFunction(this.indexOf)){if(this.indexOf(c)!=-1){return true;}}var e=false;this.each(function(f){if(f==c){e=true;throw $break;}});return e;},inGroupsOf:function(e,c){c=Object.isUndefined(c)?null:c;return this.eachSlice(e,function(f){while(f.length<e){f.push(c);}return f;});},inject:function(c,e,f){this.each(function(g,h){c=e.call(f,c,g,h);});return c;},invoke:function(e){var c=$A(arguments).slice(1);return this.map(function(f){return f[e].apply(f,c);});},max:function(e,f){e=e||Prototype.K;var c;this.each(function(g,h){g=e.call(f,g,h);if(c==null||g>=c){c=g;}});return c;},min:function(e,f){e=e||Prototype.K;var c;this.each(function(g,h){g=e.call(f,g,h);if(c==null||g<c){c=g;}});return c;},partition:function(e,g){e=e||Prototype.K;var f=[],c=[];this.each(function(h,j){(e.call(g,h,j)?f:c).push(h);});return[f,c];},pluck:function(e){var c=[];this.each(function(f){c.push(f[e]);});return c;},reject:function(e,f){var c=[];this.each(function(g,h){if(!e.call(f,g,h)){c.push(g);}});return c;},sortBy:function(e,c){return this.map(function(f,g){return{value:f,criteria:e.call(c,f,g)};}).sort(function(f,g){var h=f.criteria,j=g.criteria;return h<j?-1:h>j?1:0;}).pluck("value");},toArray:function(){return this.map();},zip:function(){var f=Prototype.K,c=$A(arguments);if(Object.isFunction(c.last())){f=c.pop();}var e=[this].concat(c).map($A);return this.map(function(g,h){return f(e.pluck(h));});},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(e){if(!e){return[];}if(e.toArray){return e.toArray();}var f=e.length||0,c=new Array(f);while(f--){c[f]=e[f];}return c;}if(Prototype.Browser.WebKit){$A=function(e){if(!e){return[];}if(!(typeof e==="function"&&typeof e.length==="number"&&typeof e.item==="function")&&e.toArray){return e.toArray();}var f=e.length||0,c=new Array(f);while(f--){c[f]=e[f];}return c;};}Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse){Array.prototype._reverse=Array.prototype.reverse;}Object.extend(Array.prototype,{_each:function(f){for(var c=0,e=this.length;c<e;c++){f(this[c]);}},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(c){return c!=null;});},flatten:function(){return this.inject([],function(e,c){return e.concat(Object.isArray(c)?c.flatten():[c]);});},without:function(){var c=$A(arguments);return this.select(function(e){return !c.include(e);});},reverse:function(c){return(c!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(c){return this.inject([],function(e,f,g){if(0==g||(c?e.last()!=f:!e.include(f))){e.push(f);}return e;});},intersect:function(c){return this.uniq().findAll(function(e){return c.detect(function(f){return e===f;});});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]";},toJSON:function(){var c=[];this.each(function(f){var e=Object.toJSON(f);if(!Object.isUndefined(e)){c.push(e);}});return"["+c.join(", ")+"]";}});if(Object.isFunction(Array.prototype.forEach)){Array.prototype._each=Array.prototype.forEach;}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(e,c){c||(c=0);
var f=this.length;if(c<0){c=f+c;}for(;c<f;c++){if(this[c]===e){return c;}}return -1;};}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(f,c){c=isNaN(c)?this.length:(c<0?this.length+c:c)+1;var e=this.slice(0,c).reverse().indexOf(f);return(e<0)?e:c-e-1;};}Array.prototype.toArray=Array.prototype.clone;function $w(c){if(!Object.isString(c)){return[];}c=c.strip();return c?c.split(/\s+/):[];}if(Prototype.Browser.Opera){Array.prototype.concat=function(){var e=[];for(var h=0,g=this.length;h<g;h++){e.push(this[h]);}for(var h=0,g=arguments.length;h<g;h++){if(Object.isArray(arguments[h])){for(var c=0,f=arguments[h].length;c<f;c++){e.push(arguments[h][c]);}}else{e.push(arguments[h]);}}return e;};}Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16);},succ:function(){return this+1;},times:function(e,c){$R(0,this,true).each(e,c);return this;},toPaddedString:function(e,f){var c=this.toString(f||10);return"0".times(e-c.length)+c;},toJSON:function(){return isFinite(this)?this.toString():"null";}});$w("abs round ceil floor").each(function(c){Number.prototype[c]=Math[c].methodize();});function $H(c){return new Hash(c);}var Hash=Class.create(Enumerable,(function(){function c(f,e){if(Object.isUndefined(e)){return f;}return f+"="+encodeURIComponent(String.interpret(e));}return{initialize:function(e){this._object=Object.isHash(e)?e.toObject():Object.clone(e);},_each:function(g){for(var h in this._object){var f=this._object[h],e=[h,f];e.key=h;e.value=f;g(e);}},set:function(f,e){return this._object[f]=e;},get:function(e){if(this._object[e]!==Object.prototype[e]){return this._object[e];}},unset:function(f){var e=this._object[f];delete this._object[f];return e;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck("key");},values:function(){return this.pluck("value");},index:function(e){var f=this.detect(function(g){return g.value===e;});return f&&f.key;},merge:function(e){return this.clone().update(e);},update:function(e){return new Hash(e).inject(this,function(g,f){g.set(f.key,f.value);return g;});},toQueryString:function(){return this.inject([],function(f,e){var g=encodeURIComponent(e.key),h=e.value;if(h&&typeof h=="object"){if(Object.isArray(h)){return f.concat(h.map(c.curry(g)));}}else{f.push(c(g,h));}return f;}).join("&");},inspect:function(){return"#<Hash:{"+this.map(function(e){return e.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(e,c,f){this.start=e;this.end=c;this.exclusive=f;},_each:function(c){var e=this.start;while(this.include(e)){c(e);e=e.succ();}},include:function(c){if(c<this.start){return false;}if(this.exclusive){return c<this.end;}return c<=this.end;}});var $R=function(e,c,f){return new ObjectRange(e,c,f);};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(c){this.responders._each(c);},register:function(c){if(!this.include(c)){this.responders.push(c);}},unregister:function(c){this.responders=this.responders.without(c);},dispatch:function(e,g,f,c){this.each(function(j){if(Object.isFunction(j[e])){try{j[e].apply(j,[g,f,c]);}catch(h){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=Class.create({initialize:function(c){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,c||{});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,e,c){$super(c);this.transport=Ajax.getTransport();this.request(e);},request:function(g){this.url=g;this.method=this.options.method;var e=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){e._method=this.method;this.method="post";}this.parameters=e;if(e=Object.toQueryString(e)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+e;}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){e+="&_=";}}}try{var c=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(c);}Ajax.Responders.dispatch("onCreate",this,c);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||e):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange();}}catch(f){this.dispatchException(f);}},onStateChange:function(){var c=this.transport.readyState;if(c>1&&!((c==4)&&this._complete)){this.respondToReadyState(this.transport.readyState);}},setRequestHeaders:function(){var e={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){e["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){e.Connection="close";}}if(typeof this.options.requestHeaders=="object"){var g=this.options.requestHeaders;if(Object.isFunction(g.push)){for(var h=0,f=g.length;h<f;h+=2){e[g[h]]=g[h+1];}}else{$H(g).each(function(j){e[j.key]=j.value;});}}for(var c in e){this.transport.setRequestHeader(c,e[c]);}},success:function(){var c=this.getStatus();return !c||(c>=200&&c<300);},getStatus:function(){try{return this.transport.status||0;}catch(c){return 0;}},respondToReadyState:function(c){var g=Ajax.Request.Events[c],h=new Ajax.Response(this);if(g=="Complete"){try{this._complete=true;(this.options["on"+h.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(h,h.headerJSON);}catch(f){this.dispatchException(f);}var e=h.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&e&&e.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse();}}try{(this.options["on"+g]||Prototype.emptyFunction)(h,h.headerJSON);Ajax.Responders.dispatch("on"+g,this,h,h.headerJSON);}catch(f){this.dispatchException(f);}if(g=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction;}},isSameOrigin:function(){var c=this.url.match(/^\s*https?:\/\/[^\/]*/);return !c||(c[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}));},getHeader:function(c){try{return this.transport.getResponseHeader(c)||null;}catch(e){return null;}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(c){(this.options.onException||Prototype.emptyFunction)(this,c);Ajax.Responders.dispatch("onException",this,c);}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(f){this.request=f;var e=this.transport=f.transport,c=this.readyState=e.readyState;if((c>2&&!Prototype.Browser.IE)||c==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(e.responseText);this.headerJSON=this._getHeaderJSON();}if(c==4){var g=e.responseXML;this.responseXML=Object.isUndefined(g)?null:g;this.responseJSON=this._getResponseJSON();}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||"";}catch(c){return"";}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(c){return null;}},getResponseHeader:function(c){return this.transport.getResponseHeader(c);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var c=this.getHeader("X-JSON");if(!c){return null;}c=decodeURIComponent(escape(c));try{return c.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var c=this.request.options;if(!c.evalJSON||(c.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null;}try{return this.responseText.evalJSON(c.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,c,f,g){this.container={success:(c.success||c),failure:(c.failure||(c.success?null:c))};g=Object.clone(g);var e=g.onComplete;g.onComplete=(function(j,h){this.updateContent(j.responseText);if(Object.isFunction(e)){e(j,h);}}).bind(this);$super(f,g);},updateContent:function(e){var f=this.container[this.success()?"success":"failure"],c=this.options;if(!c.evalScripts){e=e.stripScripts();}if(f=$(f)){if(c.insertion){if(Object.isString(c.insertion)){var g={};g[c.insertion]=e;f.insert(g);}else{c.insertion(f,e);}}else{f.update(e);}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,c,e,f){$super(f);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};
this.container=c;this.url=e;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(c){if(this.options.decay){this.decay=(c.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=c.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 $(g){if(arguments.length>1){for(var c=0,e=[],f=arguments.length;c<f;c++){e.push($(arguments[c]));}return e;}if(Object.isString(g)){g=document.getElementById(g);}return Element.extend(g);}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(e,c){var h=[];var f=document.evaluate(e,$(c)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var j=0,g=f.snapshotLength;j<g;j++){h.push(Element.extend(f.snapshotItem(j)));}return h;};}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 c=this.Element;this.Element=function(e,f){f=f||{};e=e.toLowerCase();var g=Element.cache;if(Prototype.Browser.IE&&f.name){e="<"+e+' name="'+f.name+'">';delete f.name;return Element.writeAttribute(document.createElement(e),f);}if(!g[e]){g[e]=Element.extend(document.createElement(e));}return Element.writeAttribute(g[e].cloneNode(false),f);};Object.extend(this.Element,c||{});if(c){this.Element.prototype=c.prototype;}}).call(window);Element.cache={};Element.Methods={visible:function(c){return $(c).style.display!="none";},toggle:function(c){c=$(c);Element[Element.visible(c)?"hide":"show"](c);return c;},hide:function(c){c=$(c);c.style.display="none";return c;},show:function(c){c=$(c);c.style.display="";return c;},remove:function(c){c=$(c);c.parentNode.removeChild(c);return c;},update:function(c,e){c=$(c);if(e&&e.toElement){e=e.toElement();}if(Object.isElement(e)){return c.update().insert(e);}e=Object.toHTML(e);c.innerHTML=e.stripScripts();e.evalScripts.bind(e).defer();return c;},replace:function(f,e){f=$(f);if(e&&e.toElement){e=e.toElement();}else{if(!Object.isElement(e)){e=Object.toHTML(e);var c=f.ownerDocument.createRange();c.selectNode(f);e.evalScripts.bind(e).defer();e=c.createContextualFragment(e.stripScripts());}}f.parentNode.replaceChild(e,f);return f;},insert:function(j,g){j=$(j);if(Object.isString(g)||Object.isNumber(g)||Object.isElement(g)||(g&&(g.toElement||g.toHTML))){g={bottom:g};}var h,f,k,e;for(var c in g){h=g[c];c=c.toLowerCase();f=Element._insertionTranslations[c];if(h&&h.toElement){h=h.toElement();}if(Object.isElement(h)){f(j,h);continue;}h=Object.toHTML(h);k=((c=="before"||c=="after")?j.parentNode:j).tagName.toUpperCase();e=Element._getContentFromAnonymousElement(k,h.stripScripts());if(c=="top"||c=="after"){e.reverse();}e.each(f.curry(j));h.evalScripts.bind(h).defer();}return j;},wrap:function(f,e,c){f=$(f);if(Object.isElement(e)){$(e).writeAttribute(c||{});}else{if(Object.isString(e)){e=new Element(e,c);}else{e=new Element("div",e);}}if(f.parentNode){f.parentNode.replaceChild(e,f);}e.appendChild(f);return e;},inspect:function(e){e=$(e);var c="<"+e.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(f){var g=f.first(),j=f.last();var h=(e[g]||"").toString();if(h){c+=" "+j+"="+h.inspect(true);}});return c+">";},recursivelyCollect:function(c,e){c=$(c);var f=[];while(c=c[e]){if(c.nodeType==1){f.push(Element.extend(c));}}return f;},ancestors:function(c){return $(c).recursivelyCollect("parentNode");},descendants:function(c){return $(c).select("*");},firstDescendant:function(c){c=$(c).firstChild;while(c&&c.nodeType!=1){c=c.nextSibling;}return $(c);},immediateDescendants:function(c){if(!(c=$(c).firstChild)){return[];}while(c&&c.nodeType!=1){c=c.nextSibling;}if(c){return[c].concat($(c).nextSiblings());}return[];},previousSiblings:function(c){return $(c).recursivelyCollect("previousSibling");},nextSiblings:function(c){return $(c).recursivelyCollect("nextSibling");},siblings:function(c){c=$(c);return c.previousSiblings().reverse().concat(c.nextSiblings());},match:function(e,c){if(Object.isString(c)){c=new Selector(c);}return c.match($(e));},up:function(g,e,c){g=$(g);if(arguments.length==1){return $(g.parentNode);}var f=g.ancestors();return Object.isNumber(e)?f[e]:Selector.findElement(f,e,c);},down:function(f,e,c){f=$(f);if(arguments.length==1){return f.firstDescendant();}return Object.isNumber(e)?f.descendants()[e]:Element.select(f,e)[c||0];},previous:function(g,e,c){g=$(g);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(g));}var f=g.previousSiblings();return Object.isNumber(e)?f[e]:Selector.findElement(f,e,c);
},next:function(f,e,g){f=$(f);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(f));}var c=f.nextSiblings();return Object.isNumber(e)?c[e]:Selector.findElement(c,e,g);},select:function(){var c=$A(arguments),e=$(c.shift());return Selector.findChildElements(e,c);},adjacent:function(){var c=$A(arguments),e=$(c.shift());return Selector.findChildElements(e.parentNode,c).without(e);},identify:function(f){f=$(f);var e=f.readAttribute("id"),c=arguments.callee;if(e){return e;}do{e="anonymous_element_"+c.counter++;}while($(e));f.writeAttribute("id",e);return e;},readAttribute:function(e,c){e=$(e);if(Prototype.Browser.IE){var f=Element._attributeTranslations.read;if(f.values[c]){return f.values[c](e,c);}if(f.names[c]){c=f.names[c];}if(c.include(":")){return(!e.attributes||!e.attributes[c])?null:e.attributes[c].value;}}return e.getAttribute(c);},writeAttribute:function(f,h,e){f=$(f);var j={},g=Element._attributeTranslations.write;if(typeof h=="object"){j=h;}else{j[h]=Object.isUndefined(e)?true:e;}for(var c in j){h=g.names[c]||c;e=j[c];if(g.values[c]){h=g.values[c](f,e);}if(e===false||e===null){f.removeAttribute(h);}else{if(e===true){f.setAttribute(h,h);}else{f.setAttribute(h,e);}}}return f;},getHeight:function(c){return $(c).getDimensions().height;},getWidth:function(c){return $(c).getDimensions().width;},classNames:function(c){return new Element.ClassNames(c);},hasClassName:function(c,f){if(!(c=$(c))){return;}var e=c.className;return(e.length>0&&(e==f||new RegExp("(^|\\s)"+f+"(\\s|$)").test(e)));},addClassName:function(c,e){if(!(c=$(c))){return;}if(!c.hasClassName(e)){c.className+=(c.className?" ":"")+e;}return c;},removeClassName:function(c,e){if(!(c=$(c))){return;}c.className=c.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").strip();return c;},toggleClassName:function(c,e){if(!(c=$(c))){return;}return c[c.hasClassName(e)?"removeClassName":"addClassName"](e);},cleanWhitespace:function(f){f=$(f);var e=f.firstChild;while(e){var c=e.nextSibling;if(e.nodeType==3&&!/\S/.test(e.nodeValue)){f.removeChild(e);}e=c;}return f;},empty:function(c){return $(c).innerHTML.blank();},descendantOf:function(e,c){e=$(e),c=$(c);if(e.compareDocumentPosition){return(e.compareDocumentPosition(c)&8)===8;}if(c.contains){return c.contains(e)&&c!==e;}while(e=e.parentNode){if(e==c){return true;}}return false;},scrollTo:function(c){c=$(c);var e=c.cumulativeOffset();window.scrollTo(e[0],e[1]);return c;},getStyle:function(g,f){g=$(g);f=f=="float"?"cssFloat":f.camelize();var e=g.style[f];if(!e||e=="auto"){var c=document.defaultView.getComputedStyle(g,null);e=c?c[f]:null;}if(f=="opacity"){return e?parseFloat(e):1;}return e=="auto"?null:e;},getOpacity:function(c){return $(c).getStyle("opacity");},setStyle:function(h,g){h=$(h);var e=h.style,c;if(Object.isString(g)){h.style.cssText+=";"+g;return g.include("opacity")?h.setOpacity(g.match(/opacity:\s*(\d?\.?\d*)/)[1]):h;}for(var f in g){if(f=="opacity"){h.setOpacity(g[f]);}else{e[(f=="float"||f=="cssFloat")?(Object.isUndefined(e.styleFloat)?"cssFloat":"styleFloat"):f]=g[f];}}return h;},setOpacity:function(c,e){c=$(c);c.style.opacity=(e==1||e==="")?"":(e<0.00001)?0:e;return c;},getDimensions:function(k){k=$(k);var f=k.getStyle("display");if(f!="none"&&f!=null){return{width:k.offsetWidth,height:k.offsetHeight};}var l=k.style;var g=l.visibility;var j=l.position;var c=l.display;l.visibility="hidden";l.position="absolute";l.display="block";var e=k.clientWidth;var h=k.clientHeight;l.display=c;l.position=j;l.visibility=g;return{width:e,height:h};},makePositioned:function(c){c=$(c);var e=Element.getStyle(c,"position");if(e=="static"||!e){c._madePositioned=true;c.style.position="relative";if(Prototype.Browser.Opera){c.style.top=0;c.style.left=0;}}return c;},undoPositioned:function(c){c=$(c);if(c._madePositioned){c._madePositioned=undefined;c.style.position=c.style.top=c.style.left=c.style.bottom=c.style.right="";}return c;},makeClipping:function(c){c=$(c);if(c._overflow){return c;}c._overflow=Element.getStyle(c,"overflow")||"auto";if(c._overflow!=="hidden"){c.style.overflow="hidden";}return c;},undoClipping:function(c){c=$(c);if(!c._overflow){return c;}c.style.overflow=c._overflow=="auto"?"":c._overflow;c._overflow=null;return c;},cumulativeOffset:function(f){var c=0,e=0;do{c+=f.offsetTop||0;e+=f.offsetLeft||0;f=f.offsetParent;}while(f);return Element._returnOffset(e,c);},positionedOffset:function(g){var c=0,e=0;do{c+=g.offsetTop||0;e+=g.offsetLeft||0;g=g.offsetParent;if(g){if(g.tagName.toUpperCase()=="BODY"){break;}var f=Element.getStyle(g,"position");if(f!=="static"){break;}}}while(g);return Element._returnOffset(e,c);},absolutize:function(j){j=$(j);if(j.getStyle("position")=="absolute"){return j;}var g=j.positionedOffset();var e=g[1];var f=g[0];var h=j.clientWidth;var c=j.clientHeight;j._originalLeft=f-parseFloat(j.style.left||0);j._originalTop=e-parseFloat(j.style.top||0);j._originalWidth=j.style.width;j._originalHeight=j.style.height;j.style.position="absolute";j.style.top=e+"px";
j.style.left=f+"px";j.style.width=h+"px";j.style.height=c+"px";return j;},relativize:function(c){c=$(c);if(c.getStyle("position")=="relative"){return c;}c.style.position="relative";var e=parseFloat(c.style.top||0)-(c._originalTop||0);var f=parseFloat(c.style.left||0)-(c._originalLeft||0);c.style.top=e+"px";c.style.left=f+"px";c.style.height=c._originalHeight;c.style.width=c._originalWidth;return c;},cumulativeScrollOffset:function(f){var c=0,e=0;do{c+=f.scrollTop||0;e+=f.scrollLeft||0;f=f.parentNode;}while(f);return Element._returnOffset(e,c);},getOffsetParent:function(c){if(c.offsetParent){return $(c.offsetParent);}if(c==document.body){return $(c);}while((c=c.parentNode)&&c!=document.body){if(Element.getStyle(c,"position")!="static"){return $(c);}}return $(document.body);},viewportOffset:function(e){var c=0,f=0;var g=e;do{c+=g.offsetTop||0;f+=g.offsetLeft||0;if(g.offsetParent==document.body&&Element.getStyle(g,"position")=="absolute"){break;}}while(g=g.offsetParent);g=e;do{if(!Prototype.Browser.Opera||(g.tagName&&(g.tagName.toUpperCase()=="BODY"))){c-=g.scrollTop||0;f-=g.scrollLeft||0;}}while(g=g.parentNode);return Element._returnOffset(f,c);},clonePosition:function(j,g){var c=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});g=$(g);var f=g.viewportOffset();j=$(j);var e=[0,0];var h=null;if(Element.getStyle(j,"position")=="absolute"){h=j.getOffsetParent();e=h.viewportOffset();}if(h==document.body){e[0]-=document.body.offsetLeft;e[1]-=document.body.offsetTop;}if(c.setLeft){j.style.left=(f[0]-e[0]+c.offsetLeft)+"px";}if(c.setTop){j.style.top=(f[1]-e[1]+c.offsetTop)+"px";}if(c.setWidth){j.style.width=g.offsetWidth+"px";}if(c.setHeight){j.style.height=g.offsetHeight+"px";}return j;}};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(f,h,g){switch(g){case"left":case"top":case"right":case"bottom":if(f(h,"position")==="static"){return null;}case"height":case"width":if(!Element.visible(h)){return null;}var e=parseInt(f(h,g),10);if(e!==h["offset"+g.capitalize()]){return e+"px";}var c;if(g==="height"){c=["border-top-width","padding-top","padding-bottom","border-bottom-width"];}else{c=["border-left-width","padding-left","padding-right","border-right-width"];}return c.inject(e,function(l,k){var j=f(h,k);return j===null?l:l-parseInt(j,10);})+"px";default:return f(h,g);}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(e,c,f){if(f==="title"){return c.title;}return e(c,f);});}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(g,h){h=$(h);try{h.offsetParent;}catch(e){return $(document.body);}var c=h.getStyle("position");if(c!=="static"){return g(h);}h.setStyle({position:"relative"});var f=g(h);h.setStyle({position:c});return f;});$w("positionedOffset viewportOffset").each(function(c){Element.Methods[c]=Element.Methods[c].wrap(function(g,j){j=$(j);try{j.offsetParent;}catch(e){return Element._returnOffset(0,0);}var k=j.getStyle("position");if(k!=="static"){return g(j);}var h=j.getOffsetParent();if(h&&h.getStyle("position")==="fixed"){h.setStyle({zoom:1});}j.setStyle({position:"relative"});var f=g(j);j.setStyle({position:k});return f;});});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(f,c){try{c.offsetParent;}catch(e){return Element._returnOffset(0,0);}return f(c);});Element.Methods.getStyle=function(c,f){c=$(c);f=(f=="float"||f=="cssFloat")?"styleFloat":f.camelize();var e=c.style[f];if(!e&&c.currentStyle){e=c.currentStyle[f];}if(f=="opacity"){if(e=(c.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(e[1]){return parseFloat(e[1])/100;}}return 1;}if(e=="auto"){if((f=="width"||f=="height")&&(c.getStyle("display")!="none")){return c["offset"+f.capitalize()]+"px";}return null;}return e;};Element.Methods.setOpacity=function(j,f){function e(k){return k.replace(/alpha\([^\)]*\)/gi,"");}j=$(j);var c=j.currentStyle;if((c&&!c.hasLayout)||(!c&&j.style.zoom=="normal")){j.style.zoom=1;}var g=j.getStyle("filter"),h=j.style;if(f==1||f===""){(g=e(g))?h.filter=g:h.removeAttribute("filter");return j;}else{if(f<0.00001){f=0;}}h.filter=e(g)+"alpha(opacity="+(f*100)+")";return j;};Element._attributeTranslations={read:{names:{"class":"className","for":"htmlFor"},values:{_getAttr:function(c,e){return c.getAttribute(e,2);},_getAttrNode:function(c,e){var f=c.getAttributeNode(e);return f?f.value:"";},_getEv:function(c,e){e=c.getAttribute(e);return e?e.toString().slice(23,-2):null;},_flag:function(c,e){return $(c).hasAttribute(e)?e:null;},style:function(c){return c.style.cssText.toLowerCase();},title:function(c){return c.title;}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(c,e){c.checked=!!e;
},style:function(c,e){c.style.cssText=e?e:"";}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(c){Element._attributeTranslations.write.names[c.toLowerCase()]=c;Element._attributeTranslations.has[c.toLowerCase()]=c;});(function(c){Object.extend(c,{href:c._getAttr,src:c._getAttr,type:c._getAttr,action:c._getAttrNode,disabled:c._flag,checked:c._flag,readonly:c._flag,multiple:c._flag,onload:c._getEv,onunload:c._getEv,onclick:c._getEv,ondblclick:c._getEv,onmousedown:c._getEv,onmouseup:c._getEv,onmouseover:c._getEv,onmousemove:c._getEv,onmouseout:c._getEv,onfocus:c._getEv,onblur:c._getEv,onkeypress:c._getEv,onkeydown:c._getEv,onkeyup:c._getEv,onsubmit:c._getEv,onreset:c._getEv,onselect:c._getEv,onchange:c._getEv});})(Element._attributeTranslations.read.values);}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(c,e){c=$(c);c.style.opacity=(e==1)?0.999999:(e==="")?"":(e<0.00001)?0:e;return c;};}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(c,g){c=$(c);c.style.opacity=(g==1||g==="")?"":(g<0.00001)?0:g;if(g==1){if(c.tagName.toUpperCase()=="IMG"&&c.width){c.width++;c.width--;}else{try{var e=document.createTextNode(" ");c.appendChild(e);c.removeChild(e);}catch(f){}}}return c;};Element.Methods.cumulativeOffset=function(f){var c=0,e=0;do{c+=f.offsetTop||0;e+=f.offsetLeft||0;if(f.offsetParent==document.body){if(Element.getStyle(f,"position")=="absolute"){break;}}f=f.offsetParent;}while(f);return Element._returnOffset(e,c);};}}}}if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(f,e){f=$(f);if(e&&e.toElement){e=e.toElement();}if(Object.isElement(e)){return f.update().insert(e);}e=Object.toHTML(e);var c=f.tagName.toUpperCase();if(c in Element._insertionTranslations.tags){$A(f.childNodes).each(function(g){f.removeChild(g);});Element._getContentFromAnonymousElement(c,e.stripScripts()).each(function(g){f.appendChild(g);});}else{f.innerHTML=e.stripScripts();}e.evalScripts.bind(e).defer();return f;};}if("outerHTML" in document.createElement("div")){Element.Methods.replace=function(h,f){h=$(h);if(f&&f.toElement){f=f.toElement();}if(Object.isElement(f)){h.parentNode.replaceChild(f,h);return h;}f=Object.toHTML(f);var g=h.parentNode,j=g.tagName.toUpperCase();if(Element._insertionTranslations.tags[j]){var e=h.next();var c=Element._getContentFromAnonymousElement(j,f.stripScripts());g.removeChild(h);if(e){c.each(function(k){g.insertBefore(k,e);});}else{c.each(function(k){g.appendChild(k);});}}else{h.outerHTML=f.stripScripts();}f.evalScripts.bind(f).defer();return h;};}Element._returnOffset=function(f,e){var c=[f,e];c.left=f;c.top=e;return c;};Element._getContentFromAnonymousElement=function(f,g){var e=new Element("div"),c=Element._insertionTranslations.tags[f];if(c){e.innerHTML=c[0]+g+c[1];c[2].times(function(){e=e.firstChild;});}else{e.innerHTML=g;}return $A(e.childNodes);};Element._insertionTranslations={before:function(c,e){c.parentNode.insertBefore(e,c);},top:function(c,e){c.insertBefore(e,c.firstChild);},bottom:function(c,e){c.appendChild(e);},after:function(c,e){c.parentNode.insertBefore(e,c.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(c,e){e=Element._attributeTranslations.has[e]||e;var f=$(c).getAttributeNode(e);return !!(f&&f.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 c={},f=Element.Methods.ByTag;var e=Object.extend(function(j){if(!j||j._extendedByPrototype||j.nodeType!=1||j==window){return j;}var l=Object.clone(c),k=j.tagName.toUpperCase(),g,h;if(f[k]){Object.extend(l,f[k]);}for(g in l){h=l[g];if(Object.isFunction(h)&&!(g in j)){j[g]=h.methodize();}}j._extendedByPrototype=Prototype.emptyFunction;return j;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(c,Element.Methods);Object.extend(c,Element.Methods.Simulated);}}});e.refresh();return e;})();Element.hasAttribute=function(c,e){if(c.hasAttribute){return c.hasAttribute(e);}return Element.Methods.Simulated.hasAttribute(c,e);};Element.addMethods=function(e){var j=Prototype.BrowserFeatures,c=Element.Methods.ByTag;if(!e){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 f=e;e=arguments[1];}if(!f){Object.extend(Element.Methods,e||{});}else{if(Object.isArray(f)){f.each(k);}else{k(f);}}function k(n){n=n.toUpperCase();if(!Element.Methods.ByTag[n]){Element.Methods.ByTag[n]={};}Object.extend(Element.Methods.ByTag[n],e);}function g(n,o,p){p=p||false;for(var q in n){var r=n[q];if(!Object.isFunction(r)){continue;}if(!p||!(q in o)){o[q]=r.methodize();}}}function m(n){var p;var o={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(o[n]){p="HTML"+o[n]+"Element";}if(window[p]){return window[p];}p="HTML"+n+"Element";if(window[p]){return window[p];}p="HTML"+n.capitalize()+"Element";if(window[p]){return window[p];}window[p]={};window[p].prototype=document.createElement(n)["__proto__"];return window[p];}if(j.ElementExtensions){g(Element.Methods,HTMLElement.prototype);g(Element.Methods.Simulated,HTMLElement.prototype,true);}if(j.SpecificElementExtensions){for(var h in Element.Methods.ByTag){var l=m(h);if(Object.isUndefined(l)){continue;}g(c[h],l.prototype);}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh();}Element.cache={};};document.viewport={getDimensions:function(){var c={},e=Prototype.Browser;$w("width height").each(function(f){var g=f.capitalize();if(e.WebKit&&!document.evaluate){c[f]=self["inner"+g];}else{if(e.Opera&&parseFloat(window.opera.version())<9.5){c[f]=document.body["client"+g];}else{c[f]=document.documentElement["client"+g];}}});return c;},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(c){this.expression=c.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 c=this.expression;if(Prototype.Browser.WebKit&&(c.include("-of-type")||c.include(":empty"))){return false;}if((/(\[[\w-]*?:|:checked)/).test(c)){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(c){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 f=this.expression,e=Selector.patterns,j=Selector.xpath,g,c;if(Selector._cache[f]){this.xpath=Selector._cache[f];return;}this.matcher=[".//*"];while(f&&g!=f&&(/\S/).test(f)){g=f;for(var h in e){if(c=f.match(e[h])){this.matcher.push(Object.isFunction(j[h])?j[h](c):new Template(j[h]).evaluate(c));f=f.replace(c[0],"");break;}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath;},findElements:function(c){c=c||document;var g=this.expression,h;switch(this.mode){case"selectorsAPI":if(c!==document){var f=c.id,e=$(c).identify();g="#"+e+" "+g;}h=$A(c.querySelectorAll(g)).map(Element.extend);c.id=f;return h;case"xpath":return document._getElementsByXPath(this.xpath,c);default:return this.matcher(c);}},match:function(m){this.tokens=[];var h=this.expression,g=Selector.patterns,p=Selector.assertions;var f,c,o;while(h&&f!==h&&(/\S/).test(h)){f=h;for(var l in g){c=g[l];if(o=h.match(c)){if(p[l]){this.tokens.push([l,Object.clone(o)]);h=h.replace(o[0],"");}else{return this.findElements(document).include(m);}}}}var j=true,e,k;for(var l=0,n;n=this.tokens[l];l++){e=n[0],k=n[1];if(!Selector.assertions[e](m,k)){j=false;break;}}return j;},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(c){if(c[1]=="*"){return"";}return"[local-name()='"+c[1].toLowerCase()+"' or local-name()='"+c[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(c){c[1]=c[1].toLowerCase();return new Template("[@#{1}]").evaluate(c);},attr:function(c){c[1]=c[1].toLowerCase();c[3]=c[5]||c[6];return new Template(Selector.xpath.operators[c[2]]).evaluate(c);},pseudo:function(c){var e=Selector.xpath.pseudos[c[1]];if(!e){return"";}if(Object.isFunction(e)){return e(c);}return new Template(Selector.xpath.pseudos[c[1]]).evaluate(c);},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(l){var e=l[6],f=Selector.patterns,c=Selector.xpath,h,k;var g=[];while(e&&h!=e&&(/\S/).test(e)){h=e;for(var j in f){if(l=e.match(f[j])){k=Object.isFunction(c[j])?c[j](l):new Template(c[j]).evaluate(l);g.push("("+k.substring(1,k.length-1)+")");e=e.replace(l[0],"");break;}}}return"[not("+g.join(" and ")+")]";},"nth-child":function(c){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",c);},"nth-last-child":function(c){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",c);},"nth-of-type":function(c){return Selector.xpath.pseudos.nth("position() ",c);},"nth-last-of-type":function(c){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",c);},"first-of-type":function(c){c[6]="1";return Selector.xpath.pseudos["nth-of-type"](c);},"last-of-type":function(c){c[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](c);},"only-of-type":function(c){var e=Selector.xpath.pseudos;return e["first-of-type"](c)+e["last-of-type"](c);},nth:function(g,j){var f,e=j[6],k;if(e=="even"){e="2n+0";}if(e=="odd"){e="2n+1";}if(f=e.match(/^(\d+)$/)){return"["+g+"= "+f[1]+"]";}if(f=e.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(f[1]=="-"){f[1]=-1;}var h=f[1]?Number(f[1]):1;var c=f[2]?Number(f[2]):0;k="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(k).evaluate({fragment:g,a:h,b:c});}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(c){c[3]=(c[5]||c[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(c);},pseudo:function(c){if(c[6]){c[6]=c[6].replace(/"/g,'\\"');}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(c);},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(c,e){return e[1].toUpperCase()==c.tagName.toUpperCase();},className:function(c,e){return Element.hasClassName(c,e[1]);},id:function(c,e){return c.id===e[1];},attrPresence:function(c,e){return Element.hasAttribute(c,e[1]);},attr:function(f,e){var c=Element.readAttribute(f,e[1]);return c&&Selector.operators[e[2]](c,e[5]||e[6]);}},handlers:{concat:function(g,c){for(var f=0,e;e=c[f];f++){g.push(e);}return g;},mark:function(c){var e=Prototype.emptyFunction;for(var g=0,f;f=c[g];g++){f._countedByPrototype=e;}return c;},unmark:function(c){for(var f=0,e;e=c[f];f++){e._countedByPrototype=undefined;}return c;},index:function(c,h,e){c._countedByPrototype=Prototype.emptyFunction;if(h){for(var k=c.childNodes,g=k.length-1,j=1;g>=0;g--){var f=k[g];if(f.nodeType==1&&(!e||f._countedByPrototype)){f.nodeIndex=j++;}}}else{for(var g=0,j=1,k=c.childNodes;f=k[g];g++){if(f.nodeType==1&&(!e||f._countedByPrototype)){f.nodeIndex=j++;}}}},unique:function(h){if(h.length==0){return h;}var f=[],e;for(var g=0,c=h.length;g<c;g++){if(!(e=h[g])._countedByPrototype){e._countedByPrototype=Prototype.emptyFunction;
f.push(Element.extend(e));}}return Selector.handlers.unmark(f);},descendant:function(c){var f=Selector.handlers;for(var g=0,h=[],e;e=c[g];g++){f.concat(h,e.getElementsByTagName("*"));}return h;},child:function(c){var g=Selector.handlers;for(var h=0,j=[],f;f=c[h];h++){for(var k=0,e;e=f.childNodes[k];k++){if(e.nodeType==1&&e.tagName!="!"){j.push(e);}}}return j;},adjacent:function(c){for(var g=0,h=[],e;e=c[g];g++){var f=this.nextElementSibling(e);if(f){h.push(f);}}return h;},laterSibling:function(c){var f=Selector.handlers;for(var g=0,h=[],e;e=c[g];g++){f.concat(h,Element.nextSiblings(e));}return h;},nextElementSibling:function(c){while(c=c.nextSibling){if(c.nodeType==1){return c;}}return null;},previousElementSibling:function(c){while(c=c.previousSibling){if(c.nodeType==1){return c;}}return null;},tagName:function(g,j,e,f){var h=e.toUpperCase();var m=[],k=Selector.handlers;if(g){if(f){if(f=="descendant"){for(var l=0,c;c=g[l];l++){k.concat(m,c.getElementsByTagName(e));}return m;}else{g=this[f](g);}if(e=="*"){return g;}}for(var l=0,c;c=g[l];l++){if(c.tagName.toUpperCase()===h){m.push(c);}}return m;}else{return j.getElementsByTagName(e);}},id:function(l,c,e,g){var f=$(e),j=Selector.handlers;if(!f){return[];}if(!l&&c==document){return[f];}if(l){if(g){if(g=="child"){for(var k=0,h;h=l[k];k++){if(f.parentNode==h){return[f];}}}else{if(g=="descendant"){for(var k=0,h;h=l[k];k++){if(Element.descendantOf(f,h)){return[f];}}}else{if(g=="adjacent"){for(var k=0,h;h=l[k];k++){if(Selector.handlers.previousElementSibling(f)==h){return[f];}}}else{l=j[g](l);}}}}for(var k=0,h;h=l[k];k++){if(h==f){return[f];}}return[];}return(f&&Element.descendantOf(f,c))?[f]:[];},className:function(g,c,f,e){if(g&&e){g=this[e](g);}return Selector.handlers.byClassName(g,c,f);},byClassName:function(k,l,g){if(!k){k=Selector.handlers.descendant([l]);}var e=" "+g+" ";for(var h=0,j=[],f,c;f=k[h];h++){c=f.className;if(c.length==0){continue;}if(c==g||(" "+c+" ").include(e)){j.push(f);}}return j;},attrPresence:function(j,k,c,e){if(!j){j=k.getElementsByTagName("*");}if(j&&e){j=this[e](j);}var g=[];for(var h=0,f;f=j[h];h++){if(Element.hasAttribute(f,c)){g.push(f);}}return g;},attr:function(g,k,l,j,e,f){if(!g){g=k.getElementsByTagName("*");}if(g&&f){g=this[f](g);}var h=Selector.operators[e],n=[];for(var o=0,c;c=g[o];o++){var m=Element.readAttribute(c,l);if(m===null){continue;}if(h(m,j)){n.push(c);}}return n;},pseudo:function(h,g,e,c,f){if(h&&f){h=this[f](h);}if(!h){h=c.getElementsByTagName("*");}return Selector.pseudos[g](h,e,c);}},pseudos:{"first-child":function(j,e,c){for(var g=0,h=[],f;f=j[g];g++){if(Selector.handlers.previousElementSibling(f)){continue;}h.push(f);}return h;},"last-child":function(j,e,c){for(var g=0,h=[],f;f=j[g];g++){if(Selector.handlers.nextElementSibling(f)){continue;}h.push(f);}return h;},"only-child":function(k,e,c){var g=Selector.handlers;for(var h=0,j=[],f;f=k[h];h++){if(!g.previousElementSibling(f)&&!g.nextElementSibling(f)){j.push(f);}}return j;},"nth-child":function(f,e,c){return Selector.pseudos.nth(f,e,c);},"nth-last-child":function(f,e,c){return Selector.pseudos.nth(f,e,c,true);},"nth-of-type":function(f,e,c){return Selector.pseudos.nth(f,e,c,false,true);},"nth-last-of-type":function(f,e,c){return Selector.pseudos.nth(f,e,c,true,true);},"first-of-type":function(f,e,c){return Selector.pseudos.nth(f,"1",c,false,true);},"last-of-type":function(f,e,c){return Selector.pseudos.nth(f,"1",c,true,true);},"only-of-type":function(g,e,c){var f=Selector.pseudos;return f["last-of-type"](f["first-of-type"](g,e,c),e,c);},getIndices:function(f,c,e){if(f==0){return c>0?[c]:[];}return $R(1,e).inject([],function(h,g){if(0==(g-c)%f&&(g-c)/f>=0){h.push(g);}return h;});},nth:function(g,m,k,n,e){if(g.length==0){return[];}if(m=="even"){m="2n+0";}if(m=="odd"){m="2n+1";}var o=Selector.handlers,p=[],f=[],t;o.mark(g);for(var q=0,c;c=g[q];q++){if(!c.parentNode._countedByPrototype){o.index(c.parentNode,n,e);f.push(c.parentNode);}}if(m.match(/^\d+$/)){m=Number(m);for(var q=0,c;c=g[q];q++){if(c.nodeIndex==m){p.push(c);}}}else{if(t=m.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(t[1]=="-"){t[1]=-1;}var j=t[1]?Number(t[1]):1;var l=t[2]?Number(t[2]):0;var h=Selector.pseudos.getIndices(j,l,g.length);for(var q=0,c,s=h.length;c=g[q];q++){for(var r=0;r<s;r++){if(c.nodeIndex==h[r]){p.push(c);}}}}}o.unmark(g);o.unmark(f);return p;},empty:function(j,e,c){for(var g=0,h=[],f;f=j[g];g++){if(f.tagName=="!"||f.firstChild){continue;}h.push(f);}return h;},not:function(g,c,j){var l=Selector.handlers,h,e;var k=new Selector(c).findElements(j);l.mark(k);for(var m=0,n=[],f;f=g[m];m++){if(!f._countedByPrototype){n.push(f);}}l.unmark(k);return n;},enabled:function(j,e,c){for(var g=0,h=[],f;f=j[g];g++){if(!f.disabled&&(!f.type||f.type!=="hidden")){h.push(f);}}return h;},disabled:function(j,e,c){for(var g=0,h=[],f;f=j[g];g++){if(f.disabled){h.push(f);}}return h;},checked:function(j,e,c){for(var g=0,h=[],f;f=j[g];g++){if(f.checked){h.push(f);}}return h;}},operators:{"=":function(e,c){return e==c;
},"!=":function(e,c){return e!=c;},"^=":function(e,c){return e==c||e&&e.startsWith(c);},"$=":function(e,c){return e==c||e&&e.endsWith(c);},"*=":function(e,c){return e==c||e&&e.include(c);},"$=":function(e,c){return e.endsWith(c);},"*=":function(e,c){return e.include(c);},"~=":function(e,c){return(" "+e+" ").include(" "+c+" ");},"|=":function(e,c){return("-"+(e||"").toUpperCase()+"-").include("-"+(c||"").toUpperCase()+"-");}},split:function(e){var c=[];e.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(f){c.push(f[1].strip());});return c;},matchElements:function(f,e){var g=$$(e),h=Selector.handlers;h.mark(g);for(var j=0,k=[],c;c=f[j];j++){if(c._countedByPrototype){k.push(c);}}h.unmark(g);return k;},findElement:function(f,e,c){if(Object.isNumber(e)){c=e;e=false;}return Selector.matchElements(f,e||"*")[c||0];},findChildElements:function(g,e){e=Selector.split(e.join(","));var h=[],f=Selector.handlers;for(var j=0,k=e.length,c;j<k;j++){c=new Selector(e[j].strip());f.concat(h,c.findElements(g));}return(k>1)?f.unique(h):h;}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(g,c){for(var f=0,e;e=c[f];f++){if(e.tagName!=="!"){g.push(e);}}return g;},unmark:function(c){for(var f=0,e;e=c[f];f++){e.removeAttribute("_countedByPrototype");}return c;}});}function $$(){return Selector.findChildElements(document,$A(arguments));}var Form={reset:function(c){$(c).reset();return c;},serializeElements:function(e,k){if(typeof k!="object"){k={hash:!!k};}else{if(Object.isUndefined(k.hash)){k.hash=true;}}var j,f,c=false,g=k.submit;var h=e.inject({},function(m,l){if(!l.disabled&&l.name){j=l.name;f=$(l).getValue();if(f!=null&&l.type!="file"&&(l.type!="submit"||(!c&&g!==false&&(!g||j==g)&&(c=true)))){if(j in m){if(!Object.isArray(m[j])){m[j]=[m[j]];}m[j].push(f);}else{m[j]=f;}}}return m;});return k.hash?h:Object.toQueryString(h);}};Form.Methods={serialize:function(e,c){return Form.serializeElements(Form.getElements(e),c);},getElements:function(c){return $A($(c).getElementsByTagName("*")).inject([],function(f,e){if(Form.Element.Serializers[e.tagName.toLowerCase()]){f.push(Element.extend(e));}return f;});},getInputs:function(f,k,j){f=$(f);var c=f.getElementsByTagName("input");if(!k&&!j){return $A(c).map(Element.extend);}for(var h=0,e=[],g=c.length;h<g;h++){var l=c[h];if((k&&l.type!=k)||(j&&l.name!=j)){continue;}e.push(Element.extend(l));}return e;},disable:function(c){c=$(c);Form.getElements(c).invoke("disable");return c;},enable:function(c){c=$(c);Form.getElements(c).invoke("enable");return c;},findFirstElement:function(f){var e=$(f).getElements().findAll(function(g){return"hidden"!=g.type&&!g.disabled;});var c=e.findAll(function(g){return g.hasAttribute("tabIndex")&&g.tabIndex>=0;}).sortBy(function(g){return g.tabIndex;}).first();return c?c:e.find(function(g){return["input","select","textarea"].include(g.tagName.toLowerCase());});},focusFirstElement:function(c){c=$(c);c.findFirstElement().activate();return c;},request:function(g,c){g=$(g),c=Object.clone(c||{});var e=c.parameters,f=g.readAttribute("action")||"";if(f.blank()){f=window.location.href;}c.parameters=g.serialize(true);if(e){if(Object.isString(e)){e=e.toQueryParams();}Object.extend(c.parameters,e);}if(g.hasAttribute("method")&&!c.method){c.method=g.method;}return new Ajax.Request(f,c);}};Form.Element={focus:function(c){$(c).focus();return c;},select:function(c){$(c).select();return c;}};Form.Element.Methods={serialize:function(c){c=$(c);if(!c.disabled&&c.name){var f=c.getValue();if(f!=undefined){var e={};e[c.name]=f;return Object.toQueryString(e);}}return"";},getValue:function(c){c=$(c);var e=c.tagName.toLowerCase();return Form.Element.Serializers[e](c);},setValue:function(c,f){c=$(c);var e=c.tagName.toLowerCase();Form.Element.Serializers[e](c,f);return c;},clear:function(c){$(c).value="";return c;},present:function(c){return $(c).value!="";},activate:function(c){c=$(c);try{c.focus();if(c.select&&(c.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(c.type))){c.select();}}catch(e){}return c;},disable:function(c){c=$(c);c.disabled=true;return c;},enable:function(c){c=$(c);c.disabled=false;return c;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(c,e){switch(c.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(c,e);default:return Form.Element.Serializers.textarea(c,e);}},inputSelector:function(c,e){if(Object.isUndefined(e)){return c.checked?c.value:null;}else{c.checked=!!e;}},textarea:function(c,e){if(Object.isUndefined(e)){return c.value;}else{c.value=e;}},select:function(j,f){if(Object.isUndefined(f)){return this[j.type=="select-one"?"selectOne":"selectMany"](j);}else{var k,h,e=!Object.isArray(f);for(var c=0,g=j.length;c<g;c++){k=j.options[c];h=this.optionValue(k);if(e){if(h==f){k.selected=true;return;}}else{k.selected=f.include(h);}}}},selectOne:function(e){var c=e.selectedIndex;return c>=0?this.optionValue(e.options[c]):null;},selectMany:function(f){var c,e=f.length;
if(!e){return null;}for(var g=0,c=[];g<e;g++){var h=f.options[g];if(h.selected){c.push(this.optionValue(h));}}return c;},optionValue:function(c){return Element.extend(c).hasAttribute("value")?c.value:c.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,c,f,e){$super(e,f);this.element=$(c);this.lastValue=this.getValue();},execute:function(){var c=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(c)?this.lastValue!=c:String(this.lastValue)!=String(c)){this.callback(this.element,c);this.lastValue=c;}}});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(c,e){this.element=$(c);this.callback=e;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks();}else{this.registerCallback(this.element);}},onElementEvent:function(){var c=this.getValue();if(this.lastValue!=c){this.callback(this.element,c);this.lastValue=c;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(c){if(c.type){switch(c.type.toLowerCase()){case"checkbox":case"radio":Event.observe(c,"click",this.onElementEvent.bind(this));break;default:Event.observe(c,"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(e){var c;switch(e.type){case"mouseover":c=e.fromElement;break;case"mouseout":c=e.toElement;break;default:return null;}return Element.extend(c);}});Event.Methods=(function(){var c;if(Prototype.Browser.IE){var e={0:1,1:4,2:2};c=function(f,g){return f.button==e[g];};}else{if(Prototype.Browser.WebKit){c=function(f,g){switch(g){case 0:return f.which==1&&!f.metaKey;case 1:return f.which==1&&f.metaKey;default:return false;}};}else{c=function(f,g){return f.which?(f.which===g+1):(f.button===g);};}}return{isLeftClick:function(f){return c(f,0);},isMiddleClick:function(f){return c(f,1);},isRightClick:function(f){return c(f,2);},element:function(g){g=Event.extend(g);var h=g.target,j=g.type,f=g.currentTarget;if(f&&f.tagName){if(j==="load"||j==="error"||(j==="click"&&f.tagName.toLowerCase()==="input"&&f.type==="radio")){h=f;}}if(h.nodeType==Node.TEXT_NODE){h=h.parentNode;}return Element.extend(h);},findElement:function(h,f){var j=Event.element(h);if(!f){return j;}var g=[j].concat(j.ancestors());return Selector.findElement(g,f,0);},pointer:function(f){var g=document.documentElement,h=document.body||{scrollLeft:0,scrollTop:0};return{x:f.pageX||(f.clientX+(g.scrollLeft||h.scrollLeft)-(g.clientLeft||0)),y:f.pageY||(f.clientY+(g.scrollTop||h.scrollTop)-(g.clientTop||0))};},pointerX:function(f){return Event.pointer(f).x;},pointerY:function(f){return Event.pointer(f).y;},stop:function(f){Event.extend(f);f.preventDefault();f.stopPropagation();f.stopped=true;}};})();Event.extend=(function(){var c=Object.keys(Event.Methods).inject({},function(f,e){f[e]=Event.Methods[e].methodize();return f;});if(Prototype.Browser.IE){Object.extend(c,{stopPropagation:function(){this.cancelBubble=true;},preventDefault:function(){this.returnValue=false;},inspect:function(){return"[object Event]";}});return function(f){if(!f){return false;}if(f._extendedByPrototype){return f;}f._extendedByPrototype=Prototype.emptyFunction;var e=Event.pointer(f);Object.extend(f,{target:f.srcElement,relatedTarget:Event.relatedTarget(f),pageX:e.x,pageY:e.y});return Object.extend(f,c);};}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents")["__proto__"];Object.extend(Event.prototype,c);return Prototype.K;}})();Object.extend(Event,(function(){var f=Event.cache;function e(n){if(n._prototypeEventID){return n._prototypeEventID[0];}arguments.callee.id=arguments.callee.id||1;return n._prototypeEventID=[++arguments.callee.id];}function k(n){if(n&&n.include(":")){return"dataavailable";}return n;}function g(n){return f[n]=f[n]||{};}function l(n,p){var o=g(n);return o[p]=o[p]||[];}function j(o,p,n){var q=e(o);var r=l(q,p);if(r.pluck("handler").include(n)){return false;}var s=function(t){if(!Event||!Event.extend||(t.eventName&&t.eventName!=p)){return false;}Event.extend(t);n.call(o,t);};s.handler=n;r.push(s);return s;}function h(q,p,o){var n=l(q,p);return n.find(function(r){return r.handler==o;});}function c(q,p,o){var n=g(q);if(!n[p]){return false;}n[p]=n[p].without(h(q,p,o));}function m(){for(var n in f){for(var o in f[n]){f[n][o]=null;
}}}if(window.attachEvent){window.attachEvent("onunload",m);}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false);}return{observe:function(n,p,r){n=$(n);var o=k(p);var q=j(n,p,r);if(!q){return n;}if(n.addEventListener){n.addEventListener(o,q,false);}else{n.attachEvent("on"+o,q);}return n;},stopObserving:function(n,p,s){n=$(n);var q=e(n),o=k(p);if(!s&&p){l(q,p).each(function(t){n.stopObserving(p,t.handler);});return n;}else{if(!p){Object.keys(g(q)).each(function(t){n.stopObserving(t);});return n;}}var r=h(q,p,s);if(!r){return n;}if(n.removeEventListener){n.removeEventListener(o,r,false);}else{n.detachEvent("on"+o,r);}c(q,p,s);return n;},fire:function(n,o,p){n=$(n);if(n==document&&document.createEvent&&!n.dispatchEvent){n=document.documentElement;}var q;if(document.createEvent){q=document.createEvent("HTMLEvents");q.initEvent("dataavailable",true,true);}else{q=document.createEventObject();q.eventType="ondataavailable";}q.eventName=o;q.memo=p||{};if(document.createEvent){n.dispatchEvent(q);}else{n.fireEvent(q.eventType,q);}return Event.extend(q);}};})());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 e;function c(){if(document.loaded){return;}if(e){window.clearInterval(e);}document.fire("dom:loaded");document.loaded=true;}if(document.addEventListener){if(Prototype.Browser.WebKit){e=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){c();}},0);Event.observe(window,"load",c);}else{document.addEventListener("DOMContentLoaded",c,false);}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;c();}};}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(c,e){return Element.insert(c,{before:e});},Top:function(c,e){return Element.insert(c,{top:e});},Bottom:function(c,e){return Element.insert(c,{bottom:e});},After:function(c,e){return Element.insert(c,{after:e});}};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(f,c,e){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(f,c,e);}this.xcomp=c;this.ycomp=e;this.offset=Element.cumulativeOffset(f);return(e>=this.offset[1]&&e<this.offset[1]+f.offsetHeight&&c>=this.offset[0]&&c<this.offset[0]+f.offsetWidth);},withinIncludingScrolloffsets:function(g,c,e){var f=Element.cumulativeScrollOffset(g);this.xcomp=c+f[0]-this.deltaX;this.ycomp=e+f[1]-this.deltaY;this.offset=Element.cumulativeOffset(g);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+g.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+g.offsetWidth);},overlap:function(e,c){if(!e){return 0;}if(e=="vertical"){return((this.offset[1]+c.offsetHeight)-this.ycomp)/c.offsetHeight;}if(e=="horizontal"){return((this.offset[0]+c.offsetWidth)-this.xcomp)/c.offsetWidth;}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(c){Position.prepare();return Element.absolutize(c);},relativize:function(c){Position.prepare();return Element.relativize(c);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(f,e,c){c=c||{};return Element.clonePosition(e,f,c);}};if(!document.getElementsByClassName){document.getElementsByClassName=function(e){function c(f){return f.blank()?null:"[contains(concat(' ', @class, ' '), ' "+f+" ')]";}e.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(h,f){f=f.toString().strip();var g=/\s/.test(f)?$w(f).map(c).join(""):c(f);return g?document._getElementsByXPath(".//*"+g,h):[];}:function(l,k){k=k.toString().strip();var j=[],h=(/\s/.test(k)?$w(k):null);if(!h&&!k){return j;}var n=$(l).getElementsByTagName("*");k=" "+k+" ";for(var m=0,f,g;f=n[m];m++){if(f.className&&(g=" "+f.className+" ")&&(g.include(k)||(h&&h.all(function(o){return !o.toString().blank()&&g.include(" "+o+" ");})))){j.push(Element.extend(f));}}return j;};return function(f,g){return $(g||document.body).getElementsByClassName(f);};}(Element.Methods);}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(c){this.element=$(c);},_each:function(c){this.element.className.split(/\s+/).select(function(e){return e.length>0;})._each(c);},set:function(c){this.element.className=c;
},add:function(c){if(this.include(c)){return;}this.set($A(this).concat(c).join(" "));},remove:function(c){if(!this.include(c)){return;}this.set($A(this).without(c).join(" "));},toString:function(){return $A(this).join(" ");}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();(function(){var c=function(e,h){var g=e.relatedTarget;while(g&&g!=h){try{g=g.parentNode;}catch(f){g=h;}}return g==h;};Object.extend(Event,{mouseEnter:function(g,j,e){g=$(g);var h=(e&&e.enterDelay)?(function(){window.setTimeout(j,e.enterDelay);}):(j);if(Prototype.Browser.IE){g.observe("mouseenter",h);}else{g.hovered=false;g.observe("mouseover",function(f){if(!g.hovered){g.hovered=true;h(f);}});}},mouseLeave:function(g,j,e){g=$(g);var h=(e&&e.leaveDelay)?(function(){window.setTimeout(j,e.leaveDelay);}):(j);if(Prototype.Browser.IE){g.observe("mouseleave",h);}else{g.observe("mouseout",function(f){var k=Event.element(f);if(!c(f,g)){h(f);g.hovered=false;}});}}});Element.addMethods({"hover":function(f,g,h,e){e=Object.extend({},e)||{};Event.mouseEnter(f,g,e);Event.mouseLeave(f,h,e);}});})();var Scriptaculous={Version:"1.8.1",require:function(c){document.write('<script type="text/javascript" src="'+c+'"><\/script>');},REQUIRED_PROTOTYPE:"1.6.0.2",load:function(){function c(f){var g=f.replace(/_.*|\./g,"");g=parseInt(g+"0".times(4-g.length));return f.indexOf("_")>-1?g-1:g;}if((typeof Prototype=="undefined")||(typeof Element=="undefined")||(typeof Element.Methods=="undefined")||(c(Prototype.Version)<c(Scriptaculous.REQUIRED_PROTOTYPE))){throw ("script.aculo.us requires the Prototype JavaScript framework >= "+Scriptaculous.REQUIRED_PROTOTYPE);}var e=/scriptaculous\.js(\?.*)?$/;$$("head script[src]").findAll(function(f){return f.src.match(e);}).each(function(g){var h=g.src.replace(e,""),f=g.src.match(/\?.*load=([a-z,]*)/);(f?f[1]:"builder,effects,dragdrop,controls,slider,sound").split(",").each(function(j){Scriptaculous.require(h+j+".js");});});}};Scriptaculous.load();function trim(h,g){var e,c=0;if(!g){e=" \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";}else{e=g.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,"$1");}c=h.length;for(var f=0;f<c;f++){if(e.indexOf(h.charAt(f))===-1){h=h.substring(f);break;}}c=h.length;for(f=c-1;f>=0;f--){if(e.indexOf(h.charAt(f))===-1){h=h.substring(0,f+1);break;}}return e.indexOf(h.charAt(0))===-1?h:"";}function ShowGroup(e,c){if(c==true){document.getElementById("group"+e).style.display="block";return;}if(document.getElementById("group"+e).style.display=="none"){document.getElementById("group"+e).style.display="block";}else{document.getElementById("group"+e).style.display="none";}}function Rotate(e,c){if($("img"+e).src==c+"/c"+e+"_a.jpg"){$("img"+e).src=c+"/c"+e+"_r.jpg";}else{$("img"+e).src=c+"/c"+e+"_a.jpg";}}function ShowGroupXX(c){if(document.getElementById("group"+c).style.display=="none"){document.getElementById("group"+c).style.display="block";}else{document.getElementById("group"+c).style.display="none";}}function SubmitTable(){document.select_form.submit();}function validateFiltersCatalog(){$("filter_coin_year_start").setAttribute("class","");$("filter_coin_year_end").setAttribute("class","");$("filter_coin_price_start").setAttribute("class","");$("filter_coin_price_end").setAttribute("class","");var c=true;var e=/^\d*$/;filter_coin_year_start=$("filter_coin_year_start").value;filter_coin_year_end=$("filter_coin_year_end").value;filter_coin_price_start=$("filter_coin_price_start").value;filter_coin_price_end=$("filter_coin_price_end").value;if(!e.test(filter_coin_year_start)){$("filter_coin_year_start").setAttribute("class","filterError");return false;}if(!e.test(filter_coin_year_end)){$("filter_coin_year_end").setAttribute("class","filterError");return false;}if(!e.test(filter_coin_price_start)){$("filter_coin_price_start").setAttribute("class","filterError");return false;}if(!e.test(filter_coin_price_end)){$("filter_coin_price_end").setAttribute("class","filterError");return false;}if((filter_coin_year_start!="")&&(filter_coin_year_end!="")){if(filter_coin_year_start>filter_coin_year_end){$("filter_coin_year_end").setAttribute("class","filterError");c=false;}}if((filter_coin_price_start!="")&&(filter_coin_price_end!="")){if(filter_coin_price_start>filter_coin_price_end){$("filter_coin_price_end").setAttribute("class","filterError");c=false;}}if(c){document.filters_form.submit();}return c;}function validateNumber(c){var e=/^\d*$/;if(!e.test($F(c))){$(c).setAttribute("class","isNumberError");$(c).setAttribute("className","isNumberError");return false;}return true;}function hideSubmenu(c){$(c).hide();}function updateAutocompleterValue(e,c){textbox=new String(e.id);inputId=textbox.slice(0,textbox.lastIndexOf("TextBox"));$(inputId).value=c.id;}function CreateMultiSelectVariant(g){var f=parseInt($(g+"_count").value)+1;var c=new Element("select",{id:g+"_"+f,name:g+"_"+f,"class":"field text large validate-selection",onfocus:"$('li_"+g+"').setAttribute('class', 'focused');",onblur:"$('li_"+g+"').setAttribute('class', '');",onchange:"UpdateMultiSelect('"+g+"');"});
options=$(g+"_0").options;length=options.length;var e=0;while(e<length){c.options[e]=new Option(options[e].text,options[e].value);e++;}div=new Element("div",{id:"multi_"+g+"_"+f});div.update('<img onclick="RemoveMultiSelectVariant('+"'"+g+"', "+"'"+f+"'"+');" src="http://www.gcoins.ru/images/actions/remove.png" title="Удалить" alt="Удалить" style="height: 18px; margin: 2px; vertical-align: middle; cursor: pointer;" /></a>&nbsp;&nbsp;');div.insert({bottom:c});$("div_"+g).insert({after:div});$(g+"_count").value=f;UpdateMultiSelect(g);}function RemoveMultiSelectVariant(c,e){name=c+"_"+parseInt(e);$("li_"+c).removeChild($("multi_"+name));UpdateMultiSelect(c);}function PopulateMultiSelect(g){var f=trim($F(g),"{}");values=f.split(",");selectSelectOptionWithValue(g+"_0",values[0]);if(values.length>1){var c=1;var e=values.length;while(c<e){CreateMultiSelectVariant(g);selectSelectOptionWithValue(g+"_"+c,values[c]);c++;}}UpdateMultiSelect(g);}function selectSelectOptionWithValue(g,c){var e=0;var f=$(g).options.length;while(e<f){if($(g).options[e].value==c){$(g).options[e].selected=true;}e=e+1;}}function UpdateMultiSelect(c){count=$(c+"_count").value;value="{";if($F(c+"_0")!=""){value=value+$F(c+"_0")+",";}if(count>0){while(count>0){subitemName=c+"_"+count;if(($(subitemName)!=null)&&($F(subitemName)!="")){value=value+$F(subitemName)+",";}count=count-1;}}value=trim(value,",")+"}";$(c).value=value;}function isString(){if(typeof arguments[0]=="string"){return true;}if(typeof arguments[0]=="object"){var c=arguments[0].constructor.toString().match(/string/i);return(c!=null);}return false;}function PressShadowButton(c){c.setAttribute("class","image_shadow_pressed");c.setAttribute("className","image_shadow_pressed");}function ReleaseShadowButton(c){c.setAttribute("class","image_shadow");c.setAttribute("className","image_shadow");}function getTop(c){var e=c.offsetTop;while(c=c.offsetParent){e+=c.offsetTop;}return e;}function getLeft(e){var c=e.offsetLeft;while(e=e.offsetParent){c+=e.offsetLeft;}return c;}function isDefined(c){return(typeof(window[c])=="undefined")?false:true;}var Validator=Class.create();Validator.prototype={initialize:function(f,e,g,c){if(typeof g=="function"){this.options=$H(c);this._test=g;}else{this.options=$H(g);this._test=function(){return true;};}this.error=e||"Validation failed.";this.className=f;},test:function(c,e){return(this._test(c,e)&&this.options.all(function(f){return Validator.methods[f.key]?Validator.methods[f.key](c,e,f.value):true;}));}};Validator.methods={pattern:function(c,f,e){return Validation.get("IsEmpty").test(c)||e.test(c);},minLength:function(c,f,e){return c.length>=e;},maxLength:function(c,f,e){return c.length<=e;},min:function(c,f,e){return c>=parseFloat(e);},max:function(c,f,e){return c<=parseFloat(e);},notOneOf:function(c,f,e){return $A(e).all(function(g){return c!=g;});},oneOf:function(c,f,e){return $A(e).any(function(g){return c==g;});},is:function(c,f,e){return c==e;},isNot:function(c,f,e){return c!=e;},equalToField:function(c,f,e){return c==$F(e);},notEqualToField:function(c,f,e){return c!=$F(e);},include:function(c,f,e){return $A(e).all(function(g){return Validation.get(g).test(c,f);});}};var Validation=Class.create();Validation.prototype={initialize:function(f,c){this.options=Object.extend({onSubmit:true,stopOnFirst:false,immediate:false,focusOnError:true,useTitles:false,onFormValidate:function(h,j){},onElementValidate:function(h,j){}},c||{});this.form=$(f);if(this.options.onSubmit){Event.observe(this.form,"submit",this.onSubmit.bind(this),false);}if(this.options.immediate){var e=this.options.useTitles;var g=this.options.onElementValidate;Form.getElements(this.form).each(function(h){Event.observe(h,"blur",function(j){Validation.validate(Event.element(j),{useTitle:e,onElementValidate:g});});});}},onSubmit:function(c){if(!this.validate()){Event.stop(c);}},validate:function(){var c=false;var e=this.options.useTitles;var f=this.options.onElementValidate;if(this.options.stopOnFirst){c=Form.getElements(this.form).all(function(g){return Validation.validate(g,{useTitle:e,onElementValidate:f});});}else{c=Form.getElements(this.form).collect(function(g){return Validation.validate(g,{useTitle:e,onElementValidate:f});}).all();}if(!c&&this.options.focusOnError){Form.getElements(this.form).findAll(function(g){return $(g).hasClassName("validation-failed");}).first().focus();}this.options.onFormValidate(c,this.form);return c;},reset:function(){Form.getElements(this.form).each(Validation.reset);}};Object.extend(Validation,{validate:function(f,c){c=Object.extend({useTitle:false,onElementValidate:function(g,h){}},c||{});f=$(f);var e=f.classNames();return result=e.all(function(g){var h=Validation.test(g,f,c.useTitle);c.onElementValidate(h,f);return h;});},test:function(f,l,m){var n=Validation.get(f);var c="__advice"+f.camelize();try{if(Validation.isVisible(l)&&!n.test($F(l),l)){if(!l[c]){var h=Validation.getAdvice(f,l);if(h==null){var j=m?((l&&l.title)?l.title:n.error):n.error;h='<div class="validation-advice" id="advice-'+f+"-"+Validation.getElmID(l)+'" style="display:none">'+j+"</div>";
switch(l.type.toLowerCase()){case"checkbox":case"radio":var g=l.parentNode;if(g){new Insertion.Bottom(g,h);}else{new Insertion.After(l,h);}break;default:new Insertion.After(l,h);}h=Validation.getAdvice(f,l);}if(typeof Effect=="undefined"){h.style.display="block";}else{new Effect.Appear(h,{duration:1});}}l[c]=true;l.removeClassName("validation-passed");l.addClassName("validation-failed");return false;}else{var h=Validation.getAdvice(f,l);if(h!=null){h.hide();}l[c]="";l.removeClassName("validation-failed");l.addClassName("validation-passed");return true;}}catch(k){throw (k);}},isVisible:function(c){while(c.tagName!="BODY"){if(!$(c).visible()){return false;}c=c.parentNode;}return true;},getAdvice:function(c,e){return $("advice-"+c+"-"+Validation.getElmID(e))||$("advice-"+Validation.getElmID(e));},getElmID:function(c){return c.id?c.id:c.name;},reset:function(e){e=$(e);var c=e.classNames();c.each(function(g){var h="__advice"+g.camelize();if(e[h]){var f=Validation.getAdvice(g,e);f.hide();e[h]="";}e.removeClassName("validation-failed");e.removeClassName("validation-passed");});},add:function(g,f,h,e){var c={};c[g]=new Validator(g,f,h,e);Object.extend(Validation.methods,c);},addAllThese:function(c){var e={};$A(c).each(function(f){e[f[0]]=new Validator(f[0],f[1],f[2],(f.length>3?f[3]:{}));});Object.extend(Validation.methods,e);},get:function(c){return Validation.methods[c]?Validation.methods[c]:Validation.methods["_LikeNoIDIEverSaw_"];},methods:{"_LikeNoIDIEverSaw_":new Validator("_LikeNoIDIEverSaw_","",{})}});Validation.add("IsEmpty","",function(c){return((c==null)||(c.length==0));});Validation.addAllThese([["required","Это поле необходимо заполнить.",function(c){return !Validation.get("IsEmpty").test(c);}],["validate-number","Please enter a valid number in this field.",function(c){return Validation.get("IsEmpty").test(c)||(!isNaN(c)&&!/^\s+$/.test(c));}],["validate-digits","В этом поле можно использовать только цифры.",function(c){return Validation.get("IsEmpty").test(c)||!/[^\d]/.test(c);}],["validate-alpha","В этом поле можно использовать только буквы.",function(c){return Validation.get("IsEmpty").test(c)||/^[a-zA-Zа-яА-Я,\s,-]+$/.test(c);}],["validate-alphanum","Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.",function(c){return Validation.get("IsEmpty").test(c)||!/\W/.test(c);}],["validate-date","Please enter a valid date.",function(c){var e=new Date(c);return Validation.get("IsEmpty").test(c)||!isNaN(e);}],["validate-email","Пожалуйста, введите правильный адрес электронной почты. Например, info@gcoins.ru .",function(c){return Validation.get("IsEmpty").test(c)||/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(c);}],["validate-url","Please enter a valid URL.",function(c){return Validation.get("IsEmpty").test(c)||/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(c);}],["validate-date-au","Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.",function(c){if(Validation.get("IsEmpty").test(c)){return true;}var e=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!e.test(c)){return false;}var f=new Date(c.replace(e,"$2/$1/$3"));return(parseInt(RegExp.$2,10)==(1+f.getMonth()))&&(parseInt(RegExp.$1,10)==f.getDate())&&(parseInt(RegExp.$3,10)==f.getFullYear());}],["validate-currency-dollar","Please enter a valid $ amount. For example $100.00 .",function(c){return Validation.get("IsEmpty").test(c)||/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(c);}],["validate-selection","Необходимо выбрать.",function(c,e){return e.options?e.selectedIndex>0:!Validation.get("IsEmpty").test(c);}],["validate-one-required","Пожалуйста выберите один из вариантов.",function(c,g){var f=g.parentNode;var e=f.getElementsByTagName("INPUT");return $A(e).any(function(h){return $F(h);});}]]);var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(c){c=c.toUpperCase();var k=this.NODEMAP[c]||"div";var f=document.createElement(k);try{f.innerHTML="<"+c+"></"+c+">";}catch(j){}var h=f.firstChild||null;if(h&&(h.tagName.toUpperCase()!=c)){h=h.getElementsByTagName(c)[0];}if(!h){h=document.createElement(c);}if(!h){return;}if(arguments[1]){if(this._isStringOrNumber(arguments[1])||(arguments[1] instanceof Array)||arguments[1].tagName){this._children(h,arguments[1]);}else{var g=this._attributes(arguments[1]);if(g.length){try{f.innerHTML="<"+c+" "+g+"></"+c+">";}catch(j){}h=f.firstChild||null;if(!h){h=document.createElement(c);for(attr in arguments[1]){h[attr=="class"?"className":attr]=arguments[1][attr];}}if(h.tagName.toUpperCase()!=c){h=f.getElementsByTagName(c)[0];}}}}if(arguments[2]){this._children(h,arguments[2]);}return $(h);},_text:function(c){return document.createTextNode(c);},ATTR_MAP:{"className":"class","htmlFor":"for"},_attributes:function(c){var e=[];
for(attribute in c){e.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+c[attribute].toString().escapeHTML().gsub(/"/,"&quot;")+'"');}return e.join(" ");},_children:function(e,c){if(c.tagName){e.appendChild(c);return;}if(typeof c=="object"){c.flatten().each(function(f){if(typeof f=="object"){e.appendChild(f);}else{if(Builder._isStringOrNumber(f)){e.appendChild(Builder._text(f));}}});}else{if(Builder._isStringOrNumber(c)){e.appendChild(Builder._text(c));}}},_isStringOrNumber:function(c){return(typeof c=="string"||typeof c=="number");},build:function(e){var c=this.node("div");$(c).update(e.strip());return c.down();},dump:function(e){if(typeof e!="object"&&typeof e!="function"){e=window;}var c=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);c.each(function(f){e[f]=function(){return Builder.node.apply(Builder,[f].concat($A(arguments)));};});}};String.prototype.parseColor=function(){var c="#";if(this.slice(0,4)=="rgb("){var f=this.slice(4,this.length-1).split(",");var e=0;do{c+=parseInt(f[e]).toColorPart();}while(++e<3);}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var e=1;e<4;e++){c+=(this.charAt(e)+this.charAt(e)).toLowerCase();}}if(this.length==7){c=this.toLowerCase();}}}return(c.length==7?c:(arguments[0]||this));};Element.collectTextNodes=function(c){return $A($(c).childNodes).collect(function(e){return(e.nodeType==3?e.nodeValue:(e.hasChildNodes()?Element.collectTextNodes(e):""));}).flatten().join("");};Element.collectTextNodesIgnoreClass=function(c,e){return $A($(c).childNodes).collect(function(f){return(f.nodeType==3?f.nodeValue:((f.hasChildNodes()&&!Element.hasClassName(f,e))?Element.collectTextNodesIgnoreClass(f,e):""));}).flatten().join("");};Element.setContentZoom=function(c,e){c=$(c);c.setStyle({fontSize:(e/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0);}return c;};Element.getInlineOpacity=function(c){return $(c).style.opacity||"";};Element.forceRerendering=function(c){try{c=$(c);var g=document.createTextNode(" ");c.appendChild(g);c.removeChild(g);}catch(f){}};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(c){return(-Math.cos(c*Math.PI)/2)+0.5;},reverse:function(c){return 1-c;},flicker:function(c){var c=((-Math.cos(c*Math.PI)/4)+0.75)+Math.random()/4;return c>1?1:c;},wobble:function(c){return(-Math.cos(c*Math.PI*(9*c))/2)+0.5;},pulse:function(e,c){return(-Math.cos((e*((c||5)-0.5)*2)*Math.PI)/2)+0.5;},spring:function(c){return 1-(Math.cos(c*4.5*Math.PI)*Math.exp(-c*6));},none:function(c){return 0;},full:function(c){return 1;}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(c){var e="position:relative";if(Prototype.Browser.IE){e+=";zoom:1";}c=$(c);$A(c.childNodes).each(function(f){if(f.nodeType==3){f.nodeValue.toArray().each(function(g){c.insertBefore(new Element("span",{style:e}).update(g==" "?String.fromCharCode(160):g),f);});Element.remove(f);}});},multiple:function(e,f){var h;if(((typeof e=="object")||Object.isFunction(e))&&(e.length)){h=e;}else{h=$(e).childNodes;}var c=Object.extend({speed:0.1,delay:0},arguments[2]||{});var g=c.delay;$A(h).each(function(k,j){new f(k,Object.extend(c,{delay:j*c.speed+g}));});},PAIRS:{"slide":["SlideDown","SlideUp"],"blind":["BlindDown","BlindUp"],"appear":["Appear","Fade"]},toggle:function(e,f){e=$(e);f=(f||"appear").toLowerCase();var c=Object.extend({queue:{position:"end",scope:(e.id||"global"),limit:1}},arguments[2]||{});Effect[e.visible()?Effect.PAIRS[f][1]:Effect.PAIRS[f][0]](e,c);}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:function(c){this.effects._each(c);},add:function(e){var f=new Date().getTime();var c=Object.isString(e.options.queue)?e.options.queue:e.options.queue.position;switch(c){case"front":this.effects.findAll(function(g){return g.state=="idle";}).each(function(g){g.startOn+=e.finishOn;g.finishOn+=e.finishOn;});break;case"with-last":f=this.effects.pluck("startOn").max()||f;break;case"end":f=this.effects.pluck("finishOn").max()||f;break;}e.startOn+=f;e.finishOn+=f;if(!e.options.queue.limit||(this.effects.length<e.options.queue.limit)){this.effects.push(e);}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15);}},remove:function(c){this.effects=this.effects.reject(function(f){return f==c;});if(this.effects.length==0){clearInterval(this.interval);
this.interval=null;}},loop:function(){var f=new Date().getTime();for(var e=0,c=this.effects.length;e<c;e++){this.effects[e]&&this.effects[e].loop(f);}}});Effect.Queues={instances:$H(),get:function(c){if(!Object.isString(c)){return c;}return this.instances.get(c)||this.instances.set(c,new Effect.ScopedQueue());}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(c){function e(g,f){return((g[f+"Internal"]?"this.options."+f+"Internal(this);":"")+(g[f]?"this.options."+f+"(this);":""));}if(c&&c.transition===false){c.transition=Effect.Transitions.linear;}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),c||{});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 f(h,g){if(h.options[g+"Internal"]){h.options[g+"Internal"](h);}if(h.options[g]){h.options[g](h);}}return function(g){if(this.state==="idle"){this.state="running";f(this,"beforeSetup");if(this.setup){this.setup();}f(this,"afterSetup");}if(this.state==="running"){g=(this.options.transition(g)*this.fromToDelta)+this.options.from;this.position=g;f(this,"beforeUpdate");if(this.update){this.update(g);}f(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(f){if(f>=this.startOn){if(f>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish();}this.event("afterFinish");return;}var e=(f-this.startOn)/this.totalTime,c=(e*this.totalFrames).round();if(c>this.currentFrame){this.render(e);this.currentFrame=c;}}},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(c){if(this.options[c+"Internal"]){this.options[c+"Internal"](this);}if(this.options[c]){this.options[c](this);}},inspect:function(){var c=$H();for(property in this){if(!Object.isFunction(this[property])){c.set(property,this[property]);}}return"#<Effect:"+c.inspect()+",options:"+$H(this.options).inspect()+">";}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(c){this.effects=c||[];this.start(arguments[1]);},update:function(c){this.effects.invoke("render",c);},finish:function(c){this.effects.each(function(e){e.render(1);e.cancel();e.event("beforeFinish");if(e.finish){e.finish(c);}e.event("afterFinish");});}});Effect.Tween=Class.create(Effect.Base,{initialize:function(f,j,h){f=Object.isString(f)?$(f):f;var e=$A(arguments),g=e.last(),c=e.length==5?e[3]:null;this.method=Object.isFunction(g)?g.bind(f):Object.isFunction(f[g])?f[g].bind(f):function(k){f[g]=k;};this.start(Object.extend({from:j,to:h},c||{}));},update:function(c){this.method(c);}});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(e){this.element=$(e);if(!this.element){throw (Effect._elementDoesNotExistError);}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1});}var c=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(c);},update:function(c){this.element.setOpacity(c);}});Effect.Move=Class.create(Effect.Base,{initialize:function(e){this.element=$(e);if(!this.element){throw (Effect._elementDoesNotExistError);}var c=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(c);},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(c){this.element.setStyle({left:(this.options.x*c+this.originalLeft).round()+"px",top:(this.options.y*c+this.originalTop).round()+"px"});}});Effect.MoveBy=function(e,c,f){return new Effect.Move(e,Object.extend({x:f,y:c},arguments[3]||{}));};Effect.Scale=Class.create(Effect.Base,{initialize:function(e,f){this.element=$(e);if(!this.element){throw (Effect._elementDoesNotExistError);}var c=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:f},arguments[2]||{});this.start(c);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(e){this.originalStyle[e]=this.element.style[e];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;
var c=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(e){if(c.indexOf(e)>0){this.fontSize=parseFloat(c);this.fontSizeType=e;}}.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(c){var e=(this.options.scaleFrom/100)+(this.factor*c);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*e+this.fontSizeType});}this.setDimensions(this.dims[0]*e,this.dims[1]*e);},finish:function(c){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle);}},setDimensions:function(c,g){var h={};if(this.options.scaleX){h.width=g.round()+"px";}if(this.options.scaleY){h.height=c.round()+"px";}if(this.options.scaleFromCenter){var f=(c-this.dims[0])/2;var e=(g-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){h.top=this.originalTop-f+"px";}if(this.options.scaleX){h.left=this.originalLeft-e+"px";}}else{if(this.options.scaleY){h.top=-f+"px";}if(this.options.scaleX){h.left=-e+"px";}}}this.element.setStyle(h);}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(e){this.element=$(e);if(!this.element){throw (Effect._elementDoesNotExistError);}var c=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(c);},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(c){return parseInt(this.options.startcolor.slice(c*2+1,c*2+3),16);}.bind(this));this._delta=$R(0,2).map(function(c){return parseInt(this.options.endcolor.slice(c*2+1,c*2+3),16)-this._base[c];}.bind(this));},update:function(c){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(e,f,g){return e+((this._base[g]+(this._delta[g]*c)).round().toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=function(f){var e=arguments[1]||{},c=document.viewport.getScrollOffsets(),g=$(f).cumulativeOffset();if(e.offset){g[1]+=e.offset;}return new Effect.Tween(null,c.top,g[1],e,function(h){scrollTo(c.left,h.round());});};Effect.Fade=function(f){f=$(f);var c=f.getInlineOpacity();var e=Object.extend({from:f.getOpacity()||1,to:0,afterFinishInternal:function(g){if(g.options.to!=0){return;}g.element.hide().setStyle({opacity:c});}},arguments[1]||{});return new Effect.Opacity(f,e);};Effect.Appear=function(e){e=$(e);var c=Object.extend({from:(e.getStyle("display")=="none"?0:e.getOpacity()||0),to:1,afterFinishInternal:function(f){f.element.forceRerendering();},beforeSetup:function(f){f.element.setOpacity(f.options.from).show();}},arguments[1]||{});return new Effect.Opacity(e,c);};Effect.Puff=function(e){e=$(e);var c={opacity:e.getInlineOpacity(),position:e.getStyle("position"),top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height};return new Effect.Parallel([new Effect.Scale(e,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(e,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(f){Position.absolutize(f.effects[0].element);},afterFinishInternal:function(f){f.effects[0].element.hide().setStyle(c);}},arguments[1]||{}));};Effect.BlindUp=function(c){c=$(c);c.makeClipping();return new Effect.Scale(c,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(e){e.element.hide().undoClipping();}},arguments[1]||{}));};Effect.BlindDown=function(e){e=$(e);var c=e.getDimensions();return new Effect.Scale(e,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(f){f.element.makeClipping().setStyle({height:"0px"}).show();},afterFinishInternal:function(f){f.element.undoClipping();}},arguments[1]||{}));};Effect.SwitchOff=function(e){e=$(e);var c=e.getInlineOpacity();return new Effect.Appear(e,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(f){new Effect.Scale(f.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(g){g.element.makePositioned().makeClipping();},afterFinishInternal:function(g){g.element.hide().undoClipping().undoPositioned().setStyle({opacity:c});
}});}},arguments[1]||{}));};Effect.DropOut=function(e){e=$(e);var c={top:e.getStyle("top"),left:e.getStyle("left"),opacity:e.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(e,{x:0,y:100,sync:true}),new Effect.Opacity(e,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(f){f.effects[0].element.makePositioned();},afterFinishInternal:function(f){f.effects[0].element.hide().undoPositioned().setStyle(c);}},arguments[1]||{}));};Effect.Shake=function(g){g=$(g);var e=Object.extend({distance:20,duration:0.5},arguments[1]||{});var h=parseFloat(e.distance);var f=parseFloat(e.duration)/10;var c={top:g.getStyle("top"),left:g.getStyle("left")};return new Effect.Move(g,{x:h,y:0,duration:f,afterFinishInternal:function(j){new Effect.Move(j.element,{x:-h*2,y:0,duration:f*2,afterFinishInternal:function(k){new Effect.Move(k.element,{x:h*2,y:0,duration:f*2,afterFinishInternal:function(l){new Effect.Move(l.element,{x:-h*2,y:0,duration:f*2,afterFinishInternal:function(m){new Effect.Move(m.element,{x:h*2,y:0,duration:f*2,afterFinishInternal:function(n){new Effect.Move(n.element,{x:-h,y:0,duration:f,afterFinishInternal:function(o){o.element.undoPositioned().setStyle(c);}});}});}});}});}});}});};Effect.SlideDown=function(f){f=$(f).cleanWhitespace();var c=f.down().getStyle("bottom");var e=f.getDimensions();return new Effect.Scale(f,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:e.height,originalWidth:e.width},restoreAfterFinish:true,afterSetup:function(g){g.element.makePositioned();g.element.down().makePositioned();if(window.opera){g.element.setStyle({top:""});}g.element.makeClipping().setStyle({height:"0px"}).show();},afterUpdateInternal:function(g){g.element.down().setStyle({bottom:(g.dims[0]-g.element.clientHeight)+"px"});},afterFinishInternal:function(g){g.element.undoClipping().undoPositioned();g.element.down().undoPositioned().setStyle({bottom:c});}},arguments[1]||{}));};Effect.SlideUp=function(f){f=$(f).cleanWhitespace();var c=f.down().getStyle("bottom");var e=f.getDimensions();return new Effect.Scale(f,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:e.height,originalWidth:e.width},restoreAfterFinish:true,afterSetup:function(g){g.element.makePositioned();g.element.down().makePositioned();if(window.opera){g.element.setStyle({top:""});}g.element.makeClipping().show();},afterUpdateInternal:function(g){g.element.down().setStyle({bottom:(g.dims[0]-g.element.clientHeight)+"px"});},afterFinishInternal:function(g){g.element.hide().undoClipping().undoPositioned();g.element.down().undoPositioned().setStyle({bottom:c});}},arguments[1]||{}));};Effect.Squish=function(c){return new Effect.Scale(c,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(e){e.element.makeClipping();},afterFinishInternal:function(e){e.element.hide().undoClipping();}});};Effect.Grow=function(f){f=$(f);var e=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var c={top:f.style.top,left:f.style.left,height:f.style.height,width:f.style.width,opacity:f.getInlineOpacity()};var k=f.getDimensions();var l,j;var h,g;switch(e.direction){case"top-left":l=j=h=g=0;break;case"top-right":l=k.width;j=g=0;h=-k.width;break;case"bottom-left":l=h=0;j=k.height;g=-k.height;break;case"bottom-right":l=k.width;j=k.height;h=-k.width;g=-k.height;break;case"center":l=k.width/2;j=k.height/2;h=-k.width/2;g=-k.height/2;break;}return new Effect.Move(f,{x:l,y:j,duration:0.01,beforeSetup:function(m){m.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(m){new Effect.Parallel([new Effect.Opacity(m.element,{sync:true,to:1,from:0,transition:e.opacityTransition}),new Effect.Move(m.element,{x:h,y:g,sync:true,transition:e.moveTransition}),new Effect.Scale(m.element,100,{scaleMode:{originalHeight:k.height,originalWidth:k.width},sync:true,scaleFrom:window.opera?1:0,transition:e.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(n){n.effects[0].element.setStyle({height:"0px"}).show();},afterFinishInternal:function(n){n.effects[0].element.undoClipping().undoPositioned().setStyle(c);}},e));}});};Effect.Shrink=function(f){f=$(f);var e=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var c={top:f.style.top,left:f.style.left,height:f.style.height,width:f.style.width,opacity:f.getInlineOpacity()};var j=f.getDimensions();var h,g;switch(e.direction){case"top-left":h=g=0;break;case"top-right":h=j.width;g=0;break;case"bottom-left":h=0;g=j.height;break;case"bottom-right":h=j.width;g=j.height;break;case"center":h=j.width/2;g=j.height/2;break;}return new Effect.Parallel([new Effect.Opacity(f,{sync:true,to:0,from:1,transition:e.opacityTransition}),new Effect.Scale(f,window.opera?1:0,{sync:true,transition:e.scaleTransition,restoreAfterFinish:true}),new Effect.Move(f,{x:h,y:g,sync:true,transition:e.moveTransition})],Object.extend({beforeStartInternal:function(k){k.effects[0].element.makePositioned().makeClipping();
},afterFinishInternal:function(k){k.effects[0].element.hide().undoClipping().undoPositioned().setStyle(c);}},e));};Effect.Pulsate=function(f){f=$(f);var e=arguments[1]||{},c=f.getInlineOpacity(),h=e.transition||Effect.Transitions.linear,g=function(j){return 1-h((-Math.cos((j*(e.pulses||5)*2)*Math.PI)/2)+0.5);};return new Effect.Opacity(f,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(j){j.element.setStyle({opacity:c});}},e),{transition:g}));};Effect.Fold=function(e){e=$(e);var c={top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height};e.makeClipping();return new Effect.Scale(e,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(f){new Effect.Scale(e,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(g){g.element.hide().undoClipping().setStyle(c);}});}},arguments[1]||{}));};Effect.Morph=Class.create(Effect.Base,{initialize:function(f){this.element=$(f);if(!this.element){throw (Effect._elementDoesNotExistError);}var c=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(c.style)){this.style=$H(c.style);}else{if(c.style.include(":")){this.style=c.style.parseStyle();}else{this.element.addClassName(c.style);this.style=$H(this.element.getStyles());this.element.removeClassName(c.style);var e=this.element.getStyles();this.style=this.style.reject(function(g){return g.value==e[g.key];});c.afterFinishInternal=function(g){g.element.addClassName(g.options.style);g.transforms.each(function(h){g.element.style[h.style]="";});};}}this.start(c);},setup:function(){function c(e){if(!e||["rgba(0, 0, 0, 0)","transparent"].include(e)){e="#ffffff";}e=e.parseColor();return $R(0,2).map(function(f){return parseInt(e.slice(f*2+1,f*2+3),16);});}this.transforms=this.style.map(function(k){var j=k[0],h=k[1],g=null;if(h.parseColor("#zzzzzz")!="#zzzzzz"){h=h.parseColor();g="color";}else{if(j=="opacity"){h=parseFloat(h);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1});}}else{if(Element.CSS_LENGTH.test(h)){var f=h.match(/^([\+\-]?[0-9\.]+)(.*)$/);h=parseFloat(f[1]);g=(f.length==3)?f[2]:null;}}}var e=this.element.getStyle(j);return{style:j.camelize(),originalValue:g=="color"?c(e):parseFloat(e||0),targetValue:g=="color"?c(h):h,unit:g};}.bind(this)).reject(function(e){return((e.originalValue==e.targetValue)||(e.unit!="color"&&(isNaN(e.originalValue)||isNaN(e.targetValue))));});},update:function(c){var g={},e,f=this.transforms.length;while(f--){g[(e=this.transforms[f]).style]=e.unit=="color"?"#"+(Math.round(e.originalValue[0]+(e.targetValue[0]-e.originalValue[0])*c)).toColorPart()+(Math.round(e.originalValue[1]+(e.targetValue[1]-e.originalValue[1])*c)).toColorPart()+(Math.round(e.originalValue[2]+(e.targetValue[2]-e.originalValue[2])*c)).toColorPart():(e.originalValue+(e.targetValue-e.originalValue)*c).toFixed(3)+(e.unit===null?"":e.unit);}this.element.setStyle(g,true);}});Effect.Transform=Class.create({initialize:function(c){this.tracks=[];this.options=arguments[1]||{};this.addTracks(c);},addTracks:function(c){c.each(function(e){e=$H(e);var f=e.values().first();this.tracks.push($H({ids:e.keys().first(),effect:Effect.Morph,options:{style:f}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(c){var g=c.get("ids"),f=c.get("effect"),e=c.get("options");var h=[$(g)||$$(g)].flatten();return h.map(function(j){return new f(j,Object.extend({sync:true},e));});}).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 e,c=$H();if(Prototype.Browser.WebKit){e=new Element("div",{style:this}).style;}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';e=String.__parseStyleElement.childNodes[0].style;}Element.CSS_PROPERTIES.each(function(f){if(e[f]){c.set(f,e[f]);}});if(Prototype.Browser.IE&&this.include("opacity")){c.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);}return c;};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(e){var c=document.defaultView.getComputedStyle($(e),null);return Element.CSS_PROPERTIES.inject({},function(f,g){f[g]=c[g];return f;});};}else{Element.getStyles=function(e){e=$(e);var c=e.currentStyle,f;f=Element.CSS_PROPERTIES.inject({},function(g,h){g[h]=c[h];
return g;});if(!f.opacity){f.opacity=e.getOpacity();}return f;};}Effect.Methods={morph:function(c,e){c=$(c);new Effect.Morph(c,Object.extend({style:e},arguments[2]||{}));return c;},visualEffect:function(f,h,e){f=$(f);var g=h.dasherize().camelize(),c=g.charAt(0).toUpperCase()+g.substring(1);new Effect[c](f,e);return f;},highlight:function(e,c){e=$(e);new Effect.Highlight(e,c);return e;}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown "+"pulsate shake puff squish switchOff dropOut").each(function(c){Effect.Methods[c]=function(f,e){f=$(f);Effect[c.charAt(0).toUpperCase()+c.substring(1)](f,e);return f;};});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(c){Effect.Methods[c]=Element[c];});Element.addMethods(Effect.Methods);if(typeof Effect=="undefined"){throw ("controls.js requires including script.aculo.us' effects.js library");}var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(e,f,c){e=$(e);this.element=e;this.update=$(f);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(c);}else{this.options=c||{};}this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(g,h){if(!h.style.position||h.style.position=="absolute"){h.style.position="absolute";Position.clone(g,h,{setHeight:false,offsetTop:g.offsetHeight});}Effect.Appear(h,{duration:0.15});};this.options.onHide=this.options.onHide||function(g,h){new Effect.Fade(h,{duration:0.15});};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens);}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n");}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this));},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update);}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+"_iefix");}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50);}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix);},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update);}if(this.iefix){Element.hide(this.iefix);}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator);}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator);}},onKeyPress:function(c){if(this.active){switch(c.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(c);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(c);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(c);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(c);return;}}else{if(c.keyCode==Event.KEY_TAB||c.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&c.keyCode==0)){return;}}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer);}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices();},onHover:function(e){var c=Event.findElement(e,"LI");if(this.index!=c.autocompleteIndex){this.index=c.autocompleteIndex;this.render();}Event.stop(e);},onClick:function(e){var c=Event.findElement(e,"LI");this.index=c.autocompleteIndex;this.selectEntry();this.hide();},onBlur:function(c){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false;},render:function(){if(this.entryCount>0){for(var c=0;c<this.entryCount;c++){this.index==c?Element.addClassName(this.getEntry(c),"selected"):Element.removeClassName(this.getEntry(c),"selected");}if(this.hasFocus){this.show();this.active=true;}}else{this.active=false;this.hide();}},markPrevious:function(){if(this.index>0){this.index--;}else{this.index=this.entryCount-1;}},markNext:function(){if(this.index<this.entryCount-1){this.index++;}else{this.index=0;}},getEntry:function(c){return this.update.firstChild.childNodes[c];},getCurrentEntry:function(){return this.getEntry(this.index);
},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry());},updateElement:function(j){if(this.options.updateElement){this.options.updateElement(j);return;}var g="";if(this.options.select){var c=$(j).select("."+this.options.select)||[];if(c.length>0){g=Element.collectTextNodes(c[0],this.options.select);}}else{g=Element.collectTextNodesIgnoreClass(j,"informal");}var f=this.getTokenBounds();if(f[0]!=-1){var h=this.element.value.substr(0,f[0]);var e=this.element.value.substr(f[0]).match(/^\s+/);if(e){h+=e[0];}this.element.value=h+g+this.element.value.substr(f[1]);}else{this.element.value=g;}this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,j);}},updateChoices:function(f){if(!this.changed&&this.hasFocus){this.update.innerHTML=f;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var c=0;c<this.entryCount;c++){var e=this.getEntry(c);e.autocompleteIndex=c;this.addObservers(e);}}else{this.entryCount=0;}this.stopIndicator();this.index=-1;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide();}else{this.render();}}},addObservers:function(c){Event.observe(c,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(c,"click",this.onClick.bindAsEventListener(this));},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices();}else{this.active=false;this.hide();}this.oldElementValue=this.element.value;},getToken:function(){var c=this.getTokenBounds();return this.element.value.substring(c[0],c[1]).strip();},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds;}var h=this.element.value;if(h.strip().empty()){return[-1,0];}var j=arguments.callee.getFirstDifferencePos(h,this.oldElementValue);var m=(j==this.oldElementValue.length?1:0);var g=-1,f=h.length;var k;for(var e=0,c=this.options.tokens.length;e<c;++e){k=h.lastIndexOf(this.options.tokens[e],j+m-1);if(k>g){g=k;}k=h.indexOf(this.options.tokens[e],j+m);if(-1!=k&&k<f){f=k;}}return(this.tokenBounds=[g+1,f]);}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(f,c){var g=Math.min(f.length,c.length);for(var e=0;e<g;++e){if(f[e]!=c[e]){return e;}}return g;};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(f,g,e,c){this.baseInitialize(f,g,c);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=e;},getUpdatedChoices:function(){this.startIndicator();var c=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,c):c;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams;}new Ajax.Request(this.url,this.options);},onComplete:function(c){this.updateChoices(c.responseText);}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(e,g,f,c){this.baseInitialize(e,g,c);this.options.array=f;},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this));},setOptions:function(c){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(e){var g=[];var f=[];var l=e.getToken();var k=0;for(var h=0;h<e.options.array.length&&g.length<e.options.choices;h++){var j=e.options.array[h];var m=e.options.ignoreCase?j.toLowerCase().indexOf(l.toLowerCase()):j.indexOf(l);while(m!=-1){if(m==0&&j.length!=l.length){g.push("<li><strong>"+j.substr(0,l.length)+"</strong>"+j.substr(l.length)+"</li>");break;}else{if(l.length>=e.options.partialChars&&e.options.partialSearch&&m!=-1){if(e.options.fullSearch||/\s/.test(j.substr(m-1,1))){f.push("<li>"+j.substr(0,m)+"<strong>"+j.substr(m,l.length)+"</strong>"+j.substr(m+l.length)+"</li>");break;}}}m=e.options.ignoreCase?j.toLowerCase().indexOf(l.toLowerCase(),m+1):j.indexOf(l,m+1);}}if(f.length){g=g.concat(f.slice(0,e.options.choices-g.length));}return"<ul>"+g.join("")+"</ul>";}},c||{});}});Field.scrollFreeActivate=function(c){setTimeout(function(){Field.activate(c);},1);};Ajax.InPlaceEditor=Class.create({initialize:function(f,e,c){this.url=e;this.element=f=$(f);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(c);Object.extend(this.options,c||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId="";}}if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl);}if(!this.options.externalControl){this.options.externalControlOnly=false;}this._originalBackground=this.element.getStyle("background-color")||"transparent";this.element.title=this.options.clickToEditText;
this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners();},checkForEscapeOrReturn:function(c){if(!this._editing||c.ctrlKey||c.altKey||c.shiftKey){return;}if(Event.KEY_ESC==c.keyCode){this.handleFormCancellation(c);}else{if(Event.KEY_RETURN==c.keyCode){this.handleFormSubmission(c);}}},createControl:function(k,f,e){var h=this.options[k+"Control"];var j=this.options[k+"Text"];if("button"==h){var c=document.createElement("input");c.type="submit";c.value=j;c.className="editor_"+k+"_button";if("cancel"==k){c.onclick=this._boundCancelHandler;}this._form.appendChild(c);this._controls[k]=c;}else{if("link"==h){var g=document.createElement("a");g.href="#";g.appendChild(document.createTextNode(j));g.onclick="cancel"==k?this._boundCancelHandler:this._boundSubmitHandler;g.className="editor_"+k+"_link";if(e){g.className+=" "+e;}this._form.appendChild(g);this._controls[k]=g;}}},createEditField:function(){var f=(this.options.loadTextURL?this.options.loadingText:this.getText());var e;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){e=document.createElement("input");e.type="text";var c=this.options.size||this.options.cols||0;if(0<c){e.size=c;}}else{e=document.createElement("textarea");e.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);e.cols=this.options.cols||40;}e.name=this.options.paramName;e.value=f;e.className="editor_field";if(this.options.submitOnBlur){e.onblur=this._boundSubmitHandler;}this._controls.editor=e;if(this.options.loadTextURL){this.loadExternalText();}this._form.appendChild(this._controls.editor);},createForm:function(){var e=this;function c(g,h){var f=e.options["text"+g+"Controls"];if(!f||h===false){return;}e._form.appendChild(document.createTextNode(f));}this._form=$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"));}if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form);}c("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);c("Between",this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");c("After",this.options.okControl||this.options.cancelControl);},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;}this.leaveEditMode();this.unregisterListeners();},enterEditMode:function(c){if(this._saving||this._editing){return;}this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide();}this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField();}if(c){Event.stop(c);}},enterHover:function(c){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName);}if(this._saving){return;}this.triggerCallback("onEnterHover");},getText:function(){return this.element.innerHTML;},handleAJAXFailure:function(c){this.triggerCallback("onFailure",c);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null;}},handleFormCancellation:function(c){this.wrapUp();if(c){Event.stop(c);}},handleFormSubmission:function(h){var f=this._form;var g=$F(this._controls.editor);this.prepareSubmission();var j=this.options.callback(f,g)||"";if(Object.isString(j)){j=j.toQueryParams();}j.editorId=this.element.id;if(this.options.htmlResponse){var c=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(c,{parameters:j,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,c);}else{var c=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(c,{parameters:j,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,c);}if(h){Event.stop(h);}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show();}this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode");},leaveHover:function(c){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName);}if(this._saving){return;}this.triggerCallback("onLeaveHover");},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);
this._controls.editor.disabled=true;var c=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(c,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(f){this._form.removeClassName(this.options.loadingClassName);var e=f.responseText;if(this.options.stripLoadedTextTags){e=e.stripTags();}this._controls.editor.value=e;this._controls.editor.disabled=false;this.postProcessEditField();}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,c);},postProcessEditField:function(){var c=this.options.fieldPostCreation;if(c){$(this._controls.editor)["focus"==c?"focus":"activate"]();}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(c){Object.extend(this.options,c);}.bind(this));},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving();},registerListeners:function(){this._listeners={};var c;$H(Ajax.InPlaceEditor.Listeners).each(function(e){c=this[e.value].bind(this);this._listeners[e.key]=c;if(!this.options.externalControlOnly){this.element.observe(e.key,c);}if(this.options.externalControl){this.options.externalControl.observe(e.key,c);}}.bind(this));},removeForm:function(){if(!this._form){return;}this._form.remove();this._form=null;this._controls={};},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show();},triggerCallback:function(e,c){if("function"==typeof this.options[e]){this.options[e](this,c);}},unregisterListeners:function(){$H(this._listeners).each(function(c){if(!this.options.externalControlOnly){this.element.stopObserving(c.key,c.value);}if(this.options.externalControl){this.options.externalControl.stopObserving(c.key,c.value);}}.bind(this));},wrapUp:function(c){this.leaveEditMode();this._boundComplete(c,this.element);}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,f,e,c){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(f,e,c);},createEditField:function(){var c=document.createElement("select");c.name=this.options.paramName;c.size=1;this._controls.editor=c;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection();}else{this.checkForExternalText();}this._form.appendChild(this._controls.editor);},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw ("Server returned an invalid collection representation.");}this._collection=eval(js);this.checkForExternalText();}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options);},showLoadingText:function(e){this._controls.editor.disabled=true;var c=this._controls.editor.firstChild;if(!c){c=document.createElement("option");c.value="";this._controls.editor.appendChild(c);c.selected=true;}c.update((e||"").stripScripts().stripTags());},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText();}else{this.buildOptionList();}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var c=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(c,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(e){this._text=e.responseText.strip();this.buildOptionList();}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,c);},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(g){return 2===g.length?g:[g,g].flatten();});var e=("value" in this.options)?this.options.value:this._text;var c=this._collection.any(function(g){return g[0]==e;}.bind(this));this._controls.editor.update("");var f;this._collection.each(function(h,g){f=document.createElement("option");f.value=h[0];f.selected=c?h[0]==e:0==g;f.appendChild(document.createTextNode(h[1]));this._controls.editor.appendChild(f);}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor);}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(c){if(!c){return;}function e(f,g){if(f in c||g===undefined){return;}c[f]=g;}e("cancelControl",(c.cancelLink?"link":(c.cancelButton?"button":c.cancelLink==c.cancelButton==false?false:undefined)));
e("okControl",(c.okLink?"link":(c.okButton?"button":c.okLink==c.okButton==false?false:undefined)));e("highlightColor",c.highlightcolor);e("highlightEndColor",c.highlightendcolor);};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(c){return Form.serialize(c);},onComplete:function(e,c){new Effect.Highlight(c,{startcolor:this.options.highlightColor,keepBackgroundImage:true});},onEnterEditMode:null,onEnterHover:function(c){c.element.style.backgroundColor=c.options.highlightColor;if(c._effect){c._effect.cancel();}},onFailure:function(e,c){alert("Error communication with the server: "+e.responseText.stripTags());},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(c){c._effect=new Effect.Highlight(c.element,{startcolor:c.options.highlightColor,endcolor:c.options.highlightEndColor,restorecolor:c._originalBackground,keepBackgroundImage:true});}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};Form.Element.DelayedObserver=Class.create({initialize:function(e,c,f){this.delay=c||0.5;this.element=$(e);this.callback=f;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this));},delayedListener:function(c){if(this.lastValue==$F(this.element)){return;}if(this.timer){clearTimeout(this.timer);}this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element);},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element));}});if(Object.isUndefined(Effect)){throw ("dragdrop.js requires including script.aculo.us' effects.js library");}var Droppables={drops:[],remove:function(c){this.drops=this.drops.reject(function(e){return e.element==$(c);});},add:function(e){e=$(e);var c=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(c.containment){c._containers=[];var f=c.containment;if(Object.isArray(f)){f.each(function(g){c._containers.push($(g));});}else{c._containers.push($(f));}}if(c.accept){c.accept=[c.accept].flatten();}Element.makePositioned(e);c.element=e;this.drops.push(c);},findDeepestChild:function(c){deepest=c[0];for(i=1;i<c.length;++i){if(Element.isParent(c[i].element,deepest.element)){deepest=c[i];}}return deepest;},isContained:function(e,c){var f;if(c.tree){f=e.treeNode;}else{f=e.parentNode;}return c._containers.detect(function(g){return f==g;});},isAffected:function(c,f,e){return((e.element!=f)&&((!e._containers)||this.isContained(f,e))&&((!e.accept)||(Element.classNames(f).detect(function(g){return e.accept.include(g);})))&&Position.within(e.element,c[0],c[1]));},deactivate:function(c){if(c.hoverclass){Element.removeClassName(c.element,c.hoverclass);}this.last_active=null;},activate:function(c){if(c.hoverclass){Element.addClassName(c.element,c.hoverclass);}this.last_active=c;},show:function(c,f){if(!this.drops.length){return;}var e,g=[];this.drops.each(function(h){if(Droppables.isAffected(c,f,h)){g.push(h);}});if(g.length>0){e=Droppables.findDeepestChild(g);}if(this.last_active&&this.last_active!=e){this.deactivate(this.last_active);}if(e){Position.within(e.element,c[0],c[1]);if(e.onHover){e.onHover(f,e.element,Position.overlap(e.overlap,e.element));}if(e!=this.last_active){Droppables.activate(e);}}},fire:function(e,c){if(!this.last_active){return;}Position.prepare();if(this.isAffected([Event.pointerX(e),Event.pointerY(e)],c,this.last_active)){if(this.last_active.onDrop){this.last_active.onDrop(c,this.last_active.element,e);return true;}}},reset:function(){if(this.last_active){this.deactivate(this.last_active);}}};var Draggables={drags:[],observers:[],register:function(c){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}this.drags.push(c);},unregister:function(c){this.drags=this.drags.reject(function(e){return e==c;});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);
Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(c){if(c.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=c;}.bind(this),c.options.delay);}else{window.focus();this.activeDraggable=c;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(c){if(!this.activeDraggable){return;}var e=[Event.pointerX(c),Event.pointerY(c)];if(this._lastPointer&&(this._lastPointer.inspect()==e.inspect())){return;}this._lastPointer=e;this.activeDraggable.updateDrag(c,e);},endDrag:function(c){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}if(!this.activeDraggable){return;}this._lastPointer=null;this.activeDraggable.endDrag(c);this.activeDraggable=null;},keyPress:function(c){if(this.activeDraggable){this.activeDraggable.keyPress(c);}},addObserver:function(c){this.observers.push(c);this._cacheObserverCallbacks();},removeObserver:function(c){this.observers=this.observers.reject(function(e){return e.element==c;});this._cacheObserverCallbacks();},notify:function(e,c,f){if(this[e+"Count"]>0){this.observers.each(function(g){if(g[e]){g[e](e,c,f);}});}if(c.options[e]){c.options[e](c,f);}},_cacheObserverCallbacks:function(){["onStart","onEnd","onDrag"].each(function(c){Draggables[c+"Count"]=Draggables.observers.select(function(e){return e[c];}).length;});}};var Draggable=Class.create({initialize:function(e){var f={handle:false,reverteffect:function(j,h,g){var k=Math.sqrt(Math.abs(h^2)+Math.abs(g^2))*0.02;new Effect.Move(j,{x:-g,y:-h,duration:k,queue:{scope:"_draggable",position:"end"}});},endeffect:function(h){var g=Object.isNumber(h._opacity)?h._opacity:1;new Effect.Opacity(h,{duration:0.2,from:0.7,to:g,queue:{scope:"_draggable",position:"end"},afterFinish:function(){Draggable._dragging[h]=false;}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect)){Object.extend(f,{starteffect:function(g){g._opacity=Element.getOpacity(g);Draggable._dragging[g]=true;new Effect.Opacity(g,{duration:0.2,from:g._opacity,to:0.7});}});}var c=Object.extend(f,arguments[1]||{});this.element=$(e);if(c.handle&&Object.isString(c.handle)){this.handle=this.element.down("."+c.handle,0);}if(!this.handle){this.handle=$(c.handle);}if(!this.handle){this.handle=this.element;}if(c.scroll&&!c.scroll.scrollTo&&!c.scroll.outerHTML){c.scroll=$(c.scroll);this._isScrollChild=Element.childOf(this.element,c.scroll);}Element.makePositioned(this.element);this.options=c;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,"left")||"0"),parseInt(Element.getStyle(this.element,"top")||"0")]);},initDrag:function(c){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element]){return;}if(Event.isLeftClick(c)){var f=Event.element(c);if((tag_name=f.tagName.toUpperCase())&&(tag_name=="INPUT"||tag_name=="SELECT"||tag_name=="OPTION"||tag_name=="BUTTON"||tag_name=="TEXTAREA")){return;}var e=[Event.pointerX(c),Event.pointerY(c)];var g=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(h){return(e[h]-g[h]);});Draggables.activate(this);Event.stop(c);}},startDrag:function(e){this.dragging=true;if(!this.delta){this.delta=this.currentDelta();}if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,"z-index")||0);this.element.style.zIndex=this.options.zindex;}if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle("position")=="absolute");if(!this._originallyAbsolute){Position.absolutize(this.element);}this.element.parentNode.insertBefore(this._clone,this.element);}if(this.options.scroll){if(this.options.scroll==window){var c=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=c.left;this.originalScrollTop=c.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}Draggables.notify("onStart",this,e);if(this.options.starteffect){this.options.starteffect(this.element);}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event);}if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}Draggables.notify("onDrag",this,event);this.draw(pointer);if(this.options.change){this.options.change(this);}if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);
p.push(p[1]+this.options.scroll.offsetHeight);}var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);}if(pointer[1]<(p[1]+this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);}if(pointer[0]>(p[2]-this.options.scrollSensitivity)){speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);}if(pointer[1]>(p[3]-this.options.scrollSensitivity)){speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);}this.startScrolling(speed);}if(Prototype.Browser.WebKit){window.scrollBy(0,0);}Event.stop(event);},finishDrag:function(e,h){this.dragging=false;if(this.options.quiet){Position.prepare();var g=[Event.pointerX(e),Event.pointerY(e)];Droppables.show(g,this.element);}if(this.options.ghosting){if(!this._originallyAbsolute){Position.relativize(this.element);}delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null;}var j=false;if(h){j=Droppables.fire(e,this.element);if(!j){j=false;}}if(j&&this.options.onDropped){this.options.onDropped(this.element);}Draggables.notify("onEnd",this,e);var c=this.options.revert;if(c&&Object.isFunction(c)){c=c(this.element);}var f=this.currentDelta();if(c&&this.options.reverteffect){if(j==0||c!="failure"){this.options.reverteffect(this.element,f[1]-this.delta[1],f[0]-this.delta[0]);}}else{this.delta=f;}if(this.options.zindex){this.element.style.zIndex=this.originalZ;}if(this.options.endeffect){this.options.endeffect(this.element);}Draggables.deactivate(this);Droppables.reset();},keyPress:function(c){if(c.keyCode!=Event.KEY_ESC){return;}this.finishDrag(c,false);Event.stop(c);},endDrag:function(c){if(!this.dragging){return;}this.stopScrolling();this.finishDrag(c,true);Event.stop(c);},draw:function(c){var j=Position.cumulativeOffset(this.element);if(this.options.ghosting){var f=Position.realOffset(this.element);j[0]+=f[0]-Position.deltaX;j[1]+=f[1]-Position.deltaY;}var h=this.currentDelta();j[0]-=h[0];j[1]-=h[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){j[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;j[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}var g=[0,1].map(function(k){return(c[k]-j[k]-this.offset[k]);}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){g=this.options.snap(g[0],g[1],this);}else{if(Object.isArray(this.options.snap)){g=g.map(function(k,l){return(k/this.options.snap[l]).round()*this.options.snap[l];}.bind(this));}else{g=g.map(function(k){return(k/this.options.snap).round()*this.options.snap;}.bind(this));}}}var e=this.element.style;if((!this.options.constraint)||(this.options.constraint=="horizontal")){e.left=g[0]+"px";}if((!this.options.constraint)||(this.options.constraint=="vertical")){e.top=g[1]+"px";}if(e.visibility=="hidden"){e.visibility="";}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(c){if(!(c[0]||c[1])){return;}this.scrollSpeed=[c[0]*this.options.scrollSpeed,c[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify("onDrag",this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0){Draggables._lastScrollPointer[0]=0;}if(Draggables._lastScrollPointer[1]<0){Draggables._lastScrollPointer[1]=0;}this.draw(Draggables._lastScrollPointer);}if(this.options.change){this.options.change(this);}},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight;}}}return{top:T,left:L,width:W,height:H};}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(e,c){this.element=$(e);this.observer=c;this.lastValue=Sortable.serialize(this.element);},onStart:function(){this.lastValue=Sortable.serialize(this.element);
},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element)){this.observer(this.element);}}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(c){while(c.tagName.toUpperCase()!="BODY"){if(c.id&&Sortable.sortables[c.id]){return c;}c=c.parentNode;}},options:function(c){c=Sortable._findRootElement($(c));if(!c){return;}return Sortable.sortables[c.id];},destroy:function(c){c=$(c);var e=Sortable.sortables[c.id];if(e){Draggables.removeObserver(e.element);e.droppables.each(function(f){Droppables.remove(f);});e.draggables.invoke("destroy");delete Sortable.sortables[e.element.id];}},create:function(f){f=$(f);var e=Object.extend({element:f,tag:"li",dropOnEmpty:false,tree:false,treeTag:"ul",overlap:"vertical",constraint:"vertical",containment:f,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(f);var c={revert:true,quiet:e.quiet,scroll:e.scroll,scrollSpeed:e.scrollSpeed,scrollSensitivity:e.scrollSensitivity,delay:e.delay,ghosting:e.ghosting,constraint:e.constraint,handle:e.handle};if(e.starteffect){c.starteffect=e.starteffect;}if(e.reverteffect){c.reverteffect=e.reverteffect;}else{if(e.ghosting){c.reverteffect=function(j){j.style.top=0;j.style.left=0;};}}if(e.endeffect){c.endeffect=e.endeffect;}if(e.zindex){c.zindex=e.zindex;}var g={overlap:e.overlap,containment:e.containment,tree:e.tree,hoverclass:e.hoverclass,onHover:Sortable.onHover};var h={onHover:Sortable.onEmptyHover,overlap:e.overlap,containment:e.containment,hoverclass:e.hoverclass};Element.cleanWhitespace(f);e.draggables=[];e.droppables=[];if(e.dropOnEmpty||e.tree){Droppables.add(f,h);e.droppables.push(f);}(e.elements||this.findElements(f,e)||[]).each(function(l,j){var k=e.handles?$(e.handles[j]):(e.handle?$(l).select("."+e.handle)[0]:l);e.draggables.push(new Draggable(l,Object.extend(c,{handle:k})));Droppables.add(l,g);if(e.tree){l.treeNode=f;}e.droppables.push(l);});if(e.tree){(Sortable.findTreeElements(f,e)||[]).each(function(j){Droppables.add(j,h);j.treeNode=f;e.droppables.push(j);});}this.sortables[f.id]=e;Draggables.addObserver(new SortableObserver(f,e.onUpdate));},findElements:function(e,c){return Element.findChildren(e,c.only,c.tree?true:false,c.tag);},findTreeElements:function(e,c){return Element.findChildren(e,c.only,c.tree?true:false,c.treeTag);},onHover:function(h,g,c){if(Element.isParent(g,h)){return;}if(c>0.33&&c<0.66&&Sortable.options(g).tree){return;}else{if(c>0.5){Sortable.mark(g,"before");if(g.previousSibling!=h){var e=h.parentNode;h.style.visibility="hidden";g.parentNode.insertBefore(h,g);if(g.parentNode!=e){Sortable.options(e).onChange(h);}Sortable.options(g.parentNode).onChange(h);}}else{Sortable.mark(g,"after");var f=g.nextSibling||null;if(f!=h){var e=h.parentNode;h.style.visibility="hidden";g.parentNode.insertBefore(h,f);if(g.parentNode!=e){Sortable.options(e).onChange(h);}Sortable.options(g.parentNode).onChange(h);}}}},onEmptyHover:function(h,k,l){var m=h.parentNode;var c=Sortable.options(k);if(!Element.isParent(k,h)){var j;var f=Sortable.findElements(k,{tag:c.tag,only:c.only});var e=null;if(f){var g=Element.offsetSize(k,c.overlap)*(1-l);for(j=0;j<f.length;j+=1){if(g-Element.offsetSize(f[j],c.overlap)>=0){g-=Element.offsetSize(f[j],c.overlap);}else{if(g-(Element.offsetSize(f[j],c.overlap)/2)>=0){e=j+1<f.length?f[j+1]:null;break;}else{e=f[j];break;}}}}k.insertBefore(h,e);Sortable.options(m).onChange(h);c.onChange(h);}},unmark:function(){if(Sortable._marker){Sortable._marker.hide();}},mark:function(e,c){var g=Sortable.options(e.parentNode);if(g&&!g.ghosting){return;}if(!Sortable._marker){Sortable._marker=($("dropmarker")||Element.extend(document.createElement("DIV"))).hide().addClassName("dropmarker").setStyle({position:"absolute"});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}var f=Position.cumulativeOffset(e);Sortable._marker.setStyle({left:f[0]+"px",top:f[1]+"px"});if(c=="after"){if(g.overlap=="horizontal"){Sortable._marker.setStyle({left:(f[0]+e.clientWidth)+"px"});}else{Sortable._marker.setStyle({top:(f[1]+e.clientHeight)+"px"});}}Sortable._marker.show();},_tree:function(h,e,j){var g=Sortable.findElements(h,e)||[];for(var f=0;f<g.length;++f){var c=g[f].id.match(e.format);if(!c){continue;}var k={id:encodeURIComponent(c?c[1]:null),element:h,parent:j,children:[],position:j.children.length,container:$(g[f]).down(e.treeTag)};if(k.container){this._tree(k.container,e,k);}j.children.push(k);}return j;},tree:function(g){g=$(g);var f=this.options(g);var e=Object.extend({tag:f.tag,treeTag:f.treeTag,only:f.only,name:g.id,format:f.format},arguments[1]||{});var c={id:null,parent:null,children:[],container:g,position:0};return Sortable._tree(g,e,c);},_constructIndex:function(e){var c="";do{if(e.id){c="["+e.position+"]"+c;
}}while((e=e.parent)!=null);return c;},sequence:function(e){e=$(e);var c=Object.extend(this.options(e),arguments[1]||{});return $(this.findElements(e,c)||[]).map(function(f){return f.id.match(c.format)?f.id.match(c.format)[1]:"";});},setSequence:function(e,f){e=$(e);var c=Object.extend(this.options(e),arguments[2]||{});var g={};this.findElements(e,c).each(function(h){if(h.id.match(c.format)){g[h.id.match(c.format)[1]]=[h,h.parentNode];}h.parentNode.removeChild(h);});f.each(function(h){var j=g[h];if(j){j[1].appendChild(j[0]);delete g[h];}});},serialize:function(f){f=$(f);var e=Object.extend(Sortable.options(f),arguments[1]||{});var c=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:f.id);if(e.tree){return Sortable.tree(f,arguments[1]).children.map(function(g){return[c+Sortable._constructIndex(g)+"[id]="+encodeURIComponent(g.id)].concat(g.children.map(arguments.callee));}).flatten().join("&");}else{return Sortable.sequence(f,arguments[1]).map(function(g){return c+"[]="+encodeURIComponent(g);}).join("&");}}};Element.isParent=function(e,c){if(!e.parentNode||e==c){return false;}if(e.parentNode==c){return true;}return Element.isParent(e.parentNode,c);};Element.findChildren=function(g,e,c,f){if(!g.hasChildNodes()){return null;}f=f.toUpperCase();if(e){e=[e].flatten();}var h=[];$A(g.childNodes).each(function(k){if(k.tagName&&k.tagName.toUpperCase()==f&&(!e||(Element.classNames(k).detect(function(l){return e.include(l);})))){h.push(k);}if(c){var j=Element.findChildren(k,e,c,f);if(j){h.push(j);}}});return(h.length>0?h.flatten():[]);};Element.offsetSize=function(c,e){return c["offset"+((e=="vertical"||e=="height")?"Height":"Width")];};var checkboxHeight="25";var radioHeight="25";var selectWidth="190";document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: '+selectWidth+"px; opacity: 0; z-index: 5; }</style>");var Custom={init:function(){var e=document.getElementsByTagName("input"),g=Array(),c,f,h;for(a=0;a<e.length;a++){if((e[a].type=="checkbox"||e[a].type=="radio")&&e[a].className=="styled"){g[a]=document.createElement("span");g[a].className=e[a].type;if(e[a].checked==true){if(e[a].type=="checkbox"){position="0 -"+(checkboxHeight*2)+"px";g[a].style.backgroundPosition=position;}else{position="0 -"+(radioHeight*2)+"px";g[a].style.backgroundPosition=position;}}e[a].parentNode.insertBefore(g[a],e[a]);e[a].onchange=Custom.clear;g[a].onmousedown=Custom.pushed;g[a].onmouseup=Custom.check;document.onmouseup=Custom.clear;}}e=document.getElementsByTagName("select");for(a=0;a<e.length;a++){if(e[a].className=="styled"){f=e[a].getElementsByTagName("option");h=f[0].childNodes[0].nodeValue;c=document.createTextNode(h);for(b=0;b<f.length;b++){if(f[b].selected==true){c=document.createTextNode(f[b].childNodes[0].nodeValue);}}g[a]=document.createElement("span");g[a].className="select";g[a].id="select"+e[a].name;g[a].appendChild(c);e[a].parentNode.insertBefore(g[a],e[a]);e[a].onchange=Custom.choose;}}},pushed:function(){element=this.nextSibling;if(element.checked==true&&element.type=="checkbox"){this.style.backgroundPosition="0 -"+checkboxHeight*3+"px";}else{if(element.checked==true&&element.type=="radio"){this.style.backgroundPosition="0 -"+radioHeight*3+"px";}else{if(element.checked!=true&&element.type=="checkbox"){this.style.backgroundPosition="0 -"+checkboxHeight+"px";}else{this.style.backgroundPosition="0 -"+radioHeight+"px";}}}},check:function(){element=this.nextSibling;if(element.checked==true&&element.type=="checkbox"){this.style.backgroundPosition="0 0";element.checked=false;}else{if(element.type=="checkbox"){this.style.backgroundPosition="0 -"+checkboxHeight*2+"px";}else{this.style.backgroundPosition="0 -"+radioHeight*2+"px";group=this.nextSibling.name;inputs=document.getElementsByTagName("input");for(a=0;a<inputs.length;a++){if(inputs[a].name==group&&inputs[a]!=this.nextSibling){inputs[a].previousSibling.style.backgroundPosition="0 0";}}}element.checked=true;}},clear:function(){inputs=document.getElementsByTagName("input");for(var c=0;c<inputs.length;c++){if(inputs[c].type=="checkbox"&&inputs[c].checked==true&&inputs[c].className=="styled"){inputs[c].previousSibling.style.backgroundPosition="0 -"+checkboxHeight*2+"px";}else{if(inputs[c].type=="checkbox"&&inputs[c].className=="styled"){inputs[c].previousSibling.style.backgroundPosition="0 0";}else{if(inputs[c].type=="radio"&&inputs[c].checked==true&&inputs[c].className=="styled"){inputs[c].previousSibling.style.backgroundPosition="0 -"+radioHeight*2+"px";}else{if(inputs[c].type=="radio"&&inputs[c].className=="styled"){inputs[c].previousSibling.style.backgroundPosition="0 0";}}}}}},choose:function(){option=this.getElementsByTagName("option");for(d=0;d<option.length;d++){if(option[d].selected==true){document.getElementById("select"+this.name).childNodes[0].nodeValue=option[d].childNodes[0].nodeValue;}}}};window.onload=Custom.init;