/*  Prototype JavaScript framework, version 1.6.1 (c) 2005-2009 Sam Stephenson */
var Prototype={Version:"1.6.1",Browser:(function(){var ua=navigator.userAgent;var _1=Object.prototype.toString.call(window.opera)=="[object Opera]";return {IE:!!window.attachEvent&&!_1,Opera:_1,WebKit:ua.indexOf("AppleWebKit/")>-1,Gecko:ua.indexOf("Gecko")>-1&&ua.indexOf("KHTML")===-1,MobileSafari:/Apple.*Mobile.*Safari/.test(ua)};})(),BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:(function(){var _2=window.Element||window.HTMLElement;return !!(_2&&_2.prototype);})(),SpecificElementExtensions:(function(){if(typeof window.HTMLDivElement!=="undefined"){return true;}var _3=document.createElement("div");var _4=document.createElement("form");var _5=false;if(_3["__proto__"]&&(_3["__proto__"]!==_4["__proto__"])){_5=true;}_3=_4=null;return _5;})()},ScriptFragment:"<script[^>]*>([\\S\\s]*?)</script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x;}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false;}var Abstract={};var Try={these:function(){var _6;for(var i=0,_7=arguments.length;i<_7;i++){var _8=arguments[i];try{_6=_8();break;}catch(e){}}return _6;}};var Class=(function(){function _9(){};function _a(){var _b=null,_c=$A(arguments);if(Object.isFunction(_c[0])){_b=_c.shift();}function _d(){this.initialize.apply(this,arguments);};Object.extend(_d,Class.Methods);_d.superclass=_b;_d.subclasses=[];if(_b){_9.prototype=_b.prototype;_d.prototype=new _9;_b.subclasses.push(_d);}for(var i=0;i<_c.length;i++){_d.addMethods(_c[i]);}if(!_d.prototype.initialize){_d.prototype.initialize=Prototype.emptyFunction;}_d.prototype.constructor=_d;return _d;};function _e(_f){var _10=this.superclass&&this.superclass.prototype;var _11=Object.keys(_f);if(!Object.keys({toString:true}).length){if(_f.toString!=Object.prototype.toString){_11.push("toString");}if(_f.valueOf!=Object.prototype.valueOf){_11.push("valueOf");}}for(var i=0,_12=_11.length;i<_12;i++){var _13=_11[i],_14=_f[_13];if(_10&&Object.isFunction(_14)&&_14.argumentNames().first()=="$super"){var _15=_14;_14=(function(m){return function(){return _10[m].apply(this,arguments);};})(_13).wrap(_15);_14.valueOf=_15.valueOf.bind(_15);_14.toString=_15.toString.bind(_15);}this.prototype[_13]=_14;}return this;};return {create:_a,Methods:{addMethods:_e}};})();(function(){var _16=Object.prototype.toString;function _17(_18,_19){for(var _1a in _19){_18[_1a]=_19[_1a];}return _18;};function _1b(_1c){try{if(_1d(_1c)){return "undefined";}if(_1c===null){return "null";}return _1c.inspect?_1c.inspect():String(_1c);}catch(e){if(e instanceof RangeError){return "...";}throw e;}};function _1e(_1f){var _20=typeof _1f;switch(_20){case "undefined":case "function":case "unknown":return;case "boolean":return _1f.toString();}if(_1f===null){return "null";}if(_1f.toJSON){return _1f.toJSON();}if(_21(_1f)){return;}var _22=[];for(var _23 in _1f){var _24=_1e(_1f[_23]);if(!_1d(_24)){_22.push(_23.toJSON()+": "+_24);}}return "{"+_22.join(", ")+"}";};function _25(_26){return $H(_26).toQueryString();};function _27(_28){return _28&&_28.toHTML?_28.toHTML():String.interpret(_28);};function _29(_2a){var _2b=[];for(var _2c in _2a){_2b.push(_2c);}return _2b;};function _2d(_2e){var _2f=[];for(var _30 in _2e){_2f.push(_2e[_30]);}return _2f;};function _31(_32){return _17({},_32);};function _21(_33){return !!(_33&&_33.nodeType==1);};function _34(_35){return _16.call(_35)=="[object Array]";};function _36(_37){return _37 instanceof Hash;};function _38(_39){return typeof _39==="function";};function _3a(_3b){return _16.call(_3b)=="[object String]";};function _3c(_3d){return _16.call(_3d)=="[object Number]";};function _1d(_3e){return typeof _3e==="undefined";};_17(Object,{extend:_17,inspect:_1b,toJSON:_1e,toQueryString:_25,toHTML:_27,keys:_29,values:_2d,clone:_31,isElement:_21,isArray:_34,isHash:_36,isFunction:_38,isString:_3a,isNumber:_3c,isUndefined:_1d});})();Object.extend(Function.prototype,(function(){var _3f=Array.prototype.slice;function _40(_41,_42){var _43=_41.length,_44=_42.length;while(_44--){_41[_43+_44]=_42[_44];}return _41;};function _45(_46,_47){_46=_3f.call(_46,0);return _40(_46,_47);};function _48(){var _49=this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,"").replace(/\s+/g,"").split(",");return _49.length==1&&!_49[0]?[]:_49;};function _4a(_4b){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this;}var _4c=this,_4d=_3f.call(arguments,1);return function(){var a=_45(_4d,arguments);return _4c.apply(_4b,a);};};function _4e(_4f){var _50=this,_51=_3f.call(arguments,1);return function(_52){var a=_40([_52||window.event],_51);return _50.apply(_4f,a);};};function _53(){if(!arguments.length){return this;}var _54=this,_55=_3f.call(arguments,0);return function(){var a=_45(_55,arguments);return _54.apply(this,a);};};function _56(_57){var _58=this,_59=_3f.call(arguments,1);_57=_57*1000;return window.setTimeout(function(){return _58.apply(_58,_59);},_57);};function _5a(){var _5b=_40([0.01],arguments);return this.delay.apply(this,_5b);};function _5c(_5d){var _5e=this;return function(){var a=_40([_5e.bind(this)],arguments);return _5d.apply(this,a);};};function _5f(){if(this._methodized){return this._methodized;}var _60=this;return this._methodized=function(){var a=_40([this],arguments);return _60.apply(null,a);};};return {argumentNames:_48,bind:_4a,bindAsEventListener:_4e,curry:_53,delay:_56,defer:_5a,wrap:_5c,methodize:_5f};})());Date.prototype.toJSON=function(){return "\""+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+"Z\"";};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1");};var PeriodicalExecuter=Class.create({initialize:function(_61,_62){this.callback=_61;this.frequency=_62;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},execute:function(){this.callback(this);},stop:function(){if(!this.timer){return;}clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();this.currentlyExecuting=false;}catch(e){this.currentlyExecuting=false;throw e;}}}});Object.extend(String,{interpret:function(_63){return _63==null?"":String(_63);},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,(function(){function _64(_65){if(Object.isFunction(_65)){return _65;}var _66=new Template(_65);return function(_67){return _66.evaluate(_67);};};function _68(_69,_6a){var _6b="",_6c=this,_6d;_6a=_64(_6a);if(Object.isString(_69)){_69=RegExp.escape(_69);}if(!(_69.length||_69.source)){_6a=_6a("");return _6a+_6c.split("").join(_6a)+_6a;}while(_6c.length>0){if(_6d=_6c.match(_69)){_6b+=_6c.slice(0,_6d.index);_6b+=String.interpret(_6a(_6d));_6c=_6c.slice(_6d.index+_6d[0].length);}else{_6b+=_6c,_6c="";}}return _6b;};function sub(_6e,_6f,_70){_6f=_64(_6f);_70=Object.isUndefined(_70)?1:_70;return this.gsub(_6e,function(_71){if(--_70<0){return _71[0];}return _6f(_71);});};function _72(_73,_74){this.gsub(_73,_74);return String(this);};function _75(_76,_77){_76=_76||30;_77=Object.isUndefined(_77)?"...":_77;return this.length>_76?this.slice(0,_76-_77.length)+_77:String(this);};function _78(){return this.replace(/^\s+/,"").replace(/\s+$/,"");};function _79(){return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi,"");};function _7a(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"");};function _7b(){var _7c=new RegExp(Prototype.ScriptFragment,"img");var _7d=new RegExp(Prototype.ScriptFragment,"im");return (this.match(_7c)||[]).map(function(_7e){return (_7e.match(_7d)||["",""])[1];});};function _7f(){return this.extractScripts().map(function(_80){return eval(_80);});};function _81(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");};function _82(){return this.stripTags().replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");};function _83(_84){var _85=this.strip().match(/([^?#]*)(#.*)?$/);if(!_85){return {};}return _85[1].split(_84||"&").inject({},function(_86,_87){if((_87=_87.split("="))[0]){var key=decodeURIComponent(_87.shift());var _88=_87.length>1?_87.join("="):_87[0];if(_88!=undefined){_88=decodeURIComponent(_88);}if(key in _86){if(!Object.isArray(_86[key])){_86[key]=[_86[key]];}_86[key].push(_88);}else{_86[key]=_88;}}return _86;});};function _89(){return this.split("");};function _8a(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1);};function _8b(_8c){return _8c<1?"":new Array(_8c+1).join(this);};function _8d(){var _8e=this.split("-"),len=_8e.length;if(len==1){return _8e[0];}var _8f=this.charAt(0)=="-"?_8e[0].charAt(0).toUpperCase()+_8e[0].substring(1):_8e[0];for(var i=1;i<len;i++){_8f+=_8e[i].charAt(0).toUpperCase()+_8e[i].substring(1);}return _8f;};function _90(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();};function _91(){return this.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase();};function _92(){return this.replace(/_/g,"-");};function _93(_94){var _95=this.replace(/[\x00-\x1f\\]/g,function(_96){if(_96 in String.specialChar){return String.specialChar[_96];}return "\\u00"+_96.charCodeAt().toPaddedString(2,16);});if(_94){return "\""+_95.replace(/"/g,"\\\"")+"\"";}return "'"+_95.replace(/'/g,"\\'")+"'";};function _97(){return this.inspect(true);};function _98(_99){return this.replace(_99||Prototype.JSONFilter,"$1");};function _9a(){var str=this;if(str.blank()){return false;}str=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);};function _9b(_9c){var _9d=this.unfilterJSON();try{if(!_9c||_9d.isJSON()){return eval("("+_9d+")");}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect());};function _9e(_9f){return this.indexOf(_9f)>-1;};function _a0(_a1){return this.indexOf(_a1)===0;};function _a2(_a3){var d=this.length-_a3.length;return d>=0&&this.lastIndexOf(_a3)===d;};function _a4(){return this=="";};function _a5(){return /^\s*$/.test(this);};function _a6(_a7,_a8){return new Template(this,_a8).evaluate(_a7);};return {gsub:_68,sub:sub,scan:_72,truncate:_75,strip:String.prototype.trim?String.prototype.trim:_78,stripTags:_79,stripScripts:_7a,extractScripts:_7b,evalScripts:_7f,escapeHTML:_81,unescapeHTML:_82,toQueryParams:_83,parseQuery:_83,toArray:_89,succ:_8a,times:_8b,camelize:_8d,capitalize:_90,underscore:_91,dasherize:_92,inspect:_93,toJSON:_97,unfilterJSON:_98,isJSON:_9a,evalJSON:_9b,include:_9e,startsWith:_a0,endsWith:_a2,empty:_a4,blank:_a5,interpolate:_a6};})());var Template=Class.create({initialize:function(_a9,_aa){this.template=_a9.toString();this.pattern=_aa||Template.Pattern;},evaluate:function(_ab){if(_ab&&Object.isFunction(_ab.toTemplateReplacements)){_ab=_ab.toTemplateReplacements();}return this.template.gsub(this.pattern,function(_ac){if(_ab==null){return (_ac[1]+"");}var _ad=_ac[1]||"";if(_ad=="\\"){return _ac[2];}var ctx=_ab,_ae=_ac[3];var _af=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;_ac=_af.exec(_ae);if(_ac==null){return _ad;}while(_ac!=null){var _b0=_ac[1].startsWith("[")?_ac[2].replace(/\\\\]/g,"]"):_ac[1];ctx=ctx[_b0];if(null==ctx||""==_ac[3]){break;}_ae=_ae.substring("["==_ac[3]?_ac[1].length:_ac[0].length);_ac=_af.exec(_ae);}return _ad+String.interpret(ctx);});}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable=(function(){function _b1(_b2,_b3){var _b4=0;try{this._each(function(_b5){_b2.call(_b3,_b5,_b4++);});}catch(e){if(e!=$break){throw e;}}return this;};function _b6(_b7,_b8,_b9){var _ba=-_b7,_bb=[],_bc=this.toArray();if(_b7<1){return _bc;}while((_ba+=_b7)<_bc.length){_bb.push(_bc.slice(_ba,_ba+_b7));}return _bb.collect(_b8,_b9);};function all(_bd,_be){_bd=_bd||Prototype.K;var _bf=true;this.each(function(_c0,_c1){_bf=_bf&&!!_bd.call(_be,_c0,_c1);if(!_bf){throw $break;}});return _bf;};function any(_c2,_c3){_c2=_c2||Prototype.K;var _c4=false;this.each(function(_c5,_c6){if(_c4=!!_c2.call(_c3,_c5,_c6)){throw $break;}});return _c4;};function _c7(_c8,_c9){_c8=_c8||Prototype.K;var _ca=[];this.each(function(_cb,_cc){_ca.push(_c8.call(_c9,_cb,_cc));});return _ca;};function _cd(_ce,_cf){var _d0;this.each(function(_d1,_d2){if(_ce.call(_cf,_d1,_d2)){_d0=_d1;throw $break;}});return _d0;};function _d3(_d4,_d5){var _d6=[];this.each(function(_d7,_d8){if(_d4.call(_d5,_d7,_d8)){_d6.push(_d7);}});return _d6;};function _d9(_da,_db,_dc){_db=_db||Prototype.K;var _dd=[];if(Object.isString(_da)){_da=new RegExp(RegExp.escape(_da));}this.each(function(_de,_df){if(_da.match(_de)){_dd.push(_db.call(_dc,_de,_df));}});return _dd;};function _e0(_e1){if(Object.isFunction(this.indexOf)){if(this.indexOf(_e1)!=-1){return true;}}var _e2=false;this.each(function(_e3){if(_e3==_e1){_e2=true;throw $break;}});return _e2;};function _e4(_e5,_e6){_e6=Object.isUndefined(_e6)?null:_e6;return this.eachSlice(_e5,function(_e7){while(_e7.length<_e5){_e7.push(_e6);}return _e7;});};function _e8(_e9,_ea,_eb){this.each(function(_ec,_ed){_e9=_ea.call(_eb,_e9,_ec,_ed);});return _e9;};function _ee(_ef){var _f0=$A(arguments).slice(1);return this.map(function(_f1){return _f1[_ef].apply(_f1,_f0);});};function max(_f2,_f3){_f2=_f2||Prototype.K;var _f4;this.each(function(_f5,_f6){_f5=_f2.call(_f3,_f5,_f6);if(_f4==null||_f5>=_f4){_f4=_f5;}});return _f4;};function min(_f7,_f8){_f7=_f7||Prototype.K;var _f9;this.each(function(_fa,_fb){_fa=_f7.call(_f8,_fa,_fb);if(_f9==null||_fa<_f9){_f9=_fa;}});return _f9;};function _fc(_fd,_fe){_fd=_fd||Prototype.K;var _ff=[],_100=[];this.each(function(_101,_102){(_fd.call(_fe,_101,_102)?_ff:_100).push(_101);});return [_ff,_100];};function _103(_104){var _105=[];this.each(function(_106){_105.push(_106[_104]);});return _105;};function _107(_108,_109){var _10a=[];this.each(function(_10b,_10c){if(!_108.call(_109,_10b,_10c)){_10a.push(_10b);}});return _10a;};function _10d(_10e,_10f){return this.map(function(_110,_111){return {value:_110,criteria:_10e.call(_10f,_110,_111)};}).sort(function(left,_112){var a=left.criteria,b=_112.criteria;return a<b?-1:a>b?1:0;}).pluck("value");};function _113(){return this.map();};function zip(){var _114=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last())){_114=args.pop();}var _115=[this].concat(args).map($A);return this.map(function(_116,_117){return _114(_115.pluck(_117));});};function size(){return this.toArray().length;};function _118(){return "#<Enumerable:"+this.toArray().inspect()+">";};return {each:_b1,eachSlice:_b6,all:all,every:all,any:any,some:any,collect:_c7,map:_c7,detect:_cd,findAll:_d3,select:_d3,filter:_d3,grep:_d9,include:_e0,member:_e0,inGroupsOf:_e4,inject:_e8,invoke:_ee,max:max,min:min,partition:_fc,pluck:_103,reject:_107,sortBy:_10d,toArray:_113,entries:_113,zip:zip,size:size,inspect:_118,find:_cd};})();function $A(_119){if(!_119){return [];}if("toArray" in Object(_119)){return _119.toArray();}var _11a=_119.length||0,_11b=new Array(_11a);while(_11a--){_11b[_11a]=_119[_11a];}return _11b;};function $w(_11c){if(!Object.isString(_11c)){return [];}_11c=_11c.strip();return _11c?_11c.split(/\s+/):[];};Array.from=$A;(function(){var _11d=Array.prototype,_11e=_11d.slice,_11f=_11d.forEach;function each(_120){for(var i=0,_121=this.length;i<_121;i++){_120(this[i]);}};if(!_11f){_11f=each;}function _122(){this.length=0;return this;};function _123(){return this[0];};function last(){return this[this.length-1];};function _124(){return this.select(function(_125){return _125!=null;});};function _126(){return this.inject([],function(_127,_128){if(Object.isArray(_128)){return _127.concat(_128.flatten());}_127.push(_128);return _127;});};function _129(){var _12a=_11e.call(arguments,0);return this.select(function(_12b){return !_12a.include(_12b);});};function _12c(_12d){return (_12d!==false?this:this.toArray())._reverse();};function uniq(_12e){return this.inject([],function(_12f,_130,_131){if(0==_131||(_12e?_12f.last()!=_130:!_12f.include(_130))){_12f.push(_130);}return _12f;});};function _132(_133){return this.uniq().findAll(function(item){return _133.detect(function(_134){return item===_134;});});};function _135(){return _11e.call(this,0);};function size(){return this.length;};function _136(){return "["+this.map(Object.inspect).join(", ")+"]";};function _137(){var _138=[];this.each(function(_139){var _13a=Object.toJSON(_139);if(!Object.isUndefined(_13a)){_138.push(_13a);}});return "["+_138.join(", ")+"]";};function _13b(item,i){i||(i=0);var _13c=this.length;if(i<0){i=_13c+i;}for(;i<_13c;i++){if(this[i]===item){return i;}}return -1;};function _13d(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return (n<0)?n:i-n-1;};function _13e(){var _13f=_11e.call(this,0),item;for(var i=0,_140=arguments.length;i<_140;i++){item=arguments[i];if(Object.isArray(item)&&!("callee" in item)){for(var j=0,_141=item.length;j<_141;j++){_13f.push(item[j]);}}else{_13f.push(item);}}return _13f;};Object.extend(_11d,Enumerable);if(!_11d._reverse){_11d._reverse=_11d.reverse;}Object.extend(_11d,{_each:_11f,clear:_122,first:_123,last:last,compact:_124,flatten:_126,without:_129,reverse:_12c,uniq:uniq,intersect:_132,clone:_135,toArray:_135,size:size,inspect:_136,toJSON:_137});var _142=(function(){return [].concat(arguments)[0][0]!==1;})(1,2);if(_142){_11d.concat=_13e;}if(!_11d.indexOf){_11d.indexOf=_13b;}if(!_11d.lastIndexOf){_11d.lastIndexOf=_13d;}})();function $H(_143){return new Hash(_143);};var Hash=Class.create(Enumerable,(function(){function _144(_145){this._object=Object.isHash(_145)?_145.toObject():Object.clone(_145);};function _146(_147){for(var key in this._object){var _148=this._object[key],pair=[key,_148];pair.key=key;pair.value=_148;_147(pair);}};function set(key,_149){return this._object[key]=_149;};function get(key){if(this._object[key]!==Object.prototype[key]){return this._object[key];}};function _14a(key){var _14b=this._object[key];delete this._object[key];return _14b;};function _14c(){return Object.clone(this._object);};function keys(){return this.pluck("key");};function _14d(){return this.pluck("value");};function _14e(_14f){var _150=this.detect(function(pair){return pair.value===_14f;});return _150&&_150.key;};function _151(_152){return this.clone().update(_152);};function _153(_154){return new Hash(_154).inject(this,function(_155,pair){_155.set(pair.key,pair.value);return _155;});};function _156(key,_157){if(Object.isUndefined(_157)){return key;}return key+"="+encodeURIComponent(String.interpret(_157));};function _158(){return this.inject([],function(_159,pair){var key=encodeURIComponent(pair.key),_14d=pair.value;if(_14d&&typeof _14d=="object"){if(Object.isArray(_14d)){return _159.concat(_14d.map(_156.curry(key)));}}else{_159.push(_156(key,_14d));}return _159;}).join("&");};function _15a(){return "#<Hash:{"+this.map(function(pair){return pair.map(Object.inspect).join(": ");}).join(", ")+"}>";};function _15b(){return Object.toJSON(this.toObject());};function _15c(){return new Hash(this);};return {initialize:_144,_each:_146,set:set,get:get,unset:_14a,toObject:_14c,toTemplateReplacements:_14c,keys:keys,values:_14d,index:_14e,merge:_151,update:_153,toQueryString:_158,inspect:_15a,toJSON:_15b,clone:_15c};})());Hash.from=$H;Object.extend(Number.prototype,(function(){function _15d(){return this.toPaddedString(2,16);};function succ(){return this+1;};function _15e(_15f,_160){$R(0,this,true).each(_15f,_160);return this;};function _161(_162,_163){var _164=this.toString(_163||10);return "0".times(_162-_164.length)+_164;};function _165(){return isFinite(this)?this.toString():"null";};function abs(){return Math.abs(this);};function _166(){return Math.round(this);};function ceil(){return Math.ceil(this);};function _167(){return Math.floor(this);};return {toColorPart:_15d,succ:succ,times:_15e,toPaddedString:_161,toJSON:_165,abs:abs,round:_166,ceil:ceil,floor:_167};})());function $R(_168,end,_169){return new ObjectRange(_168,end,_169);};var ObjectRange=Class.create(Enumerable,(function(){function _16a(_16b,end,_16c){this.start=_16b;this.end=end;this.exclusive=_16c;};function _16d(_16e){var _16f=this.start;while(this.include(_16f)){_16e(_16f);_16f=_16f.succ();}};function _170(_171){if(_171<this.start){return false;}if(this.exclusive){return _171<this.end;}return _171<=this.end;};return {initialize:_16a,_each:_16d,include:_170};})());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(_172){this.responders._each(_172);},register:function(_173){if(!this.include(_173)){this.responders.push(_173);}},unregister:function(_174){this.responders=this.responders.without(_174);},dispatch:function(_175,_176,_177,json){this.each(function(_178){if(Object.isFunction(_178[_175])){try{_178[_175].apply(_178,[_176,_177,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=Class.create({initialize:function(_179){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,_179||{});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(_17a,url,_17b){_17a(_17b);this.transport=Ajax.getTransport();this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var _17c=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){_17c["_method"]=this.method;this.method="post";}this.parameters=_17c;if(_17c=Object.toQueryString(_17c)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+_17c;}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){_17c+="&_=";}}}try{var _17d=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(_17d);}Ajax.Responders.dispatch("onCreate",this,_17d);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||_17c):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange();}}catch(e){this.dispatchException(e);}},onStateChange:function(){var _17e=this.transport.readyState;if(_17e>1&&!((_17e==4)&&this._complete)){this.respondToReadyState(this.transport.readyState);}},setRequestHeaders:function(){var _17f={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,"Accept":"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){_17f["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){_17f["Connection"]="close";}}if(typeof this.options.requestHeaders=="object"){var _180=this.options.requestHeaders;if(Object.isFunction(_180.push)){for(var i=0,_181=_180.length;i<_181;i+=2){_17f[_180[i]]=_180[i+1];}}else{$H(_180).each(function(pair){_17f[pair.key]=pair.value;});}}for(var name in _17f){this.transport.setRequestHeader(name,_17f[name]);}},success:function(){var _182=this.getStatus();return !_182||(_182>=200&&_182<300);},getStatus:function(){try{return this.transport.status||0;}catch(e){return 0;}},respondToReadyState:function(_183){var _184=Ajax.Request.Events[_183],_185=new Ajax.Response(this);if(_184=="Complete"){try{this._complete=true;(this.options["on"+_185.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(_185,_185.headerJSON);}catch(e){this.dispatchException(e);}var _186=_185.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&_186&&_186.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse();}}try{(this.options["on"+_184]||Prototype.emptyFunction)(_185,_185.headerJSON);Ajax.Responders.dispatch("on"+_184,this,_185,_185.headerJSON);}catch(e){this.dispatchException(e);}if(_184=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction;}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return !m||(m[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}));},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null;}catch(e){return null;}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(_187){(this.options.onException||Prototype.emptyFunction)(this,_187);Ajax.Responders.dispatch("onException",this,_187);}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(_188){this.request=_188;var _189=this.transport=_188.transport,_18a=this.readyState=_189.readyState;if((_18a>2&&!Prototype.Browser.IE)||_18a==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(_189.responseText);this.headerJSON=this._getHeaderJSON();}if(_18a==4){var xml=_189.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||"";}catch(e){return "";}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null;}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader("X-JSON");if(!json){return null;}json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var _18b=this.request.options;if(!_18b.evalJSON||(_18b.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null;}try{return this.responseText.evalJSON(_18b.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function(_18c,_18d,url,_18e){this.container={success:(_18d.success||_18d),failure:(_18d.failure||(_18d.success?null:_18d))};_18e=Object.clone(_18e);var _18f=_18e.onComplete;_18e.onComplete=(function(_190,json){this.updateContent(_190.responseText);if(Object.isFunction(_18f)){_18f(_190,json);}}).bind(this);_18c(url,_18e);},updateContent:function(_191){var _192=this.container[this.success()?"success":"failure"],_193=this.options;if(!_193.evalScripts){_191=_191.stripScripts();}if(_192=$(_192)){if(_193.insertion){if(Object.isString(_193.insertion)){var _194={};_194[_193.insertion]=_191;_192.insert(_194);}else{_193.insertion(_192,_191);}}else{_192.update(_191);}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function(_195,_196,url,_197){_195(_197);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=_196;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(_198){if(this.options.decay){this.decay=(_198.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=_198.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 $(_199){if(arguments.length>1){for(var i=0,_19a=[],_19b=arguments.length;i<_19b;i++){_19a.push($(arguments[i]));}return _19a;}if(Object.isString(_199)){_199=document.getElementById(_199);}return Element.extend(_199);};if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(_19c,_19d){var _19e=[];var _19f=document.evaluate(_19c,$(_19d)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,_1a0=_19f.snapshotLength;i<_1a0;i++){_19e.push(Element.extend(_19f.snapshotItem(i)));}return _19e;};}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(_1a1){var _1a2=(function(){var _1a3=document.createElement("form");var _1a4=document.createElement("input");var root=document.documentElement;_1a4.setAttribute("name","test");_1a3.appendChild(_1a4);root.appendChild(_1a3);var _1a5=_1a3.elements?(typeof _1a3.elements.test=="undefined"):null;root.removeChild(_1a3);_1a3=_1a4=null;return _1a5;})();var _1a6=_1a1.Element;_1a1.Element=function(_1a7,_1a8){_1a8=_1a8||{};_1a7=_1a7.toLowerCase();var _1a9=Element.cache;if(_1a2&&_1a8.name){_1a7="<"+_1a7+" name=\""+_1a8.name+"\">";delete _1a8.name;return Element.writeAttribute(document.createElement(_1a7),_1a8);}if(!_1a9[_1a7]){_1a9[_1a7]=Element.extend(document.createElement(_1a7));}return Element.writeAttribute(_1a9[_1a7].cloneNode(false),_1a8);};Object.extend(_1a1.Element,_1a6||{});if(_1a6){_1a1.Element.prototype=_1a6.prototype;}})(this);Element.cache={};Element.idCounter=1;Element.Methods={visible:function(_1aa){return $(_1aa).style.display!="none";},toggle:function(_1ab){_1ab=$(_1ab);Element[Element.visible(_1ab)?"hide":"show"](_1ab);return _1ab;},hide:function(_1ac){_1ac=$(_1ac);_1ac.style.display="none";return _1ac;},show:function(_1ad){_1ad=$(_1ad);_1ad.style.display="";return _1ad;},remove:function(_1ae){_1ae=$(_1ae);_1ae.parentNode.removeChild(_1ae);return _1ae;},update:(function(){var _1af=(function(){var el=document.createElement("select"),_1b0=true;el.innerHTML="<option value=\"test\">test</option>";if(el.options&&el.options[0]){_1b0=el.options[0].nodeName.toUpperCase()!=="OPTION";}el=null;return _1b0;})();var _1b1=(function(){try{var el=document.createElement("table");if(el&&el.tBodies){el.innerHTML="<tbody><tr><td>test</td></tr></tbody>";var _1b2=typeof el.tBodies[0]=="undefined";el=null;return _1b2;}}catch(e){return true;}})();var _1b3=(function(){var s=document.createElement("script"),_1b4=false;try{s.appendChild(document.createTextNode(""));_1b4=!s.firstChild||s.firstChild&&s.firstChild.nodeType!==3;}catch(e){_1b4=true;}s=null;return _1b4;})();function _1b5(_1b6,_1b7){_1b6=$(_1b6);if(_1b7&&_1b7.toElement){_1b7=_1b7.toElement();}if(Object.isElement(_1b7)){return _1b6.update().insert(_1b7);}_1b7=Object.toHTML(_1b7);var _1b8=_1b6.tagName.toUpperCase();if(_1b8==="SCRIPT"&&_1b3){_1b6.text=_1b7;return _1b6;}if(_1af||_1b1){if(_1b8 in Element._insertionTranslations.tags){while(_1b6.firstChild){_1b6.removeChild(_1b6.firstChild);}Element._getContentFromAnonymousElement(_1b8,_1b7.stripScripts()).each(function(node){_1b6.appendChild(node);});}else{_1b6.innerHTML=_1b7.stripScripts();}}else{_1b6.innerHTML=_1b7.stripScripts();}_1b7.evalScripts.bind(_1b7).defer();return _1b6;};return _1b5;})(),replace:function(_1b9,_1ba){_1b9=$(_1b9);if(_1ba&&_1ba.toElement){_1ba=_1ba.toElement();}else{if(!Object.isElement(_1ba)){_1ba=Object.toHTML(_1ba);var _1bb=_1b9.ownerDocument.createRange();_1bb.selectNode(_1b9);_1ba.evalScripts.bind(_1ba).defer();_1ba=_1bb.createContextualFragment(_1ba.stripScripts());}}_1b9.parentNode.replaceChild(_1ba,_1b9);return _1b9;},insert:function(_1bc,_1bd){_1bc=$(_1bc);if(Object.isString(_1bd)||Object.isNumber(_1bd)||Object.isElement(_1bd)||(_1bd&&(_1bd.toElement||_1bd.toHTML))){_1bd={bottom:_1bd};}var _1be,_1bf,_1c0,_1c1;for(var _1c2 in _1bd){_1be=_1bd[_1c2];_1c2=_1c2.toLowerCase();_1bf=Element._insertionTranslations[_1c2];if(_1be&&_1be.toElement){_1be=_1be.toElement();}if(Object.isElement(_1be)){_1bf(_1bc,_1be);continue;}_1be=Object.toHTML(_1be);_1c0=((_1c2=="before"||_1c2=="after")?_1bc.parentNode:_1bc).tagName.toUpperCase();_1c1=Element._getContentFromAnonymousElement(_1c0,_1be.stripScripts());if(_1c2=="top"||_1c2=="after"){_1c1.reverse();}_1c1.each(_1bf.curry(_1bc));_1be.evalScripts.bind(_1be).defer();}return _1bc;},wrap:function(_1c3,_1c4,_1c5){_1c3=$(_1c3);if(Object.isElement(_1c4)){$(_1c4).writeAttribute(_1c5||{});}else{if(Object.isString(_1c4)){_1c4=new Element(_1c4,_1c5);}else{_1c4=new Element("div",_1c4);}}if(_1c3.parentNode){_1c3.parentNode.replaceChild(_1c4,_1c3);}_1c4.appendChild(_1c3);return _1c4;},inspect:function(_1c6){_1c6=$(_1c6);var _1c7="<"+_1c6.tagName.toLowerCase();$H({"id":"id","className":"class"}).each(function(pair){var _1c8=pair.first(),_1c9=pair.last();var _1ca=(_1c6[_1c8]||"").toString();if(_1ca){_1c7+=" "+_1c9+"="+_1ca.inspect(true);}});return _1c7+">";},recursivelyCollect:function(_1cb,_1cc){_1cb=$(_1cb);var _1cd=[];while(_1cb=_1cb[_1cc]){if(_1cb.nodeType==1){_1cd.push(Element.extend(_1cb));}}return _1cd;},ancestors:function(_1ce){return Element.recursivelyCollect(_1ce,"parentNode");},descendants:function(_1cf){return Element.select(_1cf,"*");},firstDescendant:function(_1d0){_1d0=$(_1d0).firstChild;while(_1d0&&_1d0.nodeType!=1){_1d0=_1d0.nextSibling;}return $(_1d0);},immediateDescendants:function(_1d1){if(!(_1d1=$(_1d1).firstChild)){return [];}while(_1d1&&_1d1.nodeType!=1){_1d1=_1d1.nextSibling;}if(_1d1){return [_1d1].concat($(_1d1).nextSiblings());}return [];},previousSiblings:function(_1d2){return Element.recursivelyCollect(_1d2,"previousSibling");},nextSiblings:function(_1d3){return Element.recursivelyCollect(_1d3,"nextSibling");},siblings:function(_1d4){_1d4=$(_1d4);return Element.previousSiblings(_1d4).reverse().concat(Element.nextSiblings(_1d4));},match:function(_1d5,_1d6){if(Object.isString(_1d6)){_1d6=new Selector(_1d6);}return _1d6.match($(_1d5));},up:function(_1d7,_1d8,_1d9){_1d7=$(_1d7);if(arguments.length==1){return $(_1d7.parentNode);}var _1da=Element.ancestors(_1d7);return Object.isNumber(_1d8)?_1da[_1d8]:Selector.findElement(_1da,_1d8,_1d9);},down:function(_1db,_1dc,_1dd){_1db=$(_1db);if(arguments.length==1){return Element.firstDescendant(_1db);}return Object.isNumber(_1dc)?Element.descendants(_1db)[_1dc]:Element.select(_1db,_1dc)[_1dd||0];},previous:function(_1de,_1df,_1e0){_1de=$(_1de);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(_1de));}var _1e1=Element.previousSiblings(_1de);return Object.isNumber(_1df)?_1e1[_1df]:Selector.findElement(_1e1,_1df,_1e0);},next:function(_1e2,_1e3,_1e4){_1e2=$(_1e2);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(_1e2));}var _1e5=Element.nextSiblings(_1e2);return Object.isNumber(_1e3)?_1e5[_1e3]:Selector.findElement(_1e5,_1e3,_1e4);},select:function(_1e6){var args=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(_1e6,args);},adjacent:function(_1e7){var args=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(_1e7.parentNode,args).without(_1e7);},identify:function(_1e8){_1e8=$(_1e8);var id=Element.readAttribute(_1e8,"id");if(id){return id;}do{id="anonymous_element_"+Element.idCounter++;}while($(id));Element.writeAttribute(_1e8,"id",id);return id;},readAttribute:function(_1e9,name){_1e9=$(_1e9);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name]){return t.values[name](_1e9,name);}if(t.names[name]){name=t.names[name];}if(name.include(":")){return (!_1e9.attributes||!_1e9.attributes[name])?null:_1e9.attributes[name].value;}}return _1e9.getAttribute(name);},writeAttribute:function(_1ea,name,_1eb){_1ea=$(_1ea);var _1ec={},t=Element._attributeTranslations.write;if(typeof name=="object"){_1ec=name;}else{_1ec[name]=Object.isUndefined(_1eb)?true:_1eb;}for(var attr in _1ec){name=t.names[attr]||attr;_1eb=_1ec[attr];if(t.values[attr]){name=t.values[attr](_1ea,_1eb);}if(_1eb===false||_1eb===null){_1ea.removeAttribute(name);}else{if(_1eb===true){_1ea.setAttribute(name,name);}else{_1ea.setAttribute(name,_1eb);}}}return _1ea;},getHeight:function(_1ed){return Element.getDimensions(_1ed).height;},getWidth:function(_1ee){return Element.getDimensions(_1ee).width;},classNames:function(_1ef){return new Element.ClassNames(_1ef);},hasClassName:function(_1f0,_1f1){if(!(_1f0=$(_1f0))){return;}var _1f2=_1f0.className;return (_1f2.length>0&&(_1f2==_1f1||new RegExp("(^|\\s)"+_1f1+"(\\s|$)").test(_1f2)));},addClassName:function(_1f3,_1f4){if(!(_1f3=$(_1f3))){return;}if(!Element.hasClassName(_1f3,_1f4)){_1f3.className+=(_1f3.className?" ":"")+_1f4;}return _1f3;},removeClassName:function(_1f5,_1f6){if(!(_1f5=$(_1f5))){return;}_1f5.className=_1f5.className.replace(new RegExp("(^|\\s+)"+_1f6+"(\\s+|$)")," ").strip();return _1f5;},toggleClassName:function(_1f7,_1f8){if(!(_1f7=$(_1f7))){return;}return Element[Element.hasClassName(_1f7,_1f8)?"removeClassName":"addClassName"](_1f7,_1f8);},cleanWhitespace:function(_1f9){_1f9=$(_1f9);var node=_1f9.firstChild;while(node){var _1fa=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue)){_1f9.removeChild(node);}node=_1fa;}return _1f9;},empty:function(_1fb){return $(_1fb).innerHTML.blank();},descendantOf:function(_1fc,_1fd){_1fc=$(_1fc),_1fd=$(_1fd);if(_1fc.compareDocumentPosition){return (_1fc.compareDocumentPosition(_1fd)&8)===8;}if(_1fd.contains){return _1fd.contains(_1fc)&&_1fd!==_1fc;}while(_1fc=_1fc.parentNode){if(_1fc==_1fd){return true;}}return false;},scrollTo:function(_1fe){_1fe=$(_1fe);var pos=Element.cumulativeOffset(_1fe);window.scrollTo(pos[0],pos[1]);return _1fe;},getStyle:function(_1ff,_200){_1ff=$(_1ff);_200=_200=="float"?"cssFloat":_200.camelize();var _201=_1ff.style[_200];if(!_201||_201=="auto"){var css=document.defaultView.getComputedStyle(_1ff,null);_201=css?css[_200]:null;}if(_200=="opacity"){return _201?parseFloat(_201):1;}return _201=="auto"?null:_201;},getOpacity:function(_202){return $(_202).getStyle("opacity");},setStyle:function(_203,_204){_203=$(_203);var _205=_203.style,_206;if(Object.isString(_204)){_203.style.cssText+=";"+_204;return _204.include("opacity")?_203.setOpacity(_204.match(/opacity:\s*(\d?\.?\d*)/)[1]):_203;}for(var _207 in _204){if(_207=="opacity"){_203.setOpacity(_204[_207]);}else{_205[(_207=="float"||_207=="cssFloat")?(Object.isUndefined(_205.styleFloat)?"cssFloat":"styleFloat"):_207]=_204[_207];}}return _203;},setOpacity:function(_208,_209){_208=$(_208);_208.style.opacity=(_209==1||_209==="")?"":(_209<0.00001)?0:_209;return _208;},getDimensions:function(_20a){_20a=$(_20a);var _20b=Element.getStyle(_20a,"display");if(_20b!="none"&&_20b!=null){return {width:_20a.offsetWidth,height:_20a.offsetHeight};}var els=_20a.style;var _20c=els.visibility;var _20d=els.position;var _20e=els.display;els.visibility="hidden";if(_20d!="fixed"){els.position="absolute";}els.display="block";var _20f=_20a.clientWidth;var _210=_20a.clientHeight;els.display=_20e;els.position=_20d;els.visibility=_20c;return {width:_20f,height:_210};},makePositioned:function(_211){_211=$(_211);var pos=Element.getStyle(_211,"position");if(pos=="static"||!pos){_211._madePositioned=true;_211.style.position="relative";if(Prototype.Browser.Opera){_211.style.top=0;_211.style.left=0;}}return _211;},undoPositioned:function(_212){_212=$(_212);if(_212._madePositioned){_212._madePositioned=undefined;_212.style.position=_212.style.top=_212.style.left=_212.style.bottom=_212.style.right="";}return _212;},makeClipping:function(_213){_213=$(_213);if(_213._overflow){return _213;}_213._overflow=Element.getStyle(_213,"overflow")||"auto";if(_213._overflow!=="hidden"){_213.style.overflow="hidden";}return _213;},undoClipping:function(_214){_214=$(_214);if(!_214._overflow){return _214;}_214.style.overflow=_214._overflow=="auto"?"":_214._overflow;_214._overflow=null;return _214;},cumulativeOffset:function(_215){var _216=0,_217=0;do{_216+=_215.offsetTop||0;_217+=_215.offsetLeft||0;_215=_215.offsetParent;}while(_215);return Element._returnOffset(_217,_216);},positionedOffset:function(_218){var _219=0,_21a=0;do{_219+=_218.offsetTop||0;_21a+=_218.offsetLeft||0;_218=_218.offsetParent;if(_218){if(_218.tagName.toUpperCase()=="BODY"){break;}var p=Element.getStyle(_218,"position");if(p!=="static"){break;}}}while(_218);return Element._returnOffset(_21a,_219);},absolutize:function(_21b){_21b=$(_21b);if(Element.getStyle(_21b,"position")=="absolute"){return _21b;}var _21c=Element.positionedOffset(_21b);var top=_21c[1];var left=_21c[0];var _21d=_21b.clientWidth;var _21e=_21b.clientHeight;_21b._originalLeft=left-parseFloat(_21b.style.left||0);_21b._originalTop=top-parseFloat(_21b.style.top||0);_21b._originalWidth=_21b.style.width;_21b._originalHeight=_21b.style.height;_21b.style.position="absolute";_21b.style.top=top+"px";_21b.style.left=left+"px";_21b.style.width=_21d+"px";_21b.style.height=_21e+"px";return _21b;},relativize:function(_21f){_21f=$(_21f);if(Element.getStyle(_21f,"position")=="relative"){return _21f;}_21f.style.position="relative";var top=parseFloat(_21f.style.top||0)-(_21f._originalTop||0);var left=parseFloat(_21f.style.left||0)-(_21f._originalLeft||0);_21f.style.top=top+"px";_21f.style.left=left+"px";_21f.style.height=_21f._originalHeight;_21f.style.width=_21f._originalWidth;return _21f;},cumulativeScrollOffset:function(_220){var _221=0,_222=0;do{_221+=_220.scrollTop||0;_222+=_220.scrollLeft||0;_220=_220.parentNode;}while(_220);return Element._returnOffset(_222,_221);},getOffsetParent:function(_223){if(_223.offsetParent){return $(_223.offsetParent);}if(_223==document.body){return $(_223);}while((_223=_223.parentNode)&&_223!=document.body){if(Element.getStyle(_223,"position")!="static"){return $(_223);}}return $(document.body);},viewportOffset:function(_224){var _225=0,_226=0;var _227=_224;do{_225+=_227.offsetTop||0;_226+=_227.offsetLeft||0;if(_227.offsetParent==document.body&&Element.getStyle(_227,"position")=="absolute"){break;}}while(_227=_227.offsetParent);_227=_224;do{if(!Prototype.Browser.Opera||(_227.tagName&&(_227.tagName.toUpperCase()=="BODY"))){_225-=_227.scrollTop||0;_226-=_227.scrollLeft||0;}}while(_227=_227.parentNode);return Element._returnOffset(_226,_225);},clonePosition:function(_228,_229){var _22a=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});_229=$(_229);var p=Element.viewportOffset(_229);_228=$(_228);var _22b=[0,0];var _22c=null;if(Element.getStyle(_228,"position")=="absolute"){_22c=Element.getOffsetParent(_228);_22b=Element.viewportOffset(_22c);}if(_22c==document.body){_22b[0]-=document.body.offsetLeft;_22b[1]-=document.body.offsetTop;}if(_22a.setLeft){_228.style.left=(p[0]-_22b[0]+_22a.offsetLeft)+"px";}if(_22a.setTop){_228.style.top=(p[1]-_22b[1]+_22a.offsetTop)+"px";}if(_22a.setWidth){_228.style.width=_229.offsetWidth+"px";}if(_22a.setHeight){_228.style.height=_229.offsetHeight+"px";}return _228;}};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(_22d,_22e,_22f){switch(_22f){case "left":case "top":case "right":case "bottom":if(_22d(_22e,"position")==="static"){return null;}case "height":case "width":if(!Element.visible(_22e)){return null;}var dim=parseInt(_22d(_22e,_22f),10);if(dim!==_22e["offset"+_22f.capitalize()]){return dim+"px";}var _230;if(_22f==="height"){_230=["border-top-width","padding-top","padding-bottom","border-bottom-width"];}else{_230=["border-left-width","padding-left","padding-right","border-right-width"];}return _230.inject(dim,function(memo,_231){var val=_22d(_22e,_231);return val===null?memo:memo-parseInt(val,10);})+"px";default:return _22d(_22e,_22f);}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(_232,_233,_234){if(_234==="title"){return _233.title;}return _232(_233,_234);});}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(_235,_236){_236=$(_236);try{_236.offsetParent;}catch(e){return $(document.body);}var _237=_236.getStyle("position");if(_237!=="static"){return _235(_236);}_236.setStyle({position:"relative"});var _238=_235(_236);_236.setStyle({position:_237});return _238;});$w("positionedOffset viewportOffset").each(function(_239){Element.Methods[_239]=Element.Methods[_239].wrap(function(_23a,_23b){_23b=$(_23b);try{_23b.offsetParent;}catch(e){return Element._returnOffset(0,0);}var _23c=_23b.getStyle("position");if(_23c!=="static"){return _23a(_23b);}var _23d=_23b.getOffsetParent();if(_23d&&_23d.getStyle("position")==="fixed"){_23d.setStyle({zoom:1});}_23b.setStyle({position:"relative"});var _23e=_23a(_23b);_23b.setStyle({position:_23c});return _23e;});});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(_23f,_240){try{_240.offsetParent;}catch(e){return Element._returnOffset(0,0);}return _23f(_240);});Element.Methods.getStyle=function(_241,_242){_241=$(_241);_242=(_242=="float"||_242=="cssFloat")?"styleFloat":_242.camelize();var _243=_241.style[_242];if(!_243&&_241.currentStyle){_243=_241.currentStyle[_242];}if(_242=="opacity"){if(_243=(_241.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(_243[1]){return parseFloat(_243[1])/100;}}return 1;}if(_243=="auto"){if((_242=="width"||_242=="height")&&(_241.getStyle("display")!="none")){return _241["offset"+_242.capitalize()]+"px";}return null;}return _243;};Element.Methods.setOpacity=function(_244,_245){function _246(_247){return _247.replace(/alpha\([^\)]*\)/gi,"");};_244=$(_244);var _248=_244.currentStyle;if((_248&&!_248.hasLayout)||(!_248&&_244.style.zoom=="normal")){_244.style.zoom=1;}var _249=_244.getStyle("filter"),_24a=_244.style;if(_245==1||_245===""){(_249=_246(_249))?_24a.filter=_249:_24a.removeAttribute("filter");return _244;}else{if(_245<0.00001){_245=0;}}_24a.filter=_246(_249)+"alpha(opacity="+(_245*100)+")";return _244;};Element._attributeTranslations=(function(){var _24b="className";var _24c="for";var el=document.createElement("div");el.setAttribute(_24b,"x");if(el.className!=="x"){el.setAttribute("class","x");if(el.className==="x"){_24b="class";}}el=null;el=document.createElement("label");el.setAttribute(_24c,"x");if(el.htmlFor!=="x"){el.setAttribute("htmlFor","x");if(el.htmlFor==="x"){_24c="htmlFor";}}el=null;return {read:{names:{"class":_24b,"className":_24b,"for":_24c,"htmlFor":_24c},values:{_getAttr:function(_24d,_24e){return _24d.getAttribute(_24e);},_getAttr2:function(_24f,_250){return _24f.getAttribute(_250,2);},_getAttrNode:function(_251,_252){var node=_251.getAttributeNode(_252);return node?node.value:"";},_getEv:(function(){var el=document.createElement("div");el.onclick=Prototype.emptyFunction;var _253=el.getAttribute("onclick");var f;if(String(_253).indexOf("{")>-1){f=function(_254,_255){_255=_254.getAttribute(_255);if(!_255){return null;}_255=_255.toString();_255=_255.split("{")[1];_255=_255.split("}")[0];return _255.strip();};}else{if(_253===""){f=function(_256,_257){_257=_256.getAttribute(_257);if(!_257){return null;}return _257.strip();};}}el=null;return f;})(),_flag:function(_258,_259){return $(_258).hasAttribute(_259)?_259:null;},style:function(_25a){return _25a.style.cssText.toLowerCase();},title:function(_25b){return _25b.title;}}}};})();Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(_25c,_25d){_25c.checked=!!_25d;},style:function(_25e,_25f){_25e.style.cssText=_25f?_25f:"";}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex "+"encType maxLength readOnly longDesc frameBorder").each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr;});(function(v){Object.extend(v,{href:v._getAttr2,src:v._getAttr2,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv});})(Element._attributeTranslations.read.values);if(Prototype.BrowserFeatures.ElementExtensions){(function(){function _260(_261){var _262=_261.getElementsByTagName("*"),_263=[];for(var i=0,node;node=_262[i];i++){if(node.tagName!=="!"){_263.push(node);}}return _263;};Element.Methods.down=function(_264,_265,_266){_264=$(_264);if(arguments.length==1){return _264.firstDescendant();}return Object.isNumber(_265)?_260(_264)[_265]:Element.select(_264,_265)[_266||0];};})();}}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(_267,_268){_267=$(_267);_267.style.opacity=(_268==1)?0.999999:(_268==="")?"":(_268<0.00001)?0:_268;return _267;};}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(_269,_26a){_269=$(_269);_269.style.opacity=(_26a==1||_26a==="")?"":(_26a<0.00001)?0:_26a;if(_26a==1){if(_269.tagName.toUpperCase()=="IMG"&&_269.width){_269.width++;_269.width--;}else{try{var n=document.createTextNode(" ");_269.appendChild(n);_269.removeChild(n);}catch(e){}}}return _269;};Element.Methods.cumulativeOffset=function(_26b){var _26c=0,_26d=0;do{_26c+=_26b.offsetTop||0;_26d+=_26b.offsetLeft||0;if(_26b.offsetParent==document.body){if(Element.getStyle(_26b,"position")=="absolute"){break;}}_26b=_26b.offsetParent;}while(_26b);return Element._returnOffset(_26d,_26c);};}}}}if("outerHTML" in document.documentElement){Element.Methods.replace=function(_26e,_26f){_26e=$(_26e);if(_26f&&_26f.toElement){_26f=_26f.toElement();}if(Object.isElement(_26f)){_26e.parentNode.replaceChild(_26f,_26e);return _26e;}_26f=Object.toHTML(_26f);var _270=_26e.parentNode,_271=_270.tagName.toUpperCase();if(Element._insertionTranslations.tags[_271]){var _272=_26e.next();var _273=Element._getContentFromAnonymousElement(_271,_26f.stripScripts());_270.removeChild(_26e);if(_272){_273.each(function(node){_270.insertBefore(node,_272);});}else{_273.each(function(node){_270.appendChild(node);});}}else{_26e.outerHTML=_26f.stripScripts();}_26f.evalScripts.bind(_26f).defer();return _26e;};}Element._returnOffset=function(l,t){var _274=[l,t];_274.left=l;_274.top=t;return _274;};Element._getContentFromAnonymousElement=function(_275,html){var div=new Element("div"),t=Element._insertionTranslations.tags[_275];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild;});}else{div.innerHTML=html;}return $A(div.childNodes);};Element._insertionTranslations={before:function(_276,node){_276.parentNode.insertBefore(node,_276);},top:function(_277,node){_277.insertBefore(node,_277.firstChild);},bottom:function(_278,node){_278.appendChild(node);},after:function(_279,node){_279.parentNode.insertBefore(node,_279.nextSibling);},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};(function(){var tags=Element._insertionTranslations.tags;Object.extend(tags,{THEAD:tags.TBODY,TFOOT:tags.TBODY,TH:tags.TD});})();Element.Methods.Simulated={hasAttribute:function(_27a,_27b){_27b=Element._attributeTranslations.has[_27b]||_27b;var node=$(_27a).getAttributeNode(_27b);return !!(node&&node.specified);}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);(function(div){if(!Prototype.BrowserFeatures.ElementExtensions&&div["__proto__"]){window.HTMLElement={};window.HTMLElement.prototype=div["__proto__"];Prototype.BrowserFeatures.ElementExtensions=true;}div=null;})(document.createElement("div"));Element.extend=(function(){function _27c(_27d){if(typeof window.Element!="undefined"){var _27e=window.Element.prototype;if(_27e){var id="_"+(Math.random()+"").slice(2);var el=document.createElement(_27d);_27e[id]="x";var _27f=(el[id]!=="x");delete _27e[id];el=null;return _27f;}}return false;};function _280(_281,_282){for(var _283 in _282){var _284=_282[_283];if(Object.isFunction(_284)&&!(_283 in _281)){_281[_283]=_284.methodize();}}};var _285=_27c("object");if(Prototype.BrowserFeatures.SpecificElementExtensions){if(_285){return function(_286){if(_286&&typeof _286._extendedByPrototype=="undefined"){var t=_286.tagName;if(t&&(/^(?:object|applet|embed)$/i.test(t))){_280(_286,Element.Methods);_280(_286,Element.Methods.Simulated);_280(_286,Element.Methods.ByTag[t.toUpperCase()]);}}return _286;};}return Prototype.K;}var _287={},_288=Element.Methods.ByTag;var _289=Object.extend(function(_28a){if(!_28a||typeof _28a._extendedByPrototype!="undefined"||_28a.nodeType!=1||_28a==window){return _28a;}var _28b=Object.clone(_287),_28c=_28a.tagName.toUpperCase();if(_288[_28c]){Object.extend(_28b,_288[_28c]);}_280(_28a,_28b);_28a._extendedByPrototype=Prototype.emptyFunction;return _28a;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(_287,Element.Methods);Object.extend(_287,Element.Methods.Simulated);}}});_289.refresh();return _289;})();Element.hasAttribute=function(_28d,_28e){if(_28d.hasAttribute){return _28d.hasAttribute(_28e);}return Element.Methods.Simulated.hasAttribute(_28d,_28e);};Element.addMethods=function(_28f){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!_28f){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 _290=_28f;_28f=arguments[1];}if(!_290){Object.extend(Element.Methods,_28f||{});}else{if(Object.isArray(_290)){_290.each(_291);}else{_291(_290);}}function _291(_292){_292=_292.toUpperCase();if(!Element.Methods.ByTag[_292]){Element.Methods.ByTag[_292]={};}Object.extend(Element.Methods.ByTag[_292],_28f);};function copy(_293,_294,_295){_295=_295||false;for(var _296 in _293){var _297=_293[_296];if(!Object.isFunction(_297)){continue;}if(!_295||!(_296 in _294)){_294[_296]=_297.methodize();}}};function _298(_299){var _29a;var _29b={"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(_29b[_299]){_29a="HTML"+_29b[_299]+"Element";}if(window[_29a]){return window[_29a];}_29a="HTML"+_299+"Element";if(window[_29a]){return window[_29a];}_29a="HTML"+_299.capitalize()+"Element";if(window[_29a]){return window[_29a];}var _29c=document.createElement(_299);var _29d=_29c["__proto__"]||_29c.constructor.prototype;_29c=null;return _29d;};var _29e=window.HTMLElement?HTMLElement.prototype:Element.prototype;if(F.ElementExtensions){copy(Element.Methods,_29e);copy(Element.Methods.Simulated,_29e,true);}if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var _29f=_298(tag);if(Object.isUndefined(_29f)){continue;}copy(T[tag],_29f.prototype);}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh();}Element.cache={};};document.viewport={getDimensions:function(){return {width:this.getWidth(),height:this.getHeight()};},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};(function(_2a0){var B=Prototype.Browser,doc=document,_2a1,_2a2={};function _2a3(){if(B.WebKit&&!doc.evaluate){return document;}if(B.Opera&&window.parseFloat(window.opera.version())<9.5){return document.body;}return document.documentElement;};function _2a4(D){if(!_2a1){_2a1=_2a3();}_2a2[D]="client"+D;_2a0["get"+D]=function(){return _2a1[_2a2[D]];};return _2a0["get"+D]();};_2a0.getWidth=_2a4.curry("Width");_2a0.getHeight=_2a4.curry("Height");})(document.viewport);Element.Storage={UID:1};Element.addMethods({getStorage:function(_2a5){if(!(_2a5=$(_2a5))){return;}var uid;if(_2a5===window){uid=0;}else{if(typeof _2a5._prototypeUID==="undefined"){_2a5._prototypeUID=[Element.Storage.UID++];}uid=_2a5._prototypeUID[0];}if(!Element.Storage[uid]){Element.Storage[uid]=$H();}return Element.Storage[uid];},store:function(_2a6,key,_2a7){if(!(_2a6=$(_2a6))){return;}if(arguments.length===2){Element.getStorage(_2a6).update(key);}else{Element.getStorage(_2a6).set(key,_2a7);}return _2a6;},retrieve:function(_2a8,key,_2a9){if(!(_2a8=$(_2a8))){return;}var hash=Element.getStorage(_2a8),_2aa=hash.get(key);if(Object.isUndefined(_2aa)){hash.set(key,_2a9);_2aa=_2a9;}return _2aa;},clone:function(_2ab,deep){if(!(_2ab=$(_2ab))){return;}var _2ac=_2ab.cloneNode(deep);_2ac._prototypeUID=void 0;if(deep){var _2ad=Element.select(_2ac,"*"),i=_2ad.length;while(i--){_2ad[i]._prototypeUID=void 0;}}return Element.extend(_2ac);}});var Selector=Class.create({initialize:function(_2ae){this.expression=_2ae.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI";}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher();}else{this.mode="normal";this.compileMatcher();}}},shouldUseXPath:(function(){var _2af=(function(){var _2b0=false;if(document.evaluate&&window.XPathResult){var el=document.createElement("div");el.innerHTML="<ul><li></li></ul><div><ul><li></li></ul></div>";var _2b1=".//*[local-name()='ul' or local-name()='UL']"+"//*[local-name()='li' or local-name()='LI']";var _2b2=document.evaluate(_2b1,el,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);_2b0=(_2b2.snapshotLength!==2);el=null;}return _2b0;})();return function(){if(!Prototype.BrowserFeatures.XPath){return false;}var e=this.expression;if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty"))){return false;}if((/(\[[\w-]*?:|:checked)/).test(e)){return false;}if(_2af){return false;}return true;};})(),shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false;}if(Selector.CASE_INSENSITIVE_CLASS_NAMES){return false;}if(!Selector._div){Selector._div=new Element("div");}try{Selector._div.querySelector(this.expression);}catch(e){return false;}return true;},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m,len=ps.length,name;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;}this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){this.matcher.push(Object.isFunction(c[name])?c[name](m):new Template(c[name]).evaluate(m));e=e.replace(m[0],"");break;}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m,len=ps.length,name;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;}this.matcher=[".//*"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){name=ps[i].name;if(m=e.match(ps[i].re)){this.matcher.push(Object.isFunction(x[name])?x[name](m):new Template(x[name]).evaluate(m));e=e.replace(m[0],"");break;}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;var e=this.expression,_2b3;switch(this.mode){case "selectorsAPI":if(root!==document){var _2b4=root.id,id=$(root).identify();id=id.replace(/([\.:])/g,"\\$1");e="#"+id+" "+e;}_2b3=$A(root.querySelectorAll(e)).map(Element.extend);root.id=_2b4;return _2b3;case "xpath":return document._getElementsByXPath(this.xpath,root);default:return this.matcher(root);}},match:function(_2b5){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m,len=ps.length,name;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){if(as[name]){this.tokens.push([name,Object.clone(m)]);e=e.replace(m[0],"");}else{return this.findElements(document).include(_2b5);}}}}var _2b6=true,name,_2b7;for(var i=0,_2b8;_2b8=this.tokens[i];i++){name=_2b8[0],_2b7=_2b8[1];if(!Selector.assertions[name](_2b5,_2b7)){_2b6=false;break;}}return _2b6;},toString:function(){return this.expression;},inspect:function(){return "#<Selector:"+this.expression.inspect()+">";}});if(Prototype.BrowserFeatures.SelectorsAPI&&document.compatMode==="BackCompat"){Selector.CASE_INSENSITIVE_CLASS_NAMES=(function(){var div=document.createElement("div"),span=document.createElement("span");div.id="prototype_test_id";span.className="Test";div.appendChild(span);var _2b9=(div.querySelector("#prototype_test_id .test")!==null);div=span=null;return _2b9;})();}Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(m){if(m[1]=="*"){return "";}return "[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m);},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h){return "";}if(Object.isFunction(h)){return h(m);}return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]","empty":"[count(*) = 0 and (count(text()) = 0)]","checked":"[@checked]","disabled":"[(@disabled) and (@type!='hidden')]","enabled":"[not(@disabled) and (@type!='hidden')]","not":function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v,len=p.length,name;var _2ba=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){name=p[i].name;if(m=e.match(p[i].re)){v=Object.isFunction(x[name])?x[name](m):new Template(x[name]).evaluate(m);_2ba.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],"");break;}}}return "[not("+_2ba.join(" and ")+")]";},"nth-child":function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},"nth-last-child":function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},"nth-of-type":function(m){return Selector.xpath.pseudos.nth("position() ",m);},"nth-last-of-type":function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},"first-of-type":function(m){m[6]="1";return Selector.xpath.pseudos["nth-of-type"](m);},"last-of-type":function(m){m[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](m);},"only-of-type":function(m){var p=Selector.xpath.pseudos;return p["first-of-type"](m)+p["last-of-type"](m);},nth:function(_2bb,m){var mm,_2bc=m[6],_2bd;if(_2bc=="even"){_2bc="2n+0";}if(_2bc=="odd"){_2bc="2n+1";}if(mm=_2bc.match(/^(\d+)$/)){return "["+_2bb+"= "+mm[1]+"]";}if(mm=_2bc.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-"){mm[1]=-1;}var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;_2bd="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(_2bd).evaluate({fragment:_2bb,a:a,b:b});}}}},criteria:{tagName:"n = h.tagName(n, r, \"#{1}\", c);      c = false;",className:"n = h.className(n, r, \"#{1}\", c);    c = false;",id:"n = h.id(n, r, \"#{1}\", c);           c = false;",attrPresence:"n = h.attrPresence(n, r, \"#{1}\", c); c = false;",attr:function(m){m[3]=(m[5]||m[6]);return new Template("n = h.attr(n, r, \"#{1}\", \"#{3}\", \"#{2}\", c); c = false;").evaluate(m);},pseudo:function(m){if(m[6]){m[6]=m[6].replace(/"/g,"\\\"");}return new Template("n = h.pseudo(n, \"#{1}\", \"#{6}\", r, c); c = false;").evaluate(m);},descendant:"c = \"descendant\";",child:"c = \"child\";",adjacent:"c = \"adjacent\";",laterSibling:"c = \"laterSibling\";"},patterns:[{name:"laterSibling",re:/^\s*~\s*/},{name:"child",re:/^\s*>\s*/},{name:"adjacent",re:/^\s*\+\s*/},{name:"descendant",re:/^\s/},{name:"tagName",re:/^\s*(\*|[\w\-]+)(\b|$)?/},{name:"id",re:/^#([\w\-\*]+)(\b|$)/},{name:"className",re:/^\.([\w\-\*]+)(\b|$)/},{name:"pseudo",re:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/},{name:"attrPresence",re:/^\[((?:[\w-]+:)?[\w-]+)\]/},{name:"attr",re:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/}],assertions:{tagName:function(_2be,_2bf){return _2bf[1].toUpperCase()==_2be.tagName.toUpperCase();},className:function(_2c0,_2c1){return Element.hasClassName(_2c0,_2c1[1]);},id:function(_2c2,_2c3){return _2c2.id===_2c3[1];},attrPresence:function(_2c4,_2c5){return Element.hasAttribute(_2c4,_2c5[1]);},attr:function(_2c6,_2c7){var _2c8=Element.readAttribute(_2c6,_2c7[1]);return _2c8&&Selector.operators[_2c7[2]](_2c8,_2c7[5]||_2c7[6]);}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++){a.push(node);}return a;},mark:function(_2c9){var _2ca=Prototype.emptyFunction;for(var i=0,node;node=_2c9[i];i++){node._countedByPrototype=_2ca;}return _2c9;},unmark:(function(){var _2cb=(function(){var el=document.createElement("div"),_2cc=false,_2cd="_countedByPrototype",_2ce="x";el[_2cd]=_2ce;_2cc=(el.getAttribute(_2cd)===_2ce);el=null;return _2cc;})();return _2cb?function(_2cf){for(var i=0,node;node=_2cf[i];i++){node.removeAttribute("_countedByPrototype");}return _2cf;}:function(_2d0){for(var i=0,node;node=_2d0[i];i++){node._countedByPrototype=void 0;}return _2d0;};})(),index:function(_2d1,_2d2,_2d3){_2d1._countedByPrototype=Prototype.emptyFunction;if(_2d2){for(var _2d4=_2d1.childNodes,i=_2d4.length-1,j=1;i>=0;i--){var node=_2d4[i];if(node.nodeType==1&&(!_2d3||node._countedByPrototype)){node.nodeIndex=j++;}}}else{for(var i=0,j=1,_2d4=_2d1.childNodes;node=_2d4[i];i++){if(node.nodeType==1&&(!_2d3||node._countedByPrototype)){node.nodeIndex=j++;}}}},unique:function(_2d5){if(_2d5.length==0){return _2d5;}var _2d6=[],n;for(var i=0,l=_2d5.length;i<l;i++){if(typeof (n=_2d5[i])._countedByPrototype=="undefined"){n._countedByPrototype=Prototype.emptyFunction;_2d6.push(Element.extend(n));}}return Selector.handlers.unmark(_2d6);},descendant:function(_2d7){var h=Selector.handlers;for(var i=0,_2d8=[],node;node=_2d7[i];i++){h.concat(_2d8,node.getElementsByTagName("*"));}return _2d8;},child:function(_2d9){var h=Selector.handlers;for(var i=0,_2da=[],node;node=_2d9[i];i++){for(var j=0,_2db;_2db=node.childNodes[j];j++){if(_2db.nodeType==1&&_2db.tagName!="!"){_2da.push(_2db);}}}return _2da;},adjacent:function(_2dc){for(var i=0,_2dd=[],node;node=_2dc[i];i++){var next=this.nextElementSibling(node);if(next){_2dd.push(next);}}return _2dd;},laterSibling:function(_2de){var h=Selector.handlers;for(var i=0,_2df=[],node;node=_2de[i];i++){h.concat(_2df,Element.nextSiblings(node));}return _2df;},nextElementSibling:function(node){while(node=node.nextSibling){if(node.nodeType==1){return node;}}return null;},previousElementSibling:function(node){while(node=node.previousSibling){if(node.nodeType==1){return node;}}return null;},tagName:function(_2e0,root,_2e1,_2e2){var _2e3=_2e1.toUpperCase();var _2e4=[],h=Selector.handlers;if(_2e0){if(_2e2){if(_2e2=="descendant"){for(var i=0,node;node=_2e0[i];i++){h.concat(_2e4,node.getElementsByTagName(_2e1));}return _2e4;}else{_2e0=this[_2e2](_2e0);}if(_2e1=="*"){return _2e0;}}for(var i=0,node;node=_2e0[i];i++){if(node.tagName.toUpperCase()===_2e3){_2e4.push(node);}}return _2e4;}else{return root.getElementsByTagName(_2e1);}},id:function(_2e5,root,id,_2e6){var _2e7=$(id),h=Selector.handlers;if(root==document){if(!_2e7){return [];}if(!_2e5){return [_2e7];}}else{if(!root.sourceIndex||root.sourceIndex<1){var _2e5=root.getElementsByTagName("*");for(var j=0,node;node=_2e5[j];j++){if(node.id===id){return [node];}}}}if(_2e5){if(_2e6){if(_2e6=="child"){for(var i=0,node;node=_2e5[i];i++){if(_2e7.parentNode==node){return [_2e7];}}}else{if(_2e6=="descendant"){for(var i=0,node;node=_2e5[i];i++){if(Element.descendantOf(_2e7,node)){return [_2e7];}}}else{if(_2e6=="adjacent"){for(var i=0,node;node=_2e5[i];i++){if(Selector.handlers.previousElementSibling(_2e7)==node){return [_2e7];}}}else{_2e5=h[_2e6](_2e5);}}}}for(var i=0,node;node=_2e5[i];i++){if(node==_2e7){return [_2e7];}}return [];}return (_2e7&&Element.descendantOf(_2e7,root))?[_2e7]:[];},className:function(_2e8,root,_2e9,_2ea){if(_2e8&&_2ea){_2e8=this[_2ea](_2e8);}return Selector.handlers.byClassName(_2e8,root,_2e9);},byClassName:function(_2eb,root,_2ec){if(!_2eb){_2eb=Selector.handlers.descendant([root]);}var _2ed=" "+_2ec+" ";for(var i=0,_2ee=[],node,_2ef;node=_2eb[i];i++){_2ef=node.className;if(_2ef.length==0){continue;}if(_2ef==_2ec||(" "+_2ef+" ").include(_2ed)){_2ee.push(node);}}return _2ee;},attrPresence:function(_2f0,root,attr,_2f1){if(!_2f0){_2f0=root.getElementsByTagName("*");}if(_2f0&&_2f1){_2f0=this[_2f1](_2f0);}var _2f2=[];for(var i=0,node;node=_2f0[i];i++){if(Element.hasAttribute(node,attr)){_2f2.push(node);}}return _2f2;},attr:function(_2f3,root,attr,_2f4,_2f5,_2f6){if(!_2f3){_2f3=root.getElementsByTagName("*");}if(_2f3&&_2f6){_2f3=this[_2f6](_2f3);}var _2f7=Selector.operators[_2f5],_2f8=[];for(var i=0,node;node=_2f3[i];i++){var _2f9=Element.readAttribute(node,attr);if(_2f9===null){continue;}if(_2f7(_2f9,_2f4)){_2f8.push(node);}}return _2f8;},pseudo:function(_2fa,name,_2fb,root,_2fc){if(_2fa&&_2fc){_2fa=this[_2fc](_2fa);}if(!_2fa){_2fa=root.getElementsByTagName("*");}return Selector.pseudos[name](_2fa,_2fb,root);}},pseudos:{"first-child":function(_2fd,_2fe,root){for(var i=0,_2ff=[],node;node=_2fd[i];i++){if(Selector.handlers.previousElementSibling(node)){continue;}_2ff.push(node);}return _2ff;},"last-child":function(_300,_301,root){for(var i=0,_302=[],node;node=_300[i];i++){if(Selector.handlers.nextElementSibling(node)){continue;}_302.push(node);}return _302;},"only-child":function(_303,_304,root){var h=Selector.handlers;for(var i=0,_305=[],node;node=_303[i];i++){if(!h.previousElementSibling(node)&&!h.nextElementSibling(node)){_305.push(node);}}return _305;},"nth-child":function(_306,_307,root){return Selector.pseudos.nth(_306,_307,root);},"nth-last-child":function(_308,_309,root){return Selector.pseudos.nth(_308,_309,root,true);},"nth-of-type":function(_30a,_30b,root){return Selector.pseudos.nth(_30a,_30b,root,false,true);},"nth-last-of-type":function(_30c,_30d,root){return Selector.pseudos.nth(_30c,_30d,root,true,true);},"first-of-type":function(_30e,_30f,root){return Selector.pseudos.nth(_30e,"1",root,false,true);},"last-of-type":function(_310,_311,root){return Selector.pseudos.nth(_310,"1",root,true,true);},"only-of-type":function(_312,_313,root){var p=Selector.pseudos;return p["last-of-type"](p["first-of-type"](_312,_313,root),_313,root);},getIndices:function(a,b,_314){if(a==0){return b>0?[b]:[];}return $R(1,_314).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0){memo.push(i);}return memo;});},nth:function(_315,_316,root,_317,_318){if(_315.length==0){return [];}if(_316=="even"){_316="2n+0";}if(_316=="odd"){_316="2n+1";}var h=Selector.handlers,_319=[],_31a=[],m;h.mark(_315);for(var i=0,node;node=_315[i];i++){if(!node.parentNode._countedByPrototype){h.index(node.parentNode,_317,_318);_31a.push(node.parentNode);}}if(_316.match(/^\d+$/)){_316=Number(_316);for(var i=0,node;node=_315[i];i++){if(node.nodeIndex==_316){_319.push(node);}}}else{if(m=_316.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-"){m[1]=-1;}var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var _31b=Selector.pseudos.getIndices(a,b,_315.length);for(var i=0,node,l=_31b.length;node=_315[i];i++){for(var j=0;j<l;j++){if(node.nodeIndex==_31b[j]){_319.push(node);}}}}}h.unmark(_315);h.unmark(_31a);return _319;},"empty":function(_31c,_31d,root){for(var i=0,_31e=[],node;node=_31c[i];i++){if(node.tagName=="!"||node.firstChild){continue;}_31e.push(node);}return _31e;},"not":function(_31f,_320,root){var h=Selector.handlers,_321,m;var _322=new Selector(_320).findElements(root);h.mark(_322);for(var i=0,_323=[],node;node=_31f[i];i++){if(!node._countedByPrototype){_323.push(node);}}h.unmark(_322);return _323;},"enabled":function(_324,_325,root){for(var i=0,_326=[],node;node=_324[i];i++){if(!node.disabled&&(!node.type||node.type!=="hidden")){_326.push(node);}}return _326;},"disabled":function(_327,_328,root){for(var i=0,_329=[],node;node=_327[i];i++){if(node.disabled){_329.push(node);}}return _329;},"checked":function(_32a,_32b,root){for(var i=0,_32c=[],node;node=_32a[i];i++){if(node.checked){_32c.push(node);}}return _32c;}},operators:{"=":function(nv,v){return nv==v;},"!=":function(nv,v){return nv!=v;},"^=":function(nv,v){return nv==v||nv&&nv.startsWith(v);},"$=":function(nv,v){return nv==v||nv&&nv.endsWith(v);},"*=":function(nv,v){return nv==v||nv&&nv.include(v);},"~=":function(nv,v){return (" "+nv+" ").include(" "+v+" ");},"|=":function(nv,v){return ("-"+(nv||"").toUpperCase()+"-").include("-"+(v||"").toUpperCase()+"-");}},split:function(_32d){var _32e=[];_32d.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){_32e.push(m[1].strip());});return _32e;},matchElements:function(_32f,_330){var _331=$$(_330),h=Selector.handlers;h.mark(_331);for(var i=0,_332=[],_333;_333=_32f[i];i++){if(_333._countedByPrototype){_332.push(_333);}}h.unmark(_331);return _332;},findElement:function(_334,_335,_336){if(Object.isNumber(_335)){_336=_335;_335=false;}return Selector.matchElements(_334,_335||"*")[_336||0];},findChildElements:function(_337,_338){_338=Selector.split(_338.join(","));var _339=[],h=Selector.handlers;for(var i=0,l=_338.length,_33a;i<l;i++){_33a=new Selector(_338[i].strip());h.concat(_339,_33a.findElements(_337));}return (l>1)?h.unique(_339):_339;}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++){if(node.tagName!=="!"){a.push(node);}}return a;}});}function $$(){return Selector.findChildElements(document,$A(arguments));};var Form={reset:function(form){form=$(form);form.reset();return form;},serializeElements:function(_33b,_33c){if(typeof _33c!="object"){_33c={hash:!!_33c};}else{if(Object.isUndefined(_33c.hash)){_33c.hash=true;}}var key,_33d,_33e=false,_33f=_33c.submit;var data=_33b.inject({},function(_340,_341){if(!_341.disabled&&_341.name){key=_341.name;_33d=$(_341).getValue();if(_33d!=null&&_341.type!="file"&&(_341.type!="submit"||(!_33e&&_33f!==false&&(!_33f||key==_33f)&&(_33e=true)))){if(key in _340){if(!Object.isArray(_340[key])){_340[key]=[_340[key]];}_340[key].push(_33d);}else{_340[key]=_33d;}}}return _340;});return _33c.hash?data:Object.toQueryString(data);}};Form.Methods={serialize:function(form,_342){return Form.serializeElements(Form.getElements(form),_342);},getElements:function(form){var _343=$(form).getElementsByTagName("*"),_344,arr=[],_345=Form.Element.Serializers;for(var i=0;_344=_343[i];i++){arr.push(_344);}return arr.inject([],function(_346,_347){if(_345[_347.tagName.toLowerCase()]){_346.push(Element.extend(_347));}return _346;});},getInputs:function(form,_348,name){form=$(form);var _349=form.getElementsByTagName("input");if(!_348&&!name){return $A(_349).map(Element.extend);}for(var i=0,_34a=[],_34b=_349.length;i<_34b;i++){var _34c=_349[i];if((_348&&_34c.type!=_348)||(name&&_34c.name!=name)){continue;}_34a.push(Element.extend(_34c));}return _34a;},disable:function(form){form=$(form);Form.getElements(form).invoke("disable");return form;},enable:function(form){form=$(form);Form.getElements(form).invoke("enable");return form;},findFirstElement:function(form){var _34d=$(form).getElements().findAll(function(_34e){return "hidden"!=_34e.type&&!_34e.disabled;});var _34f=_34d.findAll(function(_350){return _350.hasAttribute("tabIndex")&&_350.tabIndex>=0;}).sortBy(function(_351){return _351.tabIndex;}).first();return _34f?_34f:_34d.find(function(_352){return /^(?:input|select|textarea)$/i.test(_352.tagName);});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,_353){form=$(form),_353=Object.clone(_353||{});var _354=_353.parameters,_355=form.readAttribute("action")||"";if(_355.blank()){_355=window.location.href;}_353.parameters=form.serialize(true);if(_354){if(Object.isString(_354)){_354=_354.toQueryParams();}Object.extend(_353.parameters,_354);}if(form.hasAttribute("method")&&!_353.method){_353.method=form.method;}return new Ajax.Request(_355,_353);}};Form.Element={focus:function(_356){$(_356).focus();return _356;},select:function(_357){$(_357).select();return _357;}};Form.Element.Methods={serialize:function(_358){_358=$(_358);if(!_358.disabled&&_358.name){var _359=_358.getValue();if(_359!=undefined){var pair={};pair[_358.name]=_359;return Object.toQueryString(pair);}}return "";},getValue:function(_35a){_35a=$(_35a);var _35b=_35a.tagName.toLowerCase();return Form.Element.Serializers[_35b](_35a);},setValue:function(_35c,_35d){_35c=$(_35c);var _35e=_35c.tagName.toLowerCase();Form.Element.Serializers[_35e](_35c,_35d);return _35c;},clear:function(_35f){$(_35f).value="";return _35f;},present:function(_360){return $(_360).value!="";},activate:function(_361){_361=$(_361);try{_361.focus();if(_361.select&&(_361.tagName.toLowerCase()!="input"||!(/^(?:button|reset|submit)$/i.test(_361.type)))){_361.select();}}catch(e){}return _361;},disable:function(_362){_362=$(_362);_362.disabled=true;return _362;},enable:function(_363){_363=$(_363);_363.disabled=false;return _363;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(_364,_365){switch(_364.type.toLowerCase()){case "checkbox":case "radio":return Form.Element.Serializers.inputSelector(_364,_365);default:return Form.Element.Serializers.textarea(_364,_365);}},inputSelector:function(_366,_367){if(Object.isUndefined(_367)){return _366.checked?_366.value:null;}else{_366.checked=!!_367;}},textarea:function(_368,_369){if(Object.isUndefined(_369)){return _368.value;}else{_368.value=_369;}},select:function(_36a,_36b){if(Object.isUndefined(_36b)){return this[_36a.type=="select-one"?"selectOne":"selectMany"](_36a);}else{var opt,_36c,_36d=!Object.isArray(_36b);for(var i=0,_36e=_36a.length;i<_36e;i++){opt=_36a.options[i];_36c=this.optionValue(opt);if(_36d){if(_36c==_36b){opt.selected=true;return;}}else{opt.selected=_36b.include(_36c);}}}},selectOne:function(_36f){var _370=_36f.selectedIndex;return _370>=0?this.optionValue(_36f.options[_370]):null;},selectMany:function(_371){var _372,_373=_371.length;if(!_373){return null;}for(var i=0,_372=[];i<_373;i++){var opt=_371.options[i];if(opt.selected){_372.push(this.optionValue(opt));}}return _372;},optionValue:function(opt){return Element.extend(opt).hasAttribute("value")?opt.value:opt.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function(_374,_375,_376,_377){_374(_377,_376);this.element=$(_375);this.lastValue=this.getValue();},execute:function(){var _378=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(_378)?this.lastValue!=_378:String(this.lastValue)!=String(_378)){this.callback(this.element,_378);this.lastValue=_378;}}});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(_379,_37a){this.element=$(_379);this.callback=_37a;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks();}else{this.registerCallback(this.element);}},onElementEvent:function(){var _37b=this.getValue();if(this.lastValue!=_37b){this.callback(this.element,_37b);this.lastValue=_37b;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(_37c){if(_37c.type){switch(_37c.type.toLowerCase()){case "checkbox":case "radio":Event.observe(_37c,"click",this.onElementEvent.bind(this));break;default:Event.observe(_37c,"change",this.onElementEvent.bind(this));break;}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element);}});(function(){var _37d={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{}};var _37e=document.documentElement;var _37f="onmouseenter" in _37e&&"onmouseleave" in _37e;var _380;if(Prototype.Browser.IE){var _381={0:1,1:4,2:2};_380=function(_382,code){return _382.button===_381[code];};}else{if(Prototype.Browser.WebKit){_380=function(_383,code){switch(code){case 0:return _383.which==1&&!_383.metaKey;case 1:return _383.which==1&&_383.metaKey;default:return false;}};}else{_380=function(_384,code){return _384.which?(_384.which===code+1):(_384.button===code);};}}function _385(_386){return _380(_386,0);};function _387(_388){return _380(_388,1);};function _389(_38a){return _380(_38a,2);};function _38b(_38c){_38c=_37d.extend(_38c);var node=_38c.target,type=_38c.type,_38d=_38c.currentTarget;if(_38d&&_38d.tagName){if(type==="load"||type==="error"||(type==="click"&&_38d.tagName.toLowerCase()==="input"&&_38d.type==="radio")){node=_38d;}}if(node.nodeType==Node.TEXT_NODE){node=node.parentNode;}return Element.extend(node);};function _38e(_38f,_390){var _391=_37d.element(_38f);if(!_390){return _391;}var _392=[_391].concat(_391.ancestors());return Selector.findElement(_392,_390,0);};function _393(_394){return {x:_395(_394),y:_396(_394)};};function _395(_397){var _398=document.documentElement,body=document.body||{scrollLeft:0};return _397.pageX||(_397.clientX+(_398.scrollLeft||body.scrollLeft)-(_398.clientLeft||0));};function _396(_399){var _39a=document.documentElement,body=document.body||{scrollTop:0};return _399.pageY||(_399.clientY+(_39a.scrollTop||body.scrollTop)-(_39a.clientTop||0));};function stop(_39b){_37d.extend(_39b);_39b.preventDefault();_39b.stopPropagation();_39b.stopped=true;};_37d.Methods={isLeftClick:_385,isMiddleClick:_387,isRightClick:_389,element:_38b,findElement:_38e,pointer:_393,pointerX:_395,pointerY:_396,stop:stop};var _39c=Object.keys(_37d.Methods).inject({},function(m,name){m[name]=_37d.Methods[name].methodize();return m;});if(Prototype.Browser.IE){function _39d(_39e){var _39f;switch(_39e.type){case "mouseover":_39f=_39e.fromElement;break;case "mouseout":_39f=_39e.toElement;break;default:return null;}return Element.extend(_39f);};Object.extend(_39c,{stopPropagation:function(){this.cancelBubble=true;},preventDefault:function(){this.returnValue=false;},inspect:function(){return "[object Event]";}});_37d.extend=function(_3a0,_3a1){if(!_3a0){return false;}if(_3a0._extendedByPrototype){return _3a0;}_3a0._extendedByPrototype=Prototype.emptyFunction;var _3a2=_37d.pointer(_3a0);Object.extend(_3a0,{target:_3a0.srcElement||_3a1,relatedTarget:_39d(_3a0),pageX:_3a2.x,pageY:_3a2.y});return Object.extend(_3a0,_39c);};}else{_37d.prototype=window.Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(_37d.prototype,_39c);_37d.extend=Prototype.K;}function _3a3(_3a4,_3a5,_3a6){var _3a7=Element.retrieve(_3a4,"prototype_event_registry");if(Object.isUndefined(_3a7)){_3a8.push(_3a4);_3a7=Element.retrieve(_3a4,"prototype_event_registry",$H());}var _3a9=_3a7.get(_3a5);if(Object.isUndefined(_3a9)){_3a9=[];_3a7.set(_3a5,_3a9);}if(_3a9.pluck("handler").include(_3a6)){return false;}var _3aa;if(_3a5.include(":")){_3aa=function(_3ab){if(Object.isUndefined(_3ab.eventName)){return false;}if(_3ab.eventName!==_3a5){return false;}_37d.extend(_3ab,_3a4);_3a6.call(_3a4,_3ab);};}else{if(!_37f&&(_3a5==="mouseenter"||_3a5==="mouseleave")){if(_3a5==="mouseenter"||_3a5==="mouseleave"){_3aa=function(_3ac){_37d.extend(_3ac,_3a4);var _3ad=_3ac.relatedTarget;while(_3ad&&_3ad!==_3a4){try{_3ad=_3ad.parentNode;}catch(e){_3ad=_3a4;}}if(_3ad===_3a4){return;}_3a6.call(_3a4,_3ac);};}}else{_3aa=function(_3ae){_37d.extend(_3ae,_3a4);_3a6.call(_3a4,_3ae);};}}_3aa.handler=_3a6;_3a9.push(_3aa);return _3aa;};function _3af(){for(var i=0,_3b0=_3a8.length;i<_3b0;i++){_37d.stopObserving(_3a8[i]);_3a8[i]=null;}};var _3a8=[];if(Prototype.Browser.IE){window.attachEvent("onunload",_3af);}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false);}var _3b1=Prototype.K;if(!_37f){_3b1=function(_3b2){var _3b3={mouseenter:"mouseover",mouseleave:"mouseout"};return _3b2 in _3b3?_3b3[_3b2]:_3b2;};}function _3b4(_3b5,_3b6,_3b7){_3b5=$(_3b5);var _3b8=_3a3(_3b5,_3b6,_3b7);if(!_3b8){return _3b5;}if(_3b6.include(":")){if(_3b5.addEventListener){_3b5.addEventListener("dataavailable",_3b8,false);}else{_3b5.attachEvent("ondataavailable",_3b8);_3b5.attachEvent("onfilterchange",_3b8);}}else{var _3b9=_3b1(_3b6);if(_3b5.addEventListener){_3b5.addEventListener(_3b9,_3b8,false);}else{_3b5.attachEvent("on"+_3b9,_3b8);}}return _3b5;};function _3ba(_3bb,_3bc,_3bd){_3bb=$(_3bb);var _3be=Element.retrieve(_3bb,"prototype_event_registry");if(Object.isUndefined(_3be)){return _3bb;}if(_3bc&&!_3bd){var _3bf=_3be.get(_3bc);if(Object.isUndefined(_3bf)){return _3bb;}_3bf.each(function(r){Element.stopObserving(_3bb,_3bc,r.handler);});return _3bb;}else{if(!_3bc){_3be.each(function(pair){var _3c0=pair.key,_3bf=pair.value;_3bf.each(function(r){Element.stopObserving(_3bb,_3c0,r.handler);});});return _3bb;}}var _3bf=_3be.get(_3bc);if(!_3bf){return;}var _3c1=_3bf.find(function(r){return r.handler===_3bd;});if(!_3c1){return _3bb;}var _3c2=_3b1(_3bc);if(_3bc.include(":")){if(_3bb.removeEventListener){_3bb.removeEventListener("dataavailable",_3c1,false);}else{_3bb.detachEvent("ondataavailable",_3c1);_3bb.detachEvent("onfilterchange",_3c1);}}else{if(_3bb.removeEventListener){_3bb.removeEventListener(_3c2,_3c1,false);}else{_3bb.detachEvent("on"+_3c2,_3c1);}}_3be.set(_3bc,_3bf.without(_3c1));return _3bb;};function fire(_3c3,_3c4,memo,_3c5){_3c3=$(_3c3);if(Object.isUndefined(_3c5)){_3c5=true;}if(_3c3==document&&document.createEvent&&!_3c3.dispatchEvent){_3c3=document.documentElement;}var _3c6;if(document.createEvent){_3c6=document.createEvent("HTMLEvents");_3c6.initEvent("dataavailable",true,true);}else{_3c6=document.createEventObject();_3c6.eventType=_3c5?"ondataavailable":"onfilterchange";}_3c6.eventName=_3c4;_3c6.memo=memo||{};if(document.createEvent){_3c3.dispatchEvent(_3c6);}else{_3c3.fireEvent(_3c6.eventType,_3c6);}return _37d.extend(_3c6);};Object.extend(_37d,_37d.Methods);Object.extend(_37d,{fire:fire,observe:_3b4,stopObserving:_3ba});Element.addMethods({fire:fire,observe:_3b4,stopObserving:_3ba});Object.extend(document,{fire:fire.methodize(),observe:_3b4.methodize(),stopObserving:_3ba.methodize(),loaded:false});if(window.Event){Object.extend(window.Event,_37d);}else{window.Event=_37d;}})();(function(){var _3c7;function _3c8(){if(document.loaded){return;}if(_3c7){window.clearTimeout(_3c7);}document.loaded=true;document.fire("dom:loaded");};function _3c9(){if(document.readyState==="complete"){document.stopObserving("readystatechange",_3c9);_3c8();}};function _3ca(){try{document.documentElement.doScroll("left");}catch(e){_3c7=_3ca.defer();return;}_3c8();};if(document.addEventListener){document.addEventListener("DOMContentLoaded",_3c8,false);}else{document.observe("readystatechange",_3c9);if(window==top){_3c7=_3ca.defer();}}Event.observe(window,"load",_3c8);})();Element.addMethods();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(_3cb,_3cc){return Element.insert(_3cb,{before:_3cc});},Top:function(_3cd,_3ce){return Element.insert(_3cd,{top:_3ce});},Bottom:function(_3cf,_3d0){return Element.insert(_3cf,{bottom:_3d0});},After:function(_3d1,_3d2){return Element.insert(_3d1,{after:_3d2});}};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(_3d3,x,y){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(_3d3,x,y);}this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(_3d3);return (y>=this.offset[1]&&y<this.offset[1]+_3d3.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+_3d3.offsetWidth);},withinIncludingScrolloffsets:function(_3d4,x,y){var _3d5=Element.cumulativeScrollOffset(_3d4);this.xcomp=x+_3d5[0]-this.deltaX;this.ycomp=y+_3d5[1]-this.deltaY;this.offset=Element.cumulativeOffset(_3d4);return (this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+_3d4.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+_3d4.offsetWidth);},overlap:function(mode,_3d6){if(!mode){return 0;}if(mode=="vertical"){return ((this.offset[1]+_3d6.offsetHeight)-this.ycomp)/_3d6.offsetHeight;}if(mode=="horizontal"){return ((this.offset[0]+_3d6.offsetWidth)-this.xcomp)/_3d6.offsetWidth;}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(_3d7){Position.prepare();return Element.absolutize(_3d7);},relativize:function(_3d8){Position.prepare();return Element.relativize(_3d8);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(_3d9,_3da,_3db){_3db=_3db||{};return Element.clonePosition(_3da,_3d9,_3db);}};if(!document.getElementsByClassName){document.getElementsByClassName=function(_3dc){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]";};_3dc.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(_3dd,_3de){_3de=_3de.toString().strip();var cond=/\s/.test(_3de)?$w(_3de).map(iter).join(""):iter(_3de);return cond?document._getElementsByXPath(".//*"+cond,_3dd):[];}:function(_3df,_3e0){_3e0=_3e0.toString().strip();var _3e1=[],_3e2=(/\s/.test(_3e0)?$w(_3e0):null);if(!_3e2&&!_3e0){return _3e1;}var _3e3=$(_3df).getElementsByTagName("*");_3e0=" "+_3e0+" ";for(var i=0,_3e4,cn;_3e4=_3e3[i];i++){if(_3e4.className&&(cn=" "+_3e4.className+" ")&&(cn.include(_3e0)||(_3e2&&_3e2.all(function(name){return !name.toString().blank()&&cn.include(" "+name+" ");})))){_3e1.push(Element.extend(_3e4));}}return _3e1;};return function(_3e5,_3e6){return $(_3e6||document.body).getElementsByClassName(_3e5);};}(Element.Methods);}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(_3e7){this.element=$(_3e7);},_each:function(_3e8){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(_3e8);},set:function(_3e9){this.element.className=_3e9;},add:function(_3ea){if(this.include(_3ea)){return;}this.set($A(this).concat(_3ea).join(" "));},remove:function(_3eb){if(!this.include(_3eb)){return;}this.set($A(this).without(_3eb).join(" "));},toString:function(){return $A(this).join(" ");}};Object.extend(Element.ClassNames.prototype,Enumerable);

/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> released under the MIT License */
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();

// Switch image
function switchImage(imgName, imgSrc) { if (document.images) {
if (imgSrc != "none") { document.images[imgName].src = imgSrc; } } 
}
//-->

// Open script
function openWindow(theURL,winName,features) { //v2.0
   window.open(theURL,winName,features);
}
//-->

// Close script
function closeWindow() {
window.close();
 }
//-->

// Fake script
function fake() { //v1.0
}
//-->

// Rollover script
function swapImgRestore() { //v3.0
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); return x;
}

function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->

// Hide-Show layers script
function Showtime() { //v9.0
 var i,p,v,obj,args=Showtime.arguments;
 for (i=0; i<(args.length-2); i+=3) 
 with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
  if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
  obj.visibility=v; }
}
//-->

// DIV goto script
function Jumpbox() { //v3.0
  var i, args=Jumpbox.arguments; document.Back_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->

	/* popup class (C) 2008 icomplete.com */
	function popup()
	{		
		var cursorX;
		var cursorY;
		var showing = false;
		var ctext = '';
		var popupTimeout = -1;
		
		this.init = function()
		{		
			document.body.onmousemove = function(e) 
			{
				if (!e) var e = window.event;
				cursorX = e.clientX;
				cursorY = e.clientY+20;

				//var scrollx, scrolly;
				
				var scrollx = 0;
				var scrolly = 0;
				if( typeof( window.pageYOffset ) == 'number' )
				{
					//Netscape compliant
					scrollx = window.pageXOffset;
					scrolly = window.pageYOffset;
				}
				else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
				{
					//DOM compliant
					scrolly = document.body.scrollTop;
					scrollx = document.body.scrollLeft;
				} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
				{
					//IE6 standards compliant mode
					scrolly = document.documentElement.scrollTop;
					scrollx = document.documentElement.scrollLeft;
				}		
				
				cursorX += scrollx;
				cursorY += scrolly;
				
				if (showing!==false)
				{
					ws = wndSize();
					ws.x -= 20;	
				
					if (showing.showRight)
						xpos = cursorX;	
					else
						xpos = cursorX - 250;
						
						
					showing.style.left = xpos+"px";
					showing.style.top = cursorY+"px";
					
					if (xpos + showing.offsetWidth > ws.x)
						showing.style.left = ws.x-showing.offsetWidth+"px";
				}
			}
		}

		this.showDelayed = function(title, text, delay, opts)
		{
			var title_ = title;
			var text_ = text;
			var delay_ = delay;
			var opts_ = opts;
			var class_ = this;
			var fo = function()
			{
				class_.show(title_, text_, opts_);
				
				
			}
			if (popupTimeout != -1)
			{
				window.clearTimeout(popupTimeout);
				popupTimeout = -1;
			}
			
			popupTimeout = window.setTimeout(fo, delay*1000);
			
			
		}
		
		this.show = function(title, text, opts)
		{
			if (!opts)
				opts = [];
				
			if (!opts.popupclass)
				opts.popupclass = 'jspopup';
			
			this.animStop();
			
			if (ctext == (title+text))
				return;
			else
				this.hide();
			
			ctext = title+text;
			
			try
			{
				var pdiv = document.createElement('div');
				pdiv.className = opts.popupclass;				
				
				if (opts && opts.showRight)
				{
					pdiv.style.left = cursorX+"px";		
					pdiv.showRight = true;
				}
				else
				{
					pdiv.style.left = (cursorX-250)+"px";		
					pdiv.showRight = false;
				}
					
				pdiv.style.top = cursorY+"px";

				var bolder = document.createElement('b');
				bolder.appendChild(document.createTextNode(title));
				pdiv.appendChild(bolder);
				pdiv.appendChild(document.createTextNode(text));
	
				
				/*document.body.appendChild(pdiv);*/
				// IE FIX
				document.getElementById('popupcontainer541').appendChild(pdiv);
				showing = pdiv;				
			}
			catch (e)
			{

			}
		}

		this.hide = function() {
			if (popupTimeout != -1) {
				window.clearTimeout(popupTimeout)
				popupTimeout = -1;
			}
			
			if (showing === false)
				return;
	
			showing.parentNode.removeChild(showing);
			showing = false;
			ctext = '';

		}

		this.hideDelayed = function(wait)
		{
			if (popupTimeout != -1)
			{
				window.clearTimeout(popupTimeout);
				popupTimeout = -1;
			}
			
			if (showing === false)
				return;

			/* prepare fade out function closure */
			function animate(t)
			{
				if (t.anim.stop)
				{
					return;
				}
				
				if (t.anim.wait > 0)
				{
					t.anim.wait --;
					window.setTimeout(function() {animate(t);}, 1000);
					return;
				}
				
				t.anim.step = t.anim.step / 1.4;
				
				var _vopac = parseInt(t.anim.step);
				if (_vopac < 10)
				{
					_vopac = "0"+_vopac;
				}
				if (_vopac >= 99)
				{
					t.anim.node.style.opacity = '1';
					t.anim.node.style.filter = '';
				}
				else
				{
					t.anim.node.style.opacity='0.'+_vopac;
					t.anim.node.style.filter = "alpha(opacity=" + _vopac + ")"; 
				}

				if (t.anim.step > 1)
				{
					window.setTimeout(function() {animate(t);}, 50);
				}
				else
					t.animStop();
			}

	
			var _t = showing;
			showing = false;
			ctext = '';
			
			if (typeof(wait)=='undefined')
				wait = 0;
			
			this.anim = {};
			this.anim.node = _t;
			this.anim.step = 99;
			this.anim.wait = wait;
			this.anim.stop = false;
			animate(this);
		}

		this.animStop = function ()
		{
			if (typeof(this.anim) != 'undefined' && typeof(this.anim.node) != 'undefined')
				this.anim.node.parentNode.removeChild(this.anim.node);
			this.anim = {};
			this.anim.stop = true;
			this.anim.wait = 0;
		}
		

	}


	var popupcu = new popup;
	function prepare_callus_popup()
	{
		
		popupcu.init();

		try
		{
			var cu = document.getElementById('callus');
			cu.setAttribute('alt2', cu.getAttribute('alt'));
			cu.setAttribute('alt', '');
			cu.onmouseover = function () {popupcu.show("", cu.getAttribute('alt2'), {showRight:true, popupclass:'blackpopup'});};
			cu.onmouseout = function () {popupcu.hideDelayed();}		
		}
		catch (eccd)
		{
		}

		
		var l = document.getElementById('icompletelogo');
		l.setAttribute('alt2', l.getAttribute('alt'));
		l.setAttribute('alt', '');
		
		l.onmouseover = function () {popupcu.show("", l.getAttribute('alt2'), {showRight:true, popupclass:'blackpopup'});};
		l.onmouseout = function () {popupcu.hideDelayed();}
	}
	
	
	
	
	
	
function wndSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return {'x':myWidth, 'y':myHeight};
}






/* ANIMATION FRAMEWORK */


window.getScrollPos = function ()
{
	var scrollx = 0;
	var scrolly = 0;
	if( typeof( window.pageYOffset ) == 'number' )
	{
		//Netscape compliant
		scrollx = window.pageXOffset;
		scrolly = window.pageYOffset;
	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
	{
		//DOM compliant
		scrolly = document.body.scrollTop;
		scrollx = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
	{
		//IE6 standards compliant mode
		scrolly = document.documentElement.scrollTop;
		scrollx = document.documentElement.scrollLeft;
	}
	
	return {x:scrollx, y:scrolly};
}




function myevent(e_)
{
	// get event object
	if (!e_) 
		this.e = window.event;
	else
		this.e = e_;
	
	this.getEventSource = function()
	{
		var e = this.e;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) // defeat Safari bug
			targ = targ.parentNode;
			
		return targ;
	}

	this.getMousePos = function(addScrolls)
	{
		var posx = 0;
		var posy = 0;
		var e = this.e;
		if (e.pageX || e.pageY)
		{
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY)
		{
			posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
		}
		
		if (addScrolls)
			var scroll = window.getScrollPos();
		else
			var scroll = {x:0, y:0};
		return {x:posx+scroll.x, y:posy+scroll.y};
	}
	
	this.getClientMousePos = function(withinNode)
	{
		var mp = this.getMousePos();
		var rel_mp = myNode(withinNode).findPos();
	
		return {x:mp.x-rel_mp.x, y:mp.y-rel_mp.y};
	}

}


function myNode(node)
{
	if (node.isMyNode)
		return node;
	
	node.isMyNode = true;
	node.findPos = function()
	{
		var ctobj = this;
		var curleft = 0;
		var curtop = 0;

		if (ctobj.offsetParent)
		{
			do
			{
				curleft += ctobj.offsetLeft;
				curtop += ctobj.offsetTop;
			} while (ctobj = ctobj.offsetParent);
		}
	
		return {x:curleft, y:curtop};
	}
	
	node.setOpacity = function(percentOpaque)
	{
		if (percentOpaque == 100)
		{
			this.style.opacity = '';
			this.style.filter = ''; 
			return;
		}
		
		var _vopac = percentOpaque/100;
		if (_vopac < 0.01)
		{
			_vopac = '0';
		}
		else
		{
			if (_vopac < 0.1)
				_vopac = '0.0'+percentOpaque;
		}
		
		this.style.opacity=_vopac;
		this.style.filter = "alpha(opacity=" + percentOpaque + ")"; 
	}
	
	node.childNodesByName = function(name, recursive)
	{
		var ret = [];
		var n = this.childNodes;
		for (var i=0; i<n.length; i++)
		{
			if (n[i].nodeName.toLowerCase() == name.toLowerCase())
				ret.push(n[i]);
			else if (recursive)
			{
				// IE fix - text nodes cannot be used as myNode
				if(n[i].nodeName.toLowerCase() != '#text')
					ret = ret.concat(myNode(n[i]).childNodesByName(name, true))
			}
		}
		
		return ret;
	}
	
	node.childNodesByClassName = function(name, recursive)
	{
		var ret = [];
		var n = this.childNodes;
		for (var i=0; i<n.length; i++)
		{						
			if (typeof(n[i].className) =='string' && n[i].className.toLowerCase() == name.toLowerCase())
				ret.push(n[i]);
			else if (recursive)
			{
				// IE fix - text nodes cannot be used as myNode
				if(n[i].nodeName.toLowerCase() != '#text')
					ret = ret.concat(myNode(n[i]).childNodesByClassName(name, true))
			}
		}
		
		return ret;
	}
	
	return node;
}



/* Roll panel site widget */
function rollPanel(node, rollHeight, leftPosition, topPosition)
{
	this.control = myNode(node);
	this.rollHeight = rollHeight;

	this.rollPanel = myNode(document.getElementById(node.getAttribute('id')+'-roller'));
	this.height = 0;
	this.over = false;
	this.animating = false;
	this.rollPanel.style.height='0px';
	
	/* process links for animation */
	var links = this.rollPanel.childNodesByName('a', true);
	for (var i=0; i<links.length; i++)
	{
		var link = myNode(links[i]);
		var cls = function(class_, node_)
		{
			node_.anim_step = 0;
			node_.anim_forward = false;
			node_.start_backward = false;
			
			node_.onmouseover = function()
			{
				
				if (node_.anim_step == 0 && !node_.anim_forward)
				{
					node_.anim_forward = true;
					class_.link_anim(node_);
				}
				node_.anim_forward = true;
				node_.start_backward = false;
			}
			
			node_.onmouseout = function()
			{
				node_.start_backward = true;
			}
		}
		cls(this, link);
	}
	
	this.link_anim = function(node)
	{
		var x = node.findPos();
		var y = x.y;
		x = x.x;

		var parx = node.parentNode.findPos()
		var pary = parx.y;
		parx = parx.x;
		x = x-parx - 10;
		y = y-pary+node.offsetHeight/2 - 2;
		
		if (node.anim_forward)
		{
			if (node.anim_step == 0)
			{
				var el = document.createElement('div');
				el.style.position = 'absolute';
				el.style.left = x+'px';
				el.style.top = y+'px';
				el.style.width = 4+'px';
				el.style.height = 4+'px';
				el.style.padding='0px';
				el.style.overflow = 'hidden';
				el.className = 'boxanim';
					
				node.parentNode.appendChild(el);
				node.animation = el;
				
				node.anim_step++;
			}
			else if (node.anim_step <4)
			{
				var el = node.animation;
				el.style.left = (x-node.anim_step)+'px';
				el.style.top = (y-node.anim_step)+'px';
				el.style.width = (4+node.anim_step*2)+'px';
				el.style.height = (4+node.anim_step*2)+'px';
				
				node.anim_step++;
			}
			
			if (node.anim_step >= 4 && node.start_backward)
				node.anim_forward = false;
		}
		else
		{
			node.anim_step--;
			if (node.anim_step == 0)
			{
				node.animation.parentNode.removeChild(node.animation);
				node.animation = null;
				return;
			}
			
		}
		
		
		var that = this;
		window.setTimeout(function() { that.link_anim(node); }, 30);
	}
	
	/* links animation code ends here */
	
	this.rp_over = function(e)
	{
		var pos = this.control.findPos();
		this.leftPosition = pos.x;
		this.topPosition = pos.y+5;
		this.over = true;

		if (!this.animating)
		{
			this.animating = true;
			this.animate();
		}
	}
	
	this.rp_out = function(e)
	{
		this.over = false;

		if (!this.animating)
		{
			this.animating = true;
			var that = this;
			
			// we have to introduce some inertion to compensate for events fired from links (out->over) so moving accross links won't close the panel
			// wait 0,5 sec before closing full-opened panel!
			window.setTimeout(function() {that.animate()}, 500);
		}
	}
	
	/* last ANIMATE function that generated high load under IE 6/7
	this.animate = function()
	{	
		if (this.over)
			this.height = Math.ceil((this.rollHeight + this.height*3) / 4);
		else
			this.height = Math.floor(this.height / 2);

		if (this.height > this.rollHeight/1.2)
			var cl_ = 'open';
		else
			var cl_ = 'closed';
		
		if (this.rollPanel.className != cl_)
			this.rollPanel.className = cl_;

		var rstyle = this.rollPanel.style;

		rstyle.left = this.leftPosition+'px';
		rstyle.top = (this.topPosition - this.height) + 'px';
		rstyle.height = this.height + 'px';
		
		var opacity = Math.ceil((this.height / this.rollHeight)*100);
		
		if (opacity > 80)
			opacity = 100;
		this.rollPanel.setOpacity(opacity);

		var that = this;
		window.setTimeout(function() {that.animate()}, 60);
	}	*/
	
	this.animate = function()
	{	
		if (this.over)
			this.height = Math.ceil((this.rollHeight + this.height*3) / 4);
		else
			this.height = Math.floor(this.height / 2);

		if ( (this.height == this.rollHeight && this.over) ||
			 (this.height == 0 && !this.over) )
		{
			this.animating = false;
			return;
		}

		/* IE7 - CPU hog FIX */
		if (this.height > this.rollHeight/1.2)
			var cl_ = 'open';
		else
			var cl_ = 'closed';
		
		if (this.rollPanel.className != cl_)
			this.rollPanel.className = cl_;

		var rstyle = this.rollPanel.style;

		rstyle.left = this.leftPosition+'px';
		rstyle.top = (this.topPosition - this.height) + 'px';
		rstyle.height = this.height + 'px';
		
		var opacity = Math.ceil((this.height / this.rollHeight)*100);
		
		if (opacity > 80)
			opacity = 100;
		this.rollPanel.setOpacity(opacity);

		var that = this;
		window.setTimeout(function() {that.animate()}, 60);
	}	



	var that = this;
	node.onmouseover = function (e)
	{
		that.rp_over(e);
	}
	
	node.onmouseout = function (e)
	{
		that.rp_out(e);
	}
	
	this.rollPanel.onmouseover = function (e)
	{
		that.rp_over(e);
	}
	
	this.rollPanel.onmouseout = function(e)
	{
		that.rp_out(e);
	}

	var pos = this.control.findPos();
	this.leftPosition = pos.x;
	this.topPosition = pos.y+5;
}

/* Fisheye control */

function fisheye() {
	this.control = document.getElementById('fisheye');
	this.buttons = [];
	this.mousex = -1;
	this.mousey = -1;
	this.onclick = -1;
	
	
	var b = this.control.childNodes;
	var ii = 0;
	for (var i=0; i<b.length; i++)
	{
		var bb = b[i];
		
		if (bb.nodeName.toUpperCase() == 'IMG')
		{
			ii++;
			bb = myNode(bb);
			
			// get all button positions / dimensions
			var btn_object = {};
			btn_object.element = bb;
			bb.setAttribute('srca', bb.getAttribute('src'));
					
			/* firefox 3 fix - set width and height, then remove height */
			btn_object.x = bb.findPos();
			btn_object.y = btn_object.x.y + bb.offsetHeight/2;
			btn_object.x = btn_object.x.x + bb.offsetWidth/2+5*i-5*9;
			btn_object.w = bb.offsetWidth;
			btn_object.h = bb.offsetHeight;
			bb.removeAttribute('height');
			
			bb.style.marginLeft='5px';
			bb.style.marginRight='5px';
			
			/* align - bottom */
			bb.style.position='relative';
			
			 //for debugging 
			/*var ee = document.createElement('div');
			ee.style.position='absolute';
			ee.style.background='red';
			ee.style.left = btn_object.x+'px';
			ee.style.top  = btn_object.y+'px';
			ee.style.width='10px';
			ee.style.height='10px';
			document.body.appendChild(ee);*/
			
			this.buttons.push(btn_object);
			
			// prepare button events
			var that = this;
			cls = function(data)
			{
				btn_object.element.onclick = function cancelProp(e) {
					if (that.onclick != -1)
						that.onclick(e, data);
				}
			}
			cls(ii);
		}
	}
	
	// set 'fisheye' effect limiter
	this.add_limiter = this.buttons[2].x-this.buttons[0].x;
	
	// define events
	this.fe_container_resize = function(e)
	{
		var b = this.buttons;
		for (var i=0; i<b.length; i++)
		{
			var bb = b[i];
			
			bb.x = bb.element.findPos();
			bb.y = bb.x.y + bb.element.offsetHeight/2;
			bb.x = bb.x.x + bb.element.offsetWidth/2+5*i-4*10;
		}
	}
			
	this.fe_mousemove = function(e) {
		var e = new myevent(e);
		var mousepos = e.getMousePos(false);

		this.mousex = mousepos.x;
		this.mousey = mousepos.y;

//		window.status = "x: "+mousepos.x + "y: "+mousepos.y;
	}

	this.fe_mouseout = function(e) {
		this.mousex = -2;
		this.mousey = -2;
	}
	
	// set event handlers
	try {
		var that = this;
		this.control.onmousemove = function(e) {
			that.fe_mousemove(e);
		};
		
		this.control.onmouseover = function(e) {
			that.fe_mousemove(e);
		};
		
		this.control.onmouseout = function(e) {
			that.fe_mouseout(e);
		};
		
		window.onresize = function (e) {
			that.fe_container_resize();
		}	
	} catch (e) {}
	
	
	this.animate = function()
	{
		var that = this;
		window.setTimeout(function() {that.animate()}, 20);

		if (this.mousex==-1 && this.mousey==-1)
			return;

		var x = this.mousex;
		var y = this.mousey;	

		// iterate throught all buttons and animate them appropriately
		for (var i=0; i<this.buttons.length; i++) {
			var bb = this.buttons[i];
			
			if (this.mousex == this.mousey && this.mousex == -2)
				marg_add = 0;
			else
				marg_add = Math.max(0, this.add_limiter-Math.abs(x-bb.x));
			
			if (marg_add < 1)
				marg_add = 0;

			
			var prev_w = bb.element.offsetWidth;
			var new_w = (marg_add/this.add_limiter)*20 + bb.w;
			var anim_w = Math.ceil((prev_w*4 + new_w)/5);
						
			if (Math.abs(anim_w - bb.w) < 5)
				anim_w = Math.floor((prev_w*4 + new_w)/5);

			bb.element.width = anim_w;
			
			/* align - bottom */
			bb.element.style.top = 0-(anim_w-bb.w)+"px";
			
			var newsrc = '';
			if (anim_w > bb.w)
				newsrc  = bb.element.getAttribute('srcb');
			else
				newsrc = bb.element.getAttribute('srca');
			
			// firefox bugfix (changing image src causes CPU saturation / memory leaks)	
			if (bb.element.savedSrc != newsrc) {
				bb.element.src = newsrc;
				bb.element.savedSrc = newsrc;
			}
			// ->>

			var margin = Math.max(5, Math.ceil(marg_add/8))+"px";
			bb.element.style.marginLeft=margin;
			bb.element.style.marginRight=margin;
		}
	}
	
	this.animate();
}




function hpages()
{
	this.onhide = false;
	this.onShow = function(number) { };
	this.onShowing = function(number, animstep) { };
	
	var els = myNode(document.body).childNodesByClassName('hpage', true);
	this.elements = [];
	for (var i=0; i<els.length; i++)
		this.elements.push({node: myNode(els[i]), animStop:true, number:i});

	this.show = function(num) {
		if (! (num >= 0 && num < this.elements.length) )
			return;		
		var el = this.elements[num];

		if (!el.animStop)
			return;

		for (var i=0; i<this.elements.length; i++)
			this.hide(i);

		el.animStep = 0;
		el.animStop = false;
		el.animForward = true;
		this.anim(el);
	}
	
	this.hide = function(num) {
		if (! (num >= 0 && num < this.elements.length) )
			return;		
		var el = this.elements[num];

		if (el.animStop)
			return;
		el.animForward = false;

		if (this.onhide !== false)
			this.onhide(this.elements[num].node, this.elements[num].number);	
	}

	this.anim = function(element) {
		var node = element.node;
		node.style.display = 'block';
		
		if (element.animForward) {
			if (element.animStep <= 10) {	
				element.animStep+=0.5;
				element.animStep = Math.min(element.animStep, 10.5);
				//if (element.animStep*10 == 100)
				//	node.setOpacity(99); // FIREFOX fix - centering works diffrently when we have aplha channel
				//else
				node.setOpacity(element.animStep*10);
				if (element.animStep > 10)
					this.onShow(element.number);
				else
					this.onShowing(element.number, element.animStep);
			}
		}
		
		if (!element.animForward)
		{
			element.animStep = Math.min(element.animStep, 10);
			
			if (element.animStep >= 1)
			{	
				element.animStep-=1;
				node.setOpacity(element.animStep*10);
			}
			else
			{
				node.style.display = "none";
				element.animStop = true;
			}
		}
	
		if (!element.animStop)
		{
			var that = this;
			window.setTimeout(function() { that.anim(element); }, 30);
		}
	}

}

var preload_container = false;
function preload_images(arr_paths)
{	
	if (!preload_container)
	{
		document.write("<div id='preload431' style='display: ehidden'>&nbsp;</div>");
		preload_container = document.getElementById('preload431');		
	}
	
	for (var iter =0; arr_paths.length>0 && iter <= 10; iter++)
	{
		var p = arr_paths.pop();
		var i_ = document.createElement('img');
		i_.setAttribute('src', p);
		i_.style.display='none';

		/* IE 6/7 BUG */ // document.body.appendChild(i_); use preload container / document.write
		preload_container.appendChild(i_);
		
		if (iter==10)
			i_.onload = function () {window.setTimeout(function() {preload_images(arr_paths);}, 50)};			
	}
}


/* class for disabling user interactions with the webpage */
function modalDlg(targetOpacity) {
	this.onShow = function() {};
	var notified = false;

	this.initialized = false;
	
	var x = window.getScrollPos().x;
	var y = window.getScrollPos().y;
	
	var hider = new myNode(document.createElement('div'));
	hider.style.position='absolute';
	hider.style.display='none';
	hider.style.left ='0px';
	hider.style.top = '0px';
	hider.style.right = x+'px';
	hider.style.bottom = y+'px';
	hider.style.background = '#000000';
	hider.style.zIndex = 20000;
	hider.setOpacity(0);
	this.hider =  hider;
	this.targetOpacity = targetOpacity;
	
	this.animc = 0;
	this.anim_show = true;
	this.anim_stopped = true;

	this.onscroll = function() {
		var x = window.getScrollPos();
		var y = x.y;
		x = x.x;
		
		hider.style.right = -x+'px';
		hider.style.bottom = -y+'px';
	}

	this.anim = function() {
		if (this.anim_show)
			this.animc = Math.ceil((this.targetOpacity*2 + this.animc)/3);
		else
			this.animc = Math.max(Math.floor(this.animc/3), 0);

		this.hider.setOpacity(this.animc);
		
		this.anim_stop = !( (this.animc < this.targetOpacity && this.anim_show) || (this.animc>0 && !this.anim_show));
		
		if (this.animc == this.targetOpacity) {
			var that = this;
			window.setTimeout(function () {that.anim2()}, 200);
		}

		if (this.anim_stop && !this.anim_show) {
			//this.setScrollBarVisible(true);
			hider.style.display='none';
		}

		var that = this;
		if (!this.anim_stop)
			window.setTimeout(function () {that.anim()}, 50);
	}

	this.anim2 = function() {
		if (this.anim_change)
			return;
		
		var o = this.dialogContent;
		var to = 50;

		// set position
		var o = this.dialogContent;
		var w = wndSize();
		var h = w.y;
		w = w.x;
		var scroll_ = window.getScrollPos().y;
		o.x = (w / 2 - o.offsetWidth/2);
		o.y = (scroll_ + h / 2 - o.offsetHeight/2);
		o.style.left = o.x + "px";
		o.style.top = o.y + "px";
		//
		
		rev_opac = 100-o.opac;
		rev_opac = rev_opac/1.5;
		o.opac = 100-rev_opac;
		o.opac = Math.ceil(o.opac);
		o.opac+=1;

		if (this.noAlpha && o.opac <= 100)
			o.opac = 100;
	
		if (o.opac <= 100) {
//			o.setOpacity(o.opac);
		} else {
			if (!notified)
				this.onShow();
			notified = true;
			to = 500;
		}
		
		var that = this;
		if (!o.anim_stop)
			window.setTimeout(function () {that.anim2()}, to);		
	}

	this.anim3 = function() {
		var o = this.dialogContent;
		
		if (this.out_distance_anim > 0) {
			this.out_distance_anim =  Math.floor(this.out_distance_anim/2);
			o.style.left = ((this.out_distance_anim-this.out_distance)+o.x)+'px';
			var that = this;
			window.setTimeout(function () {that.anim3()}, 50);	
		} else {
			this.anim_stop = true;
			this.anim_change = false;
			
			/* firefox FIX - set div size to 0 before removing to save scroll position */
			if (!this.noAlpha)
			{
				this.dialogContent.style.width='0px';
				this.dialogContent.style.height='0px';
				this.dialogContent.parentNode.removeChild(this.dialogContent);
			} else {
				this.dialogContent.style.display = 'none';
			}
			
			// COPIED FROM SHOW FUNCTION / change it !!!
			this.dialogNode = this.switch_to;
			
			if (!this.noAlpha)
				var dialogContent = myNode(this.dialogNode.cloneNode(true));
			else
				var dialogContent = myNode(this.dialogNode);
		
			dialogContent.style.position = 'absolute';
			dialogContent.left = '0px';
			dialogContent.top = '0px';
			dialogContent.style.zIndex = 20001;
			dialogContent.style.display = 'block';
			dialogContent.setOpacity(0);
			dialogContent.opac = 0;
			dialogContent.anim_stop = false;
			dialogContent.anim_change = false;
			if (!this.noAlpha)
				this.parentNode.appendChild(dialogContent);		

			//this.parentNode.replaceChild(dialogContent, this.dialogContent);

			this.dialogContent = dialogContent;
			// set position
			var o = this.dialogContent;
			var w = wndSize();
			var h = w.y;
			w = w.x;
			var scroll_ = window.getScrollPos().y;
			o.x = (w / 2 - o.offsetWidth/2);
			o.y = (scroll_ + h / 2 - o.offsetHeight/2);
			o.style.left = o.x + "px";
			o.style.top = o.y + "px";

			this.anim2();
		}

	}

	this.show = function(dialogNode, parentNode_) {	
		notified = false;

		if (typeof(parentNode_)=='unset')
			parentNode_ = document.body;
		
		if (!this.initialized) {
			this.initialized = true;
			document.body.appendChild(this.hider);
		}
		
		this.dialogNode = dialogNode;
		this.parentNode = parentNode_;
		
		if (!this.noAlpha)
			var dialogContent = myNode(dialogNode.cloneNode(true));
		else
			var dialogContent = myNode(dialogNode);
	
		dialogContent.style.position = 'absolute';
		dialogContent.style.zIndex = 20001;
		dialogContent.style.display = 'block';
		dialogContent.setOpacity(100);
		dialogContent.opac = 0;
		dialogContent.anim_stop = false;
		dialogContent.anim_change = false;
		if (!this.noAlpha)
			parentNode_.appendChild(dialogContent);		
		
		dialogContent.setAttribute('height_', dialogContent.offsetHeight);
		
		this.dialogContent = dialogContent;
		// set position
		var o = this.dialogContent;
		var w = wndSize();
		var h = w.y;
		w = w.x;
		var scroll_ = window.getScrollPos().y;
		o.x = (w / 2 - o.offsetWidth/2);
		o.y = (scroll_ + h / 2 - o.offsetHeight/2);
		o.style.left = o.x + "px";
		o.style.top = o.y + "px";

		hider.style.display='block';
		this.anim_show = true;
//		this.setScrollBarVisible(false);
		if (this.anim_stopped)
			this.anim();
	}

	this.hide = function() {
		if (!this.initialized) {
			this.initialized = true;
			document.body.appendChild(this.hider);
		}
		
		if (!this.dialogContent)
			return;
		
		this.dialogContent.anim_stop = true;
		/* firefox FIX - set div size to 0 before removing to save scroll position */
		
		if (!this.noAlpha) {
			this.dialogContent.style.width='0px';
			this.dialogContent.style.height='0px';
			if (this.dialogContent.parentNode && this.dialogContent.parentNode.removeChild)
				this.dialogContent.parentNode.removeChild(this.dialogContent);
		}
		else
			this.dialogContent.style.display='none';
		
		this.anim_show = false;
		if (this.anim_stopped)
			this.anim();
	}
	
	this.switchDlg = function(node) {
		this.out_distance = this.dialogContent.x + this.dialogContent.offsetWidth;
		this.out_distance_anim = this.out_distance;
		this.anim_change = true;
		this.switch_to = node;
		this.anim3();
	}

	this.setScrollBarVisible = function(show) {
		var st = document.documentElement.scrollTop;
		document.documentElement.style.overflow = (!show ? 'hidden' : '');
		document.documentElement.scrollTop = st;
	}

	var that = this;
	window.onscroll = function() {
		that.onscroll();
	}
	
}

function track_conversion_AJAX() {
	var ___img = new Image();
	___img.src = "http://www.googleadservices.com/pagead/conversion/1040205659/?value=1.0&amp;label=FPE-CJvbchDbjoHwAw&amp;script=0";
	___img.onload = function() {
	};
}


var checkFnRunning = false;
var lfShowCounter = 0;
modalDlg_l = new modalDlg(60);
function showLoginForm() {
	wcActive = true;
	
	document.getElementById('signupfr').src='quicklogin.html?'+(lfShowCounter++);
	function foc() {
		//		document.getElementById('signupfr').contentWindow.document.getElementById('loginform').style.display = 'block';
		try {
			document.getElementById('signupfr').contentWindow.make_focus();
		}
		catch (e) {
			window.setTimeout(function() {foc();}, 100);
			return;
		}

		// disable mouse WHEEL for IE
		try {
			var scroll = function(e) {
				if (!e) var e = document.getElementById('signupfr').contentWindow.event;

				e.cancelBubble = true;
				if (e.stopPropagation) e.stopPropagation();
						
				if (e.stop)
					e.stop();

				var v=0;
				if (e.detail)
					v = (-e.detail/Math.abs(e.detail));
				else
					v =(e.wheelDelta/Math.abs(e.wheelDelta));				
				v=-v;

				var al = document.getElementById('signupfr').contentWindow.document.body.getElementById('accountlist');
				al.scrollTop += v*20;
			}
			
			document.getElementById('signupfr').contentWindow.document.body.onmousewheel = function(e) { scroll(e); return false;	}

			document.getElementById('signupfr').contentWindow.addEventListener('DOMMouseScroll', function(e) {
					scroll(e);
					return false;
				}, false);

		}
		catch (e)
		{}
	}

	modalDlg_l.onscroll();
	modalDlg_l.show(document.getElementById('loginform'), document.getElementById('loginformparent'));
	modalDlg_l.onShow = function() {foc();};
	
	if (!checkFnRunning) {
		checkFnRunning = true;
		checkLoginForm();
	}
}
document.onkeypress = function(e)
{
	if (!e) var e = window.event;
		var code = 0;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;

	if (code == 27)
	{
		modalDlg_l.hide();
		modalDlg_l.onShow = function() {};
	}
}


function checkLoginForm()
{
	if(document.location.hash.indexOf('lwclosef') !=-1)
	{
		wcActive = false;
		modalDlg_l.hide();
		checkFnRunning = false;
		window.location.hash = '#';
		return;
	}
	window.setTimeout(function() {checkLoginForm();}, 500);
}


// disable mouse wheel
var wcActive = false;
var wheelCancel = function(e)
{
	if (!wcActive)
		return true;
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	if (e.preventDefault) e.preventDefault();

	//if (e.stop)
	//	e.stop();
	return false;
}

document.onmousewheel = function(e)
{
	return wheelCancel(e);
}
if (window.addEventListener)
	window.addEventListener('DOMMouseScroll', wheelCancel, false);


/* homepage java script */

prepare_callus_popup();

var hp_cancel_autostart = true;

/*
	swfobject.embedSWF("flash/player.swf", "mplcontainer", 200, 220, "9.0.0", "#FFFFFF",
		{ file:'http://www.icomplete.com/flash/generic.flv',
			image: 'http://www.icomplete.com/images/video-preview.jpg',
		controlbar:'none', autostart:false,screencolor:'FFFFFF',
		AllowScriptAccess:'always'},
		{AllowScriptAccess:'always'},
		{AllowScriptAccess:'always'});
*/

var fplayer = false;
function plstate(obj) {if (obj.newstate == 'PLAYING') {hp_cancel_autostart=true;}}
function playerReady(obj) {
//	var pl = document.getElementById('mplcontainer');
//	fplayer = pl;
//	pl.addModelListener("STATE","plstate");
}

var hp_virtual_pages = ["Home-Welcome_screen","/HOME-Customer_database","/HOME-Online_calendar","/HOME-Widgets___tools","/HOME-Tasks___reminders","/HOME-Mobile","/HOME-VoIP_calls","/HOME-Call_management"];
var hp_next = function() {};
var pfast = ["images/panel-yellow.png","images/panel-blue.png","images/panel-pink.png"];
var i___ = [];
for (var ii=0; ii<pfast.length; ii++) {
	var i__ = new Image();
	i__.src = pfast[ii];
	i___.push(i__);
}

// rollovers
var r1 = new rollPanel(document.getElementById('rollpanel1'), 89);
var r2 = new rollPanel(document.getElementById('rollpanel2'), 89);
var r3 = new rollPanel(document.getElementById('rollpanel3'), 89);

// information pages
hp = new hpages();
var curr = 0;
var cancel_tour = false;
var tour_running = false;
var next_counter = 0;

function hp_auto_start() {
	if (!hp_cancel_autostart)
		starttour();
}
//window.setTimeout(function () {hp_auto_start();}, 30000);

function hp_show_auto() {
	if (cancel_tour) {
		cancel_tour = false;
		tour_running = false;
		return;
	}
	tour_running = true;

	if (next_counter++ >= 14) {
		hp_next(); // next_counter = 0 set in hp_show
	}

	window.setTimeout("hp_show_auto()", 1000);
}

var virtual_clicks = [];
function hp_show(num)
{
	next_counter = 0;

	if (num!=0)
	{
		virtual_clicks.push(hp_virtual_pages[num]);
		try
		{
			for (var i=0; i<virtual_clicks.length; i++)
			{
				if (virtual_clicks[i]!='')
					pageTracker._trackPageview(virtual_clicks[i]);
				virtual_clicks[i] = '';
			}
			virtual_clicks = [];
		}
		catch (e)
		{
		}
	}

	curr = num;
	hp.show(num);
}


hp.onShowing = function(num, animstep) {}

hp.onShow = function(num) {}

function hp_click(num) {
	//hp_show(num);
	window.location.hash = names[num];
	cancel_tour = true;
}

var names = ['home', 'database', 'calendar', 'tools', 'tasks', 'mobile', 'voip', 'pa'];

hp_next = function() {
	if (curr > 100 || curr >= 7)
		curr=-1;
	curr++;
	//hp_show(curr);
	window.location.hash = names[curr];
}

starttour = function() {
	cancel_tour = false;
	next_counter = 9999;
	if (!tour_running)
		hp_show_auto();
}

var last_h = -1;
function monitor_hash()
{
	var h = window.location.hash;
	if (h.indexOf('#') > -1)
		h = h.substr(h.indexOf('#')+1);

	var _h = 0;
	if (parseInt(h)>0 && parseInt(h) < 7)
		_h = parseInt(h);
	else
	{
		for (var i=0; i<names.length; i++)
		{
			if (names[i] == h)
			{
				_h = i;
				break
			}
		}
	}
	if (last_h != _h)
	{
		if (curr != _h)
		{
			cancel_tour = true; // cancel tour if we change URL (to different subpage than current)
			hp_cancel_autostart = true; // cancel tour autostart if we are already on some subpage
		}
		hp_show(_h);
		last_h = _h;
	}
	window.setTimeout(function () {monitor_hash();}, 200);
}
monitor_hash();


// initialize fisheye
var tst = new testimonials(document.getElementById('h002'));
fe = new fisheye();
fe.onclick = function(e, number) {showTour("p"+(number));};

// preload
var pre = ["","images/fe-2a.png","images/fe-3a.png","images/fe-4a.png","images/fe-5a.png","images/fe-6a.png","images/fe-8a.png","images/fe-9a.png","images/fe-2b.png","images/fe-3b.png","images/fe-4b.png","images/fe-5b.png","images/fe-6b.png","images/fe-8b.png","images/fe-9b.png"];
var des = ["Complete package","Customer database","Online calendar","Widgets & tools","Tasks & reminders","Mobile","One number","VoIP calls","Call management"];
preload_images(pre);

// prepare fisheye popups
var ind_links = document.getElementById('fisheye').getElementsByTagName('img');

for (var i=0; i<ind_links.length; i++)
{
	continue;
	var div = ind_links[i];

	function popup_closure(text)
	{
		div.onmouseover = function () {
			popupcu.show(text, '', {showRight:true, popupclass:'blackpopup'});
		};
	}
	if (des[i]=='')
		des[i] = 'Home';
	popup_closure(des[i]);

	div.onmouseout = function () {
		popupcu.hide();
	};
}

function alphaAnimate()
{
	this.animStop = true;
	this.animStep = 0;
	this.callbackAnimFinished = false;

	this.replaceNode = function(oldn, newn, deleteOld)
	{
		if (this.animStop == false)
		{
			if (this.oldn != newn && this.oldn != oldn && this.deleteOld)
				this.oldn.parentNode.removeChild(this.oldn);
			this.setOpacity(this.newn, 100);
		}

		if (oldn === false)
			deleteOld = false;
		this.deleteOld = deleteOld ? true : false;

		this.animStep = 1;
		this.oldn = oldn;
		this.newn = newn;
		if (this.newn !== false)
		{
			this.setOpacity(this.newn, 1);
			this.newn.style.display = 'block';
		}

		if (this.animStop == true)
		{
			this.animStop = false;
			this.anim();
		}
	}

	this.setOpacity = function(node, percentOpaque)
	{
		if (node === false)
			return;

		if (percentOpaque == 100)
		{
			node.style.opacity = '';
			node.style.filter = '';
			return;
		}

		var _vopac = percentOpaque/100;
		if (_vopac < 0.01)
		{
			_vopac = '0';
		}
		else
		{
			if (_vopac < 0.1)
				_vopac = '0.0'+percentOpaque;
		}

		node.style.opacity=_vopac;
		node.style.filter = "alpha(opacity=" + percentOpaque + ")";
	}

	this.anim = function()
	{
		//this.animStep += (this.animStep+100)/30;
		window.status= this.animStep ;

		var percopac = Math.ceil(Math.max(0, Math.min(100, this.animStep)));
		this.setOpacity(this.oldn, Math.max(0, 100-(percopac*2)));
		this.setOpacity(this.newn, (percopac > 80 ? 100 : percopac) );

		if (percopac >= 100)
			this.cleanup();

		if (!this.animStop) {
			var that = this;
			window.setTimeout(function() { that.anim(); }, 80);
		}
		this.animStep += (100-this.animStep)/10 + 10;
		if (this.animStep>=100) {
			if (this.oldn!==false)
				this.oldn.style.display = 'none';

			if (this.callbackAnimFinished!=false) {
				this.callbackAnimFinished();
			}
		}
	}

	this.cleanup = function() {
		if (this.deleteOld)
			this.oldn.parentNode.removeChild(this.oldn);
		this.animStop = true;
	}

}

function testimonials(node)
{
	var tNode = node;
	var replacement = false;
	var order = [];
	var curr = 0;
	var aa = new alphaAnimate();
	this.hold = false;

	var testimonials = [
		{text: "We've people all over the world, we use icomplete as our core database, recording interactions with clients, all live and update by remote staff, great!", name:"Richard Thomas MD Locations4Business"},
		{text: "We choose icomplete because it's web-based, can use from anywhere & really easy to get the hang of. We’re much more organised", name:"Ryan McKenna, Onelife Photography"},
		{text: "We absolutely LOVE it, my Client Database with SMS from my keyboard, see diary and contacts online. I'm 50% more productive as a Virtual Assistant, yes 50%!", name: "Sandra Reid, 1st Choice VA"},
		{text: "icomplete offers a calendar tracking solution, holiday selections have taken place in timely manner, with little fuss!", name:"Debbie Bodhanya, Lime Medical Centre (NHS) "},
		{text: "So many good things about it doing away with my mountains of business cards and paperwork, brilliant calendar, good support, very fast searching!", name:"Peter Collins"},
		{text: "So easy to use and has made our work lives so much better. It ticks all our boxes on everything we needed, tracking prospects, clients, what they do, email history, locations etc.", name:"DJB Recycling"}
		];

	for (var i=0; i<testimonials.length; i++)
		order.push(i);
	for (var i=0; i<testimonials.length; i++)
	{
		var repl_ = Math.floor(Math.random()*testimonials.length);

		var i_ = order[i];
		order[i] = order[repl_];
		order[repl_] = i_;
	}

	function setTestimonial(t)
	{
		tNode.innerHTML = '"' + t.text + '"<b> ' + t.name + '</b>.';
	}

	aa.callbackAnimFinished = function()
	{
		if (replacement!==false)
		{
			setTestimonial(replacement);

			aa.replaceNode(false, tNode, false);
			replacement = false;
		}
	}


	this.random = function(animate)
	{
		if (curr >= order.length)
			curr=0;
		var num = order[curr];


		if (typeof(animate)!='undefined' && animate == true)
		{
			replacement = testimonials[num];
			aa.replaceNode(tNode, false, false);
		}
		else
		{
			setTestimonial(testimonials[num]);
		}
		curr ++;
	}

	var that = this;
	var ri = 0;
	this.rotate = function()
	{
		ri++;
		window.setTimeout(function() {that.rotate();}, 15000);
		if (ri==1)
			return;

		if (!this.hold)
			tst.random(true);
	}
}

tst.random();
tst.rotate();

// override popup handler - compatible with flash video

var slf__ = showLoginForm;
showLoginForm = function() {slf__();}

modalDlg_l.mdh__ = modalDlg_l.hide;
modalDlg_l.hide = function() {
	modalDlg_l.mdh__();
}

