PageSourceSearch

https://pronovostroy.ru/public/min/index.php?ipbv=hash128fd984dc55…/js/ips.quickpm.js,public/js/ips.signin.js

js pronovostroy.ru collected 2026-09-29 13:56:22 UTC 329,971 bytes, 1,867 lines download raw bytes

1var Prototype={Version:'1.7.1',Browser:(function(){var ua=navigator.userAgent;var isOpera=Object.prototype.toString.call(window.opera)=='[object Opera]';return{IE:!!window.attachEvent&&!isOpera,Opera:isOpera,WebKit:ua.indexOf('AppleWebKit/')>-1,Gecko:ua.indexOf('Gecko')>-1&&ua.indexOf('KHTML')===-1,MobileSafari:/Apple.*Mobile/.test(ua)}})(),BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:(function(){var constructor=window.Element||window.HTMLElement;return!!(constructor&&constructor.prototype);})(),SpecificElementExtensions:(function(){if(typeof window.HTMLDivElement!=='undefined')
2return true;var div=document.createElement('div'),form=document.createElement('form'),isSupported=false;if(div['__proto__']&&(div['__proto__']!==form['__proto__'])){isSupported=true;}
3div=form=null;return isSupported;})()},ScriptFragment:'<script[^>]*>([\\S\\s]*?)<\/script\\s*>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari)
4Prototype.BrowserFeatures.SpecificElementExtensions=false;var Class=(function(){var IS_DONTENUM_BUGGY=(function(){for(var p in{toString:1}){if(p==='toString')return false;}
5return true;})();function subclass(){};function create(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0]))
6parent=properties.shift();function klass(){this.initialize.apply(this,arguments);}
7Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);}
8for(var i=0,length=properties.length;i<length;i++)
9klass.addMethods(properties[i]);if(!klass.prototype.initialize)
10klass.prototype.initialize=Prototype.emptyFunction;klass.prototype.constructor=klass;return klass;}
11function addMethods(source){var ancestor=this.superclass&&this.superclass.prototype,properties=Object.keys(source);if(IS_DONTENUM_BUGGY){if(source.toString!=Object.prototype.toString)
12properties.push("toString");if(source.valueOf!=Object.prototype.valueOf)
13properties.push("valueOf");}
14for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames()[0]=="$super"){var method=value;value=(function(m){return function(){return ancestor[m].apply(this,arguments);};})(property).wrap(method);value.valueOf=(function(method){return function(){return method.valueOf.call(method);};})(method);value.toString=(function(method){return function(){return method.toString.call(method);};})(method);}
15this.prototype[property]=value;}
16return this;}
17return{create:create,Methods:{addMethods:addMethods}};})();(function(){var _toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,NULL_TYPE='Null',UNDEFINED_TYPE='Undefined',BOOLEAN_TYPE='Boolean',NUMBER_TYPE='Number',STRING_TYPE='String',OBJECT_TYPE='Object',FUNCTION_CLASS='[object Function]',BOOLEAN_CLASS='[object Boolean]',NUMBER_CLASS='[object Number]',STRING_CLASS='[object String]',ARRAY_CLASS='[object Array]',DATE_CLASS='[object Date]',NATIVE_JSON_STRINGIFY_SUPPORT=window.JSON&&typeof JSON.stringify==='function'&&JSON.stringify(0)==='0'&&typeof JSON.stringify(Prototype.K)==='undefined';var DONT_ENUMS=['toString','toLocaleString','valueOf','hasOwnProperty','isPrototypeOf','propertyIsEnumerable','constructor'];var IS_DONTENUM_BUGGY=(function(){for(var p in{toString:1}){if(p==='toString')return false;}
18return true;})();function Type(o){switch(o){case null:return NULL_TYPE;case(void 0):return UNDEFINED_TYPE;}
19var type=typeof o;switch(type){case'boolean':return BOOLEAN_TYPE;case'number':return NUMBER_TYPE;case'string':return STRING_TYPE;}
20return OBJECT_TYPE;}
21function extend(destination,source){for(var property in source)
22destination[property]=source[property];return destination;}
23function inspect(object){try{if(isUndefined(object))return'undefined';if(object===null)return'null';return object.inspect?object.inspect():String(object);}catch(e){if(e instanceof RangeError)return'...';throw e;}}
24function toJSON(value){return Str('',{'':value},[]);}
25function Str(key,holder,stack){var value=holder[key];if(Type(value)===OBJECT_TYPE&&typeof value.toJSON==='function'){value=value.toJSON(key);}
26var _class=_toString.call(value);switch(_class){case NUMBER_CLASS:case BOOLEAN_CLASS:case STRING_CLASS:value=value.valueOf();}
27switch(value){case null:return'null';case true:return'true';case false:return'false';}
28var type=typeof value;switch(type){case'string':return value.inspect(true);case'number':return isFinite(value)?String(value):'null';
28case'object':for(var i=0,length=stack.length;i<length;i++){if(stack[i]===value){throw new TypeError("Cyclic reference to '"+value+"' in object");}}
29stack.push(value);var partial=[];if(_class===ARRAY_CLASS){for(var i=0,length=value.length;i<length;i++){var str=Str(i,value,stack);partial.push(typeof str==='undefined'?'null':str);}
30partial='['+partial.join(',')+']';}else{var keys=Object.keys(value);for(var i=0,length=keys.length;i<length;i++){var key=keys[i],str=Str(key,value,stack);if(typeof str!=="undefined"){partial.push(key.inspect(true)+':'+str);}}
31partial='{'+partial.join(',')+'}';}
32stack.pop();return partial;}}
33function stringify(object){return JSON.stringify(object);}
34function toQueryString(object){return $H(object).toQueryString();}
35function toHTML(object){return object&&object.toHTML?object.toHTML():String.interpret(object);}
36function keys(object){if(Type(object)!==OBJECT_TYPE){throw new TypeError();}
37var results=[];for(var property in object){if(_hasOwnProperty.call(object,property))
38results.push(property);}
39if(IS_DONTENUM_BUGGY){for(var i=0;property=DONT_ENUMS[i];i++){if(_hasOwnProperty.call(object,property))
40results.push(property);}}
41return results;}
42function values(object){var results=[];for(var property in object)
43results.push(object[property]);return results;}
44function clone(object){return extend({},object);}
45function isElement(object){return!!(object&&object.nodeType==1);}
46function isArray(object){return _toString.call(object)===ARRAY_CLASS;}
47var hasNativeIsArray=(typeof Array.isArray=='function')&&Array.isArray([])&&!Array.isArray({});if(hasNativeIsArray){isArray=Array.isArray;}
48function isHash(object){return object instanceof Hash;}
49function isFunction(object){return _toString.call(object)===FUNCTION_CLASS;}
50function isString(object){return _toString.call(object)===STRING_CLASS;}
51function isNumber(object){return _toString.call(object)===NUMBER_CLASS;}
52function isDate(object){return _toString.call(object)===DATE_CLASS;}
53function isUndefined(object){return typeof object==="undefined";}
54extend(Object,{extend:extend,inspect:inspect,toJSON:NATIVE_JSON_STRINGIFY_SUPPORT?stringify:toJSON,toQueryString:toQueryString,toHTML:toHTML,keys:Object.keys||keys,values:values,clone:clone,isElement:isElement,isArray:isArray,isHash:isHash,isFunction:isFunction,isString:isString,isNumber:isNumber,isDate:isDate,isUndefined:isUndefined});})();Object.extend(Function.prototype,(function(){var slice=Array.prototype.slice;function update(array,args){var arrayLength=array.length,length=args.length;while(length--)array[arrayLength+length]=args[length];return array;}
55function merge(array,args){array=slice.call(array,0);return update(array,args);}
56function argumentNames(){var names=this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1].replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g,'').replace(/\s+/g,'').split(',');return names.length==1&&!names[0]?[]:names;}
57function bind(context){if(arguments.length<2&&Object.isUndefined(arguments[0]))
58return this;if(!Object.isFunction(this))
59throw new TypeError("The object is not callable.");var nop=function(){};var __method=this,args=slice.call(arguments,1);var bound=function(){var a=merge(args,arguments),c=context;var c=this instanceof bound?this:context;return __method.apply(c,a);};nop.prototype=this.prototype;bound.prototype=new nop();return bound;}
60function bindAsEventListener(context){var __method=this,args=slice.call(arguments,1);return function(event){var a=update([event||window.event],args);return __method.apply(context,a);}}
61function curry(){if(!arguments.length)return this;var __method=this,args=slice.call(arguments,0);return function(){var a=merge(args,arguments);return __method.apply(this,a);}}
62function delay(timeout){var __method=this,args=slice.call(arguments,1);timeout=timeout*1000;return window.setTimeout(function(){return __method.apply(__method,args);},timeout);}
63function defer(){var args=update([0.01],arguments);return this.delay.apply(this,args);}
64function wrap(wrapper){var __method=this;return function(){var a=update([__method.bind(this)],arguments);return wrapper.apply(this,a);}}
65function methodize(){if(this._methodized)return this._methodized;var __method=this;return this._methodized=function(){var a=update([this],arguments);return __method.apply(null,a);};}
66var extensions={argumentNames:argumentNames,bindAsEventListener:bindAsEventListener,curry:curry,delay:delay,defer:defer,wrap:wrap,methodize:methodize};if(!Function.prototype.bind)
67extensions.bind=bind;return extensions;})());(function(proto){function toISOString(){return this.getUTCFullYear()+'-'+
68(this.getUTCMonth()+1).toPaddedString(2)+'-'+
69this.getUTCDate().toPaddedString(2)+'T'+
70this.getUTCHours().toPaddedString(2)+':'+
71this.getUTCMinutes().toPaddedString(2)+':'+
72this.getUTCSeconds().toPaddedString(2)+'Z';}
73function toJSON(){return this.toISOString();}
74if(!proto.toISOString)proto.toISOString=toISOString;if(!proto.toJSON)proto.toJSON=toJSON;})(Date.prototype);RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1');};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},execute:function(){this.callback(this);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();this.currentlyExecuting=false;}catch(e){this.currentlyExecuting=false;throw e;}}}});Object.extend(String,{interpret:function(value){return value==null?'':String(value);},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,(function(){var NATIVE_JSON_PARSE_SUPPORT=window.JSON&&typeof JSON.parse==='function'&&JSON.parse('{"test": true}').test;function prepareReplacement(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};}
75function gsub(pattern,replacement){var result='',source=this,match;replacement=prepareReplacement(replacement);if(Object.isString(pattern))
76pattern=RegExp.escape(pattern);if(!(pattern.length||pattern.source)){replacement=replacement('');return replacement+source.split('').join(replacement)+replacement;}
77while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
78return result;}
79function sub(pattern,replacement,count){replacement=prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;
79return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});}
80function scan(pattern,iterator){this.gsub(pattern,iterator);return String(this);}
81function truncate(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this);}
82function strip(){return this.replace(/^\s+/,'').replace(/\s+$/,'');}
83function stripTags(){return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi,'');}
84function stripScripts(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');}
85function extractScripts(){var matchAll=new RegExp(Prototype.ScriptFragment,'img'),matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});}
86function evalScripts(){return this.extractScripts().map(function(script){return eval(script);});}
87function escapeHTML(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');}
88function unescapeHTML(){return this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');}
89function toQueryParams(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift()),value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(!Object.isArray(hash[key]))hash[key]=[hash[key]];hash[key].push(value);}
90else hash[key]=value;}
91return hash;});}
92function toArray(){return this.split('');}
93function succ(){return this.slice(0,this.length-1)+
94String.fromCharCode(this.charCodeAt(this.length-1)+1);}
95function times(count){return count<1?'':new Array(count+1).join(this);}
96function camelize(){return this.replace(/-+(.)?/g,function(match,chr){return chr?chr.toUpperCase():'';});}
97function capitalize(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();}
98function underscore(){return this.replace(/::/g,'/').replace(/([A-Z]+)([A-Z][a-z])/g,'$1_$2').replace(/([a-z\d])([A-Z])/g,'$1_$2').replace(/-/g,'_').toLowerCase();}
99function dasherize(){return this.replace(/_/g,'-');}
100function inspect(useDoubleQuotes){var escapedString=this.replace(/[\x00-\x1f\\]/g,function(character){if(character in String.specialChar){return String.specialChar[character];}
101return'\\u00'+character.charCodeAt().toPaddedString(2,16);});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'";}
102function unfilterJSON(filter){return this.replace(filter||Prototype.JSONFilter,'$1');}
103function isJSON(){var str=this;if(str.blank())return false;str=str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@');str=str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');str=str.replace(/(?:^|:|,)(?:\s*\[)+/g,'');return(/^[\],:{}\s]*$/).test(str);}
104function evalJSON(sanitize){var json=this.unfilterJSON(),cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;if(cx.test(json)){json=json.replace(cx,function(a){return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
105try{if(!sanitize||json.isJSON())return eval('('+json+')');}catch(e){}
106throw new SyntaxError('Badly formed JSON string: '+this.inspect());}
107function parseJSON(){var json=this.unfilterJSON();return JSON.parse(json);}
108function include(pattern){return this.indexOf(pattern)>-1;}
109function startsWith(pattern){return this.lastIndexOf(pattern,0)===0;}
110function endsWith(pattern){var d=this.length-pattern.length;return d>=0&&this.indexOf(pattern,d)===d;}
111function empty(){return this=='';}
112function blank(){return /^\s*$/.test(this);}
113function interpolate(object,pattern){return new Template(this,pattern).evaluate(object);}
114return{gsub:gsub,sub:sub,scan:scan,truncate:truncate,strip:String.prototype.trim||strip,stripTags:stripTags,stripScripts:stripScripts,extractScripts:extractScripts,evalScripts:evalScripts,escapeHTML:escapeHTML,unescapeHTML:unescapeHTML,toQueryParams:toQueryParams,parseQuery:toQueryParams,toArray:toArray,succ:succ,times:times,camelize:camelize,capitalize:capitalize,underscore:underscore,dasherize:dasherize,inspect:inspect,unfilterJSON:unfilterJSON,isJSON:isJSON,evalJSON:NATIVE_JSON_PARSE_SUPPORT?parseJSON:evalJSON,include:include,startsWith:startsWith,endsWith:endsWith,empty:empty,blank:blank,interpolate:interpolate};})());var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){if(object&&Object.isFunction(object.toTemplateReplacements))
115object=object.toTemplateReplacements();
115return this.template.gsub(this.pattern,function(match){if(object==null)return(match[1]+'');var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3],pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].replace(/\\\\]/g,']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr);}
116return before+String.interpret(ctx);});}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable=(function(){function each(iterator,context){try{this._each(iterator,context);}catch(e){if(e!=$break)throw e;}
117return this;}
118function eachSlice(number,iterator,context){var index=-number,slices=[],array=this.toArray();if(number<1)return array;while((index+=number)<array.length)
119slices.push(array.slice(index,index+number));return slices.collect(iterator,context);}
120function all(iterator,context){iterator=iterator||Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator.call(context,value,index,this);if(!result)throw $break;},this);return result;}
121function any(iterator,context){iterator=iterator||Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator.call(context,value,index,this))
122throw $break;},this);return result;}
123function collect(iterator,context){iterator=iterator||Prototype.K;var results=[];this.each(function(value,index){results.push(iterator.call(context,value,index,this));},this);return results;}
124function detect(iterator,context){var result;this.each(function(value,index){if(iterator.call(context,value,index,this)){result=value;throw $break;}},this);return result;}
125function findAll(iterator,context){var results=[];this.each(function(value,index){if(iterator.call(context,value,index,this))
126results.push(value);},this);return results;}
127function grep(filter,iterator,context){iterator=iterator||Prototype.K;var results=[];if(Object.isString(filter))
128filter=new RegExp(RegExp.escape(filter));this.each(function(value,index){if(filter.match(value))
129results.push(iterator.call(context,value,index,this));},this);return results;}
130function include(object){if(Object.isFunction(this.indexOf))
131if(this.indexOf(object)!=-1)return true;var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;}
132function inGroupsOf(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});}
133function inject(memo,iterator,context){this.each(function(value,index){memo=iterator.call(context,memo,value,index,this);},this);return memo;}
134function invoke(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});}
135function max(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index,this);if(result==null||value>=result)
136result=value;},this);return result;}
137function min(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index,this);if(result==null||value<result)
138result=value;},this);return result;}
139function partition(iterator,context){iterator=iterator||Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator.call(context,value,index,this)?trues:falses).push(value);},this);return[trues,falses];}
140function pluck(property){var results=[];this.each(function(value){results.push(value[property]);});return results;}
141function reject(iterator,context){var results=[];this.each(function(value,index){if(!iterator.call(context,value,index,this))
142results.push(value);},this);return results;}
143function sortBy(iterator,context){return this.map(function(value,index){return{value:value,criteria:iterator.call(context,value,index,this)};},this).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');}
144function toArray(){return this.map();}
145function zip(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last()))
146iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});}
147function size(){return this.toArray().length;}
148function inspect(){return'#<Enumerable:'+this.toArray().inspect()+'>';}
149return{each:each,eachSlice:eachSlice,all:all,every:all,any:any,some:any,collect:collect,map:collect,detect:detect,findAll:findAll,select:findAll,filter:findAll,grep:grep,include:include,member:include,inGroupsOf:inGroupsOf,inject:inject,invoke:invoke,max:max,min:min,partition:partition,pluck:pluck,reject:reject,sortBy:sortBy,toArray:toArray,entries:toArray,zip:zip,size:size,inspect:inspect,find:detect};})();function $A(iterable){if(!iterable)return[];if('toArray'in Object(iterable))return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;}
150function $w(string){if(!Object.isString(string))return[];string=string.strip();return string?string.split(/\s+/):[];}
151Array.from=$A;(function(){var arrayProto=Array.prototype,slice=arrayProto.slice,_each=arrayProto.forEach;function each(iterator,context){for(var i=0,length=this.length>>>0;i<length;i++){if(i in this)iterator.call(context,this[i],i,this);}}
152if(!_each)_each=each;function clear(){this.length=0;return this;}
153function first(){return this[0];}
154function last(){return this[this.length-1];}
155function compact(){return this.select(function(value){return value!=null;});}
156function flatten(){return this.inject([],function(array,value){if(Object.isArray(value))
157return array.concat(value.flatten());array.push(value);return array;});}
158function without(){var values=slice.call(arguments,0);return this.select(function(value){return!values.include(value);});}
159function reverse(inline){return(inline===false?this.toArray():this)._reverse();}
160function uniq(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))
161array.push(value);return array;});}
162function intersect(array){return this.uniq().findAll(function(item){return array.indexOf(item)!==-1;});}
163function clone(){return slice.call(this,0);}
164function size(){return this.length;}
165function inspect(){return'['+this.map(Object.inspect).join(', ')+']';}
166function indexOf(item,i){if(this==null)throw new TypeError();var array=Object(this),length=array.length>>>0;if(length===0)return-1;i=Number(i);if(isNaN(i)){i=0;}else if(i!==0&&isFinite(i)){i=(i>0?1:-1)*Math.floor(Math.abs(i));}
167if(i>length)return-1;var k=i>
167=0?i:Math.max(length-Math.abs(i),0);for(;k<length;k++)
168if(k in array&&array[k]===item)return k;return-1;}
169function lastIndexOf(item,i){if(this==null)throw new TypeError();var array=Object(this),length=array.length>>>0;if(length===0)return-1;if(!Object.isUndefined(i)){i=Number(i);if(isNaN(i)){i=0;}else if(i!==0&&isFinite(i)){i=(i>0?1:-1)*Math.floor(Math.abs(i));}}else{i=length;}
170var k=i>=0?Math.min(i,length-1):length-Math.abs(i);for(;k>=0;k--)
171if(k in array&&array[k]===item)return k;return-1;}
172function concat(_){var array=[],items=slice.call(arguments,0),item,n=0;items.unshift(this);for(var i=0,length=items.length;i<length;i++){item=items[i];if(Object.isArray(item)&&!('callee'in item)){for(var j=0,arrayLength=item.length;j<arrayLength;j++){if(j in item)array[n]=item[j];n++;}}else{array[n++]=item;}}
173array.length=n;return array;}
174function wrapNative(method){return function(){if(arguments.length===0){return method.call(this,Prototype.K);}else if(arguments[0]===undefined){var args=slice.call(arguments,1);args.unshift(Prototype.K);return method.apply(this,args);}else{return method.apply(this,arguments);}};}
175function map(iterator){if(this==null)throw new TypeError();iterator=iterator||Prototype.K;var object=Object(this);var results=[],context=arguments[1],n=0;for(var i=0,length=object.length>>>0;i<length;i++){if(i in object){results[n]=iterator.call(context,object[i],i,object);}
176n++;}
177results.length=n;return results;}
178if(arrayProto.map){map=wrapNative(Array.prototype.map);}
179function filter(iterator){if(this==null||!Object.isFunction(iterator))
180throw new TypeError();var object=Object(this);var results=[],context=arguments[1],value;for(var i=0,length=object.length>>>0;i<length;i++){if(i in object){value=object[i];if(iterator.call(context,value,i,object)){results.push(value);}}}
181return results;}
182if(arrayProto.filter){filter=Array.prototype.filter;}
183function some(iterator){if(this==null)throw new TypeError();iterator=iterator||Prototype.K;var context=arguments[1];var object=Object(this);for(var i=0,length=object.length>>>0;i<length;i++){if(i in object&&iterator.call(context,object[i],i,object)){return true;}}
184return false;}
185if(arrayProto.some){var some=wrapNative(Array.prototype.some);}
186function every(iterator){if(this==null)throw new TypeError();iterator=iterator||Prototype.K;var context=arguments[1];var object=Object(this);for(var i=0,length=object.length>>>0;i<length;i++){if(i in object&&!iterator.call(context,object[i],i,object)){return false;}}
187return true;}
188if(arrayProto.every){var every=wrapNative(Array.prototype.every);}
189var _reduce=arrayProto.reduce;function inject(memo,iterator){iterator=iterator||Prototype.K;var context=arguments[2];return _reduce.call(this,iterator.bind(context),memo);}
190if(!arrayProto.reduce){var inject=Enumerable.inject;}
191Object.extend(arrayProto,Enumerable);if(!arrayProto._reverse)
192arrayProto._reverse=arrayProto.reverse;Object.extend(arrayProto,{_each:_each,map:map,collect:map,select:filter,filter:filter,findAll:filter,some:some,any:some,every:every,all:every,inject:inject,clear:clear,first:first,last:last,compact:compact,flatten:flatten,without:without,reverse:reverse,uniq:uniq,intersect:intersect,clone:clone,toArray:clone,size:size,inspect:inspect});
192var CONCAT_ARGUMENTS_BUGGY=(function(){return[].concat(arguments)[0][0]!==1;})(1,2);if(CONCAT_ARGUMENTS_BUGGY)arrayProto.concat=concat;if(!arrayProto.indexOf)arrayProto.indexOf=indexOf;if(!arrayProto.lastIndexOf)arrayProto.lastIndexOf=lastIndexOf;})();function $H(object){return new Hash(object);};var Hash=Class.create(Enumerable,(function(){function initialize(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object);}
193function _each(iterator,context){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator.call(context,pair);}}
194function set(key,value){return this._object[key]=value;}
195function get(key){if(this._object[key]!==Object.prototype[key])
196return this._object[key];}
197function unset(key){var value=this._object[key];delete this._object[key];return value;}
198function toObject(){return Object.clone(this._object);}
199function keys(){return this.pluck('key');}
200function values(){return this.pluck('value');}
201function index(value){var match=this.detect(function(pair){return pair.value===value;});return match&&match.key;}
202function merge(object){return this.clone().update(object);}
203function update(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result;});}
204function toQueryPair(key,value){if(Object.isUndefined(value))return key;var value=String.interpret(value);value=value.gsub(/(\r)?\n/,'\r\n');value=encodeURIComponent(value);value=value.gsub(/%20/,'+');return key+'='+value;}
205function toQueryString(){return this.inject([],function(results,pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object'){if(Object.isArray(values)){var queryValues=[];for(var i=0,len=values.length,value;i<len;i++){value=values[i];queryValues.push(toQueryPair(key,value));}
206return results.concat(queryValues);}}else results.push(toQueryPair(key,values));return results;}).join('&');}
207function inspect(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}
208function clone(){return new Hash(this);}
209return{initialize:initialize,_each:_each,set:set,get:get,unset:unset,toObject:toObject,toTemplateReplacements:toObject,keys:keys,values:values,index:index,merge:merge,update:update,toQueryString:toQueryString,inspect:inspect,toJSON:toObject,clone:clone};})());Hash.from=$H;Object.extend(Number.prototype,(function(){function toColorPart(){return this.toPaddedString(2,16);}
210function succ(){return this+1;}
211function times(iterator,context){$R(0,this,true).each(iterator,context);return this;}
212function toPaddedString(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string;}
213function abs(){return Math.abs(this);}
214function round(){return Math.round(this);}
215function ceil(){return Math.ceil(this);}
216function floor(){return Math.floor(this);}
217return{toColorPart:toColorPart,succ:succ,times:times,toPaddedString:toPaddedString,abs:abs,round:round,ceil:ceil,floor:floor};})());function $R(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
218var ObjectRange=Class.create(Enumerable,(function(){function initialize(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;}
219function _each(iterator,context){var value=this.start;while(this.include(value)){iterator.call(context,value);value=value.succ();}}
220function include(value){if(value<this.start)
221return false;if(this.exclusive)
222return value<this.end;return value<=this.end;}
223return{initialize:initialize,_each:_each,include:include};})());var Abstract={};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
224return returnValue;}};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator,context){this.responders._each(iterator,context);},register:function(responder){if(!this.include(responder))
225this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true};Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(Object.isHash(this.options.parameters))
226this.options.parameters=this.options.parameters.toObject();}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,o
226ptions){$super(options);this.transport=Ajax.getTransport();this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=Object.isString(this.options.parameters)?this.options.parameters:Object.toQueryString(this.options.parameters);if(!['get','post'].include(this.method)){params+=(params?'&':'')+"_method="+this.method;this.method='post';}
227if(params&&this.method==='get'){this.url+=(this.url.include('?')?'&':'?')+params;}
228this.parameters=params.toQueryParams();try{var response=new Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(response);Ajax.Responders.dispatch('onCreate',this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)this.respondToReadyState.bind(this).defer(1);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
229this.onStateChange();}
230catch(e){this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
231this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
232(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
233headers['Connection']='close';}
234if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push))
235for(var i=0,length=extras.length;i<length;i+=2)
236headers[extras[i]]=extras[i+1];else
237$H(extras).each(function(pair){headers[pair.key]=pair.value});}
238for(var name in headers)
239this.transport.setRequestHeader(name,headers[name]);},success:function(){var status=this.getStatus();return!status||(status>=200&&status<300)||status==304;},getStatus:function(){try{if(this.transport.status===1223)return 204;return this.transport.status||0;}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON);}catch(e){this.dispatchException(e);}
240var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
241this.evalResponse();}
242try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON);}catch(e){this.dispatchException(e);}
243if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return!m||(m[0]=='#{protocol}//#{domain}#{port}'.interpolate({protocol:location.protocol,domain:document.domain,port:location.port?':'+location.port:''}));},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null;}catch(e){return null;}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON();}
244if(readyState==4){var xml=transport.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||'';}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;try{json=decodeURIComponent(escape(json));}catch(e){}
245try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json'))||this.responseText.blank())
246return null;try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,o
246ptions){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,json);}).bind(this);$super(url,options);},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion);}
247else options.insertion(receiver,responseText);}
248else receiver.update(responseText);}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText;}
249this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});(function(GLOBAL){var UNDEFINED;var SLICE=Array.prototype.slice;var DIV=document.createElement('div');function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
250elements.push($(arguments[i]));return elements;}
251if(Object.isString(element))
252element=document.getElementById(element);return Element.extend(element);}
253GLOBAL.$=$;if(!GLOBAL.Node)GLOBAL.Node={};if(!GLOBAL.Node.ELEMENT_NODE){Object.extend(GLOBAL.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});}
254var ELEMENT_CACHE={};function shouldUseCreationCache(tagName,attributes){if(tagName==='select')return false;if('type'in attributes)return false;return true;}
255var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX=(function(){try{var el=document.createElement('<input name="x">');return el.tagName.toLowerCase()==='input'&&el.name==='x';}
256catch(err){return false;}})();var oldElement=GLOBAL.Element;function Element(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();if(HAS_EXTENDED_CREATE_ELEMENT_SYNTAX&&attributes.name){tagName='<'+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes);}
257if(!ELEMENT_CACHE[tagName])
258ELEMENT_CACHE[tagName]=Element.extend(document.createElement(tagName));var node=shouldUseCreationCache(tagName,attributes)?ELEMENT_CACHE[tagName].cloneNode(false):document.createElement(tagName);return Element.writeAttribute(node,attributes);}
259GLOBAL.Element=Element;Object.extend(GLOBAL.Element,oldElement||{});if(oldElement)GLOBAL.Element.prototype=oldElement.prototype;Element.Methods={ByTag:{},Simulated:{}};var methods={};var INSPECT_ATTRIBUTES={id:'id',className:'class'};function inspect(element){element=$(element);var result='<'+element.tagName.toLowerCase();var attribute,value;for(var property in INSPECT_ATTRIBUTES){attribute=INSPECT_ATTRIBUTES[property];value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);}
260return result+'>';}
261methods.inspect=inspect;function visible(element){return $(element).style.display!=='none';}
262function toggle(element,bool){element=$(element);if(Object.isUndefined(bool))
263bool=!Element.visible(element);Element[bool?'show':'hide'](element);return element;}
264function hide(element){element=$(element);element.style.display='none';return element;}
265function show(element){element=$(element);element.style.display='';return element;}
266Object.extend(methods,{visible:visible,toggle:toggle,hide:hide,show:show});function remove(element){element=$(element);element.parentNode.removeChild(element);return element;}
267var SELECT_ELEMENT_INNERHTML_BUGGY=(function(){var el=document.createElement("select"),isBuggy=true;el.innerHTML="<option value=\"test\">test</option>";if(el.options&&el.options[0]){isBuggy=el.options[0].nodeName.toUpperCase()!=="OPTION";}
268el=null;return isBuggy;})();var TABLE_ELEMENT_INNERHTML_BUGGY=(function(){try{var el=document.createElement("table");if(el&&el.tBodies){el.innerHTML="<tbody><tr><td>test</td></tr></tbody>";var isBuggy=typeof el.tBodies[0]=="undefined";el=null;return isBuggy;}}catch(e){return true;}}
268)();var LINK_ELEMENT_INNERHTML_BUGGY=(function(){try{var el=document.createElement('div');el.innerHTML="<link />";var isBuggy=(el.childNodes.length===0);el=null;return isBuggy;}catch(e){return true;}})();var ANY_INNERHTML_BUGGY=SELECT_ELEMENT_INNERHTML_BUGGY||TABLE_ELEMENT_INNERHTML_BUGGY||LINK_ELEMENT_INNERHTML_BUGGY;var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING=(function(){var s=document.createElement("script"),isBuggy=false;try{s.appendChild(document.createTextNode(""));isBuggy=!s.firstChild||s.firstChild&&s.firstChild.nodeType!==3;}catch(e){isBuggy=true;}
269s=null;return isBuggy;})();function update(element,content){element=$(element);var descendants=element.getElementsByTagName('*'),i=descendants.length;while(i--)purgeElement(descendants[i]);if(content&&content.toElement)
270content=content.toElement();if(Object.isElement(content))
271return element.update().insert(content);content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName==='SCRIPT'&&SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING){element.text=content;return element;}
272if(ANY_INNERHTML_BUGGY){if(tagName in INSERTION_TRANSLATIONS.tags){while(element.firstChild)
273element.removeChild(element.firstChild);var nodes=getContentFromAnonymousElement(tagName,content.stripScripts());for(var i=0,node;node=nodes[i];i++)
274element.appendChild(node);}else if(LINK_ELEMENT_INNERHTML_BUGGY&&Object.isString(content)&&content.indexOf('<link')>-1){while(element.firstChild)
275element.removeChild(element.firstChild);var nodes=getContentFromAnonymousElement(tagName,content.stripScripts(),true);for(var i=0,node;node=nodes[i];i++)
276element.appendChild(node);}else{element.innerHTML=content.stripScripts();}}else{element.innerHTML=content.stripScripts();}
277content.evalScripts.bind(content).defer();return element;}
278function replace(element,content){element=$(element);if(content&&content.toElement){content=content.toElement();}else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts());}
279element.parentNode.replaceChild(content,element);return element;}
280var INSERTION_TRANSLATIONS={before:function(element,node){element.parentNode.insertBefore(node,element);},top:function(element,node){element.insertBefore(node,element.firstChild);},bottom:function(element,node){element.appendChild(node);},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling);},tags:{TABLE:['<table>','</table>',1],TBODY:['<table><tbody>','</tbody></table>',2],TR:['<table><tbody><tr>','</tr></tbody></table>',3],TD:['<table><tbody><tr><td>','</td></tr></tbody></table>',4],SELECT:['<select>','</select>',1]}};var tags=INSERTION_TRANSLATIONS.tags;Object.extend(tags,{THEAD:tags.TBODY,TFOOT:tags.TBODY,TH:tags.TD});function replace_IE(element,content){element=$(element);if(content&&content.toElement)
281content=content.toElement();if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element;}
282content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(tagName in INSERTION_TRANSLATIONS.tags){var nextSibling=Element.next(element);var fragments=getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);var iterator;if(nextSibling)
283iterator=function(node){parent.insertBefore(node,nextSibling)};else
284iterator=function(node){parent.appendChild(node);}
285fragments.each(iterator);}else{element.outerHTML=content.stripScripts();}
286content.evalScripts.bind(content).defer();return element;}
287if('outerHTML'in document.documentElement)
288replace=replace_IE;function isContent(content){if(Object.isUndefined(content)||content===null)return false;if(Object.isString(content)||Object.isNumber(content))return true;if(Object.isElement(content))return true;if(content.toElement||content.toHTML)return true;return false;}
289function insertContentAt(element,content,position){position=position.toLowerCase();var method=INSERTION_TRANSLATIONS[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){method(element,content);return element;}
290content=Object.toHTML(content);var tagName=((position==='before'||position==='after')?element.parentNode:element).tagName.toUpperCase();var childNodes=getContentFromAnonymousElement(tagName,content.stripScripts());if(position==='top'||position==='after')childNodes.reverse();for(var i=0,node;node=childNodes[i];i++)
291method(element,node);content.evalScripts.bind(content).defer();}
292function insert(element,insertions){element=$(element);if(isContent(insertions))
293insertions={bottom:insertions};for(var position in insertions)
294insertContentAt(element,insertions[position],position);return element;}
295function wrap(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper)){$(wrapper).writeAttribute(attributes||{});}else if(Object.isString(wrapper)){wrapper=new Element(wrapper,attributes);}else{wrapper=new Element('div',wrapper);}
296if(element.parentNode)
297element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper;}
298function cleanWhitespace(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType===Node.TEXT_NODE&&!/\S/.test(node.nodeValue))
299element.removeChild(node);node=nextNode;}
300return element;}
301function empty(element){return $(element).innerHTML.blank();}
302function getContentFromAnonymousElement(tagName,html,force){var t=INSERTION_TRANSLATIONS.tags[tagName],div=DIV;var workaround=!!t;if(!workaround&&force){workaround=true;t=['','',0];}
303if(workaround){div.innerHTML='&#160;'+t[0]+html+t[1];div.removeChild(div.firstChild);for(var i=t[2];i--;)
304div=div.firstChild;}else{div.innerHTML=html;}
305return $A(div.childNodes);}
306function clone(element,deep){if(!(element=$(element)))return;var clone=element.cloneNode(deep);if(!HAS_UNIQUE_ID_PROPERTY){clone._prototypeUID=UNDEFINED;if(deep){var descendants=Element.select(clone,'*'),i=descendants.length;while(i--)
307descendants[i]._prototypeUID=UNDEFINED;}}
308return Element.extend(clone);}
309function purgeElement(element){var uid=getUniqueElementID(element);if(uid){Element.stopObserving(element);if(!HAS_UNIQUE_ID_PROPERTY)
310element._prototypeUID=UNDEFINED;delete Element.Storage[uid];}}
311function purgeCollection(elements){var i=elements.length;while(i--)
312purgeElement(elements[i]);}
313function purgeCollection_IE(elements){var i=elements.length,element,uid;while(i--){element=elements[i];uid=getUniqueElementID(element);delete Element.Storage[uid];delete Event.cache[uid];}}
314if(HAS_UNIQUE_ID_PROPERTY){purgeCollection=purgeCollection_IE;}
315function purge(element){if(!(element=$(element)))return;purgeElement(element);var descendants=element.getElementsByTagName('*'),i=descendants.length;while(i--)purgeElement(descendants[i]);return null;}
316Object.extend(methods,{remove:remove,update:update,replace:replace,insert:insert,wrap:wrap,cleanWhitespace:cleanWhitespace,empty:empty,clone:clone,purge:purge});function recursivelyCollect(element,property,maximumLength){element=$(element);maximumLength=maximumLength||-1;var elements=[];while(element=element[property]){if(element.nodeType===Node.ELEMENT_NODE)
317elements.push(Element.extend(element));if(elements.length===maximumLength)break;}
318return elements;}
319function ancestors(element){return recursivelyCollect(element,'parentNode');}
320function descendants(element){return Element.select(element,'*');}
321function firstDescendant(element){element=$(element).firstChild;while(element&&element.nodeType!==Node.ELEMENT_NODE)
322element=element.nextSibling;return $(element);}
323function immediateDescendants(element){var results=[],child=$(element).firstChild;while(child){if(child.nodeType===Node.ELEMENT_NODE)
324results.push(Element.extend(child));child=child.nextSibling;}
325return results;}
326function previousSiblings(element){return recursivelyCollect(element,'previousSibling');}
327function nextSiblings(element){return recursivelyCollect(element,'nextSibling');}
328function siblings(element){element=$(element);var previous=previousSiblings(element),next=nextSiblings(element);return previous.reverse().concat(next);}
329function match(element,selector){element=$(element);if(Object.isString(selector))
330return Prototype.Selector.match(element,selector);return selector.match(element);}
331function _recursivelyFind(element,property,expression,index){element=$(element),expression=expression||0,index=index||
3310;if(Object.isNumber(expression)){index=expression,expression=null;}
332while(element=element[property]){if(element.nodeType!==1)continue;if(expression&&!Prototype.Selector.match(element,expression))
333continue;if(--index>=0)continue;return Element.extend(element);}}
334function up(element,expression,index){element=$(element);if(arguments.length===1)return $(element.parentNode);return _recursivelyFind(element,'parentNode',expression,index);}
335function down(element,expression,index){element=$(element),expression=expression||0,index=index||0;if(Object.isNumber(expression))
336index=expression,expression='*';var node=Prototype.Selector.select(expression,element)[index];return Element.extend(node);}
337function previous(element,expression,index){return _recursivelyFind(element,'previousSibling',expression,index);}
338function next(element,expression,index){return _recursivelyFind(element,'nextSibling',expression,index);}
339function select(element){element=$(element);var expressions=SLICE.call(arguments,1).join(', ');return Prototype.Selector.select(expressions,element);}
340function adjacent(element){element=$(element);var expressions=SLICE.call(arguments,1).join(', ');var siblings=Element.siblings(element),results=[];for(var i=0,sibling;sibling=siblings[i];i++){if(Prototype.Selector.match(sibling,expressions))
341results.push(sibling);}
342return results;}
343function descendantOf_DOM(element,ancestor){element=$(element),ancestor=$(ancestor);while(element=element.parentNode)
344if(element===ancestor)return true;return false;}
345function descendantOf_contains(element,ancestor){element=$(element),ancestor=$(ancestor);if(!ancestor.contains)return descendantOf_DOM(element,ancestor);return ancestor.contains(element)&&ancestor!==element;}
346function descendantOf_compareDocumentPosition(element,ancestor){element=$(element),ancestor=$(ancestor);return(element.compareDocumentPosition(ancestor)&8)===8;}
347var descendantOf;if(DIV.compareDocumentPosition){descendantOf=descendantOf_compareDocumentPosition;}else if(DIV.contains){descendantOf=descendantOf_contains;}else{descendantOf=descendantOf_DOM;}
348Object.extend(methods,{recursivelyCollect:recursivelyCollect,ancestors:ancestors,descendants:descendants,firstDescendant:firstDescendant,immediateDescendants:immediateDescendants,previousSiblings:previousSiblings,nextSiblings:nextSiblings,siblings:siblings,match:match,up:up,down:down,previous:previous,next:next,select:select,adjacent:adjacent,descendantOf:descendantOf,getElementsBySelector:select,childElements:immediateDescendants});var idCounter=1;function identify(element){element=$(element);var id=Element.readAttribute(element,'id');if(id)return id;do{id='anonymous_element_'+idCounter++}while($(id));Element.writeAttribute(element,'id',id);return id;}
349function readAttribute(element,name){return $(element).getAttribute(name);}
350function readAttribute_IE(element,name){element=$(element);var table=ATTRIBUTE_TRANSLATIONS.read;if(table.values[name])
351return table.values[name](element,name);if(table.names[name])name=table.names[name];if(name.include(':')){if(!element.attributes||!element.attributes[name])return null;return element.attributes[name].value;}
352return element.getAttribute(name);}
353function readAttribute_Opera(element,name){if(name==='title')return element.title;return element.getAttribute(name);}
354var PROBLEMATIC_ATTRIBUTE_READING=(function(){DIV.setAttribute('onclick',Prototype.emptyFunction);var value=DIV.getAttribute('onclick');var isFunction=(typeof value==='function');DIV.removeAttribute('onclick');return isFunction;})();if(PROBLEMATIC_ATTRIBUTE_READING){readAttribute=readAttribute_IE;}else if(Prototype.Browser.Opera){readAttribute=readAttribute_Opera;}
355function writeAttribute(element,name,value){element=$(element);var attributes={},table=ATTRIBUTE_TRANSLATIONS.write;if(typeof name==='object'){attributes=name;}else{attributes[name]=Object.isUndefined(value)?true:value;}
356for(var attr in attributes){name=table.names[attr]||attr;value=attributes[attr];if(table.values[attr])
357name=table.values[attr](element,value);if(value===false||value===null)
358element.removeAttribute(name);else if(value===true)
359element.setAttribute(name,name);else element.setAttribute(name,value);}
360return element;}
361function hasAttribute(element,attribute){attribute=ATTRIBUTE_TRANSLATIONS.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return!!(node&&node.specified);}
362GLOBAL.Element.Methods.Simulated.hasAttribute=hasAttribute;function classNames(element){return new Element.ClassNames(element);}
363var regExpCache={};function getRegExpForClassName(className){if(regExpCache[className])return regExpCache[className];var re=new RegExp("(^|\\s+)"+className+"(\\s+|$)");regExpCache[className]=re;return re;}
364function hasClassName(element,className){if(!(element=$(element)))return;var elementClassName=element.className;if(elementClassName.length===0)return false;if(elementClassName===className)return true;return getRegExpForClassName(className).test(elementClassName);}
365function addClassName(element,className){if(!(element=$(element)))return;if(!hasClassName(element,className))
366element.className+=(element.className?' ':'')+className;return element;}
367function removeClassName(element,className){if(!(element=$(element)))return;element.className=element.className.replace(getRegExpForClassName(className),' ').strip();return element;}
368function toggleClassName(element,className,bool){if(!(element=$(element)))return;if(Object.isUndefined(bool))
369bool=!hasClassName(element,className);var method=Element[bool?'addClassName':'removeClassName'];return method(element,className);}
370var ATTRIBUTE_TRANSLATIONS={};var classProp='className',forProp='for';DIV.setAttribute(classProp,'x');if(DIV.className!=='x'){DIV.setAttribute('class','x');if(DIV.className==='x')
371classProp='class';}
372var LABEL=document.createElement('label');LABEL.setAttribute(forProp,'x');if(LABEL.htmlFor!=='x'){LABEL.setAttribute('htmlFor','x');if(LABEL.htmlFor==='x')
373forProp='htmlFor';}
374LABEL=null;function _getAttr(element,attribute){return element.getAttribute(attribute);}
375function _getAttr2(element,attribute){return element.getAttribute(attribute,2);}
376function _getAttrNode(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:'';}
377function _getFlag(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;}
378DIV.onclick=Prototype.emptyFunction;var onclickValue=DIV.getAttribute('onclick');var _getEv;if(String(onclickValue).indexOf('{')>-1){_getEv=function(element,attribute){var value=element.getAttribute(attribute);if(!value)return null;value=value.toString();value=value.split('{')[1];value=value.split('}')[0];return value.strip();};}
379else if(onclickValue===''){_getEv=function(element,attribute){var value=element.getAttribute(attribute);if(!value)return null;return value.strip();};}
380ATTRIBUTE_TRANSLATIONS.read={names:{'class':classProp,'className':classProp,'for':forProp,'htmlFor':forProp},values:{style:function(element){return element.style.cssText.toLowerCase();},title:function(element){return element.title;}}};ATTRIBUTE_TRANSLATIONS.write={names:{className:'class',htmlFor:'for',cellpadding:'cellPadding',cellspacing:'cellSpacing'},values:{checked:function(element,value){element.checked=!!value;},style:function(element,value){element.style.cssText=value?value:'';}}};ATTRIBUTE_TRANSLATIONS.has={names:{}};Object.extend(ATTRIBUTE_TRANSLATIONS.write.names,ATTRIBUTE_TRANSLATIONS.read.names);var CAMEL_CASED_ATTRIBUTE_NAMES=$w('colSpan rowSpan vAlign dateTime '+'accessKey tabIndex encType maxLength readOnly longDesc frameBorder');for(var i=0,attr;attr=CAMEL_CASED_ATTRIBUTE_NAMES[i];i++){ATTRIBUTE_TRANSLATIONS.write.names[attr.toLowerCase()]=attr;ATTRIBUTE_TRANSLATIONS.has.names[attr.toLowerCase()]=attr;}
381Object.extend(ATTRIBUTE_TRANSLATIONS.read.values,{href:_getAttr2,src:_getAttr2,type:_getAttr,action:_getAttrNode,disabled:_getFlag,checked:_getFlag,readonly:_getFlag,multiple:_getFlag,onload:_getEv,onunload:_getEv,onclick:_getEv,ondblclick:_getEv,onmousedown:_getEv,onmouseup:_getEv,onmouseover:_getEv,onmousemove:_getEv,onmouseout:_getEv,onfocus:_getEv,onblur:_getEv,onkeypress:_getEv,onkeydown:_getEv,onkeyup:_getEv,onsubmit:_getEv,onreset:_getEv,onselect:_getEv,onchange:_getEv});Object.extend(methods,{identify:identify,readAttribute:readAttribute,writeAttribute:writeAttribute,classNames:classNames,hasClassName:hasClassName,addClassName:addClassName,removeClassName:removeClassName,toggleClassName:toggleClassName});function normalizeStyleName(style){if(style==='float'||style==='styleFloat')
382return'cssFloat';return style.camelize();}
383function normalizeStyleName_IE(style){if(style==='float'||style==='cssFloat')
384return'styleFloat';return style.camelize();}
385function setStyle(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){elementStyle.cssText+=';'+styles;if(styles.include('opacity')){var opacity=styles.match(/opacity:\s*(\d?\.?\d*)/)[1];Element.setOpacity(element,opacity);}
386return element;}
387for(var property in styles){if(property==='opacity'){Element.setOpacity(element,styles[property]);}else{var value=styles[property];if(property==='float'||property==='cssFloat'){property=Object.isUndefined(elementStyle.styleFloat)?'cssFloat':'styleFloat';}
388elementStyle[property]=value;}}
389return element;}
390function getStyle(element,style){element=$(element);style=normalizeStyleName(style);var value=element.style[style];if(!value||value==='auto'){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
391if(style==='opacity')return value?parseFloat(value):1.0;return value==='auto'?null:value;}
392function getStyle_Opera(element,style){switch(style){case'height':case'width':if(!Element.visible(element))return null;var dim=parseInt(getStyle(element,style),10);if(dim!==element['offset'+style.capitalize()])
393return dim+'px';return Element.measure(element,style);default:return getStyle(element,style);}}
394function getStyle_IE(element,style){element=$(element);style=normalizeStyleName_IE(style);var value=element.style[style];if(!value&&element.currentStyle){value=element.currentStyle[style];}
395if(style==='opacity'&&!STANDARD_CSS_OPACITY_SUPPORTED)
396return getOpacity_IE(element);if(value==='auto'){if((style==='width'||style==='height')&&Element.visible(element))
397return Element.measure(element,style)+'px';return null;}
398return value;}
399function stripAlphaFromFilter_IE(filter){return(filter||'').replace(/alpha\([^\)]*\)/gi,'');}
400function hasLayout_IE(element){if(!element.currentStyle.hasLayout)
401element.style.zoom=1;return element;}
402var STANDARD_CSS_OPACITY_SUPPORTED=(function(){DIV.style.cssText="opacity:.55";return /^0.55/.test(DIV.style.opacity);})();function setOpacity(element,value){element=$(element);if(value==1||value==='')value='';else if(value<0.00001)value=0;element.style.opacity=value;return element;}
403function setOpacity_IE(element,value){if(STANDARD_CSS_OPACITY_SUPPORTED)
404return setOpacity(element,value);element=hasLayout_IE($(element));var filter=Element.getStyle(element,'filter'),style=element.style;if(value==1||value===''){filter=stripAlphaFromFilter_IE(filter);if(filter)style.filter=filter;else style.removeAttribute('filter');return element;}
405if(value<0.00001)value=0;style.filter=stripAlphaFromFilter_IE(filter)+'alpha(opacity='+(value*100)+')';return element;}
406function getOpacity(element){return Element.getStyle(element,'opacity');}
407function getOpacity_IE(element){if(STANDARD_CSS_OPACITY_SUPPORTED)
408return getOpacity(element);var filter=Element.getStyle(element,'filter');if(filter.length===0)return 1.0;var match=(filter||'').match(/alpha\(opacity=(.*)\)/);if(match[1])return parseFloat(match[1])/100;return 1.0;}
409Object.extend(methods,{setStyle:setStyle,getStyle:getStyle,setOpacity:setOpacity,getOpacity:getOpacity});if('styleFloat'in DIV.style){methods.getStyle=getStyle_IE;methods.setOpacity=setOpacity_IE;methods.getOpacity=getOpacity_IE;}
410var UID=0;GLOBAL.Element.Storage={UID:1};function getUniqueElementID(element){if(element===window)return 0;if(typeof element._prototypeUID==='undefined')
411element._prototypeUID=Element.Storage.UID++;return element._prototypeUID;}
412function getUniqueElementID_IE(element){if(element===window)return 0;if(element==document)return 1;return element.uniqueID;}
413var HAS_UNIQUE_ID_PROPERTY=('uniqueID'in DIV);if(HAS_UNIQUE_ID_PROPERTY)
414getUniqueElementID=getUniqueElementID_IE;function getStorage(element){if(!(element=$(element)))return;var uid=getUniqueElementID(element);if(!Element.Storage[uid])
415Element.Storage[uid]=$H();return Element.Storage[uid];}
416function store(element,key,value){if(!(element=$(element)))return;var storage=getStorage(element);if(arguments.length===2){storage.update(key);}else{storage.set(key,value);}
417return element;}
418function retrieve(element,key,defaultValue){if(!(element=$(element)))return;var storage=getStorage(element),value=storage.get(key);if(Object.isUndefined(value)){storage.set(key,defaultValue);value=defaultValue;}
419return value;}
420Object.extend(methods,{getStorage:getStorage,store:store,retrieve:retrieve});var Methods={},ByTag=Element.Methods.ByTag,F=Prototype.BrowserFeatures;if(!F.ElementExtensions&&('__proto__'in DIV)){GLOBAL.HTMLElement={};GLOBAL.HTMLElement.prototype=DIV['__proto__'];F.ElementExtensions=true;}
421function checkElementPrototypeDeficiency(tagName){if(typeof window.Element==='undefined')return false;var proto=window.Element.prototype;if(proto){var id='_'+(Math.random()+'').slice(2),el=document.createElement(tagName);proto[id]='x';var isBuggy=(el[id]!=='x');delete proto[id];el=null;return isBuggy;}
422return false;}
423var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY=checkElementPrototypeDeficiency('object');function extendElementWith(element,methods){for(var property in methods){var value=methods[property];if(Object.isFunction(value)&&!(property in element))
424element[property]=value.methodize();}}
425var EXTENDED={};function elementIsExtended(element){var uid=getUniqueElementID(element);return(uid in EXTENDED);}
426function extend(element){if(!element||elementIsExtended(element))return element;if(element.nodeType!==Node.ELEMENT_NODE||element==window)
427return element;var methods=Object.clone(Methods),tagName=element.tagName.toUpperCase();if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);extendElementWith(element,methods);EXTENDED[getUniqueElementID(element)]=true;return element;}
428function extend_IE8(element){if(!element||elementIsExtended(element))return element;var t=element.tagName;if(t&&(/^(?:object|applet|embed)$/i.test(t))){extendElementWith(element,Element.Methods);extendElementWith(element,Element.Methods.Simulated);extendElementWith(element,Element.Methods.ByTag[t.toUpperCase()]);}
429return element;}
430if(F.SpecificElementExtensions){extend=HTMLOBJECTELEMENT_PROTOTYPE_BUGGY?extend_IE8:Prototype.K;}
431function addMethodsToTagName(tagName,methods){tagName=tagName.toUpperCase();if(!ByTag[tagName])ByTag[tagName]={};Object.extend(ByTag[tagName],methods);}
432function mergeMethods(destination,methods,onlyIfAbsent){if(Object.isUndefined(onlyIfAbsent))onlyIfAbsent=false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination))
433destination[property]=value.methodize();}}
434function findDOMClass(tagName){var klass;var trans={"OPTGROUP":"OptGroup","TEXTAREA":"TextArea","P":"Paragraph","FIELDSET":"FieldSet","UL":"UList","OL":"OList","DL":"DList","DIR":"Directory","H1":"Heading","H2":"Heading","H3":"Heading","H4":"Heading","H5":"Heading","H6":"Heading","Q":"Quote","INS":"Mod","DEL":"Mod","A":"Anchor","IMG":"Image","CAPTION":"TableCaption","COL":"TableCol","COLGROUP":"TableCol","THEAD":"TableSection","TFOOT":"TableSection","TBODY":"TableSection","TR":"TableRow","TH":"TableCell","TD":"TableCell","FRAMESET":"FrameSet","IFRAME":"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];var element=document.createElement(tagName),proto=element['__proto__']||element.constructor.prototype;element=null;return proto;}
435function addMethods(methods){if(arguments.length===0)addFormMethods();if(arguments.length===2){var tagName=methods;methods=arguments[1];}
436if(!tagName){Object.extend(Element.Methods,methods||{});}else{if(Object.isArray(tagName)){for(var i=0,tag;tag=tagName[i];i++)
437addMethodsToTagName(tag,methods);}else{addMethodsToTagName(tagName,methods);}}
438var ELEMENT_PROTOTYPE=window.HTMLElement?HTMLElement.prototype:Element.prototype;if(F.ElementExtensions){mergeMethods(ELEMENT_PROTOTYPE,Element.Methods);mergeMethods(ELEMENT_PROTOTYPE,Element.Methods.Simulated,true);}
439if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;mergeMethods(klass.prototype,ByTag[tag]);}}
440Object.extend(Element,Element.Methods);Object.extend(Element,Element.Methods.Simulated);delete Element.ByTag;delete Element.Simulated;Element.extend.refresh();ELEMENT_CACHE={};}
441Object.extend(GLOBAL.Element,{extend:extend,addMethods:addMethods});if(extend===Prototype.K){GLOBAL.Element.extend.refresh=Prototype.emptyFunction;}else{GLOBAL.Element.extend.refresh=function(){if(Prototype.BrowserFeatures.ElementExtensions)return;Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated);EXTENDED={};};}
442function addFormMethods(){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),"BUTTON":Object.clone(Form.Element.Methods)});}
443Element.addMethods(methods);})(this);(function(){function toDecimal(pctString){var match=pctString.match(/^(\d+)%?$/i);if(!match)return null;return(Number(match[1])/100);}
444function getRawStyle(element,style){element=$(element);var value=element.style[style];if(!value||value==='auto'){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
445if(style==='opacity')return value?parseFloat(value):1.0;return value==='auto'?null:value;}
446function getRawStyle_IE(element,style){var value=element.style[style];if(!value&&element.currentStyle){value=element.currentStyle[style];}
447return value;}
448function getContentWidth(element,context){var boxWidth=element.offsetWidth;var bl=getPixelValue(element,'borderLeftWidth',context)||0;var br=getPixelValue(element,'borderRightWidth',context)||0;var pl=getPixelValue(element,'paddingLeft',context)||0;var pr=getPixelValue(element,'paddingRight',context)||0;return boxWidth-bl-br-pl-pr;}
449if('currentStyle'in document.documentElement){getRawStyle=getRawStyle_IE;}
450function getPixelValue(value,property,context){var element=null;if(Object.isElement(value)){element=value;value=getRawStyle(element,property);}
451if(value===null||Object.isUndefined(value)){return null;}
452if((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)){return window.parseFloat(value);}
453var isPercentage=value.include('%'),isViewport=(context===document.viewport);if(/\d/.test(value)&&element&&element.runtimeStyle&&!(isPercentage&&isViewport)){var style=element.style.left,rStyle=element.runtimeStyle.left;element.runtimeStyle.left=element.currentStyle.left;element.style.left=value||0;value=element.style.pixelLeft;element.style.left=style;element.runtimeStyle.left=rStyle;return value;}
454if(element&&isPercentage){context=context||element.parentNode;var decimal=toDecimal(value),whole=null;var isHorizontal=property.include('left')||property.include('right')||property.include('width');var isVertical=property.include('top')||property.include('bottom')||property.include('height');if(context===document.viewport){if(isHorizontal){whole=document.viewport.getWidth();}else if(isVertical){whole=document.viewport.getHeight();}}else{if(isHorizontal){whole=$(context).measure('width');}else if(isVertical){whole=$(context).measure('height');}}
455return(whole===null)?0:whole*decimal;}
456return 0;}
457function toCSSPixels(number){if(Object.isString(number)&&number.endsWith('px'))
458return number;return number+'px';}
459function isDisplayed(element){while(element&&element.parentNode){var display=element.getStyle('display');if(display==='none'){return false;}
460element=$(element.parentNode);}
461return true;}
462var hasLayout=Prototype.K;if('currentStyle'in document.documentElement){hasLayout=function(element){if(!element.currentStyle.hasLayout){element.style.zoom=1;}
463return element;};}
464function cssNameFor(key){if(key.include('border'))key=key+'-width';return key.camelize();}
465Element.Layout=Class.create(Hash,{initialize:function($super,element,preCompute){$super();this.element=$(element);Element.Layout.PROPERTIES.each(function(property){this._set(property,null);},this);if(preCompute){this._preComputing=true;this._begin();Element.Layout.PROPERTIES.each(this._compute,this);this._end();this._preComputing=false;}},_set:function(property,value){return Hash.prototype.set.call(this,property,value);},set:function(property,value){throw"Properties of Element.Layout are read-only.";},get:function($super,property){var value=$super(property);return value===null?this._compute(property):value;},_begin:function(){if(this._isPrepared())return;var element=this.element;if(isDisplayed(element)){this._setPrepared(true);return;}
466var originalStyles={position:element.style.position||'',width:element.style.width||'',visibility:element.style.visibility||'',display:element.style.display||''};element.store('prototype_original_styles',originalStyles);var position=getRawStyle(element,'position'),width=element.offsetWidth;if(width===0||width===null){element.style.display='block';width=element.offsetWidth;}
467var context=(position==='fixed')?document.viewport:element.parentNode;var tempStyles={visibility:'hidden',display:'block'};if(position!=='fixed')tempStyles.position='absolute';element.setStyle(tempStyles);var positionedWidth=element.offsetWidth,newWidth;if(width&&(positionedWidth===width)){newWidth=getContentWidth(element,context);}else if(position==='absolute'||position==='fixed'){newWidth=getContentWidth(element,context);}else{var parent=element.parentNode,pLayout=$(parent).getLayout();newWidth=pLayout.get('width')-
468this.get('margin-left')-
469this.get('border-left')-
470this.get('padding-left')-
471this.get('padding-right')-
472this.get('border-right')-
473this.get('margin-right');}
474element.setStyle({width:newWidth+'px'});this._setPrepared(true);},_end:function(){var element=this.element;var originalStyles=element.retrieve('prototype_original_styles');element.store('prototype_original_styles',null);element.setStyle(originalStyles);this._setPrepared(false);},_compute:function(property){var COMPUTATIONS=Element.Layout.COMPUTATIONS;if(!(property in COMPUTATIONS)){throw"Property not found.";}
475return this._set(property,COMPUTATIONS[property].call(this,this.element));},_isPrepared:function(){return this.element.retrieve('prototype_element_layout_prepared',false);},_setPrepared:function(bool){return this.element.store('prototype_element_layout_prepared',bool);},toObject:function(){var args=$A(arguments);var keys=(args.length===0)?Element.Layout.PROPERTIES:args.join(' ').split(' ');var obj={};keys.each(function(key){if(!Element.Layout.PROPERTIES.include(key))return;var value=this.get(key);if(value!=null)obj[key]=value;},this);return obj;},toHash:function(){var obj=this.toObject.apply(this,arguments);return new Hash(obj);},toCSS:function(){var args=$A(arguments);var keys=(args.length===0)?Element.Layout.PROPERTIES:args.join(' ').split(' ');var css={};keys.each(function(key){if(!Element.Layout.PROPERTIES.include(key))return;if(Element.Layout.COMPOSITE_PROPERTIES.include(key))return;var value=this.get(key);if(value!=null)css[cssNameFor(key)]=value+'px';},this);return css;},inspect:function(){return"#<Element.Layout>";}});Object.extend(Element.Layout,{PROPERTIES:$w('height width top left right bottom border-left border-right border-top border-bottom padding-left padding-right padding-top padding-bottom margin-top margin-bottom margin-left margin-right padding-box-width padding-box-height border-box-width border-box-height margin-box-width margin-box-height'),COMPOSITE_PROPERTIES:$w('padding-box-width padding-box-height margin-box-width margin-box-height border-box-width border-box-height'),COMPUTATIONS:{'height':function(element){if(!this._preComputing)this._begin();var bHeight=this.get('border-box-height');if(bHeight<=0){if(!this._preComputing)this._end();return 0;}
476var bTop=this.get('border-top'),bBottom=this.get('border-bottom');var pTop=this.get('padding-top'),pBottom=this.get('padding-bottom');if(!this._preComputing)this._end();return bHeight-bTop-bBottom-pTop-pBottom;},'width':function(element){if(!this._preComputing)this._begin();var bWidth=this.get('border-box-width');if(bWidth<=0){if(!this._preComputing)this._end();return 0;}
477var bLeft=this.get('border-left'),bRight=this.get('border-right');var pLeft=this.get('padding-left'),pRight=this.get('padding-right');
477if(!this._preComputing)this._end();return bWidth-bLeft-bRight-pLeft-pRight;},'padding-box-height':function(element){var height=this.get('height'),pTop=this.get('padding-top'),pBottom=this.get('padding-bottom');return height+pTop+pBottom;},'padding-box-width':function(element){var width=this.get('width'),pLeft=this.get('padding-left'),pRight=this.get('padding-right');return width+pLeft+pRight;},'border-box-height':function(element){if(!this._preComputing)this._begin();var height=element.offsetHeight;if(!this._preComputing)this._end();return height;},'border-box-width':function(element){if(!this._preComputing)this._begin();var width=element.offsetWidth;if(!this._preComputing)this._end();return width;},'margin-box-height':function(element){var bHeight=this.get('border-box-height'),mTop=this.get('margin-top'),mBottom=this.get('margin-bottom');if(bHeight<=0)return 0;return bHeight+mTop+mBottom;},'margin-box-width':function(element){var bWidth=this.get('border-box-width'),mLeft=this.get('margin-left'),mRight=this.get('margin-right');if(bWidth<=0)return 0;return bWidth+mLeft+mRight;},'top':function(element){var offset=element.positionedOffset();return offset.top;},'bottom':function(element){var offset=element.positionedOffset(),parent=element.getOffsetParent(),pHeight=parent.measure('height');var mHeight=this.get('border-box-height');return pHeight-mHeight-offset.top;},'left':function(element){var offset=element.positionedOffset();return offset.left;},'right':function(element){var offset=element.positionedOffset(),parent=element.getOffsetParent(),pWidth=parent.measure('width');var mWidth=this.get('border-box-width');return pWidth-mWidth-offset.left;},'padding-top':function(element){return getPixelValue(element,'paddingTop');},'padding-bottom':function(element){return getPixelValue(element,'paddingBottom');},'padding-left':function(element){return getPixelValue(element,'paddingLeft');},'padding-right':function(element){return getPixelValue(element,'paddingRight');},'border-top':function(element){return getPixelValue(element,'borderTopWidth');},'border-bottom':function(element){return getPixelValue(element,'borderBottomWidth');},'border-left':function(element){return getPixelValue(element,'borderLeftWidth');},'border-right':function(element){return getPixelValue(element,'borderRightWidth');},'margin-top':function(element){return getPixelValue(element,'marginTop');},'margin-bottom':function(element){return getPixelValue(element,'marginBottom');},'margin-left':function(element){return getPixelValue(element,'marginLeft');},'margin-right':function(element){return getPixelValue(element,'marginRight');}}});if('getBoundingClientRect'in document.documentElement){Object.extend(Element.Layout.COMPUTATIONS,{'right':function(element){var parent=hasLayout(element.getOffsetParent());var rect=element.getBoundingClientRect(),pRect=parent.getBoundingClientRect();return(pRect.right-rect.right).round();},'bottom':function(element){var parent=hasLayout(element.getOffsetParent());var rect=element.getBoundingClientRect(),pRect=parent.getBoundingClientRect();return(pRect.bottom-rect.bottom).round();}});}
478Element.Offset=Class.create({initialize:function(left,top){this.left=left.round();this.top=top.round();this[0]=this.left;this[1]=this.top;},relativeTo:function(offset){return new Element.Offset(this.left-offset.left,this.top-offset.top);},inspect:function(){return"#<Element.Offset left: #{left} top: #{top}>".interpolate(this);},toString:function(){return"[#{left}, #{top}]".interpolate(this);},toArray:function(){return[this.left,this.top];}});function getLayout(element,preCompute){return new Element.Layout(element,preCompute);}
479function measure(element,property){return $(element).getLayout().get(property);}
480function getHeight(element){return Element.getDimensions(element).height;}
481function getWidth(element){return Element.getDimensions(element).width;}
482function getDimensions(element){element=$(element);var display=Element.getStyle(element,'display');if(display&&display!=='none'){return{width:element.offsetWidth,height:element.offsetHeight};}
483var style=element.style;var originalStyles={visibility:style.visibility,position:style.position,display:style.display};var newStyles={visibility:'hidden',display:'block'};if(originalStyles.position!=='fixed')
484newStyles.position='absolute';Element.setStyle(element,newStyles);var dimensions={width:element.offsetWidth,height:element.offsetHeight};Element.setStyle(element,originalStyles);return dimensions;}
485function getOffsetParent(element){element=$(element);if(isDocument(element)||isDetached(element)||isBody(element)||isHtml(element))
486return $(document.body);var isInline=(Element.getStyle(element,'display')==='inline');if(!isInline&&element.offsetParent)return $(element.offsetParent);while((element=element.parentNode)&&element!==document.body){if(Element.getStyle(element,'position')!=='static'){return isHtml(element)?$(document.body):$(element);}}
487return $(document.body);}
488function cumulativeOffset(element){element=$(element);var valueT=0,valueL=0;if(element.parentNode){do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);}
489return new Element.Offset(valueL,valueT);}
490function positionedOffset(element){element=$(element);var layout=element.getLayout();var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(isBody(element))break;var p=Element.getStyle(element,'position');if(p!=='static')break;}}while(element);valueL-=layout.get('margin-top');valueT-=layout.get('margin-left');return new Element.Offset(valueL,valueT);}
491function cumulativeScrollOffset(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return new Element.Offset(valueL,valueT);}
492function viewportOffset(forElement){var valueT=0,valueL=0,docBody=document.body;var element=$(forElement);do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==docBody&&Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{if(element!=docBody){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}}while(element=element.parentNode);return new Element.Offset(valueL,valueT);}
493function absolutize(element){element=$(element);if(Element.getStyle(element,'position')==='absolute'){return element;}
494var offsetParent=getOffsetParent(element);var eOffset=element.viewportOffset(),pOffset=offsetParent.viewportOffset();var offset=eOffset.relativeTo(pOffset);var layout=element.getLayout();element.store('prototype_absolutize_original_styles',{left:element.getStyle('left'),top:element.getStyle('top'),width:element.getStyle('width'),height:element.getStyle('height')});element.setStyle({position:'absolute',top:offset.top+'px',left:offset.left+'px',width:layout.get('width')+'px',height:layout.get('height')+'px'});return element;}
495function relativize(element){element=$(element);if(Element.getStyle(element,'position')==='relative'){return element;}
496var originalStyles=element.retrieve('prototype_absolutize_original_styles');if(originalStyles)element.setStyle(originalStyles);return element;}
497function scrollTo(element){element=$(element);var pos=Element.cumulativeOffset(element);window.scrollTo(pos.left,pos.top);return element;}
498function makePositioned(element){element=$(element);var position=Element.getStyle(element,'position'),styles={};if(position==='static'||!position){styles.position='relative';if(Prototype.Browser.Opera){styles.top=0;styles.left=0;}
499Element.setStyle(element,styles);Element.store(element,'prototype_made_positioned',true);}
500return element;}
501function undoPositioned(element){element=$(element);var storage=Element.getStorage(element),madePositioned=storage.get('prototype_made_positioned');if(madePositioned){storage.unset('prototype_made_positioned');Element.setStyle(element,{position:'',top:'',bottom:'',left:'',right:''});}
502return element;}
503function makeClipping(element){element=$(element);var storage=Element.getStorage(element),madeClipping=storage.get('prototype_made_clipping');if(Object.isUndefined(madeClipping)){var overflow=Element.getStyle(element,'overflow');storage.set('prototype_made_clipping',overflow);if(overflow!=='hidden')
504element.style.overflow='hidden';}
505return element;}
506function undoClipping(element){element=$(element);var storage=Element.getStorage(element),overflow=storage.get('prototype_made_clipping');if(!Object.isUndefined(overflow)){storage.unset('prototype_made_clipping');element.style.overflow=overflow||'';}
507return element;}
508function clonePosition(element,source,options){options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},options||{});source=$(source);element=$(element);var p,delta,layout,styles={};if(options.setLeft||options.setTop){p=Element.viewportOffset(source);delta=[0,0];if(Element.getStyle(element,'position')==='absolute'){var parent=Element.getOffsetParent(element);if(parent!==document.body)delta=Element.viewportOffset(parent);}}
509if(options.setWidth||options.setHeight){layout=Element.getLayout(source);}
510if(options.setLeft)
511styles.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)
512styles.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)
513styles.width=layout.get('border-box-width')+'px';if(options.setHeight)
514styles.height=layout.get('border-box-height')+'px';return Element.setStyle(element,styles);}
515if(Prototype.Browser.IE){getOffsetParent=getOffsetParent.wrap(function(proceed,element){element=$(element);if(isDocument(element)||isDetached(element)||isBody(element)||isHtml(element))
516return $(document.body);var position=element.getStyle('position');if(position!=='static')return proceed(element);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});positionedOffset=positionedOffset.wrap(function(proceed,element){element=$(element);if(!element.parentNode)return new Element.Offset(0,0);var position=element.getStyle('position');if(position!=='static')return proceed(element);var offsetParent=element.getOffsetParent();if(offsetParent&&offsetParent.getStyle('position')==='fixed')
517hasLayout(offsetParent);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});}else if(Prototype.Browser.Webkit){cumulativeOffset=function(element){element=$(element);var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body){if(Element.getStyle(element,'position')=='absolute')break;}
518element=element.offsetParent;}while(element);return new Element.Offset(valueL,valueT);};}
519Element.addMethods({getLayout:getLayout,measure:measure,getWidth:getWidth,getHeight:getHeight,getDimensions:getDimensions,getOffsetParent:getOffsetParent,cumulativeOffset:cumulativeOffset,positionedOffset:positionedOffset,cumulativeScrollOffset:cumulativeScrollOffset,viewportOffset:viewportOffset,absolutize:absolutize,relativize:relativize,scrollTo:scrollTo,makePositioned:makePositioned,undoPositioned:undoPositioned,makeClipping:makeClipping,undoClipping:undoClipping,clonePosition:clonePosition});function isBody(element){return element.nodeName.toUpperCase()==='BODY';}
520function isHtml(element){return element.nodeName.toUpperCase()==='HTML';}
521function isDocument(element){return element.nodeType===Node.DOCUMENT_NODE;}
522function isDetached(element){return element!==document.body&&!Element.descendantOf(element,document.body);}
523if('getBoundingClientRect'in document.documentElement){Element.addMethods({viewportOffset:function(element){element=$(element);if(isDetached(element))return new Element.Offset(0,0);var rect=element.getBoundingClientRect(),docEl=document.documentElement;return new Element.Offset(rect.left-docEl.clientLeft,rect.top-docEl.clientTop);}});}})();(function(){var IS_OLD_OPERA=Prototype.Browser.Opera&&(window.parseFloat(window.opera.version())<9.5);var ROOT=null;function getRootElement(){if(ROOT)return ROOT;ROOT=IS_OLD_OPERA?document.body:document.documentElement;return ROOT;}
524function getDimensions(){return{width:this.getWidth(),height:this.getHeight()};}
525function getWidth(){return getRootElement().clientWidth;}
526function getHeight(){return getRootElement().clientHeight;}
527function getScrollOffsets(){var x=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft;var y=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop;return new Element.Offset(x,y);}
528document.viewport={getDimensions:getDimensions,getWidth:getWidth,getHeight:getHeight,getScrollOffsets:getScrollOffsets};})();window.$$=function(){var expression=$A(arguments).join(', ');return Prototype.Selector.select(expression,document);};Prototype.Selector=(function(){function select(){throw new Error('Method "Prototype.Selector.select" must be defined.');}
529function match(){throw new Error('Method "Prototype.Selector.match" must be defined.');}
530function find(elements,expression,index){index=index||0;var match=Prototype.Selector.match,length=elements.length,matchIndex=0,i;for(i=0;i<length;i++){if(match(elements[i],expression)&&index==matchIndex++){return Element.extend(elements[i]);}}}
531function extendElements(elements){for(var i=0,length=elements.length;i<length;i++){Element.extend(elements[i]);}
532return elements;}
533var K=Prototype.K;return{select:select,match:match,find:find,extendElements:(Element.extend===K)?K:extendElements,extendElement:Element.extend};})();
534/*!
535 * Sizzle CSS Selector Engine
536 *  Copyright 2011, The Dojo Foundation
537 *  Released under the MIT, BSD, and GPL Licenses.
538 *  More information: http://sizzlejs.com/
539 */
540(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true,rBackslash=/\\/g,rNonWord=/\W/;[0,0].sort(function(){baseHasDuplicate=false;return 0;});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[];}
541if(!selector||typeof selector!=="string"){return results;}
542var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break;}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift();}
543set=posProcess(selector,set);}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0];}
544if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
545while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
546if(pop==null){pop=context;}
547Expr.relative[cur](checkSet,pop,contextXML);}}else{checkSet=parts=[];}}
548if(!checkSet){checkSet=set;}
549if(!checkSet){Sizzle.error(cur||selector);}
550if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
551if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results);}
552return results;};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}
553return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0;};Sizzle.find=function(expr,context,isXML){var set;if(!expr){return[];}
554for(var i=0,l=Expr.order.length;i<l;i++){var match,type=Expr.order[i];if((match=Expr.leftMatch[type].exec(expr))){var left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(rBackslash,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
555if(!set){set=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName("*"):[];}
556return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){var found,item,filter=Expr.filter[type],left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue;}
557if(curLoop===result){result=[];}
558if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
559if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
560if(found!==undefined){if(!inplace){curLoop=result;}
561expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
562break;}}}
563if(expr===old){if(anyFound==null){Sizzle.error(expr);}else{break;}}
564old=expr;}
565return curLoop;};Sizzle.error=function(msg){throw"Syntax error, unrecognized expression: "+msg;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");},type:function(elem){return elem.getAttribute("type");}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!rNonWord.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase();}
566for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
567checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part;}}
568if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!rNonWord.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false;}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
569if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
570checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
571checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[];}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
572return ret.length===0?null:ret;}},TAG:function(match,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(match[1]);}}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(rBackslash,"")+" ";if(isXML){return match;}
573for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem);}}else if(inplace){curLoop[i]=false;}}}
574return false;},ID:function(match){return match[1].replace(rBackslash,"");},TAG:function(match,curLoop){return match[1].replace(rBackslash,"").toLowerCase();},CHILD:function(match){if(match[1]==="nth"){if(!match[2]){Sizzle.error(match[0]);}
575match[2]=match[2].replace(/^\+|\s*/g,'');var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
576else if(match[2]){Sizzle.error(match[0]);}
577match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1]=match[1].replace(rBackslash,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
578match[4]=(match[4]||match[5]||"").replace(rBackslash,"");if(match[2]==="~="){match[4]=" "+match[4]+" ";}
579return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
580return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
581return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex;}
582return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return(/h\d/i).test(elem.nodeName);},text:function(elem){var attr=elem.getAttribute("type"),type=elem.type;return elem.nodeName.toLowerCase()==="input"&&"text"===type&&(attr===type||attr===null);},radio:function(elem){return elem.nodeName.toLowerCase()==="input"&&"radio"===elem.type;},checkbox:function(elem){return elem.nodeName.toLowerCase()==="input"&&"checkbox"===elem.type;},file:function(elem){return elem.nodeName.toLowerCase()==="input"&&"file"===elem.type;},password:function(elem){return elem.nodeName.toLowerCase()==="input"&&"password"===elem.type;},submit:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"submit"===elem.type;},image:function(elem){return elem.nodeName.toLowerCase()==="input"&&"image"===elem.type;},reset:function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&"reset"===elem.type;},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&"button"===elem.type||name==="button";},input:function(elem){return(/input|select|textarea|button/i).test(elem.nodeName);},focus:function(elem){return elem===elem.ownerDocument.activeElement;}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0===i;},eq:function(elem,i,match){return match[3]-0===i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||Sizzle.getText([elem])||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false;}}
583return true;}else{Sizzle.error(name);}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while((node=node.previousSibling)){if(node.nodeType===1){return false;}}
584if(type==="first"){return true;}
585node=elem;case"last":while((node=node.nextSibling)){if(node.nodeType===1){return false;}}
586return true;case"nth":var first=match[2],last=match[3];if(first===1&&last===0){return true;}
587var doneName=match[0],parent=elem.parentNode;
587if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
588parent.sizcache=doneName;}
589var diff=elem.nodeIndex-last;if(first===0){return diff===0;}else{return(diff%first===0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1);};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+(/(?![^\[]*\])(?![^\(]*\))/.source));Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape));}
590var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results;}
591return array;};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i]);}}else{for(;array[i];i++){ret.push(array[i]);}}}
592return ret;};}
593var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}
594if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1;}
595return a.compareDocumentPosition(b)&4?-1:1;};}else{sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}else if(a.sourceIndex&&b.sourceIndex){return a.sourceIndex-b.sourceIndex;}
596var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(aup===bup){return siblingCheck(a,b);}else if(!aup){return-1;}else if(!bup){return 1;}
597while(cur){ap.unshift(cur);cur=cur.parentNode;}
598cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode;}
599al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i]);}}
600return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1);};siblingCheck=function(a,b,ret){if(a===b){return ret;}
601var cur=a.nextSibling;while(cur){if(cur===b){return-1;}
602cur=cur.nextSibling;}
603return 1;};}
604Sizzle.getText=function(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue;}else if(elem.nodeType!==8){ret+=Sizzle.getText(elem.childNodes);}}
605return ret;};(function(){var form=document.createElement("div"),id="script"+(new Date()).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
606root.removeChild(form);root=form=null;})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
606
607results=tmp;}
608return results;};}
609div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}
610div=null;})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
611Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&!Sizzle.isXML(context)){var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);if(match&&(context.nodeType===1||context.nodeType===9)){if(match[1]){return makeArray(context.getElementsByTagName(query),extra);}else if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){return makeArray(context.getElementsByClassName(match[2]),extra);}}
612if(context.nodeType===9){if(query==="body"&&context.body){return makeArray([context.body],extra);}else if(match&&match[3]){var elem=context.getElementById(match[3]);if(elem&&elem.parentNode){if(elem.id===match[3]){return makeArray([elem],extra);}}else{return makeArray([],extra);}}
613try{return makeArray(context.querySelectorAll(query),extra);}catch(qsaError){}}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var oldContext=context,old=context.getAttribute("id"),nid=old||id,hasParent=context.parentNode,relativeHierarchySelector=/^\s*[+~]/.test(query);if(!old){context.setAttribute("id",nid);}else{nid=nid.replace(/'/g,"\\$&");}
614if(relativeHierarchySelector&&hasParent){context=context.parentNode;}
615try{if(!relativeHierarchySelector||hasParent){return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra);}}catch(pseudoError){}finally{if(!old){oldContext.removeAttribute("id");}}}}
616return oldSizzle(query,context,extra,seed);};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop];}
617div=null;})();}
618(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector;if(matches){var disconnectedMatch=!matches.call(document.createElement("div"),"div"),pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle");}catch(pseudoError){pseudoWorks=true;}
619Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){var ret=matches.call(node,expr);if(ret||!disconnectedMatch||node.document&&node.document.nodeType!==11){return ret;}}}catch(e){}}
620return Sizzle(expr,null,null,[node]).length>0;};}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return;}
621div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return;}
622Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};div=null;})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
623if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
624if(elem.nodeName.toLowerCase()===cur){match=elem;break;}
625elem=elem[dir];}
626checkSet[i]=match;}}}
627function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
628if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
629if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
630elem=elem[dir];}
631checkSet[i]=match;}}}
632if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true);};}else if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16);};}else{Sizzle.contains=function(){return false;};}
633Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};var posProcess=function(selector,context){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
634selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
635return Sizzle.filter(later,tmpSet);};
635window.Sizzle=Sizzle;})();Prototype._original_property=window.Sizzle;;(function(engine){var extendElements=Prototype.Selector.extendElements;function select(selector,scope){return extendElements(engine(selector,scope||document));}
636function match(element,selector){return engine.matches(selector,[element]).length==1;}
637Prototype.Selector.engine=engine;Prototype.Selector.select=select;Prototype.Selector.match=match;})(Sizzle);window.Sizzle=Prototype._original_property;delete Prototype._original_property;var Form={reset:function(form){form=$(form);form.reset();return form;},serializeElements:function(elements,options){if(typeof options!='object')options={hash:!!options};else if(Object.isUndefined(options.hash))options.hash=true;var key,value,submitted=false,submit=options.submit,accumulator,initial;if(options.hash){initial={};accumulator=function(result,key,value){if(key in result){if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value);}else result[key]=value;return result;};}else{initial='';accumulator=function(result,key,value){value=value.gsub(/(\r)?\n/,'\r\n');value=encodeURIComponent(value);value=value.gsub(/%20/,'+');return result+(result?'&':'')+encodeURIComponent(key)+'='+value;}}
638return elements.inject(initial,function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&element.type!='file'&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){result=accumulator(result,key,value);}}
639return result;});}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options);},getElements:function(form){var elements=$(form).getElementsByTagName('*');var element,results=[],serializers=Form.Element.Serializers;for(var i=0;element=elements[i];i++){if(serializers[element.tagName.toLowerCase()])
640results.push(Element.extend(element));}
641return results;},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
642continue;matchingInputs.push(Element.extend(input));}
643return matchingInputs;},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form;},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form;},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return'hidden'!=element.type&&!element.disabled;});var firstByIndex=elements.findAll(function(element){return element.hasAttribute('tabIndex')&&element.tabIndex>=0;}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return /^(?:input|select|textarea)$/i.test(element.tagName);});},focusFirstElement:function(form){form=$(form);var element=form.findFirstElement();if(element)element.activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params);}
644if(form.hasAttribute('method')&&!options.method)
645options.method=form.method;return new Ajax.Request(action,options);}};Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair);}}
646return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element;},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!(/^(?:button|reset|submit)$/i.test(element.type))))
647element.select();}catch(e){}
648return element;},disable:function(element){element=$(element);element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers=(function(){function input(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return inputSelector(element,value);default:return valueSelector(element,value);}}
649function inputSelector(element,value){if(Object.isUndefined(value))
650return element.checked?element.value:null;else element.checked=!!value;}
651function valueSelector(element,value){if(Object.isUndefined(value))return element.value;else element.value=value;}
652function select(element,value){if(Object.isUndefined(value))
653return(element.type==='select-one'?selectOne:selectMany)(element);var opt,currentValue,single=!Object.isArray(value);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];currentValue=this.optionValue(opt);if(single){if(currentValue==value){opt.selected=true;return;}}
654else opt.selected=value.include(currentValue);}}
655function selectOne(element){var index=element.selectedIndex;return index>=0?optionValue(element.options[index]):null;}
656function selectMany(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(optionValue(opt));}
657return values;}
658function optionValue(opt){return Element.hasAttribute(opt,'value')?opt.value:opt.text;}
659return{input:input,inputSelector:inputSelector,textarea:valueSelector,select:select,selectOne:selectOne,selectMany:selectMany,optionValue:optionValue,button:valueSelector};})();Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue();},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value;}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
660this.registerFormCallbacks();else
661this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element);}});(function(GLOBAL){var DIV=document.createElement('div');var docEl=document.documentElement;var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED='onmouseenter'in docEl&&'onmouseleave'in docEl;var Event={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45};var isIELegacyEvent=function(event){return false;};if(window.attachEvent){if(window.addEventListener){isIELegacyEvent=function(event){return!(event instanceof window.Event);};}else{isIELegacyEvent=function(event){return true;};}}
662var _isButton;function _isButtonForDOMEvents(event,code){return event.which?(event.which===code+1):(event.button===code);}
663var legacyButtonMap={0:1,1:4,2:2};function _isButtonForLegacyEvents(event,code){return event.button===legacyButtonMap[code];}
664function _isButtonForWebKit(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==2||(event.which==1&&event.metaKey);case 2:return event.which==3;default:return false;}}
665if(window.attachEvent){if(!window.addEventListener){_isButton=_isButtonForLegacyEvents;}else{_isButton=function(event,code){return isIELegacyEvent(event)?_isButtonForLegacyEvents(event,code):_isButtonForDOMEvents(event,code);}}}else if(Prototype.Browser.WebKit){_isButton=_isButtonForWebKit;}else{_isButton=_isButtonForDOMEvents;}
666function isLeftClick(event){return _isButton(event,0)}
667function isMiddleClick(event){return _isButton(event,1)}
668function isRightClick(event){return _isButton(event,2)}
669function element(event){return Element.extend(_element(event));}
670function _element(event){event=Event.extend(event);var node=event.target,type=event.type,currentTarget=event.currentTarget;if(currentTarget&&currentTarget.tagName){if(type==='load'||type==='error'||(type==='click'&&currentTarget.tagName.toLowerCase()==='input'&&currentTarget.type==='radio'))
671node=currentTarget;}
672if(node.nodeType==Node.TEXT_NODE)
673node=node.parentNode;return Element.extend(node);}
674function findElement(event,expression){var element=_element(event),match=Prototype.Selector.match;if(!expression)return Element.extend(element);while(element){if(Object.isElement(element)&&match(element,expression))
675return Element.extend(element);element=element.parentNode;}}
676function pointer(event){return{x:pointerX(event),y:pointerY(event)};}
677function pointerX(event){var docElement=document.documentElement,body=document.body||{scrollLeft:0};return event.pageX||(event.clientX+
678(docElement.scrollLeft||body.scrollLeft)-
679(docElement.clientLeft||0));}
680function pointerY(event){var docElement=document.documentElement,body=document.body||{scrollTop:0};return event.pageY||(event.clientY+
681(docElement.scrollTop||body.scrollTop)-
682(docElement.clientTop||0));}
683function stop(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true;}
684Event.Methods={isLeftClick:isLeftClick,isMiddleClick:isMiddleClick,isRightClick:isRightClick,element:element,findElement:findElement,pointer:pointer,pointerX:pointerX,pointerY:pointerY,stop:stop};var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m;});if(window.attachEvent){function _relatedTarget(event){var element;switch(event.type){case'mouseover':case'mouseenter':element=event.fromElement;break;case'mouseout':case'mouseleave':element=event.toElement;break;default:return null;}
685return Element.extend(element);}
686var additionalMethods={stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return'[object Event]'}};Event.extend=function(event,element){if(!event)return false;if(!isIELegacyEvent(event))return event;if(event._extendedByPrototype)return event;event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement||element,relatedTarget:_relatedTarget(event),pageX:pointer.x,pageY:pointer.y});Object.extend(event,methods);Object.extend(event,additionalMethods);return event;};}else{Event.extend=Prototype.K;}
687if(window.addEventListener){Event.prototype=window.Event.prototype||document.createEvent('HTMLEvents').__proto__;Object.extend(Event.prototype,methods);}
688var EVENT_TRANSLATIONS={mouseenter:'mouseover',mouseleave:'mouseout'};function getDOMEventName(eventName){return EVENT_TRANSLATIONS[eventName]||eventName;}
689if(MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED)
690getDOMEventName=Prototype.K;function getUniqueElementID(element){if(element===window)return 0;if(typeof element._prototypeUID==='undefined')
691element._prototypeUID=Element.Storage.UID++;return element._prototypeUID;}
692function getUniqueElementID_IE(element){if(element===window)return 0;if(element==document)return 1;return element.uniqueID;}
693if('uniqueID'in DIV)
694getUniqueElementID=getUniqueElementID_IE;function isCustomEvent(eventName){return eventName.include(':');}
695Event._isCustomEvent=isCustomEvent;function getRegistryForElement(element,uid){var CACHE=GLOBAL.Event.cache;if(Object.isUndefined(uid))
696uid=getUniqueElementID(element);if(!CACHE[uid])CACHE[uid]={element:element};return CACHE[uid];}
697function destroyRegistryForElement(element,uid){if(Object.isUndefined(uid))
698uid=getUniqueElementID(element);delete GLOBAL.Event.cache[uid];}
699function register(element,eventName,handler){var registry=getRegistryForElement(element);if(!registry[eventName])registry[eventName]=[];var entries=registry[eventName];var i=entries.length;while(i--)
700if(entries[i].handler===handler)return null;var uid=getUniqueElementID(element);var responder=GLOBAL.Event._createResponder(uid,eventName,handler);var entry={responder:responder,handler:handler};entries.push(entry);return entry;}
701function unregister(element,eventName,handler){var registry=getRegistryForElement(element);var entries=registry[eventName];if(!entries)return;var i=entries.length,entry;while(i--){if(entries[i].handler===handler){entry=entries[i];break;}}
702if(!entry)return;var index=entries.indexOf(entry);entries.splice(index,1);return entry;}
703function observe(element,eventName,handler){element=$(element);var entry=register(element,eventName,handler);if(entry===null)return element;var responder=entry.responder;if(isCustomEvent(eventName))
704observeCustomEvent(element,eventName,responder);else
705observeStandardEvent(element,eventName,responder);return element;}
706function observeStandardEvent(element,eventName,responder){var actualEventName=getDOMEventName(eventName);if(element.addEventListener){element.addEventListener(actualEventName,responder,false);}else{element.attachEvent('on'+actualEventName,responder);}}
707function observeCustomEvent(element,eventName,responder){if(element.addEventListener){element.addEventListener('dataavailable',responder,false);}else{element.attachEvent('ondataavailable',responder);element.attachEvent('onlosecapture',responder);}}
708function stopObserving(element,eventName,handler){element=$(element);var handlerGiven=!Object.isUndefined(handler),eventNameGiven=!Object.isUndefined(eventName);if(!eventNameGiven&&!handlerGiven){stopObservingElement(element);return element;}
709if(!handlerGiven){stopObservingEventName(element,eventName);return element;}
710var entry=unregister(element,eventName,handler);if(!entry)return element;removeEvent(element,eventName,entry.responder);return element;}
711function stopObservingStandardEvent(element,eventName,responder){var actualEventName=getDOMEventName(eventName);if(element.removeEventListener){element.removeEventListener(actualEventName,responder,false);}else{element.detachEvent('on'+actualEventName,responder);}}
712function stopObservingCustomEvent(element,eventName,responder){if(element.removeEventListener){element.removeEventListener('dataavailable',responder,false);}else{element.detachEvent('ondataavailable',responder);element.detachEvent('onlosecapture',responder);}}
713function stopObservingElement(element){var uid=getUniqueElementID(element),registry=getRegistryForElement(element,uid
713);destroyRegistryForElement(element,uid);var entries,i;for(var eventName in registry){if(eventName==='element')continue;entries=registry[eventName];i=entries.length;while(i--)
714removeEvent(element,eventName,entries[i].responder);}}
715function stopObservingEventName(element,eventName){var registry=getRegistryForElement(element);var entries=registry[eventName];if(!entries)return;delete registry[eventName];var i=entries.length;while(i--)
716removeEvent(element,eventName,entries[i].responder);}
717function removeEvent(element,eventName,handler){if(isCustomEvent(eventName))
718stopObservingCustomEvent(element,eventName,handler);else
719stopObservingStandardEvent(element,eventName,handler);}
720function getFireTarget(element){if(element!==document)return element;if(document.createEvent&&!element.dispatchEvent)
721return document.documentElement;return element;}
722function fire(element,eventName,memo,bubble){element=getFireTarget($(element));if(Object.isUndefined(bubble))bubble=true;memo=memo||{};var event=fireEvent(element,eventName,memo,bubble);return Event.extend(event);}
723function fireEvent_DOM(element,eventName,memo,bubble){var event=document.createEvent('HTMLEvents');event.initEvent('dataavailable',bubble,true);event.eventName=eventName;event.memo=memo;element.dispatchEvent(event);return event;}
724function fireEvent_IE(element,eventName,memo,bubble){var event=document.createEventObject();event.eventType=bubble?'ondataavailable':'onlosecapture';event.eventName=eventName;event.memo=memo;element.fireEvent(event.eventType,event);return event;}
725var fireEvent=document.createEvent?fireEvent_DOM:fireEvent_IE;Event.Handler=Class.create({initialize:function(element,eventName,selector,callback){this.element=$(element);this.eventName=eventName;this.selector=selector;this.callback=callback;this.handler=this.handleEvent.bind(this);},start:function(){Event.observe(this.element,this.eventName,this.handler);return this;},stop:function(){Event.stopObserving(this.element,this.eventName,this.handler);return this;},handleEvent:function(event){var element=Event.findElement(event,this.selector);if(element)this.callback.call(this.element,event,element);}});function on(element,eventName,selector,callback){element=$(element);if(Object.isFunction(selector)&&Object.isUndefined(callback)){callback=selector,selector=null;}
726return new Event.Handler(element,eventName,selector,callback).start();}
727Object.extend(Event,Event.Methods);Object.extend(Event,{fire:fire,observe:observe,stopObserving:stopObserving,on:on});Element.addMethods({fire:fire,observe:observe,stopObserving:stopObserving,on:on});Object.extend(document,{fire:fire.methodize(),observe:observe.methodize(),stopObserving:stopObserving.methodize(),on:on.methodize(),loaded:false});if(GLOBAL.Event)Object.extend(window.Event,Event);else GLOBAL.Event=Event;GLOBAL.Event.cache={};function destroyCache_IE(){GLOBAL.Event.cache=null;}
728if(window.attachEvent)
729window.attachEvent('onunload',destroyCache_IE);DIV=null;docEl=null;})(this);(function(GLOBAL){var docEl=document.documentElement;var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED='onmouseenter'in docEl&&'onmouseleave'in docEl;function isSimulatedMouseEnterLeaveEvent(eventName){return!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED&&(eventName==='mouseenter'||eventName==='mouseleave');}
730function createResponder(uid,eventName,handler){if(Event._isCustomEvent(eventName))
731return createResponderForCustomEvent(uid,eventName,handler);if(isSimulatedMouseEnterLeaveEvent(eventName))
732return createMouseEnterLeaveResponder(uid,eventName,handler);return function(event){var cacheEntry=Event.cache[uid];var element=cacheEntry.element;Event.extend(event,element);handler.call(element,event);};}
733function createResponderForCustomEvent(uid,eventName,handler){return function(event){var cacheEntry=Event.cache[uid],element=cacheEntry.element;if(Object.isUndefined(event.eventName))
734return false;if(event.eventName!==eventName)
735return false;Event.extend(event,element);handler.call(element,event);};}
736function createMouseEnterLeaveResponder(uid,eventName,handler){return function(event){var cacheEntry=Event.cache[uid],element=cacheEntry.element;Event.extend(event,element);var parent=event.relatedTarget;while(parent&&parent!==element){try{parent=parent.parentNode;}
737catch(e){parent=element;}}
738if(parent===element)return;handler.call(element,event);}}
739GLOBAL.Event._createResponder=createResponder;docEl=null;})(this);(function(GLOBAL){var TIMER;function fireContentLoadedEvent(){if(document.loaded)return;if(TIMER)window.clearTimeout(TIMER);document.loaded=true;document.fire('dom:loaded');}
740function checkReadyState(){if(document.readyState==='complete'){document.detachEvent('onreadystatechange',checkReadyState);fireContentLoadedEvent();}}
741function pollDoScroll(){try{document.documentElement.doScroll('left');}catch(e){TIMER=pollDoScroll.defer();return;}
742fireContentLoadedEvent();}
743if(document.addEventListener){document.addEventListener('DOMContentLoaded',fireContentLoadedEvent,false);}else{document.attachEvent('onreadystatechange',checkReadyState);if(window==top)TIMER=pollDoScroll.defer();}
744Event.observe(window,'load',fireContentLoadedEvent);})(this);Element.addMethods();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content});},Top:function(element,content){return Element.insert(element,{top:content});},Bottom:function(element,content){return Element.insert(element,{bottom:content});},After:function(element,content){return Element.insert(element,{after:content});}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},within:function(element,x,y){if(this.includeScrollOffsets)
745return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
746return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
747return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element);},relativize:function(element){Position.prepare();return Element.relativize(element);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options);}};if(!document.getElementsByClassName)document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]";}
748instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(''):iter(className);return cond?document._getElementsByXPath('.//*'+cond,element):[];}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className)return elements;var nodes=$(element).getElementsByTagName('*');className=' '+className+' ';for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=' '+child.className+' ')&&(cn.include(className)||(classNames&&classNames.all(function(name){return!name.toString().blank()&&cn.include(' '+name+' ');}))))
749elements.push(Element.extend(child));}
750return elements;};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className);};}(Element.Methods);Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator,context){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator,context);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);(function(){window.Selector=Class.create({initialize:function(expression){this.expression=expression.strip();},findElements:function(rootElement){return Prototype.Selector.select(this.expression,rootElement);},match:function(element){return Prototype.Selector.match(element,this.expression);},toString:function(){return this.expression;},inspect:function(){return"#<Selector: "+this.expression+">";}});Object.extend(Selector,{matchElements:function(elements,expression){var match=Prototype.Selector.match,results=[];for(var i=0,length=elements.length;i<length;i++){var element=elements[i];if(match(element,expression)){results.push(Element.extend(element));}}
751return results;}
751,findElement:function(elements,expression,index){index=index||0;var matchIndex=0,element;for(var i=0,length=elements.length;i<length;i++){element=elements[i];if(Prototype.Selector.match(element,expression)&&index===matchIndex++){return Element.extend(element);}}},findChildElements:function(element,expressions){var selector=expressions.toArray().join(', ');return Prototype.Selector.select(selector,element||document);}});})();;var Scriptaculous={Version:'1.8.2',require:function(libraryName){document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');},REQUIRED_PROTOTYPE:'1.6.0.3',load:function(){function convertVersionString(versionString){var v=versionString.replace(/_.*|\./g,'');v=parseInt(v+'0'.times(4-v.length));return versionString.indexOf('_')>-1?v-1:v;}
752if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined')||(convertVersionString(Prototype.Version)<convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
753throw("script.aculo.us requires the Prototype JavaScript framework >= "+
754Scriptaculous.REQUIRED_PROTOTYPE);var js=/scriptaculous\.js(\?.*)?$/;$$('head script[src]').findAll(function(s){return s.src.match(js);}).each(function(s){var path=s.src.replace(js,''),includes=s.src.match(/\?.*load=([a-z,]*)/);(includes?includes[1]:'builder,effects,dragdrop,controls,slider,sound').split(',').each(function(include){Scriptaculous.require(path+include+'.js')});});}};Scriptaculous.load();String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
755return(color.length==7?color:(arguments[0]||this));};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return element;};Element.getInlineOpacity=function(element){return $(element).style.opacity||'';};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},Transitions:{linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+.75)+Math.random()/4;return pos>1?1:pos;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+.5;},pulse:function(pos,pulses){return(-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2)+.5;},spring:function(pos){return 1-(Math.cos(pos*4.5*Math.PI)*Math.exp(-pos*6));},none:function(pos){return 0;},full:function(pos){return 1;}},DefaultOptions:{duration:1.0,fps:100,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'},tagifyText:function(element){var tagifyStyle='position:relative';if(Prototype.Browser.IE)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(new Element('span',{style:tagifyStyle}).update(character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||Object.isFunction(element))&&(element.length))
756elements=element;else
757elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.i
757d||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=Object.isString(effect.options.queue)?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
758effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
759this.effects.push(effect);if(!this.interval)
760this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
761this.effects[i]&&this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(!Object.isString(queueName))return queueName;return this.instances.get(queueName)||this.instances.set(queueName,new Effect.ScopedQueue());}};Effect.Queue=Effect.Queues.get('global');Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+'Internal']?'this.options.'+eventName+'Internal(this);':'')+
762(options[eventName]?'this.options.'+eventName+'(this);':''));}
763if(options&&options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;this.render=(function(){function dispatch(effect,eventName){if(effect.options[eventName+'Internal'])
764effect.options[eventName+'Internal'](effect);if(effect.options[eventName])
765effect.options[eventName](effect);}
766return function(pos){if(this.state==="idle"){this.state="running";dispatch(this,'beforeSetup');if(this.setup)this.setup();dispatch(this,'afterSetup');}
767if(this.state==="running"){pos=(this.options.transition(pos)*this.fromToDelta)+this.options.from;this.position=pos;dispatch(this,'beforeUpdate');if(this.update)this.update(pos);dispatch(this,'afterUpdate');}};})();this.event('beforeStart');if(!this.options.sync)
768Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
769var pos=(timePos-this.startOn)/this.totalTime,frame=(pos*this.totalFrames).round();if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},cancel:function(){if(!this.options.sync)
770Effect.Queues.get(Object.isString(this.options.queue)?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
771if(!Object.isFunction(this[property]))data.set(property,this[property]);return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');
771if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Tween=Class.create(Effect.Base,{initialize:function(object,from,to){object=Object.isString(object)?$(object):object;var args=$A(arguments),method=args.last(),options=args.length==5?args[3]:null;this.method=Object.isFunction(method)?method.bind(object):Object.isFunction(object[method])?object[method].bind(object):function(value){object[method]=value};this.start(Object.extend({from:from,to:to},options||{}));},update:function(position){this.method(position);}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}));},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
772this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop;}},update:function(position){this.element.setStyle({left:(this.options.x*position+this.originalLeft).round()+'px',top:(this.options.y*position+this.originalTop).round()+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create(Effect.Base,{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')
773this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))
774this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)
775this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
776this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=width.round()+'px';if(this.options.scaleY)d.height=height.round()+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
777this.element.setStyle(d);}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return;}
778this.oldStyle={};
778if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'});}
779if(!this.options.endcolor)
780this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)
781this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=function(element){var options=arguments[1]||{},scrollOffsets=document.viewport.getScrollOffsets(),elementOffsets=$(element).cumulativeOffset();if(options.offset)elementOffsets[1]+=options.offset;return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1],options,function(p){scrollTo(scrollOffsets.left,p.round());});};Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);};Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element);},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));};Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));};Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));};Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}});}},arguments[1]||{}));};Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));};Effect.Shake=function(element){element=$(element);var options=Object.extend({distance:20,duration:0.5},arguments[1]||{});var distance=parseFloat(options.distance);var split=parseFloat(options.duration)/10.0;
781var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:distance,y:0,duration:split,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance,y:0,duration:split,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}});}});}});}});}});}});};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
782return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options));}});};Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});
782var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
783return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));};Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{},oldOpacity=element.getInlineOpacity(),transition=options.transition||Effect.Transitions.linear,reverser=function(pos){return 1-transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2)+.5);};return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(options.style))this.style=$H(options.style);else{if(options.style.include(':'))
784this.style=options.style.parseStyle();else{this.element.addClassName(options.style);this.style=$H(this.element.getStyles());this.element.removeClassName(options.style);var css=this.element.getStyles();this.style=this.style.reject(function(style){return style.value==css[style.key];});options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){effect.element.style[transform.style]='';});};}}
785this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16);});}
786this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))
787this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null;}
788var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit};}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))));});},update:function(position){var style={},transform,i=this.transforms.length;while(i--)
789style[(transform=this.transforms[i]).style]=transform.unit=='color'?'#'+
790(Math.round(transform.originalValue[0]+
791(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+
792(Math.round(transform.originalValue[1]+
793(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+
794(Math.round(transform.originalValue[2]+
795(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():(transform.originalValue+
796(transform.targetValue-transform.originalValue)*position).toFixed(3)+
797(transform.unit===null?'':transform.unit);this.element.setStyle(style,true);}});Effect.Transform=Class.create({initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){track=$H(track);var data=track.values().first();this.tracks.push($H({ids:track.keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var ids=track.get('ids'),effect=track.get('effect'),options=track.get('options');var elements=[$(ids)||$$(ids)].flatten();return elements.map(function(e){return new effect(e,Object.extend({sync:true},options))});}).flatten(),this.options);}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement('div');String.prototype.parseStyle=function(){var style,styleRules=$H();if(Prototype.Browser.WebKit)
798style=new Element('div',{style:this}).style;else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';style=String.__parseStyleElement.childNodes[0].style;}
799Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules.set(property,style[property]);});if(Prototype.Browser.IE&&this.include('opacity'))
800styleRules.set('opacity',this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);return styleRules;};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(element){var css=document.defaultView.getComputedStyle($(element),null);return Element.CSS_PROPERTIES.inject({},function(styles,property){styles[property]=css[property];return styles;});};}else{Element.getStyles=function(element){element=$(element);var css=element.currentStyle,styles;styles=Element.CSS_PROPERTIES.inject({},function(results,property){results[property]=css[property];return results;});if(!styles.opacity)styles.opacity=element.getOpacity();return styles;};}
801Effect.Methods={morph:function(element,style){element=$(element);new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;},visualEffect:function(element,effect,options){element=$(element);var s=effect.dasherize().camelize(),klass=s.charAt(0).toUpperCase()+s.substring(1);new Effect[klass](element,options);return element;},highlight:function(element,options){element=$(element);new Effect.Highlight(element,options);return element;}};$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+'pulsate shake puff squish switchOff dropOut').each(function(effect){Effect.Methods[effect]=function(element,options){element=$(element);Effect[effect.charAt(0).toUpperCase()+effect.substring(1)](element,options);return element;};});$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(function(f){Effect.Methods[f]=Element[f];});Element.addMethods(Effect.Methods);if(Object.isUndefined(Effect))
802throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)});},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if(Object.isArray(containment)){containment.each(function(c){options._containers.push($(c))});}else{options._containers.push($(containment));}}
803if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)
804if(Element.isParent(drops[i].element,deepest.element))
805deepest=drops[i];return deepest;},isContained:function(element,drop){var containmentNode;
805if(drop.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
806return drop._containers.detect(function(c){return containmentNode==c});},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.within(drop.element,point[0],point[1]));},deactivate:function(drop){if(drop.hoverclass)
807Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null;},activate:function(drop){if(drop.hoverclass)
808Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop;},show:function(point,element){if(!this.drops.length)return;var drop,affected=[];this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
809affected.push(drop);});if(affected.length>0)
810drop=Droppables.findDeepestChild(affected);if(this.last_active&&this.last_active!=drop)this.deactivate(this.last_active);if(drop){Position.within(drop.element,point[0],point[1]);if(drop.onHover)
811drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));if(drop!=this.last_active)Droppables.activate(drop);}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))
812if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true;}},reset:function(){if(this.last_active)
813this.deactivate(this.last_active);}};var Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}
814this.drags.push(draggable);},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable;}.bind(this),draggable.options.delay);}else{window.focus();this.activeDraggable=draggable;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}
815if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable)
816this.activeDraggable.keyPress(event);},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks();},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks();},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)
817this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event);});if(draggable.options[eventName])draggable.options[eventName](draggable,event);},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}};var Draggable=Class.create({initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}});},endeffect:function(element){var toOpacity=Object.isNumber(element._opacity)?element._opacity:1.0;new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect))
818Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7});}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&Object.isString(options.handle))
819this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;
819if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll);}
820Element.makePositioned(this.element);this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')]);},initDrag:function(event){if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event);}},startDrag:function(event){this.dragging=true;if(!this.delta)
821this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex;}
822if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle('position')=='absolute');if(!this._originallyAbsolute)
823Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element);}
824if(this.options.scroll){if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}
825Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element);},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}
826Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);}
827var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
828if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element);}
829if(this.options.ghosting){if(!this._originallyAbsolute)
830Position.relativize(this.element);delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null;}
831var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false;}
832if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&Object.isFunction(revert))revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')
833this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
834if(this.options.zindex)
835this.element.style.zIndex=this.originalZ;if(this.options.endeffect)
836this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset();},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);
836Event.stop(event);},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event);},draw:function(point){var pos=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY;}
837var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
838var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){p=this.options.snap(p[0],p[1],this);}else{if(Object.isArray(this.options.snap)){p=p.map(function(v,i){return(v/this.options.snap[i]).round()*this.options.snap[i]}.bind(this));}else{p=p.map(function(v){return(v/this.options.snap).round()*this.options.snap}.bind(this));}}}
839var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))
840style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
841style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility="";},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
842Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
843Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
844Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
845if(this.options.change)this.options.change(this);},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
846if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight;}}
847return{top:T,left:L,width:W,height:H};}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(element,observer){this.element=$(element);this.observer=observer;this.lastValue=Sortable.serialize(this.element);},onStart:function(){this.lastValue=Sortable.serialize(this.element);},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))
848this.observer(this.element)}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&Sortable.sortables[element.id])return element;element=element.parentNode;}},options:function(element){element=Sortable._findRootElement($(element));if(!element)return;return Sortable.sortables[element.id];},destroy:function(element){element=$(element);var s=Sortable.sortables[element.id];if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');
848delete Sortable.sortables[s.element.id];}},create:function(element){element=$(element);var options=Object.extend({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:element,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,quiet:options.quiet,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,delay:options.delay,ghosting:options.ghosting,constraint:options.constraint,handle:options.handle};if(options.starteffect)
849options_for_draggable.starteffect=options.starteffect;if(options.reverteffect)
850options_for_draggable.reverteffect=options.reverteffect;else
851if(options.ghosting)options_for_draggable.reverteffect=function(element){element.style.top=0;element.style.left=0;};if(options.endeffect)
852options_for_draggable.endeffect=options.endeffect;if(options.zindex)
853options_for_draggable.zindex=options.zindex;var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover};var options_for_tree={onHover:Sortable.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass};Element.cleanWhitespace(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){Droppables.add(element,options_for_tree);options.droppables.push(element);}
854(options.elements||this.findElements(element,options)||[]).each(function(e,i){var handle=options.handles?$(options.handles[i]):(options.handle?$(e).select('.'+options.handle)[0]:e);options.draggables.push(new Draggable(e,Object.extend(options_for_draggable,{handle:handle})));Droppables.add(e,options_for_droppable);if(options.tree)e.treeNode=element;options.droppables.push(e);});if(options.tree){(Sortable.findTreeElements(element,options)||[]).each(function(e){Droppables.add(e,options_for_tree);e.treeNode=element;options.droppables.push(e);});}
855this.sortables[element.id]=options;Draggables.addObserver(new SortableObserver(element,options.onUpdate));},findElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.tag);},findTreeElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.treeTag);},onHover:function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return;}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode)
856Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode)
857Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode;var droponOptions=Sortable.options(dropon);if(!Element.isParent(dropon,element)){var index;var children=Sortable.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only});var child=null;if(children){var offset=Element.offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1){if(offset-Element.offsetSize(children[index],droponOptions.overlap)>=0){offset-=Element.offsetSize(children[index],droponOptions.overlap);}else if(offset-(Element.offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break;}else{child=children[index];break;}}}
858dropon.insertBefore(element,child);
858Sortable.options(oldParentNode).onChange(element);droponOptions.onChange(element);}},unmark:function(){if(Sortable._marker)Sortable._marker.hide();},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}
859var offsets=Position.cumulativeOffset(dropon);Sortable._marker.setStyle({left:offsets[0]+'px',top:offsets[1]+'px'});if(position=='after')
860if(sortable.overlap=='horizontal')
861Sortable._marker.setStyle({left:(offsets[0]+dropon.clientWidth)+'px'});else
862Sortable._marker.setStyle({top:(offsets[1]+dropon.clientHeight)+'px'});Sortable._marker.show();},_tree:function(element,options,parent){var children=Sortable.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match)continue;var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:$(children[i]).down(options.treeTag)};if(child.container)
863this._tree(child.container,options,child);parent.children.push(child);}
864return parent;},tree:function(element){element=$(element);var sortableOptions=this.options(element);var options=Object.extend({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},arguments[1]||{});var root={id:null,parent:null,children:[],container:element,position:0};return Sortable._tree(element,options,root);},_constructIndex:function(node){var index='';do{if(node.id)index='['+node.position+']'+index;}while((node=node.parent)!=null);return index;},sequence:function(element){element=$(element);var options=Object.extend(this.options(element),arguments[1]||{});return $(this.findElements(element,options)||[]).map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:'';});},setSequence:function(element,new_sequence){element=$(element);var options=Object.extend(this.options(element),arguments[2]||{});var nodeMap={};this.findElements(element,options).each(function(n){if(n.id.match(options.format))
865nodeMap[n.id.match(options.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n);});new_sequence.each(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident];}});},serialize:function(element){element=$(element);var options=Object.extend(Sortable.options(element),arguments[1]||{});var name=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:element.id);if(options.tree){return Sortable.tree(element,arguments[1]).children.map(function(item){return[name+Sortable._constructIndex(item)+"[id]="+
866encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));}).flatten().join('&');}else{return Sortable.sequence(element,arguments[1]).map(function(item){return name+"[]="+encodeURIComponent(item);}).join('&');}}};Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element);};Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))
867elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren);}});return(elements.length>0?elements.flatten():[]);};Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')];};var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(elementName){elementName=elementName.toUpperCase();var parentTag=this.NODEMAP[elementName]||'div';var parentElement=document.createElement(parentTag);try{parentElement.innerHTML="<"+elementName+"></"+elementName+">";}catch(e){}
868var element=parentElement.firstChild||null;if(element&&(element.tagName.toUpperCase()!=elementName))
869element=element.getElementsByTagName(elementName)[0];if(!element)element=document.createElement(elementName);if(!element)return;if(arguments[1])
870if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)||arguments[1].tagName){this._children(element,arguments[1]);}else{var attrs=this._attributes(arguments[1]);if(attrs.length){try{parentElement.innerHTML="<"+elementName+" "+
871attrs+"></"+elementName+">";}catch(e){}
872element=parentElement.firstChild||null;if(!element){element=document.createElement(elementName);for(attr in arguments[1])
873element[attr=='class'?'className':attr]=arguments[1][attr];}
874if(element.tagName.toUpperCase()!=elementName)
875element=parentElement.getElementsByTagName(elementName)[0];}}
876if(arguments[2])
877this._children(element,arguments[2]);return $(element);},_text:function(text){return document.createTextNode(text);},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(attributes){var attrs=[];for(attribute in attributes)
878attrs.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;')+'"');return attrs.join(" ");},_children:function(element,children){if(children.tagName){element.appendChild(children);return;}
879if(typeof children=='object'){children.flatten().each(function(e){if(typeof e=='object')
880element.appendChild(e);else
881if(Builder._isStringOrNumber(e))
882element.appendChild(Builder._text(e));});}else
883if(Builder._isStringOrNumber(children))
884element.appendChild(Builder._text(children));},_isStringOrNumber:function(param){return(typeof param=='string'||typeof param=='number');},build:function(html){var element=this.node('div');$(element).update(html.strip());return element.down();},dump:function(scope){if(typeof scope!='object'&&typeof scope!='function')scope=window;var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)));};});}};;var USE_RTE=0;var Debug={write:function(text){if(jsDebug&&!Object.isUndefined(window.console)){console.log(text);}},dir:function(values){if(jsDebug&&!Object.isUndefined(window.console)&&!Prototype.Browser.IE&&!Prototype.Browser.Opera){console.dir(values);}},error:function(text){if(jsDebug&&!Object.isUndefined(window.console)){console.error(text);}},warn:function(text){if(jsDebug&&!Object.isUndefined(window.console)){console.warn(text);}},info:function(text){if(jsDebug&&!Object.isUndefined(window.console)){console.info(text);}}};Prototype.Browser.IE6=Prototype.Browser.IE&&parseInt(navigator.userAgent.
884substring(navigator.userAgent.indexOf("MSIE")+5))==6;Prototype.Browser.IE7=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==7;Prototype.Browser.IE8=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==8;Prototype.Browser.IE9=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==9;Prototype.Browser.Chrome=Prototype.Browser.WebKit&&(navigator.userAgent.indexOf('Chrome/')>-1);if(!String.prototype.trim)
885{String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,'');};}
886function isBody(element){return element.nodeName.toUpperCase()==='BODY';}
887function isHtml(element){return element.nodeName.toUpperCase()==='HTML';}
888function isDocument(element){return element.nodeType===Node.DOCUMENT_NODE;}
889function isDetached(element){return element!==document.body&&!Element.descendantOf(element,document.body);}
890Element.Methods.getOffsetParent=function(element){element=$(element);if(isDocument(element)||isDetached(element)||isBody(element)||isHtml(element))
891return $(document.body);if(Prototype.Browser.IE){if(element.offsetParent&&element.offsetParent!=document.body&&Element.getStyle(element.offsetParent,'position')!='static')return $(element.offsetParent);if(element==document.body)return $(element);}else{var isInline=(Element.getStyle(element,'display')==='inline');if(!isInline&&element.offsetParent&&Element.getStyle(element.offsetParent,'position')!='static')return $(element.offsetParent);}
892while((element=element.parentNode)&&element!==document.body){if(Element.getStyle(element,'position')!=='static'){return isHtml(element)?$(document.body):$(element);}}
893return $(document.body);}
894window.IPBoard=Class.create({namePops:[],topicPops:[],vars:[],lang:[],templates:[],editors:$A(),initDone:false,initialize:function()
895{Debug.write("IPB js is loading...");document.observe("dom:loaded",function(){this.Cookie.init();Ajax.Responders.register({onLoading:function(handler){if(!Object.isUndefined(handler['options']['hideLoader'])&&handler['options']['hideLoader']!=false){return;}
896if(!$('ajax_loading')){if(!ipb.templates['ajax_loading']){return;}
897$('ipboard_body').insert(ipb.templates['ajax_loading']);}
898var effect=new Effect.Appear($('ajax_loading'),{duration:0.2});},onComplete:function(){if(!$('ajax_loading')||!$('ajax_loading').visible()){return;}
899var effect=new Effect.Fade($('ajax_loading'),{duration:0.2});if(!Object.isUndefined(ipb.hoverCard)){ipb.hoverCardRegister.postAjaxInit();}
900$$("[data-clicklaunch]").invoke('clickLaunch');ipb.global.parseQuoteBoxes();ipb.global.removeLinkedLightbox();},onSuccess:function(){if(!Object.isUndefined(ipb.hoverCard)){ipb.hoverCardRegister.postAjaxInit();}},onFailure:function(t)
901{if(!$('ajax_loading')||!$('ajax_loading').visible()){return;}
902var effect=new Effect.Fade($('ajax_loading'),{duration:0.2});if(!Object.isUndefined(ipb.global))
903{ipb.global.showInlineNotification(ipb.lang['ajax_failure']);}},onException:function(t,exception)
904{if(!$('ajax_loading')||!$('ajax_loading').visible()){return;}
905var effect=new Effect.Fade($('ajax_loading'),{duration:0.2});Debug.error(exception);if(!Object.isUndefined(ipb.global))
906{}}});ipb.delegate.initialize();ipb.initDone=true;}.bind(this));},positionCenter:function(elem,dir)
907{if(!$(elem)){return;}
908elem_s=$(elem).getDimensions();window_s=document.viewport.getDimensions();window_offsets=document.viewport.getScrollOffsets();center={left:((window_s['width']-elem_s['width'])/2),top:((window_s['height']-elem_s['height'])/2)};if(typeof(dir)=='undefined'||(dir!='h'&&dir!='v'))
909{$(elem).setStyle('top: '+center['top']+'px; left: '+center['left']+'px');}
910else if(dir=='h')
911{$(elem).setStyle('left: '+center['left']+'px');}
912else if(dir=='v')
913{$(elem).setStyle('top: '+center['top']+'px');}
914$(elem).setStyle('position: fixed');},showModal:function()
915{if(!$('ipb_modal'))
916{this.createModal();}
917this.modal.show();},hideModal:function()
918{if(!$('ipb_modal')){return;}
919this.modal.hide();},createModal:function()
920{this.modal=new Element('div',{id:'ipb_modal'}).hide().addClassName('modal');this.modal.setStyle("width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; overflow: hidden; z-index: 1000; opacity: 0.2");$('ipboard_body').insert({bottom:this.modal});},editorInsert:function(content,editorid)
921{if(!editorid){var editor=ipb.textEditor.getEditor();}else{var editor=ipb.textEditor.getEditor(editorid);}
922if(Object.isUndefined(editor))
923{var editor=ipb.textEditor.getEditor();}
924editor.insert(content);}});IPBoard.prototype.delegate={store:$A(),initialize:function()
925{document.observe('click',function(e){if(Event.isLeftClick(e)||Prototype.Browser.IE||ipb.vars['is_touch'])
926{var elem=null;var handler=null;var target=ipb.delegate.store.find(function(item){elem=e.findElement(item['selector']);if(elem){handler=item;return true;}else{return false;}});if(!Object.isUndefined(target))
927{if(handler)
928{Debug.write("Firing callback for selector "+handler['selector']);handler['callback'](e,elem,handler['params']);}}}});},register:function(selector,callback,params)
929{ipb.delegate.store.push({selector:selector,callback:callback,params:params});}};IPBoard.prototype.Cookie={store:[],initDone:false,set:function(name,value,sticky)
930{var expires='';var path='/';var domain='';if(!name)
931{return;}
932if(sticky)
933{if(sticky==1)
934{expires="; expires=Wed, 1 Jan 2020 00:00:00 GMT";}
935else if(sticky==-1)
936{expires="; expires=Thu, 01-Jan-1970 00:00:01 GMT";}
937else if(sticky.length>10)
938{expires="; expires="+sticky;}}
939if(ipb.vars['cookie_domain'])
940{domain="; domain="+ipb.vars['cookie_domain'];}
941if(ipb.vars['cookie_path'])
942{path=ipb.vars['cookie_path'];}
943document.cookie=ipb.vars['cookie_id']+name+"="+escape(value)+"; path="+path+expires+domain+';';ipb.Cookie.store[name]=value;
943Debug.write("Set cookie: "+ipb.vars['cookie_id']+name+"="+value+"; path="+path+expires+domain+';');},get:function(name)
944{if(ipb.Cookie.initDone!==true)
945{ipb.Cookie.init();}
946if(ipb.Cookie.store[name])
947{return ipb.Cookie.store[name];}
948return'';},doDelete:function(name)
949{Debug.write("Deleting cookie "+name);ipb.Cookie.set(name,'',-1);},init:function()
950{if(ipb.Cookie.initDone)
951{return true;}
952skip=['session_id','ipb_admin_session_id','member_id','pass_hash'];cookies=$H(document.cookie.replace(" ",'').toQueryParams(";"));if(cookies)
953{cookies.each(function(cookie){cookie[0]=cookie[0].strip();if(ipb.vars['cookie_id']!='')
954{if(!cookie[0].startsWith(ipb.vars['cookie_id']))
955{return;}
956else
957{cookie[0]=cookie[0].replace(ipb.vars['cookie_id'],'');}}
958if(skip[cookie[0]])
959{return;}
960else
961{ipb.Cookie.store[cookie[0]]=unescape(cookie[1]||'');Debug.write("Loaded cookie: "+cookie[0]+" = "+cookie[1]);}});}
962ipb.Cookie.initDone=true;}};IPBoard.prototype.validate={isFilled:function(elem)
963{if(!$(elem)){return null;}
964return!$F(elem).blank();},isNumeric:function(elem)
965{if(!$(elem)){return null;}
966return $F(elem).match(/^[\d]+?$/);},isMatching:function(elem1,elem2)
967{if(!$(elem1)||!$(elem2)){return null;}
968return $F(elem1)==$F(elem2);},email:function(elem)
969{if(!$(elem)){return null;}
970if($F(elem).match(/^.+@.+\..{2,4}$/)){return true;}else{return false;}}};IPBoard.prototype.Autocomplete=Class.create({initialize:function(id,options)
971{this.id=$(id).id;this.timer=null;this.last_string='';this.internal_cache=$H();this.pointer=0;this.items=$A();this.observing=true;this.objHasFocus=null;this.options=Object.extend({min_chars:3,multibox:false,global_cache:false,goToUrl:false,classname:'ipb_autocomplete',templates:{wrap:new Template("<ul id='#{id}'></ul>"),item:new Template("<li id='#{id}' data-url='#{url}'>#{itemvalue}</li>")}},arguments[1]||{});if(!$(this.id)){Debug.error("Invalid textbox ID");return false;}
972this.obj=$(this.id);if(!this.options.url)
973{Debug.error("No URL specified for autocomplete");return false;}
974$(this.obj).writeAttribute('autocomplete','off');this.buildList();$(this.obj).observe('focus',this.timerEventFocus.bindAsEventListener(this));$(this.obj).observe('blur',this.timerEventBlur.bindAsEventListener(this));$(this.obj).observe('keypress',this.eventKeypress.bindAsEventListener(this));},eventKeypress:function(e)
975{if(![Event.KEY_TAB,Event.KEY_UP,Event.KEY_DOWN,Event.KEY_LEFT,Event.KEY_RIGHT,Event.KEY_RETURN].include(e.keyCode)){return;}
976console.log(e.shiftKey);if(e.shiftKey===true){return;}
977if($(this.list).visible())
978{switch(e.keyCode)
979{case Event.KEY_TAB:case Event.KEY_RETURN:this.selectCurrentItem(e);break;case Event.KEY_UP:case Event.KEY_LEFT:this.selectPreviousItem(e);break;case Event.KEY_DOWN:case Event.KEY_RIGHT:this.selectNextItem(e);break;}
980Event.stop(e);}},selectCurrentItem:function(e)
981{var current=$(this.list).down('.active');this.unselectAll();if(!Object.isUndefined(current))
982{var itemid=$(current).id.replace(this.id+'_ac_item_','');if(!itemid){return;}
983if(this.options.goToUrl&&$(current).readAttribute('data-url'))
984{window.location=$(current).readAttribute('data-url');return false;}
985var value=this.items[itemid].replace('&amp;','&').replace(/&#39;/g,"'").replace(/&gt;/g,'>').replace(/&lt;/g,'<').replace(/&#33;/g,'!');if(this.options.multibox)
986{if($F(this.obj).indexOf(',')!==-1)
987{var pieces=$F(this.obj).split(',');pieces[pieces.length-1]='';$(this.obj).value=pieces.join(',')+' ';}
988else
989{$(this.obj).value='';$(this.obj).focus();}
990$(this.obj).value=$F(this.obj)+value+', ';}
991else
992{$(this.obj).value=value;var effect=new Effect.Fade($(this.list),{duration:0.3});}}
993$(this.obj).focus();if(Prototype.Browser.IE)
994{if($(this.obj).createTextRange)
995{var r=$(this.obj).createTextRange();r.moveStart("character",$(this.obj).value.length);r.select();}}},selectThisItem:function(e)
996{this.unselectAll();var items=$(this.list).immediateDescendants();var elem=Event.element(e);while(!items.include(elem))
997{elem=elem.up();}
998$(elem).addClassName('active');},selectPreviousItem:function(e)
999{var current=$(this.list).down('.active');this.unselectAll();if(Object.isUndefined(current))
1000{this.selectFirstItem();}
1001else
1002{var prev=$(current).previous();if(prev){$(prev).addClassName('active');}
1003else
1004{this.selectLastItem();}}},selectNextItem:function(e)
1005{var current=$(this.list).down('.active');this.unselectAll();if(Object.isUndefined(current)){this.selectFirstItem();}
1006else
1007{var next=$(current).next();if(next){$(next).addClassName('active');}
1008else
1009{this.selectFirstItem();}}},selectFirstItem:function()
1010{if(!$(this.list).visible()){return;}
1011this.unselectAll();$(this.list).firstDescendant().addClassName('active');},selectLastItem:function()
1012{if(!$(this.list).visible()){return;}
1013this.unselectAll();var d=$(this.list).immediateDescendants();var l=d[d.length-1];if(l)
1014{$(l).addClassName('active');}},unselectAll:function()
1015{$(this.list).childElements().invoke('removeClassName','active');},timerEventBlur:function(e)
1016{window.clearTimeout(this.timer);this.eventBlur.bind(this).delay(0.6,e);},timerEventFocus:function(e)
1017{this.timer=this.eventFocus.bind(this).delay(0.4,e);},eventBlur:function(e)
1018{this.objHasFocus=false;if($(this.list).visible())
1019{var effect=new Effect.Fade($(this.list),{duration:0.3});}},eventFocus:function(e)
1020{if(!this.observing){Debug.write("Not observing keypress");return;}
1021this.objHasFocus=true;this.timer=this.eventFocus.bind(this).delay(0.6,e);var curValue=this.getCurrentName();if(curValue==this.last_string){return;}
1022if(curValue.length<this.options.min_chars){if($(this.list).visible())
1023{var effect=new Effect.Fade($(this.list),{duration:0.3,afterFinish:function(){$(this.list).update();}.bind(this)});}
1024return;}
1025this.last_string=curValue;json=this.cacheRead(curValue);if(json==false){var request=new Ajax.Request(this.options.url+encodeURIComponent(curValue),{method:'get',evalJSON:'force',onSuccess:function(t)
1026{if(Object.isUndefined(t.responseJSON))
1027{Debug.error("Invalid response returned from the server");return;}
1028if(t.responseJSON['error'])
1029{switch(t.responseJSON['error'])
1030{case'requestTooShort':Debug.warn("Server said request was too short, skipping...");break;default:Debug.error("Server returned an error: "+t.responseJSON['error']);break;}
1031return false;}
1032if(t.responseText!="[]")
1033{this.cacheWrite(curValue,t.responseJSON);this.updateAndShow(t.responseJSON);}}.bind(this)});}
1034else
1035{this.updateAndShow(json);}},updateAndShow:function(json)
1036{if(!json){return;}
1037this.updateList(json);if(!$(this.list).visible()&&this.objHasFocus)
1038{Debug.write("Showing");var effect=new Effect.Appear($(this.list),{duration:0.3,afterFinish:function(){this.selectFirstItem();}.bind(this)});}},cacheRead:function(value)
1039{if(this.options.global_cache!=false)
1040{if(!Object.isUndefined(this.options.global_cache.get(value))){Debug.write("Read from global cache");return this.options.global_cache.get(value);}}
1041else
1042{if(!Object.isUndefined(this.internal_cache.get(value))){Debug.write("Read from internal 
1042cache");return this.internal_cache.get(value);}}
1043return false;},cacheWrite:function(key,value)
1044{if(this.options.global_cache!==false){this.options.global_cache.set(key,value);}else{this.internal_cache.set(key,value);}
1045return true;},getCurrentName:function()
1046{if(this.options.multibox)
1047{if($F(this.obj).indexOf(',')===-1){return $F(this.obj).strip();}
1048else
1049{var pieces=$F(this.obj).split(',');var lastPiece=pieces[pieces.length-1];return lastPiece.strip();}}
1050else
1051{return $F(this.obj).strip();}},buildList:function()
1052{if($(this.id+'_ac'))
1053{return;}
1054var finalPos={};var sourcePos=$(this.id).viewportOffset();var sourceDim=$(this.id).getDimensions();var delta=[0,0];var parent=null;var screenScroll=document.viewport.getScrollOffsets();var ul=this.options.templates.wrap.evaluate({id:this.id+'_ac'});var test=$(this.id).up('.popupWrapper');if(!Object.isUndefined(test)&&test.getStyle('position')=='fixed')
1055{$(this.id).up().insert({bottom:ul});parent=$(this.id).getOffsetParent();delta=[parseInt(parent.getStyle('left')/2),parseInt(parent.getStyle('top')/2)];finalPos['left']=delta[0];finalPos['top']=delta[1]+screenScroll.top;$(this.id+'_ac').setStyle({'zIndex':10002});}
1056else
1057{$$('body')[0].insert({bottom:ul});if(Element.getStyle($(this.id),'position')=='absolute')
1058{parent=$(this.id).getOffsetParent();delta=[parseInt(parent.getStyle('left')),parseInt(parent.getStyle('top'))];}
1059finalPos['left']=sourcePos[0]-delta[0];finalPos['top']=sourcePos[1]-delta[1]+screenScroll.top;}
1060finalPos['top']=finalPos['top']+sourceDim.height;$(this.id+'_ac').setStyle('position: absolute; top: '+finalPos['top']+'px; left: '+finalPos['left']+'px;').hide();this.list=$(this.id+'_ac');},updateList:function(json)
1061{if(!json||!$(this.list)){return;}
1062var newitems='';this.items=$A();json=$H(json);json.each(function(item)
1063{var li=this.options.templates.item.evaluate({id:this.id+'_ac_item_'+item.key,itemid:item.key,itemvalue:item.value['showas']||item.value['name'],img:item.value['img']||'',img_w:item.value['img_w']||'',img_h:item.value['img_h']||'',url:item.value['url']||''});this.items[item.key]=item.value['name'];newitems=newitems+li;}.bind(this));$(this.list).update(newitems);$(this.list).immediateDescendants().each(function(elem){$(elem).observe('mouseover',this.selectThisItem.bindAsEventListener(this));$(elem).observe('click',this.selectCurrentItem.bindAsEventListener(this));$(elem).setStyle('cursor: pointer');}.bind(this));if($(this.list).visible())
1064{this.selectFirstItem();}}});getQueryStringParamByName=function(name)
1065{name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.search);if(results==null)
1066{return"";}
1067else
1068{return decodeURIComponent(results[1].replace(/\+/g," "));}};Object.extend(RegExp,{escape:function(text)
1069{if(!arguments.callee.sRE)
1070{var specials=['/','.','*','+','?','|','(',')','[',']','{','}','\\','$'];arguments.callee.sRE=new RegExp('(\\'+specials.join('|\\')+')','g');}
1071return text.replace(arguments.callee.sRE,'\\$1');}});String.prototype.regExpEscape=function()
1072{var text=this;return text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");};String.prototype.escapeHtml=function()
1073{return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");};String.prototype.unEscapeHtml=function()
1074{var _t=this.replace(/&amp;/g,"&");return _t.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'");};String.prototype.encodeUrl=function()
1075{var text=this;var regcheck=text.match(/[\x90-\xFF]/g);if(regcheck)
1076{for(var i=0;i<regcheck.length;i++)
1077{text=text.replace(regcheck[i],'%u00'+(regcheck[i].charCodeAt(0)&0xFF).toString(16).toUpperCase());}}
1078return escape(text).replace(/\+/g,"%2B").replace(/%20/g,'+').replace(/\*/g,'%2A').replace(/\//g,'%2F').replace(/@/g,'%40');};String.prototype.encodeParam=function()
1079{var text=this;var regcheck=text.match(/[\x90-\xFF]/g);if(regcheck)
1080{for(var i=0;i<regcheck.length;i++)
1081{text=text.replace(regcheck[i],'%u00'+(regcheck[i].charCodeAt(0)&0xFF).toString(16).toUpperCase());}}
1082return escape(text).replace(/\+/g,"%2B");};Date.prototype.getDateAndTime=function(unix)
1083{var a=new Date(parseInt(unix)*1000);var months=ipb.lang['gbl_months'].split(',');var year=a.getFullYear();var month=months[a.getMonth()];var date=a.getDate();var hour=a.getHours();var min=a.getMinutes();var sec=a.getSeconds();return{year:year,monthName:month,month:('0'+a.getMonth()+1).slice(-2),date:('0'+date).slice(-2),hour:('0'+hour).slice(-2),min:('0'+min).slice(-2),sec:('0'+sec).slice(-2),dst:a.getTimezoneOffset()};};Date.prototype.getDST=function()
1084{var beginning=new Date("January 1, 2008");var middle=new Date("July 1, 2008");var difference=middle.getTimezoneOffset()-beginning.getTimezoneOffset();var offset=this.getTimezoneOffset()-beginning.getTimezoneOffset();if(difference!=0)
1085{if(difference<0)
1086{return(difference==offset)?1:0;}
1087else
1088{return(difference!=offset)?1:0;}}
1089else
1090{return 0;}};var Loader={require:function(name)
1091{document.write("<script type='text/javascript' src='"+name+".js'></script>");},boot:function()
1092{$A(document.getElementsByTagName("script")).findAll(function(s)
1093{return(s.src&&s.src.match(/ipb\.js(\?.*)?$/));}).each(function(s){var path=s.src.replace(/ipb\.js(\?.*)?$/,'');var includes=s.src.match(/\?.*load=([a-zA-Z0-9_,\.]*)/);if(!Object.isUndefined(includes)&&includes!=null&&includes[1])
1094{includes[1].split(',').each(function(include)
1095{if(include)
1096{Loader.require(path+"ips."+include);}});}});}};var callback={afterOpen:function(popup){try{$('pj_'+$(elem).identify()+'_input').activate();}
1097catch(err){}}};Element.addMethods({getInnerText:function(element)
1098{element=$(element);return element.innerText&&!window.opera?element.innerText:element.innerHTML.stripScripts().unescapeHTML().replace(/[\n\r\s]+/g,' ');},defaultize:function(element,lang)
1099{if(ipb.global._supportsPlaceholder==null){ipb.global._supportsPlaceholder=(function(){var i=document.createElement('input');return'placeholder'in i;})();}
1100if(ipb.global._supportsPlaceholder){if($F(element)==lang||$F(element).empty()){$(element).removeClassName('inactive').writeAttribute('placeholder',lang).value='';}}else{if($F(element)==lang||$F(element).empty()){$(element).addClassName('inactive').value=lang;}
1101$(element).observe('focus',function(e){if($(element).hasClassName('inactive')&&($F(element)==''||$F(element)==lang)){$(element).removeClassName('inactive').value='';}else{$(element).removeClassName('inactive');}}).observe('blur',function(e){if($F(element).empty()){$(element).addClassName('inactive').value=lang;}});var form=$(element).up('form');if(!Object.isUndefined(form)){$(form).observe('submit',function(e){if($(element).hasClassName('inactive')){$(element).value='';}});}}},clickLaunch:function(element)
1102{var _callback=$(element).readAttribute("data-clicklaunch");var _scope='global';try{var _try=$(element).readAttribute("data-scope");_scope=(_try)?_try.replace("ipb.",''):_scope;}catch(e){};if($(element).retrieve('clickevent')){try{$(element).retrieve('clickevent').stop();}catch(err){};}
1103var click=$(element).on('click',function(e){Event.stop(e);ipb[_scope][_callback](element,e);});$(element).store('clickevent',click);},confirmAction:function(element,callback)
1104{var _text=$(element).readAttribute("data-confirmaction");var _ok='';if(callback)
1105{_ok=callback;}
1106else if(element.tagName=='FORM')
1107{_ok="$('"+element.id+"').submit()";}
1108else
1109{_ok='window.location=\''+element.readAttribute('href')+'\'';}
1110if(!_text||_text=='true')
1111{_text=ipb.lang['gbl_confirm_desc'];}
1112var _options={type:'pane',modal:true,initial:'<div><h3>'+ipb.lang['gbl_confirm_text']+'</h3><div class="ipsPad ipsForm_center"><p>'+_text+'</p><br /><span onclick="ipb.global.popups[\'conact\'].hide();" class="clickable ipsButton_secondary important">'+ipb.lang['gbl_confirm_cancel']+'</span> &nbsp; <span onclick="'+_ok+'" class="clickable ipsButton_secondary">'+ipb.lang['gbl_confirm_ok']+'</span></div>',hideAtStart:false,w:'300px',h:150};if(element.tagName=='FORM'||callback)
1113{if(!Object.isUndefined(ipb.global.popups['conact']))
1114{ipb.global.popups['conact'].kill();}
1115ipb.global.popups['conact']=new ipb.Popup('confirm',_options);}
1116else
1117{$(element).on('click',function(e)
1118{Event.stop(e);if(!Object.isUndefined(ipb.global.popups['conact']))
1119{ipb.global.popups['conact'].kill();}
1120ipb.global.popups['conact']=new ipb.Popup('confirm',_options);});}},tooltip:function(element,options){options=Object.extend({template:new Template("<div class='ipsTooltip' id='#{id}' style='display: none'><div class='ipsTooltip_inner'>#{content}</div></div>"),position:'auto',content:$(element).readAttribute("data-tooltip").stripTags().escapeHTML(),animate:true,overrideBrowser:true,delay:0.4},options);var show=function(e){if(options.delay&&!options._still_going){return;}
1121if(!options.content){return;}
1122var id=$(element).identify();if(!$(id+'_tooltip')){$(document.body).insert({'bottom':options.template.evaluate({'id':id+'_tooltip','content':options.content})});}
1123if(options.overrideBrowser&&$(element).hasAttribute('title')){$(element).writeAttribute("data-title",$(element).readAttribute('title').stripTags().escapeHTML()).writeAttribute("title",false);}
1124var tooltip=$(id+'_tooltip').setStyle({position:'absolute'});var layout=$(element).getLayout();var position=$(element).cumulativeOffset();var dims=$(id+'_tooltip').getDimensions();var docDim=$(document.body).getLayout();if(options.position=='auto'){if(position.left+(layout.get('padding-box-width')/2)-(dims.width/2)<0){options.position='right';}else if(position.left+(dims.width/2)>docDim.get('width')){options.position='left';}else{options.position='top';}}
1125Debug.write(dims);switch(options.position){case'top':$(tooltip).setStyle({top:(position.top-dims.height-1)+'px',left:(position.left+(layout.get('padding-box-width')/2)-(dims.width/2))+'px'}).addClassName('top');break;case'bottom':$(tooltip).setStyle({top:(position.top+layout.get('padding-box-height')+1)+'px',left:(position.left+(layout.get('padding-box-width')/2)-(dims.width/2))+'px'}).addClassName('bottom');break;case'left':$(tooltip).setStyle({top:(position.top-(layout.get('padding-box-height')/2))+'px',left:(position.left-dim
1125s.width-3)+'px'}).addClassName('left');break;case'right':$(tooltip).setStyle({top:(position.top-(layout.get('padding-box-height')/2))+'px',left:(position.left+layout.get('padding-box-width')-3)+'px'}).addClassName('right');break;}
1126if(options.animate){new Effect.Appear($(tooltip),{duration:0.3,queue:'end'});}else{$(tooltip).show();}},hide=function(e){var id=$(element).identify();if(!$(id+'_tooltip')){return;}
1127if(options.animate){new Effect.Fade($(id+'_tooltip'),{duration:0.2,queue:'end'});}else{$(id+'_tooltip').hide();}};$(element).observe("mouseenter",function(e){if(options.delay){options._still_going=true;show.delay(options.delay,e);}else{show(e);}}).observe("click",function(e){options._still_going=false;hide();}).observe("mouseleave",function(e)
1128{options._still_going=false;hide();});}});var _global=window.IPBoard;_global.prototype.global={searchTimer:[],searchLastQuery:'',rssItems:[],reputation:{},popups:{},ac_cache:$H(),pageJumps:$H(),pageJumpMenus:$H(),boardMarkers:$H(),searchResults:$H(),tidPopOpen:0,activeTab:'forums',userCards:null,inlineNotification:{timers:[]},_supportsPlaceholder:null,init:function()
1129{Debug.write("Initializing ips.global.js");document.observe("dom:loaded",function(){ipb.global.initEvents();});},initEvents:function()
1130{ipb.delegate.register(".warn_link",ipb.global.displayWarnLogs);ipb.delegate.register(".mini_friend_toggle",ipb.global.toggleFriend);ipb.delegate.register(".__topic_preview",ipb.global.topicPreview);ipb.delegate.register('.bbc_spoiler_show',ipb.global.toggleSpoiler);ipb.delegate.register('a[rel~="external"]',ipb.global.openNewWindow,'force');ipb.delegate.register('._repLikeMore',ipb.global.repLikeMore);ipb.delegate.register('a[rel~="quickNavigation"]',ipb.global.openQuickNavigation);if($('sign_in')&&!$('sign_in').hasClassName('no_ajax')){$('sign_in').on('click',ipb.global.inlineSignin);}
1131if($('rss_feed')){ipb.global.buildRSSmenu();}
1132if(!Object.isUndefined(ipb.vars['notificationData']))
1133{if(undefined!==ipb.vars['notificationData'][0]){var _html='<div class="fixed_inner ipsPad row1" style="padding: 9px 0 9px 9px;">';ipb.vars['notificationData'].each(function(conv){_html+=ipb.templates['notificationTemplate'].evaluate(conv);});_html+='</div>';}
1134else{var _html=ipb.templates['notificationTemplate'].evaluate(ipb.vars['notificationData']);}
1135pnPopup('Непрочитанные сообщения',_html,{});}
1136if($('backtotop')){$('backtotop').observe("click",function(e){Event.stop(e);window.scroll(0,0);});}
1137ipb.global.buildPageJumps();ipb.global.initUserCards();if(!Object.isUndefined(ipb.templates['inlineMsg'])&&ipb.templates['inlineMsg']!=''){ipb.global.showInlineNotification(ipb.templates['inlineMsg']);}
1138if($('search-box')){ipb.global.contextualSearch();}
1139if($('user_link')){new ipb.Menu($('user_link'),$('user_link_menucontent'));}
1140if($('new_skin')){new ipb.Menu($('new_skin'),$('new_skin_menucontent'));}
1141if($('new_language')){new ipb.Menu($('new_language'),$('new_language_menucontent'));}
1142if($('mark_all_read')){new ipb.Menu($('mark_all_read'),$('mark_all_read_menucontent'));}
1143$$("[data-tooltip]").invoke('tooltip');$$("[data-clicklaunch]").invoke('clickLaunch');$$("[data-confirmaction]").invoke('confirmAction');if($('statusUpdateGlobal')){$('statusUpdateGlobal').defaultize(ipb.lang['global_status_update']);$('statusSubmitGlobal').observe('click',ipb.global.statusUpdated);}
1144ipb.global.parseQuoteBoxes();ipb.global.removeLinkedLightbox();$$('a.resized_img').each(function(elem)
1145{if($(elem).previous('a.bbc_url'))
1146{var test=$(elem).previous('a.bbc_url');if(!test.innerHTML.length)
1147{$(elem).writeAttribute('href',test.href);$(elem).writeAttribute('rel',test.rel);test.remove();}}});if(!Object.isUndefined(ipb.hoverCard)&&ipb.vars['is_touch']===false)
1148{var ajaxUrl=ipb.vars['base_url']+"app=core&module=ajax&section=tags&do=getTagsAsPopUp&md5check="+ipb.vars['secure_hash'];ipb.hoverCardRegister.initialize('tagsPopUp',{'w':'500px','delay':750,'position':'auto','ajaxUrl':ajaxUrl,'getId':true,'setIdParam':'key'});}},parseQuoteBoxes:function()
1149{$$('blockquote.ipsBlockquote').each(function(el)
1150{setTimeout(function(){if(!$(el).hasClassName('built'))
1151{var author='';var cid='';var time=0;var date='';var collapsed=0;var _extra='';var _a=new Element('span');try{author=$(el).getAttribute('data-author')?$(el).getAttribute('data-author').escapeHtml():'';cid=$(el).getAttribute('data-cid')?$(el).getAttribute('data-cid').escapeHtml():'';time=$(el).getAttribute('data-time')?$(el).getAttribute('data-time').escapeHtml():0;date=$(el).getAttribute('data-date')?$(el).getAttribute('data-date').escapeHtml():'';collapsed=$(el).getAttribute('data-collapsed')?$(el).getAttribute('data-collapsed').escapeHtml():0;}catch(aCold){}
1152if(time)
1153{if(time==parseInt(time)&&time.length==10)
1154{var _tz=new Date().getTimezoneOffset()*60;var _date=new Date().getDateAndTime(parseInt(time));if(_date['dst']*60!=_tz)
1155{_tz=_tz-_date['dst']*60;_date=new Date().getDateAndTime(parseInt(time)-parseInt(_tz));}
1156var _ampm='';if(ipb.vars['hour_format']=="12")
1157{if(_date['hour']>12)
1158{_date['hour']-=12;_ampm=' '+ipb.lang['date_pm'];}
1159else if(_date['hour']==12)
1160{_ampm=' '+ipb.lang['date_pm'];}
1161else if(_date['hour']==0)
1162{_date['hour']=12;_ampm=' '+ipb.lang['date_am'];}
1163else
1164{_ampm=' '+ipb.lang['date_am'];}}
1165date=_date['date']+' '+_date['monthName']+' '+_date['year']+' - '+_date['hour']+':'+_date['min']+_ampm;}}
1166if(author&&date)
1167{_extra=ipb.lang['quote__date_author'].replace(/#name#/,author).replace(/#date#/,date);}
1168else if(author)
1169{_extra=ipb.lang['quote__author'].replace(/#name#/,author);}
1170else if(date)
1171{_extra=ipb.lang['quote_title']+' ('+date+')';}
1172if(_extra.length==0)
1173{_extra=ipb.lang['quote_title'];}
1174if(cid&&parseInt(cid)==cid)
1175{_a=new Element('a',{'class':'snapback right',rel:'citation',href:ipb.vars['board_url']+'/index.php?app=forums&module=forums&section=findpost&pid='+cid});}
1176requestAnimationFrame(function(){el.insert({top:new Element('p',{'class':'citation'}).update(_extra).insert(_a)});el.addClassName('built');});try
1177{el.down('cite').hide();}
1178catch(err){}
1179if(collapsed)
1180{var wrapper=new Element('div',{'class':'_quote-wrapper'}).update(el.innerHTML);el.update(wrapper);el.down('div._quote-wrapper').hide();el.insert(new Element('p',{'class':'___x clickable'}).update(ipb.lang['quote_expand']));el.down('p.___x').on('click',function(e,elem)
1181{elem.up('blockquote').down('div._quote-wrapper').show();elem.hide();});}}},0);});},removeLinkedLightbox:function()
1182{$$('a.bbc_url').each(function(el){setTimeout(function(){if(_thislightbox=$(el).down('span[rel~=lightbox]')){var contents=$(el).innerHTML.replace('<span rel="lightbox">','');contents=contents.replace('</span>','');$(el).innerHTML=contents;}},0)});},lightBoxIsOff:function()
1183{$$('span[rel*="lightbox"]').each(function(elem)
1184{setTimeout(function(){if(!$(elem).down('a'))
1185{$(elem).down('img').on('click',function(e,el){window.open(el.src);});}},0);});},saveSocialShareDefaults:function(elem,e)
1186{var services={};$$('._share_x_').each(function(elem){services[elem.id.replace(/share_x_/,'')]=(elem.checked)?1:0;});new Ajax.Request(ipb.vars['base_url']+"app=core&section=sharelinks&module=ajax&do=savePostPrefs&md5check="+ipb.vars['secure_hash'],{method:'post',evalJSON:'force',parameters:services,onSuccess:function(t)
1187{if(Object.isUndefined(t.responseJSON))
1188{alert(ipb.lang['action_failed']);return;}
1189if(!Object.isUndefined(t.responseJSON['error']))
1190{alert(t.responseJSON['error']);}
1191else
1192{}}});},
1193/*!! statusUpdated */
1194statusUpdated:function(e)
1195{Event.stop(e);if($('statusUpdateGlobal').value.length<2||$('statusUpdateGlobal').value==ipb.lang['prof_update_default'])
1196{return false;}
1197var su_Twitter=$('su_TwitterGlobal')&&$('su_TwitterGlobal').checked?1:0;var su_Facebook=$('su_FacebookGlobal')&&$('su_FacebookGlobal').checked?1:0;var skin_group=($('statusHook'))?'boards':'profile';new Ajax.Request(ipb.vars['base_url']+"app=members&section=status&module=ajax&do=new&md5check="+ipb.vars['secure_hash']+"&skin_group="+skin_group+"&return=json&smallSpace
1197=1",{method:'post',evalJSON:'force',parameters:{content:$('statusUpdateGlobal').value.encodeParam(),su_Twitter:su_Twitter,su_Facebook:su_Facebook},onSuccess:function(t)
1198{if(Object.isUndefined(t.responseJSON))
1199{alert(ipb.lang['action_failed']);return;}
1200if(t.responseJSON['error'])
1201{alert(t.responseJSON['error']);}
1202else
1203{try{if($('status_wrapper'))
1204{var memberId=0;try
1205{memberId=$('status_wrapper').readAttribute('data-member');}
1206catch(err){}
1207if(!memberId||(memberId==ipb.vars['member_id']))
1208{$('status_wrapper').innerHTML=t.responseJSON['html']+$('status_wrapper').innerHTML;if(ipb.status.myLatest)
1209{if($('statusWrap-'+ipb.status.myLatest))
1210{$('statusWrap-'+ipb.status.myLatest).hide();}}}}
1211ipb.menus.closeAll(e,true);ipb.global.showInlineNotification(ipb.lang['status_updated']);$('statusUpdateGlobal').value='';$('statusUpdateGlobal').defaultize(ipb.lang['global_status_update']);}
1212catch(err)
1213{Debug.error('Logging error: '+err);}}}});},changeSkin:function(element,e)
1214{Debug.dir(element);var skinId=$(element).readAttribute('data-skinid');var url=ipb.vars['base_url']+'app=core&module=ajax&section=skin&do=change&skinId='+skinId+'&secure_key='+ipb.vars['secure_hash'];Debug.write(url);new Ajax.Request(url,{method:'get',onSuccess:function(t)
1215{if(t.responseJSON['status']=='ok')
1216{window.location=window.location;window.location.reload(true);}
1217else
1218{ipb.global.errorDialogue(ipb.lang['ajax_failure']);}}});Event.stop(e);return false;},getInboxList:function(element,e)
1219{if(Object.isUndefined(ipb.global.popups['inbox']))
1220{ipb.global.popups['inbox']=true;ipb.menus.closeAll(e);$(element).identify();$(element).addClassName('ipbmenu');$('ipboard_body').insert(ipb.templates['header_menu'].evaluate({id:'user_inbox_link_menucontent'}));$('user_inbox_link_menucontent').setStyle('width: 300px').update("<div class='ipsPad ipsForm_center'><img src='"+ipb.vars['loading_img']+"' /></div>");var _newMenu=new ipb.Menu($(element),$("user_inbox_link_menucontent"));_newMenu.doOpen();var url=ipb.vars['base_url']+'app=members&module=ajax&section=messenger&do=getInboxDropDown';Debug.write(url);new Ajax.Request(url,{method:'post',evalJSON:'force',hideLoader:true,parameters:{secure_key:ipb.vars['secure_hash']},onSuccess:function(t)
1221{if(t.responseJSON['error'])
1222{if(t.responseJSON['__board_offline__'])
1223{ipb.global.errorDialogue(ipb.lang['board_offline']);ipb.menus.closeAll(e);}}
1224else
1225{$('user_inbox_link_menucontent').update(t.responseJSON['html']);try
1226{$(element).down('.ipsHasNotifications').fade({afterFinish:function(){$(element).down('.ipsHasNotifications').show().addClassName('ipsHasNotifications_blank');}});}catch(acold){}}}});}
1227Event.stop(e);return false;},getNotificationsList:function(element,e)
1228{Event.stop(e);if(Object.isUndefined(ipb.global.popups['notification']))
1229{ipb.global.popups['notification']=true;ipb.menus.closeAll(e);$(element).identify();$(element).addClassName('ipbmenu');$('ipboard_body').insert(ipb.templates['header_menu'].evaluate({id:'user_notifications_link_menucontent'}));$('user_notifications_link_menucontent').setStyle('width: 300px').update("<div class='ipsPad ipsForm_center'><img src='"+ipb.vars['loading_img']+"' /></div>");var _newMenu=new ipb.Menu($(element),$("user_notifications_link_menucontent"));_newMenu.doOpen();var url=ipb.vars['base_url']+'app=core&module=ajax&section=notifications&do=getlatest';Debug.write(url);new Ajax.Request(url,{method:'post',evalJSON:'force',hideLoader:true,parameters:{secure_key:ipb.vars['secure_hash']},onSuccess:function(t)
1230{if(t.responseJSON['error'])
1231{if(t.responseJSON['__board_offline__'])
1232{ipb.global.errorDialogue(ipb.lang['board_offline']);ipb.menus.closeAll(e);}}
1233else
1234{$('user_notifications_link_menucontent').update(t.responseJSON['html']);try
1235{$(element).down('.ipsHasNotifications').fade({afterFinish:function(){$(element).down('.ipsHasNotifications').show().addClassName('ipsHasNotifications_blank');}});}catch(acold){}}}});}
1236return false;},openQuickNavigation:function(e)
1237{Event.stop(e);if(ipb.global.popups['quickNav']){ipb.global.popups['quickNav'].show();}else{var url=ipb.vars['base_url']+"app=core&module=ajax&section=navigation&secure_key="+ipb.vars['secure_hash']+"&inapp="+ipb.vars['active_app'];ipb.global.popups['quickNav']=new ipb.Popup('navigation_popup',{type:'modal',ajaxURL:url,hideAtStart:false,w:'600px',h:460});ipb.delegate.register('a[rel~="ipsQuickNav"]',ipb.global.quickNavTabClick);}
1238return false;},launchPhotoEditor:function(elem,e)
1239{Event.stop(e);if(!Object.isUndefined(ipb.global.popups['photoEditor']))
1240{ipb.global.popups['photoEditor'].kill();}
1241var url=ipb.vars['base_url']+"&app=members&module=ajax&section=photo&do=show&secure_key="+ipb.vars['secure_hash'];ipb.global.popups['photoEditor']=new ipb.Popup('photo_popup',{type:'pane',modal:true,ajaxURL:url,hideAtStart:false,evalJs:'force',w:'750px',h:500});return false;},quickNavTabClick:function(e,elem)
1242{Event.stop(e);app=elem.readAttribute('data-app');var url=ipb.vars['base_url']+"app=core&module=ajax&section=navigation&secure_key="+ipb.vars['secure_hash']+"&do=panel&inapp="+app;new Ajax.Request(url.replace(/&amp;/g,'&'),{method:'get',evalJSON:'force',hideLoader:true,onSuccess:function(t)
1243{$('ipsNav_content').update(t.responseText);$$('a[rel~="ipsQuickNav"]').each(function(link)
1244{link.up('li').removeClassName('active');var _app=link.readAttribute('data-app');if(_app==app)
1245{link.up('li').addClassName('active');}});}});return false;},ajaxPagination:function(element,url)
1246{new Ajax.Request(url.replace(/&amp;/g,'&'),{method:'get',evalJSON:'force',hideLoader:true,onSuccess:function(t)
1247{$(element).update(t.responseText);}});return false;},inlineSignin:function(e)
1248{if(ipb.vars['is_touch']){return;}
1249if(!$('inline_login_form'))
1250{return;}
1251Event.stop(e);if(ipb.global.loginRedirect)
1252{window.location=ipb.global.loginRedirect;return;}
1253new ipb.Popup('sign_in_popup',{type:'pane',initial:$('inline_login_form').show(),hideAtStart:false,hideClose:false,defer:false,modal:true,w:'600px'},{afterShow:function(pop){try{$('ips_username').focus();}catch(err){}}});},forumMarkRead:function(elem,e)
1254{Event.stop(e);var id=$(elem).readAttribute("data-fid");if(!id){return;}
1255var url=ipb.vars['base_url']+'&app=forums&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=markasread&forumid='+id;new Ajax.Request(url,{method:'get',evalJSON:'force',onSuccess:function(t)
1256{if(t.responseText=='no_forum'||t.responseText=='no_permission'){alert(ipb.lang['mark_read_forum']);return;}
1257$$('.__topic').each(function(topic)
1258{if($(topic).hasClassName('unread'))
1259{var tid=$(topic).readAttribute("data-tid");if(tid)
1260{ipb.global.topicRemoveUnreadElements(tid);}}});}});},topicMarkRead:function(elem,e)
1261{Event.stop(e);var id=$(elem).readAttribute("data-tid");if(!id){return;}
1262var row=$('trow_'+id);var url=ipb.vars['base_url']+'&app=forums&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=topics&do=markRead&tid='+id;new Ajax.Request(url,{method:'get',evalJSON:'force',onSuccess:function(t)
1263{if(t.responseText=='no_topic'||t.responseText=='no_permission'){alert(ipb.lang['mark_read_topic']);return;}
1264$(elem).remove();ipb.global.topicPreview(e,row.down('.__topic_preview'));ipb.global.topicRemoveUnreadElements(id);}}
1264);},topicRemoveUnreadElements:function(tid)
1265{$('trow_'+tid).removeClassName('unread').down('.col_f_icon').select('a img').invoke('remove');},topicPreview:function(e,elem)
1266{Event.stop(e);var toggle=$(elem).down(".expander");var row=$(elem).up(".__topic");var id=$(row).readAttribute("data-tid");if(!id){return;}
1267if($(row).readAttribute('loadingPreview')=='yes'){return;}
1268$(row).writeAttribute('loadingPreview','yes');if($("topic_preview_"+id)||$("topic_preview_wrap_"+id))
1269{if($("topic_preview_wrap_"+id).visible())
1270{new Effect.BlindUp($("topic_preview_wrap_"+id),{duration:0.3,afterFinish:function(){$('topic_preview_wrap_'+id).hide();}});row.removeClassName('highlighted');$(toggle).addClassName('closed').removeClassName('loading').removeClassName('open').writeAttribute('title',ipb.lang['open_tpreview']);}
1271else
1272{$('topic_preview_wrap_'+id).show();new Effect.BlindDown($("topic_preview_wrap_"+id),{duration:0.3});row.addClassName('highlighted');$(toggle).addClassName('open').removeClassName('loading').removeClassName('closed').writeAttribute('title',ipb.lang['close_tpreview']);}
1273$(row).writeAttribute('loadingPreview','no');}
1274else
1275{var url=ipb.vars['base_url']+'&app=forums&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=topics&do=preview&tid='+id;if(ipb.global.searchResults[id]){url+='&pid='+ipb.global.searchResults[id]['pid']+'&searchTerm='+ipb.global.searchResults[id]['searchterm'];}
1276$(toggle).addClassName('loading').removeClassName('closed').removeClassName('open');new Ajax.Request(url,{method:'get',evalJSON:'force',onSuccess:function(t)
1277{if(t.responseText=='no_topic'||t.responseText=='no_permission'){alert(ipb.lang['no_permission_preview']);$(toggle).addClassName('open').removeClassName('loading').removeClassName('closed').writeAttribute('title',ipb.lang['close_tpreview']);$(row).writeAttribute('loadingPreview','no');return;}
1278if(row.tagName=="TR")
1279{var count=row.childElements().size();var newrow=new Element('tr',{'class':'preview','id':'topic_preview_'+id});var newcell=new Element('td',{'colspan':count});var wrap=new Element('div',{'id':'topic_preview_wrap_'+id}).hide().update(new Element('div'));row.insert({after:newrow.insert(newcell.insert(wrap))});}
1280else
1281{var wrap=new Element('div',{'id':'topic_preview_wrap_'+id}).hide().update(new Element('div'));row.insert({bottom:wrap});}
1282wrap.update(t.responseText).relativize();new Effect.BlindDown(wrap,{duration:0.3});row.addClassName('highlighted');$(toggle).addClassName('open').removeClassName('loading').removeClassName('closed').writeAttribute('title',ipb.lang['close_tpreview']);$(row).writeAttribute('loadingPreview','no');}});}},activateMainMenu:function()
1283{if($("nav_other_apps")&&$("community_app_menu")){var start=totalW=$("nav_other_apps").getWidth()+20;var menuWidth=$("community_app_menu").getWidth();$("community_app_menu").select("li.skip_moremenu").each(function(elem){totalW+=$(elem).measure('margin-box-width');});$("community_app_menu").select("li:not(#nav_other_apps,.submenu_li)").each(function(elem){if($(elem).hasClassName('skip_moremenu'))
1284{return;}
1285totalW+=$(elem).measure('margin-box-width');if(totalW>=menuWidth)
1286{if(!$("more_apps_menucontent")){$$("body")[0].insert("<div id='more_apps_menucontent' class='submenu_container clearfix boxShadow'><div class='left'><ul class='submenu_links' id='more_apps_menucontentul'></ul></div></div>");}
1287$(elem).addClassName('submenu_li').removeClassName('left');$("more_apps_menucontentul").insert(elem);}});if($("more_apps_menucontent"))
1288{$("nav_other_apps").show();new ipb.Menu($('more_apps'),$('more_apps_menucontent'));}
1289Debug.write(menuWidth);}},initUserCards:function()
1290{if(!Object.isUndefined(ipb.hoverCard)&&ipb.vars['is_touch']===false&&ipb.vars['member_group']['g_mem_info']==1)
1291{var ajaxUrl=ipb.vars['base_url']+'&app=members&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=card';if(ipb.topic!==undefined&&ipb.topic.forum_id!==undefined)
1292{ajaxUrl+="&f="+ipb.topic.forum_id;}
1293setTimeout(function(){ipb.hoverCardRegister.initialize('member',{'w':'500px','delay':750,'position':'auto','ajaxUrl':ajaxUrl,'getId':true,'setIdParam':'mid'});},0)}},showInlineNotification:function(content,options)
1294{options=(Object.isUndefined(options))?{}:options;
1294options.showClose=(Object.isUndefined(options.manualClose))?false:options.showClose;options.neverClose=(Object.isUndefined(options.neverClose))?false:options.neverClose;options.displayForSeconds=(Object.isUndefined(options.displayForSeconds))?5:options.displayForSeconds;if($('ipsGlobalNotification'))
1295{ipb.global.closeInlineNotification(function(){ipb.global.showInlineNotification(content,options);});return;}
1296else
1297{if($('ipbwrapper'))
1298{$('ipbwrapper').insert(new Element('div',{id:'ipsGlobalNotification'}).update(ipb.templates['global_notify'].evaluate({'message':content})));}
1299else
1300{$('ipboard_body').insert(new Element('div',{id:'ipsGlobalNotification'}).update(ipb.templates['global_notify'].evaluate({'message':content,'close':ipb.templates['global_notify_close']})));}
1301new Effect.Appear('ipsGlobalNotification',{duration:1.5});if(options.showClose)
1302{$('ipsGlobalNotification').insert(new Element('div',{id:'ipsGlobalNotification_close'}));$('ipsGlobalNotification_close').observe('click',ipb.global.closeInlineNotification);}
1303else if($('ipsGlobalNotification_close'))
1304{$('ipsGlobalNotification_close').observe('click',ipb.global.closeInlineNotification);}}
1305$('ipsGlobalNotification').on('click','span a',ipb.global.closeInlineNotification);if(options.neverClose!==true)
1306{try{clearTimeout(ipb.global.inlineNotification['timers']['close']);}
1307catch(e){}
1308ipb.global.inlineNotification['timers']['close']=setTimeout(ipb.global.closeInlineNotification,options.displayForSeconds*1000);}},closeInlineNotification:function(callback)
1309{callback=callback||Prototype.emptyFunction;if($('ipsGlobalNotification_close')){$('ipsGlobalNotification_close').stopObserving('click');}
1310try{clearTimeout(ipb.global.inlineNotification['timers']['close']);}
1311catch(e){}
1312new Effect.Fade('ipsGlobalNotification',{duration:1.0,afterFinish:function(){$('ipsGlobalNotification').remove();callback();}});},errorDialogue:function(text)
1313{errContent="<h3>"+ipb.lang['error_occured']+"</h3><div class='row2 ipsPad ipsForm_center'><p>"+text+"</p></div>";new ipb.Popup('generic__errorDialogue',{type:'pane',initial:errContent,stem:true,hideAtStart:false,hideClose:false,defer:false,warning:false,w:400});},okDialogue:function(text)
1314{okContent="<h3>"+ipb.lang['success']+"</h3><div class='row2 ipsPad ipsForm_center'><p>"+text+"</p></div>";new ipb.Popup('generic__okDialogue',{type:'pane',initial:okContent,stem:true,hideAtStart:false,hideClose:false,defer:false,w:400});},contextualSearch:function()
1315{if(!$('search_options')&&!$('search_options_menucontent')){return;}
1316if(!$('main_search'))
1317{return;}
1318$('main_search').defaultize(ipb.lang['search_default_value']);$('search').select('.submit_input').find(function(elem){$(elem).value='';});var update=function(noSelect)
1319{var checked=$('search_options_menucontent').select('input').find(function(elem){return $(elem).checked;});if(Object.isUndefined(checked)){checked=$('search_options_menucontent').select('input:first')[0];if(!checked){return;}
1320checked.checked=true;}
1321$('search_options').show().update($(checked).up('label').readAttribute('title')||'');if(noSelect!=true){$('main_search').focus();}
1322return true;};update(true);$('search_options_menucontent').select('input').invoke('observe','click',update);},fetchTid:function(e)
1323{var elem=Event.element(e);elem.identify();if(!elem.hasClassName('__topic'))
1324{elem=elem.up('.__topic');}
1325var id=elem.id;if(!id||!$(id))
1326{return 0;}
1327var m=$(id).className.match('__tid([0-9]+)');var tid=m[1];return tid;},displayWarnLogs:function(e,elem)
1328{mid=elem.id.match('warn_link_([0-9a-z]+)_([0-9]+)')[2];if(Object.isUndefined(mid)){return;}
1329if(parseInt(mid)==0){return false;}
1330Event.stop(e);var _url=ipb.vars['base_url']+'&app=core&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=warn&do=view&mid='+mid;warnLogs=new ipb.Popup('warnLogs',{type:'pane',modal:false,w:'500px',h:500,ajaxURL:_url,hideAtStart:false,close:'.cancel'});},toggleFriend:function(e,elem)
1331{Event.stop(e);var id=$(elem).id.match('friend_(.*)_([0-9]+)');if(Object.isUndefined(id[2])){return;}
1332var isFriend=($(elem).hasClassName('is_friend'))?1:0;var urlBit=(isFriend)?'remove':'add';var url=ipb.vars['base_url']+"app=members&section=friends&module=ajax&do="+urlBit+"&member_id="+id[2]+"&md5check="+ipb.vars['secure_hash'];new Ajax.Request(url,{method:'get',onSuccess:function(t)
1333{switch(t.responseText)
1334{case'pp_friend_timeflood':alert(ipb.lang['cannot_readd_friend']);Event.stop(e);break;case"pp_friend_already":alert(ipb.lang['friend_already']);Event.stop(e);break;case"error":return true;break;default:var newIcon=(isFriend)?ipb.templates['m_add_friend'].evaluate({id:id[2]}):ipb.templates['m_rem_friend'].evaluate({id:id[2]});var friends=$$('.mini_friend_toggle').each(function(fr){if($(fr).id.endsWith('_'+id[2]))
1335{if(isFriend){$(fr).removeClassName('is_friend').addClassName('is_not_friend').update(newIcon);}else{$(fr).removeClassName('is_not_friend').addClassName('is_friend').update(newIcon);}}});new Effect.Highlight($(elem),{startcolor:ipb.vars['highlight_color']});document.fire('ipb:friendRemoved',{friendID:id[2]});Event.stop(e);break;}}});},toggleFlagSpammer:function(memberId,flagStatus)
1336{if(flagStatus==true)
1337{if(confirm(ipb.lang['set_as_spammer']))
1338{var tid=0;var fid=0;var sid=0;if(typeof(ipb.topic)!='undefined')
1339{tid=ipb.topic.topic_id;fid=ipb.topic.forum_id;sid=ipb.topic.start_id;}
1340window.location=ipb.vars['base_url']+'app=core&module=modcp&do=setAsSpammer&member_id='+memberId+'&t='+tid+'&f='+fid+'&st='+sid+'&auth_key='+ipb.vars['secure_hash'];return false;}
1341else
1342{return false;}}
1343else
1344{alert(ipb.lang['is_spammer']);return false;}},toggleSpoiler:function(e,button)
1345{Event.stop(e);var returnvalue=$(button).up('.bbc_spoiler').down('.bbc_spoiler_wrapper').down('.bbc_spoiler_content').toggle();if(returnvalue.visible()){$(button).value=ipb.lang['spoiler_hide'];}else{$(button).value=ipb.lang['spoiler_show'];}},buildRSSmenu:function()
1346{$$('link').each(function(link)
1347{if(link.readAttribute('type')=="application/rss+xml")
1348{ipb.global.rssItems.push(ipb.templates['rss_item'].evaluate({url:link.readAttribute('href'),title:link.readAttribute('title').escapeHtml()}));}});if(ipb.global.rssItems.length>0)
1349{rssmenu=ipb.templates['rss_shell'].evaluate({items:ipb.global.rssItems.join("\n")});$('rss_feed').insert({after:rssmenu});new ipb.Menu($('rss_feed'),$('rss_menu'));}
1350else
1351{$('rss_feed').hide();}},repPopUp:function(e,repId,repApp,repType)
1352{if(ipb.global.popups['rep_'+repId]){ipb.global.popups['rep_'+repId].kill();}
1353var _url=ipb.vars['base_url']+'&app=core&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=reputation&do=view&repApp='+repApp+'&repType='+repType+'&repId='+repId;ipb.global.popups['rep_'+repId]=new ipb.Popup('rep_'+repId,{type:'balloon',stem:true,attach:{target:e,position:'auto'},hideAtStart:false,ajaxURL:_url,w:'300px',h:400});},closePMpopup:function(e)
1354{if($('pm_notification'))
1355{new Effect.Parallel([new Effect.Fade($('pm_notification')),new Effect.BlindUp($('pm_notification'))],{duration:0.5});}
1356Event.stop(e);},markReadPMpopup:function(e)
1357{if($('pm_notification'))
1358{var elem=Event.findElement(e,'a');var href=elem.href.replace(/&amp;/g,'&')+'&ajax=1';new Ajax.Request(href+"&md5check="+ipb.vars['secure_hash'],{method:'get',evalJSON:'force',onSuccess:function(t){}}
1358);new Effect.Parallel([new Effect.Fade($('pm_notification')),new Effect.BlindUp($('pm_notification'))],{duration:0.5});}
1359Event.stop(e);return false;},initGD:function()
1360{$('gd-antispam').observe('click',ipb.global.generateNewImage);if($('gd-image-link'))
1361{$('gd-image-link').observe('click',ipb.global.generateNewImage);}},generateImageExternally:function(elem)
1362{if(!$(elem)){return;}
1363$(elem).observe('click',ipb.global.generateNewImage);},generateNewImage:function(e)
1364{img=$('gd-antispam');Event.stop(e);oldSrc=img.src.toQueryParams();oldSrc=$H(oldSrc).toObject();if(!oldSrc['captcha_unique_id']){Debug.error("No captcha ID found");}
1365new Ajax.Request(ipb.vars['base_url']+"app=core&module=global&section=captcha&do=refresh&captcha_unique_id="+oldSrc['captcha_unique_id']+'&secure_key='+ipb.vars['secure_hash'],{method:'get',onSuccess:function(t)
1366{oldSrc['captcha_unique_id']=t.responseText;img.writeAttribute({src:ipb.vars['base_url']+$H(oldSrc).toQueryString()});$('regid').value=t.responseText;}});},registerReputation:function(id,url,rating)
1367{setTimeout(function(){if(!$(id)){return;}
1368var rep_up=$(id).down('.rep_up');var rep_down=$(id).down('.rep_down');var domLikeStripId=($(url.domLikeStripId))?$(url.domLikeStripId):false;var sendUrl=ipb.vars['base_url']+'&app=core&module=ajax&section=reputation&do=add_rating&app_rate='+url.app+'&type='+url.type+'&type_id='+url.typeid+'&secure_key='+ipb.vars['secure_hash'];if($(rep_up)){$(rep_up).observe('click',ipb.global.repRate.bindAsEventListener(this,1,id));}
1369if($(rep_down)){$(rep_down).observe('click',ipb.global.repRate.bindAsEventListener(this,-1,id));}
1370ipb.global.reputation[id]={obj:$(id),domLikeStripId:domLikeStripId,url:url,sendUrl:sendUrl,currentRating:rating||0};Debug.write("Registered reputation");},0);},repRate:function(e)
1371{Event.stop(e);var type=$A(arguments)[1];var id=$A(arguments)[2];var value=(type==1)?1:-1;if(!ipb.global.reputation[id]){return;}else{var rep=ipb.global.reputation[id];}
1372Debug.write(rep.sendUrl+'&rating='+value);new Ajax.Request(rep.sendUrl+'&rating='+value,{method:'get',onSuccess:function(t)
1373{if(t.responseJSON['status']=='ok')
1374{try{rep.obj.down('.rep_up').up('li').hide();rep.obj.down('.rep_down').up('li').hide();if(t.responseJSON['canRepUp']===true)
1375{rep.obj.down('.rep_up').up('li').show();}
1376if(t.responseJSON['canRepDown']===true)
1377{rep.obj.down('.rep_down').up('li').show();}}catch(err){Debug.error(err);}
1378var rep_display=rep.obj.down('.rep_show');if(rep_display)
1379{['positive','negative','zero'].each(function(c){rep_display.removeClassName(c);});var newValue=parseInt(t.responseJSON['rating']);if(newValue>0)
1380{rep_display.addClassName('positive');}
1381else if(newValue<0)
1382{rep_display.addClassName('negative');}
1383else
1384{rep_display.addClassName('zero');}
1385rep_display.update(newValue);}
1386if($(rep.domLikeStripId.id))
1387{if(t.responseJSON['likeData'].formatted!==false)
1388{$(rep.domLikeStripId.id).update(t.responseJSON['likeData'].formatted).show();}
1389else
1390{$(rep.domLikeStripId.id).update('').hide();}}}
1391else
1392{if(t.responseJSON['error']=='nopermission'||t.responseJSON['error']=='no_permission')
1393{ipb.global.errorDialogue(ipb.lang['no_permission']);}
1394else
1395{ipb.global.errorDialogue(t.responseJSON['error']);}}}});},repLikeMore:function(e,elem)
1396{Event.stop(e);try
1397{var id=elem.readAttribute('data-id');var app=elem.readAttribute('data-app');var type=elem.readAttribute('data-type');}
1398catch(e)
1399{Debug.error(e);}
1400if(!Object.isUndefined(ipb.global.popups['likeMore']))
1401{ipb.global.popups['likeMore'].kill();}
1402var popid='setfave_'+id;var _url=ipb.vars['base_url']+'&app=core&module=ajax&section=reputation&do=more&secure_key='+ipb.vars['secure_hash']+'&f_app='+app+'&f_type='+type+'&f_id='+id;Debug.write(_url);ipb.global.popups['likeMore']=new ipb.Popup(popid,{type:'pane',ajaxURL:_url,stem:false,hideAtStart:false,h:500,w:'450px'});},convertSize:function(size)
1403{var kb=1024;var mb=1024*1024;var gb=1024*1024*1024;if(size<kb){return size+" B";}
1404if(size<mb){return(size/kb).toFixed(2)+" KB";}
1405if(size<gb){return(size/mb).toFixed(2)+" MB";}
1406return(size/gb).toFixed(2)+" GB";},registerPageJump:function(source,options)
1407{if(!source||!options){return;}
1408ipb.global.pageJumps[source]=options;},buildPageJumps:function()
1409{$$('.pagejump').each(function(elem){setTimeout(function(){var classes=$(elem).className.match(/pj([0-9]+)/);
1409if(Object.isUndefined(classes)||!classes||!classes[1]){return;}
1410$(elem).identify();var temp=ipb.templates['page_jump'].evaluate({id:'pj_'+$(elem).identify()});$$('body')[0].insert(temp);$('pj_'+$(elem).identify()+'_submit').observe('click',ipb.global.pageJump.bindAsEventListener(this,$(elem).identify()));$('pj_'+$(elem).identify()+'_input').observe('keypress',function(e){if(e.which==Event.KEY_RETURN)
1411{ipb.global.pageJump(e,$(elem).identify());}});var wrap=$('pj_'+$(elem).identify()+'_wrap').addClassName('pj'+classes[1]).writeAttribute('jumpid',classes[1]);var callback={afterOpen:function(popup){try{$('pj_'+$(elem).identify()+'_input').activate();}
1412catch(err){}}};ipb.global.pageJumpMenus[classes[1]]=new ipb.Menu($(elem),$(wrap),{stopClose:true},callback);},0)});},pageJump:function(e,elem)
1413{if(!$(elem)||!$('pj_'+$(elem).id+'_input')){return;}
1414var value=$F('pj_'+$(elem).id+'_input');var jumpid=$('pj_'+$(elem).id+'_wrap').readAttribute('jumpid');if(value.blank()){try{ipb.global.pageJumpMenus[source].doClose();}catch(err){}}
1415else
1416{value=parseInt(value);}
1417var options=ipb.global.pageJumps[jumpid];if(!options){Debug.dir(ipb.global.pageJumps);Debug.write(jumpid);return;}
1418var pageNum=((value-1)*options.perPage);Debug.write(pageNum);if(pageNum<1){pageNum=0;}
1419var separator=options.url.indexOf('&')!==-1?'&':'?';var url=options.url+separator+options.stKey+'='+pageNum;if(options.anchor)
1420{url=url+options.anchor;}
1421url=url.replace(/&amp;/g,'&');url=url.replace(/(http:|https:)?\/\//g,function($0,$1){return $1?$0:'/';});document.location=url;return;},openNewWindow:function(e,link,force)
1422{var ourHost=document.location.host;var newHost=link.host;if(Prototype.Browser.IE)
1423{newHost=newHost.replace(/^(.+?):(\d+)$/,'$1');}
1424if(ourHost!=newHost||force)
1425{window.open(link.href);Event.stop(e);return false;}
1426else
1427{return true;}},registerMarker:function(id,key,url)
1428{if(!$(id)||key.blank()||url.blank()){return;}
1429Debug.write("Marker INIT: "+id);$(id).observe('click',ipb.global.sendMarker.bindAsEventListener(this,id,key,url));},sendMarker:function(e,id,key,url)
1430{Event.stop(e);new Ajax.Request(url+"&secure_key="+ipb.vars['secure_hash'],{method:'get',evalJSON:'force',onSuccess:function(t)
1431{if(Object.isUndefined(t.responseJSON))
1432{Debug.error("Invalid server response");return false;}
1433if(t.responseJSON['error'])
1434{Debug.error(t.responseJSON['error']);return false;}
1435if($(id+'_tooltip')){$(id+'_tooltip').hide();}
1436$(id).up('tr').removeClassName('unread');var icon=(typeof(dp3FiUse)!='undefined'&&typeof(unreadForums[id])!='undefined')?unreadForums[id]:unreadIcon;$(id).replace(icon);var _intId=id.replace(/forum_img_/,'');if($("subforums_"+_intId))
1437{$$("#subforums_"+_intId+" li").each(function(elem){$(elem).removeClassName('unread');});}}});},registerCheckAll:function(id,classname)
1438{if(!$(id)){return;}
1439$(id).observe('click',ipb.global.checkAll.bindAsEventListener(this,classname));$$('.'+classname).each(function(elem){$(elem).observe('click',ipb.global.checkOne.bindAsEventListener(this,id));});},checkAll:function(e,classname)
1440{Debug.write('checkAll');var elem=Event.element(e);var checkboxes=$$('.'+classname);if(elem.checked){checkboxes.each(function(check){check.checked=true;});}else{checkboxes.each(function(check){check.checked=false;});}},checkOne:function(e,id)
1441{var elem=Event.element(e);if($(id).checked&&elem.checked==false)
1442{$(id).checked=false;}},updateReportStatus:function(e,reportID,noauto,noimg)
1443{Event.stop(e);var url=ipb.vars['base_url']+"app=core&amp;module=ajax&amp;section=reports&amp;do=change_status&secure_key="+ipb.vars['secure_hash']+"&amp;status=3&amp;id="+parseInt(reportID)+"&amp;noimg="+parseInt(noimg)+"&amp;noauto="+parseInt(noauto);new Ajax.Request(url.replace(/&amp;/g,'&'),{method:'post',evalJSON:'force',onSuccess:function(t)
1444{if(Object.isUndefined(t.responseJSON))
1445{alert(ipb.lang['action_failed']);return;}
1446try{$('rstat-'+reportID).update(t.responseJSON['img']);ipb.menus.closeAll(e);}catch(err){Debug.error(err);}}});},getTotalOffset:function(elem,top,left)
1447{if($(elem).getOffsetParent()!=document.body)
1448{Debug.write("Checking "+$(elem).id);var extra=$(elem).positionedOffset();top+=extra['top'];left+=extra['left'];return ipb.global.getTotalOffset($(elem).getOffsetParent(),top,left);}
1449else
1450{Debug.write("OK Finished!");return{top:top,left:left};}},checkPermission:function(text)
1451{if(text=="nopermission"||text=='no_permission')
1452{alert(ipb.lang['no_permission']);return false;}
1453return true;},checkForEnter:function(e,callback)
1454{if(![Event.KEY_RETURN].include(e.keyCode)){return;}
1455if(callback)
1456{switch(e.keyCode)
1457{case Event.KEY_RETURN:callback(e);break;}
1458Event.stop(e);}},checkDST:function()
1459{var memberHasDst=ipb.vars['dst_in_use'];var dstInEffect=new Date().getDST();if(memberHasDst-dstInEffect!=0)
1460{var url=ipb.vars['base_url']+'app=members&module=ajax&section=dst&md5check='+ipb.vars['secure_hash'];new Ajax.Request(url,{method:'get',onSuccess:function(t)
1461{return true;}}
1461);}}};var _menu=window.IPBoard;_menu.prototype.menus={registered:$H(),closeCallBack:false,init:function()
1462{Debug.write("Initializing ips.menu.js");document.observe("dom:loaded",function(){ipb.menus.initEvents();});},initEvents:function()
1463{Event.observe(document,'click',ipb.menus.docCloseAll);$$('.ipbmenu').each(function(menu){id=menu.identify();if($(id+"_menucontent"))
1464{new ipb.Menu(menu,$(id+"_menucontent"));}});},register:function(source,obj)
1465{ipb.menus.registered.set(source,obj);},registerCloseCallBack:function(callBack)
1466{ipb.menus.closeCallBack=callBack;},docCloseAll:function(e)
1467{ipb.menus.closeAll(e);},
1468/*!! Close all menus (forceClose ignores clicked in menu area check) */
1469closeAll:function(except,forceClose)
1470{ipb.menus.registered.each(function(menu,force){if(typeof(except)=='undefined'||(except&&menu.key!=except))
1471{try{if(forceClose||(!(except.target&&$(except.target).descendantOf(menu.value.target))&&except!=menu.key)){menu.value.doClose();}}catch(err){}}});if(Object.isFunction(ipb.menus.closeCallBack))
1472{ipb.menus.closeCallBack();}}};_menu.prototype.Menu=Class.create({initialize:function(source,target,options,callbacks){if(!$(source)||!$(target)){return;}
1473if(!$(source).id){$(source).identify();}
1474this.id=$(source).id+'_menu';this.source=$(source);this.target=$(target);this.callbacks=callbacks||{};this.options=Object.extend({eventType:'click',closeOnMouseout:false,stopClose:true,offsetX:0,offsetY:0},arguments[2]||{});$(source).observe('click',this.eventClick.bindAsEventListener(this));$(source).observe('mouseover',this.eventOver.bindAsEventListener(this));$(target).observe('click',this.targetClick.bindAsEventListener(this));if(this.options['closeOnMouseout']!==false)
1475{$(this.options['closeOnMouseout']).observe('mouseleave',this.mouseOutClose.bindAsEventListener(this));}
1476if($($(source).id+'_alt'))
1477{$($(source).id+'_alt').observe('click',this.eventClick.bindAsEventListener(this,$($(source).id+'_alt')));$($(source).id+'_alt').observe('mouseover',this.eventOver.bindAsEventListener(this));}
1478$(this.target).setStyle('position: absolute;').hide().setStyle({zIndex:9999});$(this.target).descendants().each(function(elem){$(elem).setStyle({zIndex:10000});});ipb.menus.register($(source).id,this);if(Object.isFunction(this.callbacks['afterInit']))
1479{this.callbacks['afterInit'](this);}},doOpen:function(elem)
1480{Debug.write("Menu open");var pos={};var _source=(this.options.positionSource)?this.options.positionSource:this.source;if(!Object.isUndefined(elem))
1481{var _source=elem;}
1482var sourcePos=$(_source).positionedOffset();var _sourcePos=$(_source).cumulativeOffset();var _offset=$(_source).cumulativeScrollOffset();var realSourcePos={top:_sourcePos.top-_offset.top,left:_sourcePos.left-_offset.left};var sourceDim=$(_source).getDimensions();var screenDim=document.viewport.getDimensions();var menuDim={width:$(this.target).measure('border-box-width'),height:$(this.target).measure('border-box-height')};var isFixed=$(_source).ancestors().find(function(el){return el.getStyle('position')=='fixed';});if(isRTL)
1483{if(sourcePos.top<0)
1484{sourcePos.top=realSourcePos.top;}
1485if($(_source).id=='user_link')
1486{sourcePos.left=sourcePos.left-(parseInt($(_source).getStyle('padding-left').replace(/px/,''))+parseInt($(_source).getStyle('margin-left').replace(/px/,'')));}}
1487Debug.write("realSourcePos: "+realSourcePos.top+" x "+realSourcePos.left);Debug.write("sourcePos: "+sourcePos.top+" x "+sourcePos.left);Debug.write("scrollOffset: "+_offset.top+" x "+_offset.left);Debug.write("_sourcePos: "+_sourcePos.top+" x "+_sourcePos.left);Debug.write("sourceDim: "+sourceDim.width+" x "+sourceDim.height);Debug.write("menuDim: "+menuDim.height);Debug.write("screenDim: "+screenDim.height);Debug.write("manual ofset: "+this.options.offsetX+" x "+this.options.offsetY);_a=_source.getOffsetParent();_b=this.target.getOffsetParent();Debug.write("_a is "+_a);Debug.write("_b is "+_b);if(isFixed)
1488{$(this.target).setStyle('position: fixed');if((_sourcePos.left+menuDim.width)>screenDim.width){diff=menuDim.width-sourceDim.width;pos.left=_sourcePos.left-diff+this.options.offsetX;}else{pos.left=(_sourcePos.left)+this.options.offsetX;}
1489if((_sourcePos.top+menuDim.height)>screenDim.height){pos.top=_sourcePos.top-menuDim.height+this.options.offsetY;}else{pos.top=_sourcePos.top+sourceDim.height+this.options.offsetY;}
1490$(this.target).setStyle('top: '+(pos.top-1)+'px; left: '+pos.left+'px;');}
1491else
1492{if(_a!=_b)
1493{if((realSourcePos.left+menuDim.width)>screenDim.width){diff=menuDim.width-sourceDim.width;pos.left=_sourcePos.left-diff+this.options.offsetX;}else{if(Prototype.Browser.IE7){pos.left=(_sourcePos.left)+this.options.offsetX;}else{pos.left=(_sourcePos.left)+this.options.offsetX;}}
1494if((((realSourcePos.top+sourceDim.height)+menuDim.height)>screenDim.height)&&(_sourcePos.top-menuDim.height+this.options.offsetY)>0)
1495{pos.top=_sourcePos.top-menuDim.height+this.options.offsetY;}else{pos.top=_sourcePos.top+sourceDim.height+this.options.offsetY;}}
1496else
1497{Debug.write("MENU: source offset EQUALS target offset");if((realSourcePos.left+menuDim.width)>screenDim.width){diff=menuDim.width-sourceDim.width;pos.left=sourcePos.left-diff+this.options.offsetX;}else{pos.left=sourcePos.left+this.options.offsetX;}
1498if((((realSourcePos.top+sourceDim.height)+menuDim.height)>screenDim.height)&&(_sourcePos.top-menuDim.height+this.options.offsetY)>0)
1499{pos.top=sourcePos.top-menuDim.height+this.options.offsetY;}else{pos.top=sourcePos.top+sourceDim.height+this.options.offsetY;}}
1500$(this.target).setStyle('top: '+(pos.top-1)+'px; left: '+pos.left+'px;');}
1501$(this.source).addClassName('menu_active');Debug.write("Menu position: "+pos.top+" x "+pos.left);new Effect.Appear($(this.target),{duration:0.2,afterFinish:function(e){if(Object.isFunction(this.callbacks['afterOpen']))
1502{this.callbacks['afterOpen'](this);}}.bind(this)});Event.observe(document,'keypress',this.checkKeyPress.bindAsEventListener(this));},checkKeyPress:function(e)
1503{if(e.keyCode==Event.KEY_ESC)
1504{this.doClose();}},mouseOutClose:function()
1505{this.doClose();},doClose:function()
1506{new Effect.Fade($(this.target),{duration:0.3,afterFinish:function(e){if(Object.isFunction(this.callbacks['afterClose']))
1507{this.callbacks['afterClose'](this);}}.bind(this)});this.source.removeClassName('menu_active');},targetClick:function(e)
1508{if(!this.options.stopClose){this.doClose();}},eventClick:function(e,elem)
1509{if(this.options['eventType']=='click')
1510{Event.stop(e);if($(this.target).visible()){if(Object.isFunction(this.callbacks['beforeClose']))
1511{this.callbacks['beforeClose'](this);}
1512this.doClose();}else{ipb.menus.closeAll($(this.source).id);if(Object.isFunction(this.callbacks['beforeOpen']))
1513{this.callbacks['beforeOpen'](this);}
1514this.doOpen(elem);}}},eventOver:function()
1515{if(this.options['eventType']=='mouseover')
1516{if(!$(this.target).visible()){ipb.menus.closeAll($(this.source).id);if(Object.isFunction(this.callbacks['beforeOpen']))
1517{this.callbacks['beforeOpen'](this);}
1518this.doOpen();}}}});_popup=window.IPBoard;_popup.prototype.Popup=Class.create({initialize:function(id,options,callbacks)
1519{this.id='';this.wrapper=null;this.inner=null;this.stem=null;this.options={};this.timer=[];this.ready=false;this.visible=false;this._startup=null;this.hideAfterSetup=false;this.eventPairs={'mouseover':'mouseout','mousedown':'mouseup'};this._tmpEvent=null;this.id=id;this.options=Object.extend({type:'pane',w:'500px',modal:false,modalOpacity:0.4,hideAtStart:true,delay:{show:0,hide:0},defer:false,hideClose:false,black:false,warning:false,evalJs:true,closeContents:ipb.templates['close_popup']},arguments[1]||{});this.callbacks=callbacks||{};if(this.options.defer&&$(this.options.attach.target))
1520{this._defer=this.init.bindAsEventListener(this);$(this.options.attach.target).observe(this.options.attach.event,this._defer);if(this.eventPairs[this.options.attach.event])
1521{this._startup=function(e){this.hideAfterSetup=true;this.hide();}.bindAsEventListener(this);$(this.options.attach.target).observe(this.eventPairs[this.options.attach.event],this._startup);}}
1522else
1523{this.init();}},init:function()
1524{try{Event.stopObserving($(this.options.attach.target),this.options.attach.event,this._defer);if($(this.options.attach.target))
1525{var toff=$(this.options.attach.target).positionedOffset();var menu=$(this.options.attach.target).up('.ipbmenu_content');if(toff.top==0&&toff.left==0||$(menu))
1526{this.options.type='modal';this.options.attach={};}}}catch(err){}
1527this.wrapper=new Element('div',{'id':this.id+'_popup'}).setStyle('z-index: 10001').hide().addClassName('popupWrapper');this.inner=new Element('div',{'id':this.id+'_inner'}).addClassName('popupInner');if(this.options.black)
1528{this.inner.addClassName('black_mode');}
1529if(this.options.warning)
1530{this.inner.addClassName('warning_mode');}
1531if(this.options.w){this.inner.setStyle('width: '+this.options.w);}
1532this.wrapper.insert(this.inner);if(this.options.hideClose!=true)
1533{this.closeLink=new Element('div',{'id':this.id+'_close'}).addClassName('popupClose').addClassName('clickable');this.closeLink.update(this.options.closeContents);this.closeLink.observe('click',this.hide.bindAsEventListener(this));this.wrapper.insert(this.closeLink);if(this.options.black||this.options.warning)
1534{this.closeLink.addClassName('light_close_button');}}
1535$$('body')[0].insert(this.wrapper);if(this.options.classname){this.wrapper.addClassName(this.options.classname);}
1536if(this.options.initial){this.update(this.options.initial);}
1537if(Object.isFunction(this.callbacks['beforeAjax']))
1538{this.callbacks['beforeAjax'](this);}
1539if(this.options.ajaxURL){this.updateAjax();setTimeout(this.continueInit.bind(this),80);}else{this.ready=true;this.continueInit();}},continueInit:function()
1540{if(!this.ready)
1541{setTimeout(this.continueInit.bind(this),80);return;}
1542if(this.inner.select(".fixed_inner").size())
1543{Debug.write("Found fixed_inner");this.inner.select(".fixed_inner")[0].setStyle('height: '+this.options.h+'px; max-height: '+this.options.h+'px; overflow: auto');}
1544else
1545{var _vph=document.viewport.getDimensions().height-25;this.options.h=(this.options.h&&_vph>this.options.h)?this.options.h:_vph;this.inner.setStyle('max-height: '+this.options.h+'px');}
1546if(this.options.type=='balloon'){this.setUpBalloon();}else{this.setUpPane();}
1547try{if(this.options.close){closeElem=$(this.wrapper).select(this.options.close)[0];if(Object.isElement(closeElem))
1548{$(closeElem).observe('click',this.hide.bindAsEventListener(this));}}}catch(err){Debug.write(err);}
1549if(Object.isFunction(this.callbacks['afterInit']))
1550{this.callbacks['afterInit'](this);}
1551if(!this.options.hideAtStart&&!this.hideAfterSetup)
1552{this.show();}
1553if(this.hideAfterSetup&&this._startup)
1554{Event.stopObserving($(this.options.attach.target),this.eventPairs[this.options.attach.event],this._startup);}},updateAjax:function()
1555{Debug.write(this.options.ajaxURL);new Ajax.Request(this.options.ajaxURL,{method:'get',evalJS:this.options.evalJs,onSuccess:function(t)
1556{if(t.responseText!='error')
1557{try
1558{if(!Object.isUndefined(t.responseJSON)&&!Object.isUndefined(t.responseJSON['error']))
1559{if(t.responseJSON['__board_offline__'])
1560{ipb.global.errorDialogue(ipb.lang['board_offline']);ipb.menus.closeAll(e);}
1561else
1562{ipb.global.errorDialogue(t.responseJSON['error']);}
1563return false;}}catch(e){}
1564if(t.responseText=='nopermission')
1565{ipb.global.errorDialogue(ipb.lang['no_permission']);return;}
1566if(t.responseText.match("__session__expired__log__out__"))
1567{this.update('');alert(ipb.lang['session_timed_out']);return false;}
1568Debug.write("AJAX done!");this.update(t.responseText);this.ready=true;if(Object.isFunction(this.callbacks['afterAjax']))
1569{this.callbacks['afterAjax'](this,t.responseText);}}
1570else
1571{Debug.write(t.responseText);return;}}.bind(this)});},show:function(e)
1572{if(e){Event.stop(e);}
1573if(this.timer['show']){clearTimeout(this.timer['show']);}
1574if(this.options.delay.show!=0){this.timer['show']=setTimeout(this._show.bind(this),this.options.delay.show);}else{this._show();}},hide:function(e)
1575{if(e){Event.stop(e);}
1576if(this.document_event){Event.stopObserving(document,'click',this.document_event);Event.stopObserving(document,'touchstart',this.document_event);}
1577if(this.timer['hide']){clearTimeout(this.timer['hide']);}
1578if(this.options.delay.hide!=0){this.timer['hide']=setTimeout(this._hide.bind(this),this.options.delay.hide);}else{this._hide();}},kill:function()
1579{if(this.timer['hide']){clearTimeout(this.timer['hide']);}
1580if(this.timer['show']){clearTimeout(this.timer['show']);}
1581if($(this.wrapper))
1582{$(this.wrapper).remove();}},_show:function()
1583{this.visible=true;try
1584{if(this.options.warning)
1585{_wrap=this.inner.down('h3').next('div');if(_wrap)
1586{if(!_wrap.className.match(/moderated/))
1587{_wrap.addClassName('moderated');}}}}catch(e){}
1588if(this.options.modal==false){new Effect.Appear($(this.wrapper),{duration:0.3,afterFinish:function(){if(Object.isFunction(this.callbacks['afterShow']))
1589{this.callbacks['afterShow'](this);}}.bind(this)});this.document_event=this.handleDocumentClick.bindAsEventListener(this);this.setDocumentEvent();}else{new Effect.Appear($('document_modal'),{duration:0.3,to:this.options.modalOpacity,afterFinish:function(){new Effect.Appear($(this.wrapper),{duration:0.4,afterFinish:function(){if(Object.isFunction(this.callbacks['afterShow']))
1590{this.callbacks['afterShow'](this);}}.bind(this)});}.bind(this)});}},_hide:function()
1591{this.visible=false;if(this._tmpEvent!=null)
1592{Event.stopObserving($(this.wrapper),'mouseout',this._tmpEvent);this._tmpEvent=null;}
1593if(this.options.modal==false){new Effect.Fade($(this.wrapper),{duration:0.3,afterFinish:function(){if(Object.isFunction(this.callbacks['afterHide']))
1594{this.callbacks['afterHide'](this);}}.bind(this)});}else{new Effect.Fade($(this.wrapper),{duration:0.3,afterFinish:function(){new Effect.Fade($('document_modal'),{duration:0.2,afterFinish:function(){if(Object.isFunction(this.callbacks['afterHide']))
1595{this.callbacks['afterHide'](this);}}.bind(this)});}.bind(this)});}},setDocumentEvent:function()
1596{if(!ipb.vars['is_touch']){Event.observe(document,'click',this.document_event);return;}
1597Event.observe(document,'touchstart',this.document_event);},handleDocumentClick:function(e)
1598{Debug.write('document click: '+Event.element(e).id);if(!Event.element(e).descendantOf(this.wrapper)&&(this.options.attach&&(Event.element(e).id!=this.options.attach.target.id)))
1599{this.hide(e);}},update:function(content,evalScript)
1600{if(Object.isElement(content)){this.inner.insert({bottom:content});}else{this.inner.update(content);}
1601if(Object.isUndefined(evalScript)||evalScript!=false){this.inner.innerHTML.evalScripts();}},setUpBalloon:function()
1602{if(this.options.attach)
1603{var attach=this.options.attach;if(attach.target&&$(attach.target))
1604{if(this.options.stem==true)
1605{this.createStem();}
1606if(!attach.position){attach.position='auto';}
1607if(isRTL)
1608{if(Object.isUndefined(attach.offset)){attach.offset={top:0,right:0};}
1609if(Object.isUndefined(attach.offset.top)){attach.offset.top=0;}
1610if(Object.isUndefined(attach.offset.left)){attach.offset.right=0;}else{attach.offset.right=attach.offset.left;}}
1611else
1612{if(Object.isUndefined(attach.offset)){attach.offset={top:0,left:0};}
1613if(Object.isUndefined(attach.offset.top)){attach.offset.top=0;}
1614if(Object.isUndefined(attach.offset.left)){attach.offset.left=0;}}
1615if(attach.position=='auto')
1616{Debug.write("Popup: auto-positioning");var screendims=document.viewport.getDimensions();var screenscroll=document.viewport.getScrollOffsets();var toff=$(attach.target).viewportOffset();var wrapSize=$(this.wrapper).getDimensions();var delta=[0,0];if(Element.getStyle($(attach.target),'position')=='absolute')
1617{var parent=attach.target.getOffsetParent();delta=parent.viewportOffset();}
1618if(isRTL)
1619{toff['right']=screendims.width-(toff[0]-delta[0]);}
1620else
1621{toff['left']=toff[0]-delta[0];}
1622toff['top']=toff[1]-delta[1]+screenscroll.top;var start='top';if(isRTL){var end='right';}else{var end='left';}
1623if((toff.top-wrapSize.height-attach.offset.top)<(0+screenscroll.top)){var start='bottom';}
1624if(isRTL)
1625{if((toff.right+wrapSize.width-attach.offset.right)<(screendims.width-screenscroll.left)){var end='left';}}
1626else
1627{if((toff.left+wrapSize.width-attach.offset.left)>(screendims.width-screenscroll.left)){var end='right';}}
1628finalPos=this.position(start+end,{target:$(attach.target),content:$(this.wrapper),offset:attach.offset});if(this.options.stem==true)
1629{finalPos=this.positionStem(start+end,finalPos);}}
1630else
1631{Debug.write("Popup: manual positioning");finalPos=this.position(attach.position,{target:$(attach.target),content:$(this.wrapper),offset:attach.offset});if(this.options.stem==true)
1632{finalPos=this.positionStem(attach.position,finalPos);}}
1633if(!Object.isUndefined(attach.event)){$(attach.target).observe(attach.event,this.show.bindAsEventListener(this));if(attach.event!='click'&&!Object.isUndefined(this.eventPairs[attach.event])){$(attach.target).observe(this.eventPairs[attach.event],this.hide.bindAsEventListener(this));}
1634$(this.wrapper).observe('mouseover',this.wrapperEvent.bindAsEventListener(this));}}}
1635if(isRTL)
1636{Debug.write("Popup: Right: "+finalPos.right+"; Top: "+finalPos.top);$(this.wrapper).setStyle('top: '+finalPos.top+'px; right: '+finalPos.right+'px; position: absolute;');}
1637else
1638{Debug.write("Popup: Left: "+finalPos.left+"; Top: "+finalPos.top);$(this.wrapper).setStyle('top: '+finalPos.top+'px; left: '+finalPos.left+'px; position: absolute;');}},wrapperEvent:function(e)
1639{if(this.timer['hide'])
1640{clearTimeout(this.timer['hide']);this.timer['hide']=null;if(this.options.attach.event&&this.options.attach.event=='mouseover')
1641{if(this._tmpEvent==null){this._tmpEvent=this.hide.bindAsEventListener(this);$(this.wrapper).observe('mouseout',this._tmpEvent);}}}},positionStem:function(pos,finalPos)
1642{var stemSize={height:16,width:31};var wrapStyle={};var stemStyle={};switch(pos.toLowerCase())
1643{case'topleft':wrapStyle={marginBottom:stemSize.height+'px'};if(isRTL)
1644{stemStyle={bottom:-(stemSize.height)+'px',right:'5px'};finalPos.right=finalPos.right-15;}
1645else
1646{stemStyle={bottom:-(stemSize.height)+'px',left:'5px'};finalPos.left=finalPos.left-15;}
1647break;case'topright':wrapStyle={marginBottom:stemSize.height+'px'};if(isRTL)
1648{stemStyle={bottom:-(stemSize.height)+'px',left:'5px'};finalPos.right=finalPos.right+15;}
1649else
1650{stemStyle={bottom:-(stemSize.height)+'px',right:'5px'};finalPos.left=finalPos.left+15;}
1651break;case'bottomleft':wrapStyle={marginTop:stemSize.height+'px'};if(isRTL)
1652{stemStyle={top:-(stemSize.height)+'px',right:'5px'};finalPos.right=finalPos.right-15;}
1653else
1654{stemStyle={top:-(stemSize.height)+'px',left:'5px'};finalPos.left=finalPos.left-15;}
1655break;case'bottomright':wrapStyle={marginTop:stemSize.height+'px'};if(isRTL)
1656{stemStyle={top:-(stemSize.height)+'px',left:'5px'};finalPos.right=finalPos.right+15;}
1657else
1658{stemStyle={top:-(stemSize.height)+'px',right:'5px'};finalPos.left=finalPos.left+15;}
1659break;}
1660$(this.wrapper).setStyle(wrapStyle);$(this.stem).setStyle(stemStyle).setStyle('z-index: 6000').addClassName(pos.toLowerCase());return finalPos;},position:function(pos,v)
1661{finalPos={};v.target.identify();var toff=$(v.target.id).viewportOffset();var tsize=$(v.target.id).getDimensions();var wrapSize=$(v.content).getDimensions();var screenscroll=document.viewport.getScrollOffsets();var offset=v.offset;var delta=[0,0];if(Element.getStyle($(v.target.id),'position')=='absolute')
1662{var parent=$(v.target.id).getOffsetParent();delta=parent.viewportOffset();delta=[0,0];}
1663if(isRTL)
1664{toff['right']=document.viewport.getDimensions().width-(toff[0]-delta[0]);}
1665else
1666{toff['left']=toff[0]-delta[0];}
1667toff['top']=toff['top']-delta[1]+screenscroll.top;switch(pos.toLowerCase())
1668{case'topleft':finalPos.top=(toff.top-wrapSize.height-(tsize.height/2))-offset.top;if(isRTL)
1669{finalPos.right=toff.right+offset.right;}
1670else
1671{finalPos.left=toff.left+offset.left;}
1672break;case'topright':finalPos.top=(toff.top-wrapSize.height-(tsize.height/2))-offset.top;if(isRTL)
1673{finalPos.right=(toff.right-(wrapSize.width-tsize.width))-offset.right;}
1674else
1675{finalPos.left=(toff.left-(wrapSize.width-tsize.width))-offset.left;}
1676break;case'bottomleft':finalPos.top=(toff.top+tsize.height)+offset.top;if(isRTL)
1677{finalPos.right=toff.right+offset.right;}
1678else
1679{finalPos.left=toff.left+offset.left;}
1680break;case'bottomright':finalPos.top=(toff.top+tsize.height)+offset.top;if(isRTL)
1681{finalPos.right=(toff.right-(wrapSize.width-tsize.width))-offset.right;}
1682else
1683{finalPos.left=(toff.left-(wrapSize.width-tsize.width))-offset.left;}
1684break;}
1685return finalPos;},createStem:function()
1686{this.stem=new Element('div',{id:this.id+'_stem'}).update('&nbsp;').addClassName('stem');this.wrapper.insert({top:this.stem});},setUpPane:function()
1687{if(!$('document_modal')){this.createDocumentModal();}
1688this.positionPane();},positionPane:function()
1689{var elem_s=$(this.wrapper).getDimensions();var window_s=document.viewport.getDimensions();var window_offsets=document.viewport.getScrollOffsets();if(ipb.vars['is_touch']){window_s={width:window.innerWidth,height:window.innerHeight};}
1690if(isRTL)
1691{var center={right:((window_s['width']-elem_s['width'])/2),top:(((window_s['height']-elem_s['height'])/2)/2)};if(center.top<10){center.top=10;}
1692$(this.wrapper).setStyle('top: '+center['top']+'px; right: '+center['right']+'px; position: fixed;');}
1693else
1694{var center={left:((window_s['width']-elem_s['width'])/2),top:(((window_s['height']-elem_s['height'])/2)/2)};if(center.top<10){center.top=10;}
1695$(this.wrapper).setStyle('top: '+center['top']+'px; left: '+center['left']+'px; position: fixed;');}},createDocumentModal:function()
1696{var pageLayout=$(document.body).getLayout();var pageSize={width:pageLayout.get('width'),height:pageLayout.get('margin-box-height')};var viewSize=document.viewport.getDimensions();var dims=[];Debug.dir(pageSize);Debug.dir(viewSize);if(viewSize['height']<pageSize['height']){dims['height']=pageSize['height'];}else{dims['height']=viewSize['height'];}
1697if(viewSize['width']<pageSize['width']){dims['width']=pageSize['width'];}else{dims['width']=viewSize['width'];}
1698var modal=new Element('div',{'id':'document_modal'}).addClassName('modal').hide();if(isRTL){modal.setStyle('width: '+dims['width']+'px; height: '+dims['height']+'px; position: fixed; top: 0px; right: 0px; z-index: 10000;');}else{modal.setStyle('width: '+dims['width']+'px; height: '+dims['height']+'px; position: fixed; top: 0px; left: 0px; z-index: 10000;');}
1699$$('body')[0].insert(modal);},getObj:function()
1700{return $(this.wrapper);}});_ticker=window.IPBoard;_ticker.prototype.Ticker=Class.create({initialize:function(root,options,callbacks)
1701{if(!$(root)){return;}
1702this.root=$(root);this.options=Object.extend({duration:4,select:"li"},options||{});this.items=$(root).select(this.options.select);if(!this.items.length){return;}
1703this.items.invoke('hide').first().show();this.timer=this.nextItem.bind(this).delay(this.options.duration);$(this.root).observe('mouseenter',this.pauseTicker.bindAsEventListener(this));$(this.root).observe('mouseleave',this.unpauseTicker.bindAsEventListener(this));},pauseTicker:function(e)
1704{clearTimeout(this.timer);},unpauseTicker:function(e)
1705{this.timer=this.nextItem.bind(this).delay(this.options.duration);},nextItem:function()
1706{var cur=this.items.find(function(elem){return elem.visible();});var next=$(cur).next(this.options.select);if(Object.isUndefined(next)){next=this.items.first();}
1707new Effect.Fade($(cur),{duration:0.4,queue:'end',afterFinish:function(){new Effect.Appear($(next),{duration:0.8,queue:'end'});}});this.timer=this.nextItem.bind(this).delay(this.options.duration);}});function warningPopup(elem,id)
1708{var _url=ipb.vars['base_url']+'&app=members&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=warnings&id='+id;new ipb.Popup('warning'+id,{type:'balloon',stem:true,attach:{target:elem,position:'auto'},hideAtStart:false,ajaxURL:_url,w:'600px',h:800});}
1709ipb=new IPBoard;ipb.global.init();ipb.menus.init();;ipb.lang['action_failed']="Действие не выполнено";ipb.lang['ajax_failure']="Извините, но данное действие не прошло!";ipb.lang['album_full']="У вас недостаточно прав, чтобы загрузить еще элементы в этот альбом";ipb.lang['approve']="Показать";ipb.lang['att_select_files']="Выберите файлы";ipb.lang['available']="&#10004; Доступно!";ipb.lang['bbc_date_cite']="{date}:";ipb.lang['bbc_full_cite']="{author} сказал(а) {date}:";ipb.lang['bbc_name_cite']="{author} сказал(а):";ipb.lang['blog_cat_exists']="Категория уже существует";ipb.lang['blog_disable']="Отключить";ipb.lang['blog_enable']="Включить";ipb.lang['blog_pin']="Закрепить";ipb.lang['blog_publish_now']="Опубликовать";ipb.lang['blog_revert_header']="Вы действительно хотите вернуть заголовок к прежнему виду?";ipb.lang['blog_save_draft']="В черновики";ipb.lang['blog_uncategorized']="Без категории";ipb.lang['blog_unpin']="Открепить";ipb.lang['board_offline']="Сообщество в данный момент отключено";ipb.lang['cannot_readd_friend']="В течение пяти минут вы не можете снова добавить только что удаленного пользователя в друзья.";ipb.lang['cant_delete_folder']="Вы не можете удалить защищенную папку.";ipb.lang['ckcolor__aliceblue']="Светло-голубой";ipb.lang['ckcolor__antique']="Белый антик";ipb.lang['ckcolor__azure']="Лазурный";ipb.lang['ckcolor__black']="Черный";ipb.lang['ckcolor__blue']="Синий";ipb.lang['ckcolor__brown']="Коричневый";ipb.lang['ckcolor__cyan']="Зеленовато-голубой";ipb.lang['ckcolor__darkgray']="Темно-серый";ipb.lang['ckcolor__darkgreen']="Темно-зеленый";ipb.lang['ckcolor__darkorange']="Темно-оранжевый";ipb.lang['ckcolor__dimgray']="Тускло-серый";ipb.lang['ckcolor__dsgray']="Зеленовато-серый";ipb.lang['ckcolor__firebrick']="Кирпичный";ipb.lang['ckcolor__gold']="Золотой";ipb.lang['ckcolor__goldenrod']="Золотисто-березовый";ipb.lang['ckcolor__gray']="Серый";ipb.lang['ckcolor__green']="Зеленый";ipb.lang['ckcolor__honeydew']="Медовый";ipb.lang['ckcolor__indigo']="Индиго";ipb.lang['ckcolor__lavender']="Голубой с красным отливом";ipb.lang['ckcolor__lightblue']="Светло-синий";ipb.lang['ckcolor__lightgray']="Светло-серый";ipb.lang['ckcolor__lightsalmon']="Светлый сомон";ipb.lang['ckcolor__lightyellow']="Светло-желтый";ipb.lang['ckcolor__lime']="Лимонно-зеленый";ipb.lang['ckcolor__maroon']="Темно-бордовый";ipb.lang['ckcolor__medblue']="Ярко-синий";ipb.lang['ckcolor__navy']="Темно-синий";ipb.lang['ckcolor__orange']="Оранжевый";ipb.lang['ckcolor__paleturq']="Бледно-бирюзовый";ipb.lang['ckcolor__plum']="Темно-фиолетовый";ipb.lang['ckcolor__purple']="Пурпурный";ipb.lang['ckcolor__red']="Красный";ipb.lang['ckcolor__reglavender']="Бледно-лиловый";ipb.lang['ckcolor__sadbrown']="Кожано-коричневый";ipb.lang['ckcolor__teal']="Бирюзовый";ipb.lang['ckcolor__turquoise']="Бледно-бирюзовый";ipb.lang['ckcolor__violet']="Фиолетовый";ipb.lang['ckcolor__white']="Белый";ipb.lang['ckcolor__yellow']="Желтый";ipb.lang['ckeditor__about']="О";ipb.lang['ckeditor__aboutscayt']="О проверке орфографии";ipb.lang['ckeditor__about_ck']="О CKEditor";ipb.lang['ckeditor__accesskey']="Ключ доступа";ipb.lang['ckeditor__address']="Адрес";ipb.lang['ckeditor__add_word']="Добавить слово";ipb.lang['ckeditor__advanced']="Расширенные";ipb.lang['ckeditor__advisorytitle']="Название подсказок";ipb.lang['ckeditor__advisorytype']="Тип контента подсказок";ipb.lang['ckeditor__alignleft']="По левому краю";ipb.lang['ckeditor__alignment']="Выравнивание";ipb.lang['ckeditor__alignright']="По правому краю";ipb.lang['ckeditor__alt_text']="Альтернативный текст";ipb.lang['ckeditor__anchor']="Якорь";ipb.lang['ckeditor__anchorlink']="Ссылка на якорь в тексте";ipb.lang['ckeditor__anchorname']="Имя якоря";ipb.lang['ckeditor__anchorprop']="Свойства якоря";ipb.lang['ckeditor__armeniannumb']="Армянская нумерация";ipb.lang['ckeditor__automatic']="Автоматически";ipb.lang['ckeditor__bbcode']="Специальные BB-коды";ipb.lang['ckeditor__bbcodelabel']="BB-код";ipb.lang['ckeditor__bg_color']="Цвет фона";ipb.lang['ckeditor__bidiltr']="Написание текста слева направо";ipb.lang['ckeditor__bidirtl']="Написание текста справа налево";ipb.lang['ckeditor__blockquote']="Блок с цитатой";ipb.lang['ckeditor__block_styles']="Стили блока";ipb.lang['ckeditor__bold']="Полужирный";ipb.lang['ckeditor__border']="Границы";ipb.lang['ckeditor__border_nan']="Толщина границ должна быть целым числом";ipb.lang['ckeditor__bottom']="Нижний край";ipb.lang['ckeditor__browse_server']="Обзор сервера";ipb.lang['ckeditor__bulletlist']="Свойства маркированного списка";ipb.lang['ckeditor__button']="Кнопка";ipb.lang['ckeditor__buttontoimage']="Вы хотите трансформировать выбранную картинку кнопки в просто картинку";ipb.lang['ckeditor__byanchorname']="По имени якоря";ipb.lang['ckeditor__byelementid']="По id элемента";ipb.lang['ckeditor__byemailaddy']="E-mail";ipb.lang['ckeditor__cancel']="Отмена";ipb.lang['ckeditor__center']="Центр";ipb.lang['ckeditor__checkbox']="Флажок";ipb.lang['ckeditor__circle']="Круг";ipb.lang['ckeditor__clean_word']="Текст, который вы хотите вставить скопирован из Word. Вы хотите подчистить его перед вставкой?";ipb.lang['ckeditor__clear']="Очистить";ipb.lang['ckeditor__close']="Закрыть";ipb.lang['ckeditor__codelabel']="Код";ipb.lang['ckeditor__codetypelabel']="Тип кода";ipb.lang['ckeditor__code_css']="CSS";ipb.lang['ckeditor__code_generic']="PHP/Авто";ipb.lang['ckeditor__code_html']="HTML";ipb.lang['ckeditor__code_js']="Javascript";ipb.lang['ckeditor__code_linenum']="Номер первой строки";ipb.lang['ckeditor__code_none']="Нет";ipb.lang['ckeditor__code_sql']="SQL";ipb.lang['ckeditor__code_title']="Код";ipb.lang['ckeditor__code_xml']="XML";ipb.lang['ckeditor__collapsetools']="Свернуть панель";ipb.lang['ckeditor__colors']="Цвета";ipb.lang['ckeditor__color_options']="Опции цветов";ipb.lang['ckeditor__confirmcancel']="Некоторые опции были изменены, вы действительно хотите закрыть окно?";ipb.lang['ckeditor__confirmreload']="Все несохраненные изменения контента будут утеряны. Вы уверены, что хотите открыть новую страницу?";ipb.lang['ckeditor__contenttemps']="Шаблоны контента";ipb.lang['ckeditor__contextmenopt']="Опции контекстного меню";ipb.lang['ckeditor__copy']="Копия";ipb.lang['ckeditor__copyright']="&copy; $1. Все права защищены.";ipb.lang['ckeditor__create']="Создать";ipb.lang['ckeditor__css_classes']="Классы таблиц стилей";ipb.lang['ckeditor__cut']="Вырезать";ipb.lang['ckeditor__decimal']="Десятичные (1, 2, 3 и т.д.)";ipb.lang['ckeditor__decimal_zero']="Десятичные с нулем (01, 02, 03, и т.д.)";ipb.lang['ckeditor__dec_indent']="Уменьшить отступ";ipb.lang['ckeditor__delete']="Удалить";ipb.lang['ckeditor__dictionaries']="Словари";ipb.lang['ckeditor__diction_name']="Имя словаря";ipb.lang['ckeditor__dict_cookie']="Изначально, пользовательский словарь хранится в cookies, которые ограничены в размере. Когда словарь пользователя вырастает до размеров, что его Ð
1709½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ хранить в cookies,  хранение его переносится на наш сервер. Чтобы сохранить ваш словарь на нашем сервере, вам следует указать уникальное название вашего словаря. Если у вас уже был сохраненный словарь, то укажите здесь его название и нажмите кнопку Восстановить.";ipb.lang['ckeditor__dict_name']="Имя словаря не может быть пустым.";ipb.lang['ckeditor__disablescayt']="Отключить проверку орфографии";ipb.lang['ckeditor__disc']="Окружность";ipb.lang['ckeditor__divcontainer']="Создать контейнер Div";ipb.lang['ckeditor__dragtoresize']="Перетащите для изменения размера";ipb.lang['ckeditor__editanchor']="Изменить якорь";ipb.lang['ckeditor__editlink']="Изменить ссылку";ipb.lang['ckeditor__editor']="Визуальный редактор";ipb.lang['ckeditor__edit_div']="Изменить Div";ipb.lang['ckeditor__elementspath']="Путь к элементам";ipb.lang['ckeditor__emailbody']="Тело сообщения";ipb.lang['ckeditor__emaillink']="E-mail";ipb.lang['ckeditor__emailsubject']="Тема сообщения";ipb.lang['ckeditor__emoticons']="Смайлики";ipb.lang['ckeditor__enablescayt']="Включить проверку орфографии";ipb.lang['ckeditor__expandtools']="Развернуть панель";ipb.lang['ckeditor__find']="Найти";ipb.lang['ckeditor__findreplace']="Найти и заменить";ipb.lang['ckeditor__find_what']="Что искать:";ipb.lang['ckeditor__flash']="Flash";ipb.lang['ckeditor__flashanima']="Анимация Flash";ipb.lang['ckeditor__flash_prop']="Свойства Flash";ipb.lang['ckeditor__font']="Шрифт";ipb.lang['ckeditor__font_name']="Имя шрифта";ipb.lang['ckeditor__font_size']="Размер шрифта";ipb.lang['ckeditor__form']="Форма";ipb.lang['ckeditor__formaat']="Формат";ipb.lang['ckeditor__formatted']="Форматированный";ipb.lang['ckeditor__format_styles']="Стили форматирования";ipb.lang['ckeditor__framelink']="<frame>";ipb.lang['ckeditor__gencontent']="Контент";ipb.lang['ckeditor__general']="Основное";ipb.lang['ckeditor__genoption']="Опция";ipb.lang['ckeditor__georgiannumb']="Грузинская нумерация (an, ban, gan, и т.д.)";ipb.lang['ckeditor__heading']="Заглавие";ipb.lang['ckeditor__height']="Высота";ipb.lang['ckeditor__height_nan']="Высота должна быть числовой";ipb.lang['ckeditor__hiddenfield']="Скрытое поле";ipb.lang['ckeditor__highlight']="Подсветка";ipb.lang['ckeditor__hr']="Вставить горизонтальную линию";ipb.lang['ckeditor__hspace']="Горизонтальный отступ";ipb.lang['ckeditor__hspace_nan']="Горизонтальный отступ должен быть целым числом";ipb.lang['ckeditor__id']="ID";ipb.lang['ckeditor__iframe']="iFrame";ipb.lang['ckeditor__iframeborder']="Показывать границы фрейма";ipb.lang['ckeditor__iframeprops']="Свойства iFrame ";ipb.lang['ckeditor__iframescroll']="Включить полосы прокрутки";ipb.lang['ckeditor__iframeurl']="Введите URL iFrame";ipb.lang['ckeditor__ignore']="Пропустить";ipb.lang['ckeditor__ignoreallcaps']="Пропустить все слова большими буквами";ipb.lang['ckeditor__ignoredomains']="Пропустить доменные имена";ipb.lang['ckeditor__ignoremixedc']="Пропустить слова с большими и малыми буквами";ipb.lang['ckeditor__ignorewnumber']="Пропустить слова с цифрами";ipb.lang['ckeditor__ignore_all']="Пропустить все";ipb.lang['ckeditor__image']="Быстрое добавление изображения";ipb.lang['ckeditor__imagebutton']="Кнопка с картинкой";ipb.lang['ckeditor__imagebutton_p']="Свойства кнопки с картинкой";ipb.lang['ckeditor__imageMsg']="Если вы хотите загрузить несколько картинок, воспользуйтесь функцией \"Прикрепить файлы\" внизу расширенной формы комментирования";ipb.lang['ckeditor__imagetobutton']="Вы хотите трансформировать выбранную картинку в кнопку с картинкой?";ipb.lang['ckeditor__image_info']="Инфо";ipb.lang['ckeditor__image_prop']="Быстрое добавление картинки";ipb.lang['ckeditor__image_url']="Введите URL картинки";ipb.lang['ckeditor__inc_indent']="Увеличить отступ";ipb.lang['ckeditor__inlinestyle']="Внедренный стиль";ipb.lang['ckeditor__inline_styles']="Внедренный стили";ipb.lang['ckeditor__insdelbullist']="Вставить/Удалить маркированный список";ipb.lang['ckeditor__insdelnumlist']="Вставить/Удалить цифровой список";ipb.lang['ckeditor__insertsmilie']="Вставить смайлик";ipb.lang['ckeditor__insertspecial']="Вставить специальные символы";ipb.lang['ckeditor__italic']="Курсивный";ipb.lang['ckeditor__justify']="По ширине";ipb.lang['ckeditor__langcode']="Код языка";ipb.lang['ckeditor__languagedir']="Направление языка";ipb.lang['ckeditor__languages']="Языки";ipb.lang['ckeditor__left']="Слева";ipb.lang['ckeditor__licvisitsite']="По вопросам лицензирования обращайтесь на наш сайт:";ipb.lang['ckeditor__link']="Ссылка";ipb.lang['ckeditor__linked_char']="Кодировка сайта, на который ссылка";ipb.lang['ckeditor__linkother']="<other>";ipb.lang['ckeditor__link_info']="Инфо";ipb.lang['ckeditor__link_type']="Тип ссылки";ipb.lang['ckeditor__list_nan']="Начальное число списка должно быть целым числом.";ipb.lang['ckeditor__lock_ratio']="Фиксировать пропорции";ipb.lang['ckeditor__longdescurl']="Описание URL";ipb.lang['ckeditor__loweralpha']="Строчные латинские (a, b, c, d, e, и т.д.)";ipb.lang['ckeditor__lowergreek']="Строчные греческие (альфа, бета, гамма, и т.д.)";ipb.lang['ckeditor__lowerroman']="Строчные римские (i, ii, iii, iv, v, и т.д.)";ipb.lang['ckeditor__ltrlang']="Слева направо (LTR)";ipb.lang['ckeditor__match_case']="Учитывать регистр";ipb.lang['ckeditor__match_cyclic']="По всему тексту";ipb.lang['ckeditor__match_word']="Только слово целиком";ipb.lang['ckeditor__maximize']="Развернуть";ipb.lang['ckeditor__middle']="По середине";ipb.lang['ckeditor__minimize']="Свернуть";ipb.lang['ckeditor__missingimgurl']="Ссылка на изображение ошибочна.";ipb.lang['ckeditor__moresuggs']="Еще варианты";ipb.lang['ckeditor__more_colors']="Еще цвета...";ipb.lang['ckeditor__mymedia']="Мои файлы";ipb.lang['ckeditor__name']="Имя";
1709ipb.lang['ckeditor__nan']="Это значение не является числом.";ipb.lang['ckeditor__newpage']="Новая страница";ipb.lang['ckeditor__noanchorsa']="(В документе нет ни одного якоря)";ipb.lang['ckeditor__nocleanword']="Невозможно очистить вставляемые данные из-за внутренней ошибки системы";ipb.lang['ckeditor__none']="Нет";ipb.lang['ckeditor__nooperalol']="Opera не поддерживается";ipb.lang['ckeditor__normal']="Обычный";ipb.lang['ckeditor__normal_div']="Обычный (DIV)";ipb.lang['ckeditor__notemplates']="(Ни одного шаблона не определено)";ipb.lang['ckeditor__notset']="<не указано>";ipb.lang['ckeditor__numberedlist']="Свойства нумерованного списка";ipb.lang['ckeditor__object_styles']="Стили объектов";ipb.lang['ckeditor__ok']="ОК";ipb.lang['ckeditor__options']="Опции";ipb.lang['ckeditor__para_format']="Формат параграфа";ipb.lang['ckeditor__paste']="Вставить";ipb.lang['ckeditor__paste_area']="Зона для вставки";ipb.lang['ckeditor__paste_box']="Пожалуйста, вставьте текст в нижеуказанное поле, используя клавиатуру (<strong>Ctrl/Cmd+V</strong>) и нажмите кнопку OK";ipb.lang['ckeditor__paste_err1']="Настройки безопасности вашего браузера не разрешают редактору выполнять автоматические операции по вырезанию текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).";ipb.lang['ckeditor__paste_err2']="Настройки безопасности вашего браузера не разрешают редактору выполнять автоматические операции по копированию текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+C).";ipb.lang['ckeditor__paste_err3']="Потому что настройки безопасности вашего браузера не разрешают редактору обращаться к буферу обмена. Вы должны вставить текст снова в это окно.";ipb.lang['ckeditor__paste_ptext']="Вставить только текст";ipb.lang['ckeditor__paste_word']="Вставить из Word";ipb.lang['ckeditor__pb']="Вставить перевод строки для печати";ipb.lang['ckeditor__pba']="Перевод строки";ipb.lang['ckeditor__popupdepend']="Зависимое (Netscape)";ipb.lang['ckeditor__popupfeat']="Параметры всплывающего окна";ipb.lang['ckeditor__popupfullscr']="Полноэкранное (IE)";ipb.lang['ckeditor__popupleftpos']="По левому краю";ipb.lang['ckeditor__popuplink']="<всплывающее окно>";ipb.lang['ckeditor__popuplocation']="Панель адреса";ipb.lang['ckeditor__popupmenubar']="Панель меню";ipb.lang['ckeditor__popupresize']="Изменяемый размер";ipb.lang['ckeditor__popupscroll']="Полосы прокрутки";ipb.lang['ckeditor__popupstatusba']="Строка состояния";ipb.lang['ckeditor__popuptoolbar']="Панель инструментов";ipb.lang['ckeditor__popuptoppos']="Отступ сверху";ipb.lang['ckeditor__popupwinname']="Имя всплывающего окна";ipb.lang['ckeditor__preview']="Предпросмотр";ipb.lang['ckeditor__print']="Печать";ipb.lang['ckeditor__properties']="Свойства";ipb.lang['ckeditor__protocol']="Протокол";ipb.lang['ckeditor__pselectbbcode']="Пожалуйста, выберите";ipb.lang['ckeditor__quotelabel']="Цитата";ipb.lang['ckeditor__radiobutton']="Кнопка выбора";ipb.lang['ckeditor__redo']="Назад";ipb.lang['ckeditor__removeformat']="Удалить форматирование";ipb.lang['ckeditor__remove_div']="Удалить Div";ipb.lang['ckeditor__rename']="Переименовать";ipb.lang['ckeditor__repactconts']="Заменить актуальный контент";ipb.lang['ckeditor__replace']="Заменить";ipb.lang['ckeditor__replace_all']="Заменить все";ipb.lang['ckeditor__replace_cnt']="Заменено %s позиций";ipb.lang['ckeditor__replace_with']="Заменить на:";ipb.lang['ckeditor__reset_size']="Вернуть обычные размеры";ipb.lang['ckeditor__restore']="Восстановить";ipb.lang['ckeditor__right']="Направо";ipb.lang['ckeditor__rtllang']="Справа на лево (RTL))";ipb.lang['ckeditor__save']="Сохранить";ipb.lang['ckeditor__scayt']="Проверка орфографии Ð
1709½Ð°Ð»ÐµÑ‚у при вводе текста";ipb.lang['ckeditor__selectall']="Отметить все";ipb.lang['ckeditor__selectanchor']="Выберите якорь";ipb.lang['ckeditor__selectcolor']="Выберите цвет";ipb.lang['ckeditor__selectedcolor']="Выбранный цвет";ipb.lang['ckeditor__selectfield']="Выберите поле";ipb.lang['ckeditor__selectspecial']="Выберите специальный символ";ipb.lang['ckeditor__server_send']="Отправить на сервер";ipb.lang['ckeditor__show_blocks']="Показать блоки";ipb.lang['ckeditor__size']="Размер";ipb.lang['ckeditor__smiley']="Смайлики";ipb.lang['ckeditor__smileyopts']="Опции смайликов";ipb.lang['ckeditor__speccharopts']="Опции специальных символов";ipb.lang['ckeditor__square']="Квадрат";ipb.lang['ckeditor__start']="Начиная с";ipb.lang['ckeditor__strike']="Зачеркнутый";ipb.lang['ckeditor__style']="Стиль";ipb.lang['ckeditor__styles']="Стили";ipb.lang['ckeditor__subscript']="Индекс";ipb.lang['ckeditor__superscript']="Верхний индекс";ipb.lang['ckeditor__tab_index']="Последовательность перехода";ipb.lang['ckeditor__target']="Цель";ipb.lang['ckeditor__targframename']="Имя цели фрейма";ipb.lang['ckeditor__templateopts']="Опции шаблонов";ipb.lang['ckeditor__templates']="Шаблоны";ipb.lang['ckeditor__textarea']="Текстовая область";ipb.lang['ckeditor__textfield']="Текстовое поле";ipb.lang['ckeditor__text_color']="Цвет текста";ipb.lang['ckeditor__text_notfound']="Указанный текст не найден.";ipb.lang['ckeditor__tnewwindow']="Новое окно (_blank)";ipb.lang['ckeditor__togglelabel']="Переключить вид редактора";ipb.lang['ckeditor__togglescayt']="Переключить проверку орфографии";ipb.lang['ckeditor__toolbar']="Панель инструментов";ipb.lang['ckeditor__top']="По верху";ipb.lang['ckeditor__tparentwindow']="Родительское окно (_parent)";ipb.lang['ckeditor__tsamewindow']="Это же окно (_self)";ipb.lang['ckeditor__ttopwindow']="Главное окно (_top)";ipb.lang['ckeditor__type']="Тип";ipb.lang['ckeditor__typeanchor']="Пожалуйста, введите имя якоря";ipb.lang['ckeditor__type_email']="Пожалуйста, введите e-mail адрес";ipb.lang['ckeditor__type_url']="Пожалуйста, введите URL ссылки";ipb.lang['ckeditor__unavailable']="недоступно";ipb.lang['ckeditor__underline']="Подчеркнутый";ipb.lang['ckeditor__undo']="Отменить";ipb.lang['ckeditor__unknownobj']="Неизвестный объект";ipb.lang['ckeditor__unlink']="Разъединить";ipb.lang['ckeditor__unlock_ratio']="Раскрыть пропорции";ipb.lang['ckeditor__upload']="Загрузить";ipb.lang['ckeditor__upperalpha']="Заглавные латинские (A, B, C, D, E, и т.д.)";ipb.lang['ckeditor__upperroman']="Заглавные римские (I, II, III, IV, V, и т.д.)";ipb.lang['ckeditor__url']="URL";ipb.lang['ckeditor__value']="Значение";ipb.lang['ckeditor__vspace']="Вертикальный отступ";ipb.lang['ckeditor__vspace_nan']="Вертикальный отступ может быть только целым числом.";ipb.lang['ckeditor__watermarkAdd']="Наложить Watermark";ipb.lang['ckeditor__whichtempl']="Пожалуйста выберите шаблон для открытия в редакторе";ipb.lang['ckeditor__width']="Ширина";ipb.lang['ckeditor__width_nan']="Ширина может быть только целым числом.";ipb.lang['ckeditor__xelements']="%1 элемент";ipb.lang['ck_auto_saved']="Последнее автосохранение: #{time}";ipb.lang['ck_restore']="Восстановить содержимое";ipb.lang['ck_saved']="Сохраненное содержимое";ipb.lang['ck_saved_desc']="Пока вы набираете, текстовый редактор автоматически сохраняет содержимое, и если вдруг вы перезагрузите эту страницу, то вы сможете восстановить все, что вы написали.";ipb.lang['ck_saved_title']="О сохраненном содержимом";
1709ipb.lang['ck_view_saved']="Просмотр автосохраняемого содержимого (#{updatedDate})";ipb.lang['clear_markboard']="Вы действительно хотите отметить все прочитанным?";ipb.lang['click_to_attach']="Нажмите, чтобы прикрепить файлы";ipb.lang['close_tpreview']="Закрыть предпросмотр";ipb.lang['comment_requires_approval']="Прежде чем публикуемый комментарий будет показан на форуме, он будет проверен модератором.";ipb.lang['confirm_delete']="Вы действительно хотите удалить эту папку? Будут удалены ВСЕ сообщения, содержащиеся в ней. Данное действие НЕ ОБРАТИМО!";ipb.lang['confirm_empty']="Вы действительно хотите очистить эту папку?";ipb.lang['copy_topic_link']="Прямая ссылка на сообщение";ipb.lang['cpt_approve']="Опубликовать";ipb.lang['cpt_approve_f']="Опубликовать";ipb.lang['cpt_close_f']="Закрыть";ipb.lang['cpt_delete']="Удалить";ipb.lang['cpt_delete_f']="Удалить";ipb.lang['cpt_hide']="Скрыть";ipb.lang['cpt_hide_f']="Скрыть";ipb.lang['cpt_merge']="Объединить";ipb.lang['cpt_merge_f']="Объединить";ipb.lang['cpt_move']="Перенести";ipb.lang['cpt_move_f']="Перенести";ipb.lang['cpt_open_f']="Открыть";ipb.lang['cpt_pin_f']="Поднять";ipb.lang['cpt_split']="Разделить";ipb.lang['cpt_undelete']="Показать";ipb.lang['cpt_unhide_f']="Показать";ipb.lang['cpt_unpin_f']="Опустить";ipb.lang['date_am']="ДП";ipb.lang['date_pm']="ПП";ipb.lang['delete_confirm']="Вы действительно хотите продолжить?";ipb.lang['delete_pm_confirm']="Вы действительно хотите удалить эту переписку?";ipb.lang['delete_pm_many_confirm']="Вы действительно хотите удалить эти переписки?";ipb.lang['delete_post_confirm']="Вы уверены что хотите удалить это сообщение?";ipb.lang['delete_reply_confirm']="Вы действительно хотите удалить этот ответ?";ipb.lang['delete_topic_confirm']="Вы действительно хотите удалить эту тему?";ipb.lang['editor_enter_list']="Введите пункт списка";ipb.lang['editor_prefs_updated']="Опции сохранены. Изменения вступят в силу при следующей загрузке редактора";ipb.lang['email_banned']="&#10007; E-mail адрес запрещен для использования";ipb.lang['email_doesnt_match']="&#10007; Введенные адреса не совпадают";ipb.lang['email_in_use']="&#10007; E-mail адрес уже используется";ipb.lang['emo_show_all']="Показывать все";ipb.lang['enter_unlimited_names']="Введите имена";ipb.lang['enter_x_names']="Введите до [x] имен пользователей";ipb.lang['error']="Ошибка";ipb.lang['error_occured']="Возникла ошибка";ipb.lang['error_security']="Ошибка защиты";ipb.lang['fail_cblock']="Не удалось сохранить изменения внутри блока";ipb.lang['fail_config']="Не удалось сохранить настройки";ipb.lang['folder_emptied']="Папка успешно очищена";ipb.lang['folder_not_found']="Не удалось найти папку";ipb.lang['folder_protected']="Не удалось совершить действие. Папка защищена.";ipb.lang['follow_action_saved']="Ваши настройки сохранены";ipb.lang['follow_no_action']="Вы не выбрали никаких действий";ipb.lang['friend_already']="Пользователь уже ваш друг";ipb.lang['from']="Из";ipb.lang['gallery_rotate_failed']="Возникла проблема при повороте изображения";ipb.lang['gbl_confirm_cancel']="Отмена";ipb.lang['gbl_confirm_desc']="Пожалуйста, подтвердите это действие";ipb.lang['gbl_confirm_ok']="ОК";ipb.lang['gbl_confirm_text']="Подтверждаю";ipb.lang['gbl_months']="Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек";ipb.lang['global_leave_msg']="Оставить сообщение...";ipb.lang['global_status_update']="О чем ты сейчас думаешь?";
1709ipb.lang['go_to_category']="Перейти к категории";ipb.lang['hide']="&times;";ipb.lang['idm_comment_empty']="Комментарий пуст";ipb.lang['idm_invalid_file']="Файл неверный";ipb.lang['idm_msg_email']="Вы не ввели e-mail адрес";ipb.lang['idm_msg_text']="Вы не ввели сообщение";ipb.lang['invalid_chars']="&#10007;  Поле содержит недопустимые символы";ipb.lang['invalid_email']="&#10007; E-mail адрес неправильный";ipb.lang['invalid_folder_name']="Имя директории неверное";ipb.lang['invalid_mime_type']="Вы не можете загружать файлы подобного типа";ipb.lang['is_required']="&#10007; Поле является обязательным";ipb.lang['is_spammer']="Этот пользователь уже отмечен как спамер";ipb.lang['js_rte_erroriespell']="ieSpell не обнаружен. Нажмите OK для перехода на страницу загрузки";ipb.lang['js_rte_errorloadingiespell']="Не удалось загрузить ieSpell. Ошибка: ";ipb.lang['justgo']="Ок";ipb.lang['loading']="Загрузка";ipb.lang['mark_read_forum']="Существует проблема выборка в этом форуме.";ipb.lang['mark_read_topic']="Существует проблема выборки в этой теме.";ipb.lang['max_notes_reached']="Вы исчерпали лимит доступных примечаний для данного изображения.";ipb.lang['member_no_exist']="Пользователь не существует!";ipb.lang['message_sent']="Сообщение отправлено";ipb.lang['messenger_cancel']="Отменить";ipb.lang['messenger_edit']="Изменить";ipb.lang['missing_data']="Неправильные данные";ipb.lang['mq_reply_swap']="Ответить на #{num} цитируемых сообщений";ipb.lang['must_enter_name']="Необходимо ввести имя";ipb.lang['new_lowercase']="новое";ipb.lang['note_confirm_delete']="Вы хотите удалить примечание?";ipb.lang['note_no_permission_a']="Вы не можете добавлять примечания к этому изображению";ipb.lang['note_no_permission_d']="Вы не можете удалять примечания";ipb.lang['note_no_permission_e']="Вы не можете редактировать примечания";ipb.lang['note_save_empty']="Ваше примечание пусто; удалите его, если оно отправлено по ошибке";ipb.lang['not_available']="&#10007; Имя уже занято!";ipb.lang['no_more_topics']="Больше тем нет";ipb.lang['no_permission']="К сожалению вы не можете воспользоваться этой возможностью. Если вы еще не вошли на форум, возможно, сделав это вы сможете воспользоваться ей.";ipb.lang['no_permission_preview']="Извините, но вы не имеете доступа к просмотру этой темы.";ipb.lang['open_tpreview']="Предпросмотр этой темы";ipb.lang['option_is_empty']="Данная настройка тега должна быть заполнена";ipb.lang['out_of_diskspace']="Выделенное дисковое пространство для загрузок исчерпано.";ipb.lang['pass_doesnt_match']="&#10007; Введенные пароли не совпадают";ipb.lang['pass_too_long']="&#10007; Введенный пароль больше 32 символов";ipb.lang['pass_too_short']="&#10007; Введенный пароль менее 3 символов";ipb.lang['pending']="Ожидает";ipb.lang['photo_editor_cropping_still']="Пожалуйста завершите недоделанное, прежде чем нажмете 'Готово'";ipb.lang['photo_editor_enterurl']="Введите url";ipb.lang['poll_not_enough_choices']="Один из вопросов не содержит достаточного количества вариантов выбора, вариантов должно быть не меньше двух!";ipb.lang['poll_no_more_choices']="Вы больше не можете добавлять варианты к вопросу.";ipb.lang['poll_no_more_q']="Вы больше не можете добавлять вопросы к опросу";ipb.lang['poll_questions_missing']="Один или несколько вопросов неверно озаглавлены";ipb.lang['poll_stats']="Вам разрешено добавить еще [q] вопросов с [c] вариантами ответа на вопрос.";ipb.lang['post_empty']="Ваше сообщение пусто";ipb.lang['post_empty_post']="Нельзя отправлять пустое сообщение. Введите какой-либо текст в редакторе.";ipb.lang['post_empty_title']="Вы должны ввести название темы!";ipb.lang['post_empty_username']="Вы должны ввести имя пользователя";ipb.lang['post_hide_reason_default']="Введите причину...";ipb.lang['post_too_short']="Сообщение слишком короткое.";ipb.lang['prof_comment_empty']="Вы должны ввести текст комментария";ipb.lang['prof_comment_mod']="Ваш комментарий был добавлен. Подождите пока владелец профиля, одобрит его, затем он появится в общем списке.";ipb.lang['prof_comment_perm']="У вас не достаточно прав чтобы оставить комментарий в этом профиле";ipb.lang['prof_update_button']="Обновить";ipb.lang['prof_update_default']="О чем ты сейчас думаешь?";ipb.lang['quickpm_enter_subject']="Введите тему";ipb.lang['quickpm_msg_blank']="Введите сообщение";ipb.lang['quote_expand']="<em>Показать цитату</em>";ipb.lang['quote_on']=" ";ipb.lang['quote_said']="сказал(а)";ipb.lang['quote_title']="Цитата";ipb.lang['quote__author']="#name# сказал(а)";ipb.lang['quote__date_author']="#name# сказал(а) #date#:";ipb.lang['reached_max_folders']="Вы достигли лимита на количество папок";ipb.lang['required_data_missing']="Часть необходимых данных отсутствует";ipb.lang['rtg_already']="Вы уже проголосовали за эту запись";ipb.lang['rtg_awesome']="Замечательно!";ipb.lang['rtg_good']="Хорошо";ipb.lang['rtg_nbad']="Неплохо";ipb.lang['rtg_ok']="Средне";ipb.lang['rtg_poor']="Плохо";ipb.lang['rtg_topic_locked']="Тема закрыта";ipb.lang['save_folder']=">";ipb.lang['saving_post']="Сохранение сообщения...";
1709ipb.lang['search_default_value']="Поиск по названию новостройки";ipb.lang['set_as_spammer']="Вы уверены что хотите пометить пользователя как спамера?";ipb.lang['signin_nopassword']="Не введен пароль";ipb.lang['signin_nosigninname']="Не введено имя";ipb.lang['silly_server']="Возникла ошибка при загрузке файла";ipb.lang['spoiler_hide']="Скрыть";ipb.lang['spoiler_show']="Показать";ipb.lang['status_updated']="Ваш статус успешно обновлен";ipb.lang['success']="Успешно";ipb.lang['switch_to_advanced']="Воспользуйтесь нашим новым менеджером для загрузки сразу нескольких файлов (требуется современный браузер)";ipb.lang['too_long']="&#10007; Введенное имя слишком длинное";ipb.lang['too_short']="&#10007; Введенное имя слишком короткое";ipb.lang['topic_polling']="Добавлено #{count} новых ответов. <a href='javascript:void(0);' onclick='#{click}'>Показать мне</a>";ipb.lang['trouble_uploading']="Проблемы с загрузкой?";ipb.lang['unapprove']="Скрыть";ipb.lang['unapproved']="Скрыто";ipb.lang['unhide']="...";ipb.lang['uploading']="Загрузка...";ipb.lang['upload_done']="Готово (загружено [total])";ipb.lang['upload_failed']="Загрузка не удалась. Пожалуйста сообщите об этом администрации форума.";ipb.lang['upload_limit_hit']="Превышен лимит";ipb.lang['upload_no_file']="Вы не выбрали файл для загрузки";ipb.lang['upload_progress']="Загружено [done] из [total]";ipb.lang['upload_queue']="Вы попытались загрузить слишком много файлов. Допустимо одновременно загружать не более ";ipb.lang['upload_skipped']="Загрузка пропущена";ipb.lang['upload_too_big']="Размер файла превышает допустимый для загрузки размер";ipb.lang['usercp_photo_upload']="Вы не выбрали файл для загрузки";ipb.lang['vote_success']="Голос сохранен!";ipb.lang['vote_updated']="Голос обновлен!";ipb.lang['with_selected']="С выбранными ({num})";;IPBoard.prototype.hoverCardRegister={mainStore:$H(),initialize:function(key,options)
1710{var store=$H();if(!ipb.hoverCardRegister.mainStore.get(key))
1711{ipb.hoverCardRegister.mainStore.set(key,options);}
1712$$('._hovertrigger').each(function(elem)
1713{try
1714{_key=$(elem).readAttribute("hovercard-ref");if(key==_key)
1715{$(elem).addClassName('___hover___'+key);store.set('key',key);$(elem).removeClassName('_hovertrigger');$(elem).addClassName('_hoversetup');}}
1716catch(err)
1717{Debug.error(err);}});store.each(function(elem)
1718{new ipb.hoverCard('___hover___'+elem.value,options);});},postAjaxInit:function()
1719{ipb.hoverCardRegister.mainStore.each(function(elem)
1720{ipb.hoverCardRegister.initialize(elem.key,elem.value);});}};IPBoard.prototype.hoverCard=Class.create({initialize:function(className,options)
1721{this.id=className;this.timer={},this.card=false,this.ajaxCache={},this.popupActive={},this.openId=false;this.curEvent=false;this.options=Object.extend({type:'balloon',position:'bottomLeft',w:'500px',openOnClick:false,openOnHover:true,ajaxUrl:false,delay:800,ajaxCacheExpire:0,black:false,getId:false,setIdParam:'id',callback:false},arguments[1]);this.init();},init:function()
1722{this.debugWrite("hoverCard.init()");var _hc=this;document.observe('mousemove',_hc.mMove.bindAsEventListener(_hc));$$('.'+this.id).each(function(elem)
1723{elem.identify();try
1724{Event.stopObserving($(elem.id),'mouseout');Event.stopObserving($(elem.id),'mouseover');$(elem.id).writeAttribute('title','');if($(elem.id).down('a'))
1725{$(elem.id).down('a').writeAttribute('title','');}
1726if($(elem.id).down('img'))
1727{$(elem.id).down('img').writeAttribute('title','');$(elem.id).down('img').writeAttribute('alt','');}}
1728catch(aBall){}
1729$(elem.id).observe('contextmenu',_hc.mContext.bindAsEventListener(_hc,elem.id));$(elem.id).observe('click',_hc.mClick.bindAsEventListener(_hc,elem.id));$(elem.id).observe('mouseover',_hc.mOver.bindAsEventListener(_hc,elem.id));$(elem.id).observe('mouseout',_hc.mOut.bindAsEventListener(_hc,elem.id));});},mMove:function(e)
1730{var _newEvent={};for(var i in e){_newEvent[i]=e[i];}
1731this.curEvent=_newEvent;},mClick:function(e,id)
1732{if(!this.options.openOnClick)
1733{this.close(id);}
1734else
1735{if($(id).tagName.toLowerCase()=='input'&&$(id).type.toLowerCase()=='checkbox')
1736{if($(id).checked!==true)
1737{return true;}}
1738this.show(id);}},mContext:function(e,id)
1739{this.close(id);}
1739,mOver:function(e,id)
1740{Event.stop(e);if(this.overPopUp(id)===true)
1741{return false;}
1742if(this.options.openOnHover!==true)
1743{return false;}
1744this.debugWrite("mover - setting time OVER "+id);if(!Object.isUndefined(this.timer[id+'_out']))
1745{clearTimeout(this.timer[id+'_out']);}
1746this.timer[id+'_over']=setTimeout(this.show.bind(this,id),this.options.delay);},mOut:function(e,id)
1747{Event.stop(e);if(this.overPopUp(id)===true)
1748{return false;}
1749Event.stopObserving($(id),'mouseover');$(id).observe('mouseover',this.mOver.bindAsEventListener(this,id));if(!Object.isUndefined(this.timer[id+'_over']))
1750{clearTimeout(this.timer[id+'_over']);}
1751this.debugWrite("Mout - setting time OUT "+id);this.timer[id+'_out']=setTimeout(this.close.bind(this,id),800);},show:function(id)
1752{var popup='pu__'+this.id+'_popup';if(!Object.isUndefined(this.timer[id+'_out']))
1753{clearTimeout(this.timer[id+'_out']);}
1754if(!Object.isUndefined(this.card)&&this.card!==false)
1755{this.card.kill();this.card=false;}
1756if($(popup))
1757{$(popup).remove();}
1758this.openId=id;var content=false;if(this.options.ajaxUrl)
1759{content="<div class='general_box pad' style='height: 130px; padding-top: 130px; text-align:center'><img src='"+ipb.vars['loading_img']+"' alt='' /></div>";}
1760else
1761{if(Object.isFunction(this.options.callback))
1762{content=this.options.callback(this,id);if(content===false)
1763{return false;}}
1764else
1765{Debug.error("No AJAX or Callback specified. Whaddayagonnado?!");}}
1766this.card=new ipb.Popup('pu__'+this.id,{type:'balloon',initial:content,stem:true,hideAtStart:false,hideClose:true,defer:false,black:this.options.black,attach:{target:$(id),position:this.options.position},w:this.options.w});Event.stopObserving($(id),'mouseout');Event.stopObserving($(id),'contextmenu');Event.stopObserving($(id),'click');$(id).observe('mouseout',this.mOut.bindAsEventListener(this,id));$(id).observe('contextmenu',this.mContext.bindAsEventListener(this,id));$(id).observe('click',this.mClick.bindAsEventListener(this,id));if(this.options.ajaxUrl)
1767{this.ajax(id);}},close:function(id)
1768{if(this.overPopUp(id)===true)
1769{return false;}
1770this.debugWrite("Close: "+id);if(!Object.isUndefined(this.timer[id+'_out']))
1771{this.debugWrite("-- Clearing: "+id+'_out');clearTimeout(this.timer[id+'_out']);}
1772if(!Object.isUndefined(this.timer[id+'_over']))
1773{this.debugWrite("-- Clearing: "+id+'_over');clearTimeout(this.timer[id+'_over']);}
1774if(!Object.isUndefined(this.card)&&this.card!==false&&id==this.openId)
1775{this.card.hide();this.card=false;this.openId=false;}},ajax:function(id)
1776{var now=this.unixtime();var url=this.options.ajaxUrl;var bDims={};var aDims={};var popup='pu__'+this.id+'_popup';bDims['height']=$(popup).getHeight();bDims['top']=parseInt($(popup).style.top);if(!Object.isUndefined(this.ajaxCache[id]))
1777{if(this.options.AjaxCacheExpire)
1778{if(now-parseInt(this.options.AjaxCacheExpire)<this.ajaxCache[id]['time'])
1779{this.debugWrite("Fetching from cache "+id);this.card.update(this.ajaxCache[id]['content']);this.card.ready=true;this._rePos(bDims,popup,this.id);return;}}
1780else
1781{this.debugWrite("Fetching from cache "+id);this.card.update(this.ajaxCache[id]['content']);this.card.ready=true;this._rePos(bDims,popup,this.id);return;}}
1782if(this.options.getId)
1783{var _id=$(id).readAttribute('hovercard-id');url=url+'&'+this.options.setIdParam+'='+_id;}
1784this.debugWrite("Ajax load "+id+" "+url);new Ajax.Request(url,{method:'get',onSuccess:function(t)
1785{if(t.responseText!='error')
1786{if(t.responseText=='nopermission')
1787{alert(ipb.lang['no_permission']);return;}
1788if(t.responseText.match("__session__expired__log__out__"))
1789{this.update('');alert("Your session has expired, please refresh the page and log back in");return false;}
1790this.debugWrite("AJAX done!");this.card.update(t.responseText);this.card.ready=true;this._rePos(bDims,popup,this.id);this.ajaxCache[id]={'content':t.responseText,'time':now};}
1791else
1792{this.debugWrite(t.responseText);return;}}.bind(this)});},_rePos:function(bDims,popup,id)
1793{aDims={};aDims['height']=$(popup).getHeight();aDims['top']=parseInt($(popup).getStyle('top'));if($('pu__'+id+'_stem').className.match(/top/)&&(aDims['height']!=bDims['height']))
1794{var _nt=bDims['top']-(aDims['height']-bDims['height'])-10;$(popup).setStyle({'top':_nt+'px'});}},unixtime:function()
1795{var _time=new Date();return Date.parse(_time)/1000;},overPopUp:function(id)
1796{var myevent=this.curEvent;if(!id){return;}
1797try
1798{if($(Event.findElement(myevent))&&$(Event.findElement(myevent)).descendantOf($('pu__'+this.id+'_popup')))
1799{this.debugWrite("*** Over Pop Up ***");if(this.openId!==false)
1800{this.timer[id+'_out']=setTimeout(this.close.bind(this,id),800);}
1801return true;}}
1802catch(err){}
1803return false;},debugWrite:function(text)
1804{Debug.write(text);}});;var _quickpm=window.IPBoard;_quickpm.prototype.quickpm={popupObj:null,sendingToUser:0,init:function()
1805{Debug.write("Initializing ips.quickpm.js");document.observe("dom:loaded",function(){ipb.quickpm.initEvents();});},initEvents:function()
1806{ipb.delegate.register(".pm_button",ipb.quickpm.launchPMform);},launchPMform:function(e,target)
1807{if(DISABLE_AJAX){return false;}
1808if(e.ctrlKey==true||e.metaKey==true||e.keyCode==91)
1809{return false;}
1810Debug.write("Launching PM form");pmInfo=target.id.match(/pm_([0-9a-z]+)_([0-9]+)/);if(!pmInfo[2]){Debug.error('Could not find member ID in string '+target.id);}
1811if($('pm_popup_popup'))
1812{if(pmInfo[2]==ipb.quickpm.sendingToUser)
1813{try{$('pm_error_'+ipb.quickpm.sendingToUser).hide();}catch(err){}
1814ipb.quickpm.popupObj.show();Event.stop(e);return;}
1815else
1816{ipb.quickpm.popupObj.getObj().remove();ipb.quickpm.sendingToUser=null;ipb.quickpm.sendingToUser=pmInfo[2];}}
1817else
1818{ipb.quickpm.sendingToUser=pmInfo[2];}
1819ipb.quickpm.popupObj=new ipb.Popup('pm_popup',{type:'pane',modal:true,hideAtStart:true,w:'600px'});var popup=ipb.quickpm.popupObj;new Ajax.Request(ipb.vars['base_url']+"&app=members&module=ajax&secure_key="+ipb.vars['secure_hash']+'&section=messenger&do=showQuickForm&toMemberID='+pmInfo[2],{method:'post',evalJSON:'force',onSuccess:function(t)
1820{if(t.responseJSON&&t.responseJSON['error'])
1821{switch(t.responseJSON['error'])
1822{case'noSuchToMember':alert(ipb.lang['member_no_exist']);break;case'cannotUsePMSystem':case'nopermission':alert(ipb.lang['no_permission']);break;default:alert(t.responseJSON['error']);break;}
1823ipb.quickpm.sendingToUser=0;return;}
1824else
1825{popup.update(t.responseText);popup.positionPane();popup.show();if($(popup.getObj()).select('.input_submit')[0]){$(popup.getObj()).select('.input_submit')[0].observe('click',ipb.quickpm.doSend);}
1826if($(popup.getObj()).select('.use_full')[0]){$(popup.getObj()).select('.use_full')[0].observe('click',ipb.quickpm.useFull);}
1827if($(popup.getObj()).select('.cancel')[0]){$(popup.getObj()).select('.cancel')[0].observe('click',ipb.quickpm.cancelForm);}}}});Event.stop(e);},cancelForm:function(e)
1828{$('pm_error_'+ipb.quickpm.sendingToUser).hide();ipb.quickpm.popupObj.hide();Event.stop(e);},useFull:function(e)
1829{Event.stop(e);var form=new Element('form',{'method':'post','action':ipb.vars['base_url']+'&app=members&module=messaging&section=send&do=form&preview=1&_from=quickPM&fromMemberID='+ipb.quickpm.sendingToUser});var post=new Element('textarea',{'name':'Post'});var subject=new Element('input',{'type':'text','value':$F('pm_subject_'+ipb.quickpm.sendingToUser),'name':'msg_title'});var val=$F('pm_textarea_'+ipb.quickpm.sendingToUser).replace(/<script/ig,'&lt; script').replace(/<\/script/ig,'&lt; /script');val=val.replace(/</g,'&lt;').replace(/>/g,'&gt;');$(form).insert(post).insert(subject).setStyle('position: absolute; left: -500px; top: 0');$(post).update(val);$$('body')[0].insert(form);$(form).submit();},doSend:function(e)
1830{Debug.write("Sending");if(!ipb.quickpm.sendingToUser){return;}
1831Event.stop(e);if($F('pm_subject_'+ipb.quickpm.sendingToUser).blank())
1832{ipb.quickpm.showError(ipb.lang['quickpm_enter_subject']);return;}
1833if($F('pm_textarea_'+ipb.quickpm.sendingToUser).blank())
1834{ipb.quickpm.showError(ipb.lang['quickpm_msg_blank']);return;}
1835var popup=ipb.quickpm.popupObj;if($(popup.getObj()).select('.input_submit')[0]){$(popup.getObj()).select('.input_submit')[0].disabled=true;};new Ajax.Request(ipb.vars['base_url']+'&app=members&module=ajax&secure_key='+ipb.vars['secure_hash']+'&section=messenger&do=PMSend&toMemberID='+ipb.quickpm.sendingToUser,{method:'post',parameters:{'Post':$F('pm_textarea_'+ipb.quickpm.sendingToUser).encodeParam(),'std_used':1,'toMemberID':ipb.quickpm.sendingToUser,'subject':$F('pm_subject_'+ipb.quickpm.sendingToUser).encodeParam()},evalJSON:'force',onSuccess:function(t)
1836{if(Object.isUndefined(t.responseJSON)){alert(ipb.lang['action_failed']);}
1837if(t.responseJSON['error'])
1838{popup.hide();ipb.quickpm.sendingToUser=0;
1838Event.stop(e);switch(t.responseJSON['error'])
1839{case'cannotUsePMSystem':case'nopermission':alert(ipb.lang['no_permission']);break;default:alert(t.responseJSON['error']);break;}}
1840else if(t.responseJSON['inlineError'])
1841{ipb.quickpm.showError(t.responseJSON['inlineError']);if($(popup.getObj()).select('.input_submit')[0]){$(popup.getObj()).select('.input_submit')[0].disabled=false;};return;}
1842else if(t.responseJSON['status'])
1843{popup.hide();ipb.quickpm.sendingToUser=0;Event.stop(e);ipb.global.showInlineNotification(ipb.lang['message_sent']);return;}
1844else
1845{Debug.dir(t.responseJSON);}}});},showError:function(msg)
1846{if(!ipb.quickpm.sendingToUser||!$('pm_error_'+ipb.quickpm.sendingToUser)){return;}
1847$('pm_error_'+ipb.quickpm.sendingToUser).select('.message')[0].update(msg);if(!$('pm_error_'+ipb.quickpm.sendingToUser).visible())
1848{new Effect.BlindDown($('pm_error_'+ipb.quickpm.sendingToUser),{duration:0.3});}
1849else
1850{}
1851return;}};ipb.quickpm.init();;var _signin=window.IPBoard;_signin.prototype.signin={init:function()
1852{Debug.write("Initializing ips.signin.js");document.observe("dom:loaded",function(){if($('live_signin')){$('live_signin').hide();$('live_open').observe('click',ipb.signin.toggleLive);$('live_close').observe('click',ipb.signin.toggleLive);}
1853if($('login')){$('login').observe('submit',ipb.signin.validateLogin);}
1854if($('ips_username')){$('ips_username').focus();}});},toggleLive:function(e)
1855{if($('live_signin').visible())
1856{$('live_signin').hide();$('regular_signin').show();}
1857else
1858{$('live_signin').show();$('regular_signin').hide();}
1859Event.stop(e);},validateLogin:function(e)
1860{if(!ipb.signin.isFilled($('ips_username')))
1861{alert(ipb.lang['signin_nosigninname']);Event.stop(e);return;}
1862if(!ipb.signin.isFilled($('ips_password')))
1863{alert(ipb.lang['signin_nopassword']);Event.stop(e);return;}},isFilled:function(obj)
1864{if(!obj.value)
1865{return false;}
1866else
1867{return true;}}};ipb.signin.init();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.