var Prototype={Version:"1.6.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.*Safari/.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"){return true}var div=document.createElement("div");var form=document.createElement("form");var isSupported=false;if(div.__proto__&&(div.__proto__!==form.__proto__)){isSupported=true}div=form=null;return isSupported})()},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x
}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Abstract={};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break}catch(e){}}return returnValue}};var Class=(function(){function subclass(){}function create(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0])){parent=properties.shift()
}function klass(){this.initialize.apply(this,arguments)}Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass)}for(var i=0;i<properties.length;i++){klass.addMethods(properties[i])}if(!klass.prototype.initialize){klass.prototype.initialize=Prototype.emptyFunction}klass.prototype.constructor=klass;
return klass}function addMethods(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=Object.keys(source);if(!Object.keys({toString:true}).length){if(source.toString!=Object.prototype.toString){properties.push("toString")}if(source.valueOf!=Object.prototype.valueOf){properties.push("valueOf")}}for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];
if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super"){var method=value;value=(function(m){return function(){return ancestor[m].apply(this,arguments)}})(property).wrap(method);value.valueOf=method.valueOf.bind(method);value.toString=method.toString.bind(method)}this.prototype[property]=value}return this}return{create:create,Methods:{addMethods:addMethods}}})();(function(){var _toString=Object.prototype.toString;
function extend(destination,source){for(var property in source){destination[property]=source[property]}return destination}function 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}}function toJSON(object){var type=typeof object;switch(type){case"undefined":case"function":case"unknown":return;
case"boolean":return object.toString()}if(object===null){return"null"}if(object.toJSON){return object.toJSON()}if(isElement(object)){return}var results=[];for(var property in object){var value=toJSON(object[property]);if(!isUndefined(value)){results.push(property.toJSON()+": "+value)}}return"{"+results.join(", ")+"}"}function toQueryString(object){return $H(object).toQueryString()}function toHTML(object){return object&&object.toHTML?object.toHTML():String.interpret(object)
}function keys(object){var results=[];for(var property in object){results.push(property)}return results}function values(object){var results=[];for(var property in object){results.push(object[property])}return results}function clone(object){return extend({},object)}function isElement(object){return !!(object&&object.nodeType==1)}function isArray(object){return _toString.call(object)=="[object Array]"
}function isHash(object){return object instanceof Hash}function isFunction(object){return typeof object==="function"}function isString(object){return _toString.call(object)=="[object String]"}function isNumber(object){return _toString.call(object)=="[object Number]"}function isUndefined(object){return typeof object==="undefined"}extend(Object,{extend:extend,inspect:inspect,toJSON:toJSON,toQueryString:toQueryString,toHTML:toHTML,keys:keys,values:values,clone:clone,isElement:isElement,isArray:isArray,isHash:isHash,isFunction:isFunction,isString:isString,isNumber:isNumber,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}function merge(array,args){array=slice.call(array,0);return update(array,args)}function 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}function bind(context){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var __method=this,args=slice.call(arguments,1);return function(){var a=merge(args,arguments);return __method.apply(context,a)}}function 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)}}function 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)}}function delay(timeout){var __method=this,args=slice.call(arguments,1);timeout=timeout*1000;return window.setTimeout(function(){return __method.apply(__method,args)},timeout)}function defer(){var args=update([0.01],arguments);
return this.delay.apply(this,args)}function wrap(wrapper){var __method=this;return function(){var a=update([__method.bind(this)],arguments);return wrapper.apply(this,a)}}function methodize(){if(this._methodized){return this._methodized}var __method=this;return this._methodized=function(){var a=update([this],arguments);return __method.apply(null,a)}}return{argumentNames:argumentNames,bind:bind,bindAsEventListener:bindAsEventListener,curry:curry,delay:delay,defer:defer,wrap:wrap,methodize:methodize}
})());Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+'Z"'};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")
};var PeriodicalExecuter=Class.create({initialize:function(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(){function prepareReplacement(replacement){if(Object.isFunction(replacement)){return replacement
}var template=new Template(replacement);return function(match){return template.evaluate(match)}}function gsub(pattern,replacement){var result="",source=this,match;replacement=prepareReplacement(replacement);if(Object.isString(pattern)){pattern=RegExp.escape(pattern)}if(!(pattern.length||pattern.source)){replacement=replacement("");return replacement+source.split("").join(replacement)+replacement}while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);
result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length)}else{result+=source,source=""}}return result}function sub(pattern,replacement,count){replacement=prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0){return match[0]}return replacement(match)})}function scan(pattern,iterator){this.gsub(pattern,iterator);
return String(this)}function truncate(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?"...":truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this)}function strip(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}function stripTags(){return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi,"")}function stripScripts(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")
}function extractScripts(){var matchAll=new RegExp(Prototype.ScriptFragment,"img");var matchOne=new RegExp(Prototype.ScriptFragment,"im");return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||["",""])[1]})}function evalScripts(){return this.extractScripts().map(function(script){return eval(script)})}function escapeHTML(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")
}function unescapeHTML(){return this.stripTags().replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function toQueryParams(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match){return{}}return match[1].split(separator||"&").inject({},function(hash,pair){if((pair=pair.split("="))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join("="):pair[0];
if(value!=undefined){value=decodeURIComponent(value)}if(key in hash){if(!Object.isArray(hash[key])){hash[key]=[hash[key]]}hash[key].push(value)}else{hash[key]=value}}return hash})}function toArray(){return this.split("")}function succ(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)}function times(count){return count<1?"":new Array(count+1).join(this)}function camelize(){var parts=this.split("-"),len=parts.length;
if(len==1){return parts[0]}var camelized=this.charAt(0)=="-"?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++){camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1)}return camelized}function capitalize(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()}function underscore(){return this.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()
}function dasherize(){return this.replace(/_/g,"-")}function inspect(useDoubleQuotes){var escapedString=this.replace(/[\x00-\x1f\\]/g,function(character){if(character in String.specialChar){return String.specialChar[character]}return"\\u00"+character.charCodeAt().toPaddedString(2,16)});if(useDoubleQuotes){return'"'+escapedString.replace(/"/g,'\\"')+'"'}return"'"+escapedString.replace(/'/g,"\\'")+"'"
}function toJSON(){return this.inspect(true)}function unfilterJSON(filter){return this.replace(filter||Prototype.JSONFilter,"$1")}function isJSON(){var str=this;if(str.blank()){return false}str=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str)}function evalJSON(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")
}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())}function include(pattern){return this.indexOf(pattern)>-1}function startsWith(pattern){return this.indexOf(pattern)===0}function endsWith(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d}function empty(){return this==""}function blank(){return/^\s*$/.test(this)}function interpolate(object,pattern){return new Template(this,pattern).evaluate(object)
}return{gsub:gsub,sub:sub,scan:scan,truncate:truncate,strip:String.prototype.trim?String.prototype.trim:strip,stripTags:stripTags,stripScripts:stripScripts,extractScripts:extractScripts,evalScripts:evalScripts,escapeHTML:escapeHTML,unescapeHTML:unescapeHTML,toQueryParams:toQueryParams,parseQuery:toQueryParams,toArray:toArray,succ:succ,times:times,camelize:camelize,capitalize:capitalize,underscore:underscore,dasherize:dasherize,inspect:inspect,toJSON:toJSON,unfilterJSON:unfilterJSON,isJSON:isJSON,evalJSON:evalJSON,include:include,startsWith:startsWith,endsWith:endsWith,empty:empty,blank:blank,interpolate:interpolate}
})());var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern},evaluate:function(object){if(object&&Object.isFunction(object.toTemplateReplacements)){object=object.toTemplateReplacements()}return 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];var 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)}return before+String.interpret(ctx)
})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable=(function(){function each(iterator,context){var index=0;try{this._each(function(value){iterator.call(context,value,index++)})}catch(e){if(e!=$break){throw e}}return this}function eachSlice(number,iterator,context){var index=-number,slices=[],array=this.toArray();if(number<1){return array}while((index+=number)<array.length){slices.push(array.slice(index,index+number))
}return slices.collect(iterator,context)}function all(iterator,context){iterator=iterator||Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator.call(context,value,index);if(!result){throw $break}});return result}function any(iterator,context){iterator=iterator||Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator.call(context,value,index)){throw $break
}});return result}function collect(iterator,context){iterator=iterator||Prototype.K;var results=[];this.each(function(value,index){results.push(iterator.call(context,value,index))});return results}function detect(iterator,context){var result;this.each(function(value,index){if(iterator.call(context,value,index)){result=value;throw $break}});return result}function findAll(iterator,context){var results=[];
this.each(function(value,index){if(iterator.call(context,value,index)){results.push(value)}});return results}function grep(filter,iterator,context){iterator=iterator||Prototype.K;var results=[];if(Object.isString(filter)){filter=new RegExp(RegExp.escape(filter))}this.each(function(value,index){if(filter.match(value)){results.push(iterator.call(context,value,index))}});return results}function include(object){if(Object.isFunction(this.indexOf)){if(this.indexOf(object)!=-1){return true
}}var found=false;this.each(function(value){if(value==object){found=true;throw $break}});return found}function inGroupsOf(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number){slice.push(fillWith)}return slice})}function inject(memo,iterator,context){this.each(function(value,index){memo=iterator.call(context,memo,value,index)
});return memo}function invoke(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args)})}function max(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index);if(result==null||value>=result){result=value}});return result}function min(iterator,context){iterator=iterator||Prototype.K;
var result;this.each(function(value,index){value=iterator.call(context,value,index);if(result==null||value<result){result=value}});return result}function partition(iterator,context){iterator=iterator||Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator.call(context,value,index)?trues:falses).push(value)});return[trues,falses]}function pluck(property){var results=[];this.each(function(value){results.push(value[property])
});return results}function reject(iterator,context){var results=[];this.each(function(value,index){if(!iterator.call(context,value,index)){results.push(value)}});return results}function sortBy(iterator,context){return this.map(function(value,index){return{value:value,criteria:iterator.call(context,value,index)}}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0}).pluck("value")
}function toArray(){return this.map()}function zip(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last())){iterator=args.pop()}var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index))})}function size(){return this.toArray().length}function inspect(){return"#<Enumerable:"+this.toArray().inspect()+">"}return{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}function $w(string){if(!Object.isString(string)){return[]}string=string.strip();return string?string.split(/\s+/):[]}Array.from=$A;(function(){var arrayProto=Array.prototype,slice=arrayProto.slice,_each=arrayProto.forEach;
function each(iterator){for(var i=0,length=this.length;i<length;i++){iterator(this[i])}}if(!_each){_each=each}function clear(){this.length=0;return this}function first(){return this[0]}function last(){return this[this.length-1]}function compact(){return this.select(function(value){return value!=null})}function flatten(){return this.inject([],function(array,value){if(Object.isArray(value)){return array.concat(value.flatten())
}array.push(value);return array})}function without(){var values=slice.call(arguments,0);return this.select(function(value){return !values.include(value)})}function reverse(inline){return(inline!==false?this:this.toArray())._reverse()}function uniq(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value))){array.push(value)}return array
})}function intersect(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value})})}function clone(){return slice.call(this,0)}function size(){return this.length}function inspect(){return"["+this.map(Object.inspect).join(", ")+"]"}function toJSON(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(!Object.isUndefined(value)){results.push(value)
}});return"["+results.join(", ")+"]"}function indexOf(item,i){i||(i=0);var length=this.length;if(i<0){i=length+i}for(;i<length;i++){if(this[i]===item){return i}}return -1}function lastIndexOf(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1}function concat(){var array=slice.call(this,0),item;for(var i=0,length=arguments.length;
i<length;i++){item=arguments[i];if(Object.isArray(item)&&!("callee" in item)){for(var j=0,arrayLength=item.length;j<arrayLength;j++){array.push(item[j])}}else{array.push(item)}}return array}Object.extend(arrayProto,Enumerable);if(!arrayProto._reverse){arrayProto._reverse=arrayProto.reverse}Object.extend(arrayProto,{_each:_each,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,toJSON:toJSON});
var 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)
}function _each(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair)}}function set(key,value){return this._object[key]=value}function get(key){if(this._object[key]!==Object.prototype[key]){return this._object[key]}}function unset(key){var value=this._object[key];delete this._object[key];return value}function toObject(){return Object.clone(this._object)
}function keys(){return this.pluck("key")}function values(){return this.pluck("value")}function index(value){var match=this.detect(function(pair){return pair.value===value});return match&&match.key}function merge(object){return this.clone().update(object)}function update(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result})}function toQueryPair(key,value){if(Object.isUndefined(value)){return key
}return key+"="+encodeURIComponent(String.interpret(value))}function toQueryString(){return this.inject([],function(results,pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=="object"){if(Object.isArray(values)){return results.concat(values.map(toQueryPair.curry(key)))}}else{results.push(toQueryPair(key,values))}return results}).join("&")}function inspect(){return"#<Hash:{"+this.map(function(pair){return pair.map(Object.inspect).join(": ")
}).join(", ")+"}>"}function toJSON(){return Object.toJSON(this.toObject())}function clone(){return new Hash(this)}return{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:toJSON,clone:clone}})());Hash.from=$H;Object.extend(Number.prototype,(function(){function toColorPart(){return this.toPaddedString(2,16)
}function succ(){return this+1}function times(iterator,context){$R(0,this,true).each(iterator,context);return this}function toPaddedString(length,radix){var string=this.toString(radix||10);return"0".times(length-string.length)+string}function toJSON(){return isFinite(this)?this.toString():"null"}function abs(){return Math.abs(this)}function round(){return Math.round(this)}function ceil(){return Math.ceil(this)
}function floor(){return Math.floor(this)}return{toColorPart:toColorPart,succ:succ,times:times,toPaddedString:toPaddedString,toJSON:toJSON,abs:abs,round:round,ceil:ceil,floor:floor}})());function $R(start,end,exclusive){return new ObjectRange(start,end,exclusive)}var ObjectRange=Class.create(Enumerable,(function(){function initialize(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive
}function _each(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ()}}function include(value){if(value<this.start){return false}if(this.exclusive){return value<this.end}return value<=this.end}return{initialize:initialize,_each:_each,include:include}})());var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")
},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator)},register:function(responder){if(!this.include(responder)){this.responders.push(responder)}},unregister:function(responder){this.responders=this.responders.without(responder)},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json])
}catch(e){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,options||{});
this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else{if(Object.isHash(this.options.parameters)){this.options.parameters=this.options.parameters.toObject()}}}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,options){$super(options);this.transport=Ajax.getTransport();
this.request(url)},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){params._method=this.method;this.method="post"}this.parameters=params;if(params=Object.toQueryString(params)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+params}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){params+="&_="
}}}try{var response=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(response)}Ajax.Responders.dispatch("onCreate",this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?(this.options.postBody||params):null;
this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(e){this.dispatchException(e)}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var headers={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};
if(this.method=="post"){headers["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){headers.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push)){for(var i=0,length=extras.length;
i<length;i+=2){headers[extras[i]]=extras[i+1]}}else{$H(extras).each(function(pair){headers[pair.key]=pair.value})}}for(var name in headers){this.transport.setRequestHeader(name,headers[name])}},success:function(){var status=this.getStatus();return !status||(status>=200&&status<300)},getStatus:function(){try{return this.transport.status||0}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);
if(state=="Complete"){try{this._complete=true;(this.options["on"+response.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(response,response.headerJSON)}catch(e){this.dispatchException(e)}var contentType=response.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()
}}try{(this.options["on"+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch("on"+state,this,response,response.headerJSON)}catch(e){this.dispatchException(e)}if(state=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return !m||(m[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))
},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch("onException",this,exception)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];
Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON()}if(readyState==4){var xml=transport.responseXML;
this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(e){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name)
},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var json=this.getHeader("X-JSON");if(!json){return null}json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(e){this.request.dispatchException(e)}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null
}try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin())}catch(e){this.request.dispatchException(e)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;
options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete)){onComplete(response,json)}}).bind(this);$super(url,options)},updateContent:function(responseText){var receiver=this.container[this.success()?"success":"failure"],options=this.options;if(!options.evalScripts){responseText=responseText.stripScripts()}if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};
insertion[options.insertion]=responseText;receiver.insert(insertion)}else{options.insertion(receiver,responseText)}}else{receiver.update(responseText)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};
this.container=container;this.url=url;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);
this.lastText=response.responseText}this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++){elements.push($(arguments[i]))}return elements}if(Object.isString(element)){element=document.getElementById(element)
}return Element.extend(element)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++){results.push(Element.extend(query.snapshotItem(i)))}return results}}if(!window.Node){var Node={}
}if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})}(function(global){var SETATTRIBUTE_IGNORES_NAME=(function(){var elForm=document.createElement("form");var elInput=document.createElement("input");
var root=document.documentElement;elInput.setAttribute("name","test");elForm.appendChild(elInput);root.appendChild(elForm);var isBuggy=elForm.elements?(typeof elForm.elements.test=="undefined"):null;root.removeChild(elForm);elForm=elInput=null;return isBuggy})();var element=global.Element;global.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;
if(SETATTRIBUTE_IGNORES_NAME&&attributes.name){tagName="<"+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes)}if(!cache[tagName]){cache[tagName]=Element.extend(document.createElement(tagName))}return Element.writeAttribute(cache[tagName].cloneNode(false),attributes)};Object.extend(global.Element,element||{});if(element){global.Element.prototype=element.prototype
}})(this);Element.cache={};Element.idCounter=1;Element.Methods={visible:function(element){return $(element).style.display!="none"},toggle:function(element){element=$(element);Element[Element.visible(element)?"hide":"show"](element);return element},hide:function(element){element=$(element);element.style.display="none";return element},show:function(element){element=$(element);element.style.display="";
return element},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element},update:(function(){var 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"}el=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}})();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
}s=null;return isBuggy})();function update(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){return element.update().insert(content)}content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName==="SCRIPT"&&SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING){element.text=content;return element}if(SELECT_ELEMENT_INNERHTML_BUGGY||TABLE_ELEMENT_INNERHTML_BUGGY){if(tagName in Element._insertionTranslations.tags){while(element.firstChild){element.removeChild(element.firstChild)
}Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)})}else{element.innerHTML=content.stripScripts()}}else{element.innerHTML=content.stripScripts()}content.evalScripts.bind(content).defer();return element}return update})(),replace:function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}else{if(!Object.isElement(content)){content=Object.toHTML(content);
var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts())}}element.parentNode.replaceChild(content,element);return element},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML))){insertions={bottom:insertions}
}var content,insert,tagName,childNodes;for(var position in insertions){content=insertions[position];position=position.toLowerCase();insert=Element._insertionTranslations[position];if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){insert(element,content);continue}content=Object.toHTML(content);tagName=((position=="before"||position=="after")?element.parentNode:element).tagName.toUpperCase();
childNodes=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=="top"||position=="after"){childNodes.reverse()}childNodes.each(insert.curry(element));content.evalScripts.bind(content).defer()}return element},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper)){$(wrapper).writeAttribute(attributes||{})}else{if(Object.isString(wrapper)){wrapper=new Element(wrapper,attributes)
}else{wrapper=new Element("div",wrapper)}}if(element.parentNode){element.parentNode.replaceChild(wrapper,element)}wrapper.appendChild(element);return wrapper},inspect:function(element){element=$(element);var result="<"+element.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||"").toString();if(value){result+=" "+attribute+"="+value.inspect(true)
}});return result+">"},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property]){if(element.nodeType==1){elements.push(Element.extend(element))}}return elements},ancestors:function(element){return Element.recursivelyCollect(element,"parentNode")},descendants:function(element){return Element.select(element,"*")},firstDescendant:function(element){element=$(element).firstChild;
while(element&&element.nodeType!=1){element=element.nextSibling}return $(element)},immediateDescendants:function(element){if(!(element=$(element).firstChild)){return[]}while(element&&element.nodeType!=1){element=element.nextSibling}if(element){return[element].concat($(element).nextSiblings())}return[]},previousSiblings:function(element){return Element.recursivelyCollect(element,"previousSibling")},nextSiblings:function(element){return Element.recursivelyCollect(element,"nextSibling")
},siblings:function(element){element=$(element);return Element.previousSiblings(element).reverse().concat(Element.nextSiblings(element))},match:function(element,selector){if(Object.isString(selector)){selector=new Selector(selector)}return selector.match($(element))},up:function(element,expression,index){element=$(element);if(arguments.length==1){return $(element.parentNode)}var ancestors=Element.ancestors(element);
return Object.isNumber(expression)?ancestors[expression]:Selector.findElement(ancestors,expression,index)},down:function(element,expression,index){element=$(element);if(arguments.length==1){return Element.firstDescendant(element)}return Object.isNumber(expression)?Element.descendants(element)[expression]:Element.select(element,expression)[index||0]},previous:function(element,expression,index){element=$(element);
if(arguments.length==1){return $(Selector.handlers.previousElementSibling(element))}var previousSiblings=Element.previousSiblings(element);return Object.isNumber(expression)?previousSiblings[expression]:Selector.findElement(previousSiblings,expression,index)},next:function(element,expression,index){element=$(element);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(element))}var nextSiblings=Element.nextSiblings(element);
return Object.isNumber(expression)?nextSiblings[expression]:Selector.findElement(nextSiblings,expression,index)},select:function(element){var args=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(element,args)},adjacent:function(element){var args=Array.prototype.slice.call(arguments,1);return Selector.findChildElements(element.parentNode,args).without(element)},identify:function(element){element=$(element);
var id=Element.readAttribute(element,"id");if(id){return id}do{id="anonymous_element_"+Element.idCounter++}while($(id));Element.writeAttribute(element,"id",id);return id},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name]){return t.values[name](element,name)}if(t.names[name]){name=t.names[name]}if(name.include(":")){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value
}}return element.getAttribute(name)},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=="object"){attributes=name}else{attributes[name]=Object.isUndefined(value)?true:value}for(var attr in attributes){name=t.names[attr]||attr;value=attributes[attr];if(t.values[attr]){name=t.values[attr](element,value)}if(value===false||value===null){element.removeAttribute(name)
}else{if(value===true){element.setAttribute(name,name)}else{element.setAttribute(name,value)}}}return element},getHeight:function(element){return Element.getDimensions(element).height},getWidth:function(element){return Element.getDimensions(element).width},classNames:function(element){return new Element.ClassNames(element)},hasClassName:function(element,className){if(!(element=$(element))){return}var elementClassName=element.className;
return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)))},addClassName:function(element,className){if(!(element=$(element))){return}if(!Element.hasClassName(element,className)){element.className+=(element.className?" ":"")+className}return element},removeClassName:function(element,className){if(!(element=$(element))){return}element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)")," ").strip();
return element},toggleClassName:function(element,className){if(!(element=$(element))){return}return Element[Element.hasClassName(element,className)?"removeClassName":"addClassName"](element,className)},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue)){element.removeChild(node)}node=nextNode
}return element},empty:function(element){return $(element).innerHTML.blank()},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);if(element.compareDocumentPosition){return(element.compareDocumentPosition(ancestor)&8)===8}if(ancestor.contains){return ancestor.contains(element)&&ancestor!==element}while(element=element.parentNode){if(element==ancestor){return true}}return false
},scrollTo:function(element){element=$(element);var pos=Element.cumulativeOffset(element);window.scrollTo(pos[0],pos[1]);return element},getStyle:function(element,style){element=$(element);style=style=="float"?"cssFloat":style.camelize();var value=element.style[style];if(!value||value=="auto"){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null}if(style=="opacity"){return value?parseFloat(value):1
}return value=="auto"?null:value},getOpacity:function(element){return $(element).getStyle("opacity")},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=";"+styles;return styles.include("opacity")?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element}for(var property in styles){if(property=="opacity"){element.setOpacity(styles[property])
}else{elementStyle[(property=="float"||property=="cssFloat")?(Object.isUndefined(elementStyle.styleFloat)?"cssFloat":"styleFloat"):property]=styles[property]}}return element},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==="")?"":(value<0.00001)?0:value;return element},getDimensions:function(element){element=$(element);var display=Element.getStyle(element,"display");
if(display!="none"&&display!=null){return{width:element.offsetWidth,height:element.offsetHeight}}var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility="hidden";if(originalPosition!="fixed"){els.position="absolute"}els.display="block";var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;
els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight}},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,"position");if(pos=="static"||!pos){element._madePositioned=true;element.style.position="relative";if(Prototype.Browser.Opera){element.style.top=0;element.style.left=0}}return element},undoPositioned:function(element){element=$(element);
if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right=""}return element},makeClipping:function(element){element=$(element);if(element._overflow){return element}element._overflow=Element.getStyle(element,"overflow")||"auto";if(element._overflow!=="hidden"){element.style.overflow="hidden"}return element
},undoClipping:function(element){element=$(element);if(!element._overflow){return element}element.style.overflow=element._overflow=="auto"?"":element._overflow;element._overflow=null;return element},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent}while(element);return Element._returnOffset(valueL,valueT)
},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName.toUpperCase()=="BODY"){break}var p=Element.getStyle(element,"position");if(p!=="static"){break}}}while(element);return Element._returnOffset(valueL,valueT)},absolutize:function(element){element=$(element);if(Element.getStyle(element,"position")=="absolute"){return element
}var offsets=Element.positionedOffset(element);var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position="absolute";element.style.top=top+"px";
element.style.left=left+"px";element.style.width=width+"px";element.style.height=height+"px";return element},relativize:function(element){element=$(element);if(Element.getStyle(element,"position")=="relative"){return element}element.style.position="relative";var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+"px";
element.style.left=left+"px";element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode}while(element);return Element._returnOffset(valueL,valueT)},getOffsetParent:function(element){if(element.offsetParent){return $(element.offsetParent)
}if(element==document.body){return $(element)}while((element=element.parentNode)&&element!=document.body){if(Element.getStyle(element,"position")!="static"){return $(element)}}return $(document.body)},viewportOffset:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&Element.getStyle(element,"position")=="absolute"){break
}}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||(element.tagName&&(element.tagName.toUpperCase()=="BODY"))){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT)},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});
source=$(source);var p=Element.viewportOffset(source);element=$(element);var delta=[0,0];var parent=null;if(Element.getStyle(element,"position")=="absolute"){parent=Element.getOffsetParent(element);delta=Element.viewportOffset(parent)}if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop}if(options.setLeft){element.style.left=(p[0]-delta[0]+options.offsetLeft)+"px"
}if(options.setTop){element.style.top=(p[1]-delta[1]+options.offsetTop)+"px"}if(options.setWidth){element.style.width=source.offsetWidth+"px"}if(options.setHeight){element.style.height=source.offsetHeight+"px"}return element}};Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};
if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(proceed,element,style){switch(style){case"left":case"top":case"right":case"bottom":if(proceed(element,"position")==="static"){return null}case"height":case"width":if(!Element.visible(element)){return null}var dim=parseInt(proceed(element,style),10);if(dim!==element["offset"+style.capitalize()]){return dim+"px"
}var properties;if(style==="height"){properties=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{properties=["border-left-width","padding-left","padding-right","border-right-width"]}return properties.inject(dim,function(memo,property){var val=proceed(element,property);return val===null?memo:memo-parseInt(val,10)})+"px";default:return proceed(element,style)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(proceed,element,attribute){if(attribute==="title"){return element.title
}return proceed(element,attribute)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(proceed,element){element=$(element);try{element.offsetParent}catch(e){return $(document.body)}var position=element.getStyle("position");if(position!=="static"){return proceed(element)}element.setStyle({position:"relative"});var value=proceed(element);element.setStyle({position:position});
return value});$w("positionedOffset viewportOffset").each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);try{element.offsetParent}catch(e){return Element._returnOffset(0,0)}var position=element.getStyle("position");if(position!=="static"){return proceed(element)}var offsetParent=element.getOffsetParent();if(offsetParent.nodeName!="#document"){if(offsetParent&&offsetParent.getStyle("position")==="fixed"){offsetParent.setStyle({zoom:1})
}element.setStyle({position:"relative"});var value=proceed(element);element.setStyle({position:position});return value}else{return Element._returnOffset(0,0)}})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(proceed,element){try{element.offsetParent}catch(e){return Element._returnOffset(0,0)}return proceed(element)});Element.Methods.getStyle=function(element,style){element=$(element);
if(element.nodeName!="#document"){style=(style=="float"||style=="cssFloat")?"styleFloat":style.camelize();var value=element.style[style];if(!value&&element.currentStyle){value=element.currentStyle[style]}if(style=="opacity"){if((value=(element.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/))){if(value[1]){return parseFloat(value[1])/100}}return 1}if(value=="auto"){if((style=="width"||style=="height")&&(element.getStyle("display")!="none")){return element["offset"+style.capitalize()]+"px"
}return null}return value}return null};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,"")}element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=="normal")){element.style.zoom=1}var filter=element.getStyle("filter"),style=element.style;if(value==1||value===""){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute("filter");
return element}else{if(value<0.00001){value=0}}style.filter=stripAlpha(filter)+"alpha(opacity="+(value*100)+")";return element};Element._attributeTranslations=(function(){var classProp="className";var forProp="for";var el=document.createElement("div");el.setAttribute(classProp,"x");if(el.className!=="x"){el.setAttribute("class","x");if(el.className==="x"){classProp="class"}}el=null;el=document.createElement("label");
el.setAttribute(forProp,"x");if(el.htmlFor!=="x"){el.setAttribute("htmlFor","x");if(el.htmlFor==="x"){forProp="htmlFor"}}el=null;return{read:{names:{"class":classProp,className:classProp,"for":forProp,htmlFor:forProp},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute)},_getAttr2:function(element,attribute){return element.getAttribute(attribute,2)},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);
return node?node.value:""},_getEv:(function(){var el=document.createElement("div");el.onclick=Prototype.emptyFunction;var value=el.getAttribute("onclick");var f;if(String(value).indexOf("{")>-1){f=function(element,attribute){attribute=element.getAttribute(attribute);if(!attribute){return null}attribute=attribute.toString();attribute=attribute.split("{")[1];attribute=attribute.split("}")[0];return attribute.strip()
}}else{if(value===""){f=function(element,attribute){attribute=element.getAttribute(attribute);if(!attribute){return null}return attribute.strip()}}}el=null;return f})(),_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null},style:function(element){return element.style.cssText.toLowerCase()},title:function(element){return element.title}}}}})();Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value
},style:function(element,value){element.style.cssText=value?value:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr});(function(v){Object.extend(v,{href:v._getAttr2,src:v._getAttr2,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv})
})(Element._attributeTranslations.read.values);if(Prototype.BrowserFeatures.ElementExtensions){(function(){function _descendants(element){var nodes=element.getElementsByTagName("*"),results=[];for(var i=0,node;node=nodes[i];i++){if(node.tagName!=="!"){results.push(node)}}return results}Element.Methods.down=function(element,expression,index){element=$(element);if(arguments.length==1){return element.firstDescendant()
}return Object.isNumber(expression)?_descendants(element)[expression]:Element.select(element,expression)[index||0]}})()}}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==="")?"":(value<0.00001)?0:value;return element}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);
element.style.opacity=(value==1||value==="")?"":(value<0.00001)?0:value;if(value==1){if(element.tagName.toUpperCase()=="IMG"&&element.width){element.width++;element.width--}else{try{var n=document.createTextNode(" ");element.appendChild(n);element.removeChild(n)}catch(e){}}}return element};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;
if(element.offsetParent==document.body){if(Element.getStyle(element,"position")=="absolute"){break}}element=element.offsetParent}while(element);return Element._returnOffset(valueL,valueT)}}}}}if("outerHTML" in document.documentElement){Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){element.parentNode.replaceChild(content,element);
return element}content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next();var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling){fragments.each(function(node){parent.insertBefore(node,nextSibling)})}else{fragments.each(function(node){parent.appendChild(node)
})}}else{element.outerHTML=content.stripScripts()}content.evalScripts.bind(content).defer();return element}}Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element("div"),t=Element._insertionTranslations.tags[tagName];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild
})}else{div.innerHTML=html}return $A(div.childNodes)};Element._insertionTranslations={before:function(element,node){element.parentNode.insertBefore(node,element)},top:function(element,node){element.insertBefore(node,element.firstChild)},bottom:function(element,node){element.appendChild(node)},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};
(function(){var tags=Element._insertionTranslations.tags;Object.extend(tags,{THEAD:tags.TBODY,TFOOT:tags.TBODY,TH:tags.TD})})();Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return !!(node&&node.specified)}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);
(function(div){if(!Prototype.BrowserFeatures.ElementExtensions&&div.__proto__){window.HTMLElement={};window.HTMLElement.prototype=div.__proto__;Prototype.BrowserFeatures.ElementExtensions=true}div=null})(document.createElement("div"));Element.extend=(function(){function checkDeficiency(tagName){if(typeof window.Element!="undefined"){var proto=window.Element.prototype;if(proto){var id="_"+(Math.random()+"").slice(2);
var el=document.createElement(tagName);proto[id]="x";var isBuggy=(el[id]!=="x");delete proto[id];el=null;return isBuggy}}return false}function extendElementWith(element,methods){for(var property in methods){var value=methods[property];if(Object.isFunction(value)&&!(property in element)){element[property]=value.methodize()}}}var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY=checkDeficiency("object");if(Prototype.BrowserFeatures.SpecificElementExtensions){if(HTMLOBJECTELEMENT_PROTOTYPE_BUGGY){return function(element){if(element&&typeof element._extendedByPrototype=="undefined"){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()])}}return element}}return Prototype.K}var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||typeof element._extendedByPrototype!="undefined"||element.nodeType!=1||element==window){return element
}var methods=Object.clone(Methods),tagName=element.tagName.toUpperCase();if(ByTag[tagName]){Object.extend(methods,ByTag[tagName])}extendElementWith(element,methods);element._extendedByPrototype=Prototype.emptyFunction;return element},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated)}}});extend.refresh();
return extend})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute){return element.hasAttribute(attribute)}return Element.Methods.Simulated.hasAttribute(element,attribute)};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})
}if(arguments.length==2){var tagName=methods;methods=arguments[1]}if(!tagName){Object.extend(Element.Methods,methods||{})}else{if(Object.isArray(tagName)){tagName.each(extend)}else{extend(tagName)}}function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName]){Element.Methods.ByTag[tagName]={}}Object.extend(Element.Methods.ByTag[tagName],methods)}function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;
for(var property in methods){var value=methods[property];if(!Object.isFunction(value)){continue}if(!onlyIfAbsent||!(property in destination)){destination[property]=value.methodize()}}}function findDOMClass(tagName){var klass;var trans={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};
if(trans[tagName]){klass="HTML"+trans[tagName]+"Element"}if(window[klass]){return window[klass]}klass="HTML"+tagName+"Element";if(window[klass]){return window[klass]}klass="HTML"+tagName.capitalize()+"Element";if(window[klass]){return window[klass]}var element=document.createElement(tagName);var proto=element.__proto__||element.constructor.prototype;element=null;return proto}var elementPrototype=window.HTMLElement?HTMLElement.prototype:Element.prototype;
if(F.ElementExtensions){copy(Element.Methods,elementPrototype);copy(Element.Methods.Simulated,elementPrototype,true)}if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass)){continue}copy(T[tag],klass.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}
};document.viewport={getDimensions:function(){return{width:this.getWidth(),height:this.getHeight()}},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};(function(viewport){var B=Prototype.Browser,doc=document,element,property={};function getRootElement(){if(B.WebKit&&!doc.evaluate){return document
}if(B.Opera&&window.parseFloat(window.opera.version())<9.5){return document.body}return document.documentElement}function define(D){if(!element){element=getRootElement()}property[D]="client"+D;viewport["get"+D]=function(){return element[property[D]]};return viewport["get"+D]()}viewport.getWidth=define.curry("Width");viewport.getHeight=define.curry("Height")})(document.viewport);Element.Storage={UID:1};
Element.addMethods({getStorage:function(element){if(!(element=$(element))){return}var uid;if(element===window){uid=0}else{if(typeof element._prototypeUID==="undefined"){element._prototypeUID=[Element.Storage.UID++]}uid=element._prototypeUID[0]}if(!Element.Storage[uid]){Element.Storage[uid]=$H()}return Element.Storage[uid]},store:function(element,key,value){if(!(element=$(element))){return}if(arguments.length===2){Element.getStorage(element).update(key)
}else{Element.getStorage(element).set(key,value)}return element},retrieve:function(element,key,defaultValue){if(!(element=$(element))){return}var hash=Element.getStorage(element),value=hash.get(key);if(Object.isUndefined(value)){hash.set(key,defaultValue);value=defaultValue}return value},clone:function(element,deep){if(!(element=$(element))){return}var clone=element.cloneNode(deep);clone._prototypeUID=void 0;
if(deep){var descendants=Element.select(clone,"*"),i=descendants.length;while(i--){descendants[i]._prototypeUID=void 0}}return Element.extend(clone)}});var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI"}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher()}else{this.mode="normal";
this.compileMatcher()}}},shouldUseXPath:(function(){var IS_DESCENDANT_SELECTOR_BUGGY=(function(){var isBuggy=false;if(document.evaluate&&window.XPathResult){var el=document.createElement("div");el.innerHTML="<ul><li></li></ul><div><ul><li></li></ul></div>";var xpath=".//*[local-name()='ul' or local-name()='UL']//*[local-name()='li' or local-name()='LI']";var result=document.evaluate(xpath,el,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
isBuggy=(result.snapshotLength!==2);el=null}return isBuggy})();return function(){if(!Prototype.BrowserFeatures.XPath){return false}var e=this.expression;if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(e)){return false}if(IS_DESCENDANT_SELECTOR_BUGGY){return false}return true}})(),shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false
}if(Selector.CASE_INSENSITIVE_CLASS_NAMES){return false}if(!Selector._div){Selector._div=new Element("div")}try{Selector._div.querySelector(this.expression)}catch(e){return false}return true},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m,len=ps.length,name;if(Selector._cache[e]){this.matcher=Selector._cache[e];return}this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];
while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){this.matcher.push(Object.isFunction(c[name])?c[name](m):new Template(c[name]).evaluate(m));e=e.replace(m[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m,len=ps.length,name;
if(Selector._cache[e]){this.xpath=Selector._cache[e];return}this.matcher=[".//*"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){name=ps[i].name;if(m=e.match(ps[i].re)){this.matcher.push(Object.isFunction(x[name])?x[name](m):new Template(x[name]).evaluate(m));e=e.replace(m[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(root){root=root||document;
var e=this.expression,results;switch(this.mode){case"selectorsAPI":if(root!==document){var oldId=root.id,id=$(root).identify();id=id.replace(/([\.:])/g,"\\$1");e="#"+id+" "+e}results=$A(root.querySelectorAll(e)).map(Element.extend);root.id=oldId;return results;case"xpath":return document._getElementsByXPath(this.xpath,root);default:return this.matcher(root)}},match:function(element){this.tokens=[];
var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m,len=ps.length,name;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){p=ps[i].re;name=ps[i].name;if(m=e.match(p)){if(as[name]){this.tokens.push([name,Object.clone(m)]);e=e.replace(m[0],"")}else{return this.findElements(document).include(element)}}}}var match=true,name,matches;for(var i=0,token;token=this.tokens[i];
i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break}}return match},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});if(Prototype.BrowserFeatures.SelectorsAPI&&document.compatMode==="BackCompat"){Selector.CASE_INSENSITIVE_CLASS_NAMES=(function(){var div=document.createElement("div"),span=document.createElement("span");
div.id="prototype_test_id";span.className="Test";div.appendChild(span);var isIgnored=(div.querySelector("#prototype_test_id .test")!==null);div=span=null;return isIgnored})()}Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(m){if(m[1]=="*"){return""}return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']"
},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m)},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m)},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h){return""}if(Object.isFunction(h)){return h(m)}return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m)
},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0)]",checked:"[@checked]",disabled:"[(@disabled) and (@type!='hidden')]",enabled:"[not(@disabled) and (@type!='hidden')]",not:function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v,len=p.length,name;
var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i=0;i<len;i++){name=p[i].name;if(m=e.match(p[i].re)){v=Object.isFunction(x[name])?x[name](m):new Template(x[name]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],"");break}}}return"[not("+exclusion.join(" and ")+")]"},"nth-child":function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m)
},"nth-last-child":function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m)},"nth-of-type":function(m){return Selector.xpath.pseudos.nth("position() ",m)},"nth-last-of-type":function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m)},"first-of-type":function(m){m[6]="1";return Selector.xpath.pseudos["nth-of-type"](m)},"last-of-type":function(m){m[6]="1";
return Selector.xpath.pseudos["nth-last-of-type"](m)},"only-of-type":function(m){var p=Selector.xpath.pseudos;return p["first-of-type"](m)+p["last-of-type"](m)},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=="even"){formula="2n+0"}if(formula=="odd"){formula="2n+1"}if(mm=formula.match(/^(\d+)$/)){return"["+fragment+"= "+mm[1]+"]"}if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-"){mm[1]=-1
}var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(m){m[3]=(m[5]||m[6]);
return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m)},pseudo:function(m){if(m[6]){m[6]=m[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:[{name:"laterSibling",re:/^\s*~\s*/},{name:"child",re:/^\s*>\s*/},{name:"adjacent",re:/^\s*\+\s*/},{name:"descendant",re:/^\s/},{name:"tagName",re:/^\s*(\*|[\w\-]+)(\b|$)?/},{name:"id",re:/^#([\w\-\*]+)(\b|$)/},{name:"className",re:/^\.([\w\-\*]+)(\b|$)/},{name:"pseudo",re:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/},{name:"attrPresence",re:/^\[((?:[\w-]+:)?[\w-]+)\]/},{name:"attr",re:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/}],assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase()
},className:function(element,matches){return Element.hasClassName(element,matches[1])},id:function(element,matches){return element.id===matches[1]},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1])},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return nodeValue&&Selector.operators[matches[2]](nodeValue,matches[5]||matches[6])
}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++){a.push(node)}return a},mark:function(nodes){var _true=Prototype.emptyFunction;for(var i=0,node;node=nodes[i];i++){node._countedByPrototype=_true}return nodes},unmark:(function(){var PROPERTIES_ATTRIBUTES_MAP=(function(){var el=document.createElement("div"),isBuggy=false,propName="_countedByPrototype",value="x";el[propName]=value;isBuggy=(el.getAttribute(propName)===value);
el=null;return isBuggy})();return PROPERTIES_ATTRIBUTES_MAP?function(nodes){for(var i=0,node;node=nodes[i];i++){node.removeAttribute("_countedByPrototype")}return nodes}:function(nodes){for(var i=0,node;node=nodes[i];i++){node._countedByPrototype=void 0}return nodes}})(),index:function(parentNode,reverse,ofType){parentNode._countedByPrototype=Prototype.emptyFunction;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;
i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._countedByPrototype)){node.nodeIndex=j++}}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++){if(node.nodeType==1&&(!ofType||node._countedByPrototype)){node.nodeIndex=j++}}}},unique:function(nodes){if(nodes.length==0){return nodes}var results=[],n;for(var i=0,l=nodes.length;i<l;i++){if(typeof(n=nodes[i])._countedByPrototype=="undefined"){n._countedByPrototype=Prototype.emptyFunction;
results.push(Element.extend(n))}}return Selector.handlers.unmark(results)},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){h.concat(results,node.getElementsByTagName("*"))}return results},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,child;child=node.childNodes[j];j++){if(child.nodeType==1&&child.tagName!="!"){results.push(child)
}}}return results},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next){results.push(next)}}return results},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){h.concat(results,Element.nextSiblings(node))}return results},nextElementSibling:function(node){while(node=node.nextSibling){if(node.nodeType==1){return node
}}return null},previousElementSibling:function(node){while(node=node.previousSibling){if(node.nodeType==1){return node}}return null},tagName:function(nodes,root,tagName,combinator){var uTagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++){h.concat(results,node.getElementsByTagName(tagName))}return results
}else{nodes=this[combinator](nodes)}if(tagName=="*"){return nodes}}for(var i=0,node;node=nodes[i];i++){if(node.tagName.toUpperCase()===uTagName){results.push(node)}}return results}else{return root.getElementsByTagName(tagName)}},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(root==document){if(!targetNode){return[]}if(!nodes){return[targetNode]}}else{if(!root.sourceIndex||root.sourceIndex<1){var nodes=root.getElementsByTagName("*");
for(var j=0,node;node=nodes[j];j++){if(node.id===id){return[node]}}}}if(nodes){if(combinator){if(combinator=="child"){for(var i=0,node;node=nodes[i];i++){if(targetNode.parentNode==node){return[targetNode]}}}else{if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++){if(Element.descendantOf(targetNode,node)){return[targetNode]}}}else{if(combinator=="adjacent"){for(var i=0,node;node=nodes[i];
i++){if(Selector.handlers.previousElementSibling(targetNode)==node){return[targetNode]}}}else{nodes=h[combinator](nodes)}}}}for(var i=0,node;node=nodes[i];i++){if(node==targetNode){return[targetNode]}}return[]}return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[]},className:function(nodes,root,className,combinator){if(nodes&&combinator){nodes=this[combinator](nodes)}return Selector.handlers.byClassName(nodes,root,className)
},byClassName:function(nodes,root,className){if(!nodes){nodes=Selector.handlers.descendant([root])}var needle=" "+className+" ";for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0){continue}if(nodeClassName==className||(" "+nodeClassName+" ").include(needle)){results.push(node)}}return results},attrPresence:function(nodes,root,attr,combinator){if(!nodes){nodes=root.getElementsByTagName("*")
}if(nodes&&combinator){nodes=this[combinator](nodes)}var results=[];for(var i=0,node;node=nodes[i];i++){if(Element.hasAttribute(node,attr)){results.push(node)}}return results},attr:function(nodes,root,attr,value,operator,combinator){if(!nodes){nodes=root.getElementsByTagName("*")}if(nodes&&combinator){nodes=this[combinator](nodes)}var handler=Selector.operators[operator],results=[];for(var i=0,node;
node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null){continue}if(handler(nodeValue,value)){results.push(node)}}return results},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator){nodes=this[combinator](nodes)}if(!nodes){nodes=root.getElementsByTagName("*")}return Selector.pseudos[name](nodes,value,root)}},pseudos:{"first-child":function(nodes,value,root){for(var i=0,results=[],node;
node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node)){continue}results.push(node)}return results},"last-child":function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node)){continue}results.push(node)}return results},"only-child":function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){if(!h.previousElementSibling(node)&&!h.nextElementSibling(node)){results.push(node)
}}return results},"nth-child":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root)},"nth-last-child":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true)},"nth-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true)},"nth-last-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true)
},"first-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true)},"last-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true)},"only-of-type":function(nodes,formula,root){var p=Selector.pseudos;return p["last-of-type"](p["first-of-type"](nodes,formula,root),formula,root)},getIndices:function(a,b,total){if(a==0){return b>0?[b]:[]
}return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0){memo.push(i)}return memo})},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0){return[]}if(formula=="even"){formula="2n+0"}if(formula=="odd"){formula="2n+1"}var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._countedByPrototype){h.index(node.parentNode,reverse,ofType);
indexed.push(node.parentNode)}}if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++){if(node.nodeIndex==formula){results.push(node)}}}else{if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-"){m[1]=-1}var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;
j<l;j++){if(node.nodeIndex==indices[j]){results.push(node)}}}}}h.unmark(nodes);h.unmark(indexed);return results},empty:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=="!"||node.firstChild){continue}results.push(node)}return results},not:function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);
h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++){if(!node._countedByPrototype){results.push(node)}}h.unmark(exclusions);return results},enabled:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(!node.disabled&&(!node.type||node.type!=="hidden")){results.push(node)}}return results},disabled:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];
i++){if(node.disabled){results.push(node)}}return results},checked:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.checked){results.push(node)}}return results}},operators:{"=":function(nv,v){return nv==v},"!=":function(nv,v){return nv!=v},"^=":function(nv,v){return nv==v||nv&&nv.startsWith(v)},"$=":function(nv,v){return nv==v||nv&&nv.endsWith(v)},"*=":function(nv,v){return nv==v||nv&&nv.include(v)
},"~=":function(nv,v){return(" "+nv+" ").include(" "+v+" ")},"|=":function(nv,v){return("-"+(nv||"").toUpperCase()+"-").include("-"+(v||"").toUpperCase()+"-")}},split:function(expression){var expressions=[];expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip())});return expressions},matchElements:function(elements,expression){var matches=$$(expression),h=Selector.handlers;
h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++){if(element._countedByPrototype){results.push(element)}}h.unmark(matches);return results},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false}return Selector.matchElements(elements,expression||"*")[index||0]},findChildElements:function(element,expressions){expressions=Selector.split(expressions.join(","));
var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element))}return(l>1)?h.unique(results):results}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++){if(node.tagName!=="!"){a.push(node)}}return a}})}function $$(){return Selector.findChildElements(document,$A(arguments))
}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;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();
if(value!=null&&element.type!="file"&&(element.type!="submit"||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){if(!Object.isArray(result[key])){result[key]=[result[key]]}result[key].push(value)}else{result[key]=value}}}return result});return options.hash?data:Object.toQueryString(data)}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options)
},getElements:function(form){var elements=$(form).getElementsByTagName("*"),element,arr=[],serializers=Form.Element.Serializers;for(var i=0;element=elements[i];i++){arr.push(element)}return arr.inject([],function(elements,child){if(serializers[child.tagName.toLowerCase()]){elements.push(Element.extend(child))}return elements})},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName("input");
if(!typeName&&!name){return $A(inputs).map(Element.extend)}for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name)){continue}matchingInputs.push(Element.extend(input))}return matchingInputs},disable:function(form){form=$(form);Form.getElements(form).invoke("disable");return form},enable:function(form){form=$(form);
Form.getElements(form).invoke("enable");return form},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return"hidden"!=element.type&&!element.disabled});var firstByIndex=elements.findAll(function(element){return element.hasAttribute("tabIndex")&&element.tabIndex>=0}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return/^(?:input|select|textarea)$/i.test(element.tagName)
})},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute("action")||"";if(action.blank()){action=window.location.href}options.parameters=form.serialize(true);if(params){if(Object.isString(params)){params=params.toQueryParams()
}Object.extend(options.parameters,params)}if(form.hasAttribute("method")&&!options.method){options.method=form.method}return new Ajax.Request(action,options)}};Form.Element={focus:function(element){$(element).focus();return element},select:function(element){$(element).select();return element}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();
if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair)}}return""},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element)},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element},clear:function(element){$(element).value="";
return element},present:function(element){return $(element).value!=""},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!="input"||!(/^(?:button|reset|submit)$/i.test(element.type)))){element.select()}}catch(e){}return element},disable:function(element){element=$(element);element.disabled=true;return element},enable:function(element){element=$(element);
element.disabled=false;return element}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value)}},inputSelector:function(element,value){if(Object.isUndefined(value)){return element.checked?element.value:null
}else{element.checked=!!value}},textarea:function(element,value){if(Object.isUndefined(value)){return element.value}else{element.value=value}},select:function(element,value){if(Object.isUndefined(value)){return this[element.type=="select-one"?"selectOne":"selectMany"](element)}else{var opt,currentValue,single=!Object.isArray(value);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];
currentValue=this.optionValue(opt);if(single){if(currentValue==value){opt.selected=true;return}}else{opt.selected=value.include(currentValue)}}}},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null},selectMany:function(element){var values,length=element.length;if(!length){return null}for(var i=0,values=[];i<length;i++){var opt=element.options[i];
if(opt.selected){values.push(this.optionValue(opt))}}return values},optionValue:function(opt){return Element.extend(opt).hasAttribute("value")?opt.value:opt.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue()},execute:function(){var value=this.getValue();
if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)
}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value
}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case"checkbox":case"radio":Event.observe(element,"click",this.onElementEvent.bind(this));break;default:Event.observe(element,"change",this.onElementEvent.bind(this));break}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)
}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});(function(){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,cache:{}};var docEl=document.documentElement;var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED="onmouseenter" in docEl&&"onmouseleave" in docEl;
var _isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};_isButton=function(event,code){return event.button===buttonMap[code]}}else{if(Prototype.Browser.WebKit){_isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false}}}else{_isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code)
}}}function isLeftClick(event){return _isButton(event,0)}function isMiddleClick(event){return _isButton(event,1)}function isRightClick(event){return _isButton(event,2)}function 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")){node=currentTarget
}}if(node.nodeType==Node.TEXT_NODE){node=node.parentNode}return Element.extend(node)}function findElement(event,expression){var element=Event.element(event);if(!expression){return element}var elements=[element].concat(element.ancestors());return Selector.findElement(elements,expression,0)}function pointer(event){return{x:pointerX(event),y:pointerY(event)}}function pointerX(event){var docElement=document.documentElement,body=document.body||{scrollLeft:0};
return event.pageX||(event.clientX+(docElement.scrollLeft||body.scrollLeft)-(docElement.clientLeft||0))}function pointerY(event){var docElement=document.documentElement,body=document.body||{scrollTop:0};return event.pageY||(event.clientY+(docElement.scrollTop||body.scrollTop)-(docElement.clientTop||0))}function stop(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true
}Event.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(Prototype.Browser.IE){function _relatedTarget(event){var element;switch(event.type){case"mouseover":element=event.fromElement;
break;case"mouseout":element=event.toElement;break;default:return null}return Element.extend(element)}Object.extend(methods,{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(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});return Object.extend(event,methods)}}else{Event.prototype=window.Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,methods);Event.extend=Prototype.K}function _createResponder(element,eventName,handler){var registry=Element.retrieve(element,"prototype_event_registry");
if(Object.isUndefined(registry)){CACHE.push(element);registry=Element.retrieve(element,"prototype_event_registry",$H())}var respondersForEvent=registry.get(eventName);if(Object.isUndefined(respondersForEvent)){respondersForEvent=[];registry.set(eventName,respondersForEvent)}if(respondersForEvent.pluck("handler").include(handler)){return false}var responder;if(eventName.include(":")){responder=function(event){if(Object.isUndefined(event.eventName)){return false
}if(event.eventName!==eventName){return false}Event.extend(event,element);handler.call(element,event)}}else{if(!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED&&(eventName==="mouseenter"||eventName==="mouseleave")){if(eventName==="mouseenter"||eventName==="mouseleave"){responder=function(event){Event.extend(event,element);var parent=event.relatedTarget;while(parent&&parent!==element){try{parent=parent.parentNode
}catch(e){parent=element}}if(parent===element){return}handler.call(element,event)}}}else{responder=function(event){Event.extend(event,element);handler.call(element,event)}}}responder.handler=handler;respondersForEvent.push(responder);return responder}function _destroyCache(){for(var i=0,length=CACHE.length;i<length;i++){Event.stopObserving(CACHE[i]);CACHE[i]=null}}var CACHE=[];if(Prototype.Browser.IE){window.attachEvent("onunload",_destroyCache)
}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}var _getDOMEventName=Prototype.K;if(!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED){_getDOMEventName=function(eventName){var translations={mouseenter:"mouseover",mouseleave:"mouseout"};return eventName in translations?translations[eventName]:eventName}}function observe(element,eventName,handler){element=$(element);
var responder=_createResponder(element,eventName,handler);if(!responder){return element}if(eventName.include(":")){if(element.addEventListener){element.addEventListener("dataavailable",responder,false)}else{element.attachEvent("ondataavailable",responder);element.attachEvent("onfilterchange",responder)}}else{var actualEventName=_getDOMEventName(eventName);if(element.addEventListener){element.addEventListener(actualEventName,responder,false)
}else{element.attachEvent("on"+actualEventName,responder)}}return element}function stopObserving(element,eventName,handler){element=$(element);var registry=Element.retrieve(element,"prototype_event_registry");if(Object.isUndefined(registry)){return element}if(eventName&&!handler){var responders=registry.get(eventName);if(Object.isUndefined(responders)){return element}responders.each(function(r){Element.stopObserving(element,eventName,r.handler)
});return element}else{if(!eventName){registry.each(function(pair){var eventName=pair.key,responders=pair.value;responders.each(function(r){Element.stopObserving(element,eventName,r.handler)})});return element}}var responders=registry.get(eventName);if(!responders){return}var responder=responders.find(function(r){return r.handler===handler});if(!responder){return element}var actualEventName=_getDOMEventName(eventName);
if(eventName.include(":")){if(element.removeEventListener){element.removeEventListener("dataavailable",responder,false)}else{element.detachEvent("ondataavailable",responder);element.detachEvent("onfilterchange",responder)}}else{if(element.removeEventListener){element.removeEventListener(actualEventName,responder,false)}else{element.detachEvent("on"+actualEventName,responder)}}registry.set(eventName,responders.without(responder));
return element}function fire(element,eventName,memo,bubble){element=$(element);if(Object.isUndefined(bubble)){bubble=true}if(element==document&&document.createEvent&&!element.dispatchEvent){element=document.documentElement}var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true)}else{event=document.createEventObject();event.eventType=bubble?"ondataavailable":"onfilterchange"
}event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event)}else{element.fireEvent(event.eventType,event)}return Event.extend(event)}Object.extend(Event,Event.Methods);Object.extend(Event,{fire:fire,observe:observe,stopObserving:stopObserving});Element.addMethods({fire:fire,observe:observe,stopObserving:stopObserving});Object.extend(document,{fire:fire.methodize(),observe:observe.methodize(),stopObserving:stopObserving.methodize(),loaded:false});
if(window.Event){Object.extend(window.Event,Event)}else{window.Event=Event}})();(function(){var timer;function fireContentLoadedEvent(){if(document.loaded){return}if(timer){window.clearTimeout(timer)}document.loaded=true;document.fire("dom:loaded")}function checkReadyState(){if(document.readyState==="complete"){document.stopObserving("readystatechange",checkReadyState);fireContentLoadedEvent()}}function pollDoScroll(){try{document.documentElement.doScroll("left")
}catch(e){timer=pollDoScroll.defer();return}fireContentLoadedEvent()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false)}else{document.observe("readystatechange",checkReadyState);if(window==top){timer=pollDoScroll.defer()}}Event.observe(window,"load",fireContentLoadedEvent)})();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){return this.withinIncludingScrolloffsets(element,x,y)}this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);
return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth)},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth)
},overlap:function(mode,element){if(!mode){return 0}if(mode=="vertical"){return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight}if(mode=="horizontal"){return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element)
},relativize:function(element){Position.prepare();return Element.relativize(element)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]"
}instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(""):iter(className);return cond?document._getElementsByXPath(".//*"+cond,element):[]}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);
if(!classNames&&!className){return elements}var nodes=$(element).getElementsByTagName("*");className=" "+className+" ";for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=" "+child.className+" ")&&(cn.include(className)||(classNames&&classNames.all(function(name){return !name.toString().blank()&&cn.include(" "+name+" ")})))){elements.push(Element.extend(child))}}return elements};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className)
}}(Element.Methods)}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element)},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0})._each(iterator)},set:function(className){this.element.className=className},add:function(classNameToAdd){if(this.include(classNameToAdd)){return}this.set($A(this).concat(classNameToAdd).join(" "))
},remove:function(classNameToRemove){if(!this.include(classNameToRemove)){return}this.set($A(this).without(classNameToRemove).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);var Window=Class.create();Window.keepMultiModalWindow=false;Window.hasEffectLib=(typeof Effect!="undefined");Window.resizeEffectDuration=0.4;Window.prototype={initialize:function(){var id;
var optionIndex=0;if(arguments.length>0){if(typeof arguments[0]=="string"){id=arguments[0];optionIndex=1}else{id=arguments[0]?arguments[0].id:null}}if(!id){id="window_"+new Date().getTime()}if($(id)){alert("Window "+id+" is already registered in the DOM! Make sure you use setDestroyOnClose() or destroyOnClose: true in the constructor")}this.options=Object.extend({className:"dialog",blurClassName:null,minWidth:100,minHeight:20,resizable:true,closable:true,minimizable:true,maximizable:true,draggable:true,userData:null,showEffect:(Window.hasEffectLib?Effect.Appear:Element.show),hideEffect:(Window.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.body,title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:300,opacity:1,recenterAuto:true,wiredDrag:false,closeCallback:null,destroyOnClose:false,gridX:1,gridY:1},arguments[optionIndex]||{});
if(this.options.blurClassName){this.options.focusClassName=this.options.className}if(typeof this.options.top=="undefined"&&typeof this.options.bottom=="undefined"){this.options.top=this._round(Math.random()*500,this.options.gridY)}if(typeof this.options.left=="undefined"&&typeof this.options.right=="undefined"){this.options.left=this._round(Math.random()*500,this.options.gridX)}if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);
Object.extend(this.options.showEffectOptions,this.options.effectOptions);if(this.options.showEffect==Element.Appear){this.options.showEffectOptions.to=this.options.opacity}}if(Window.hasEffectLib){if(this.options.showEffect==Effect.Appear){this.options.showEffectOptions.to=this.options.opacity}if(this.options.hideEffect==Effect.Fade){this.options.hideEffectOptions.from=this.options.opacity}}if(this.options.hideEffect==Element.hide){this.options.hideEffect=function(){Element.hide(this.element);
if(this.options.destroyOnClose){this.destroy()}}.bind(this)}if(this.options.parent!=document.body){this.options.parent=$(this.options.parent)}this.element=this._createWindow(id);this.element.win=this;this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);
this.eventMouseDownContent=this.toFront.bindAsEventListener(this);this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);
Event.observe(window,"load",this.eventOnLoad);Event.observe(window,"resize",this.eventResize);Event.observe(window,"scroll",this.eventResize);Event.observe(this.options.parent,"scroll",this.eventResize);if(this.options.draggable){var that=this;[this.topbar,this.topbar.up().previous(),this.topbar.up().next()].each(function(element){element.observe("mousedown",that.eventMouseDown);element.addClassName("top_draggable")
});[this.bottombar.up(),this.bottombar.up().previous(),this.bottombar.up().next()].each(function(element){element.observe("mousedown",that.eventMouseDown);element.addClassName("bottom_draggable")})}if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown)}this.useLeft=null;this.useTop=null;if(typeof this.options.left!="undefined"){this.element.setStyle({left:parseFloat(this.options.left)+"px"});
this.useLeft=true}else{this.element.setStyle({right:parseFloat(this.options.right)+"px"});this.useLeft=false}if(typeof this.options.top!="undefined"){this.element.setStyle({top:parseFloat(this.options.top)+"px"});this.useTop=true}else{this.element.setStyle({bottom:parseFloat(this.options.bottom)+"px"});this.useTop=false}this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex){this.setZIndex(this.options.zIndex)
}if(this.options.destroyOnClose){this.setDestroyOnClose(true)}this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;this.visible=false;this.constraint=false;this.constraintPad={top:0,left:0,bottom:0,right:0};if(this.width&&this.height){this.setSize(this.options.width,this.options.height)}this.setTitle(this.options.title);Windows.register(this)},destroy:function(){this._notify("onDestroy");
Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);Event.stopObserving(this.content,"load",this.options.onload);
if(this._oldParent){var content=this.getContent();var originalContent=null;for(var i=0;i<content.childNodes.length;i++){originalContent=content.childNodes[i];if(originalContent.nodeType==1){break}originalContent=null}if(originalContent){this._oldParent.appendChild(originalContent)}this._oldParent=null}if(this.sizer){Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown)}if(this.options.url){this.content.src=null
}if(this.iefix){Element.remove(this.iefix)}Element.remove(this.element);Windows.unregister(this)},setCloseCallback:function(callback){this.options.closeCallback=callback},getContent:function(){return this.content},setContent:function(id,autoresize,autoposition){var element=$(id);if(null==element){throw"Unable to find element '"+id+"' in DOM"}this._oldParent=element.parentNode;var d=null;var p=null;
if(autoresize){d=Element.getDimensions(element)}if(autoposition){p=Position.cumulativeOffset(element)}var content=this.getContent();this.setHTMLContent("");content=this.getContent();content.appendChild(element);element.show();if(autoresize){this.setSize(d.width,d.height)}if(autoposition){this.setLocation(p[1]-this.heightN,p[0]-this.widthW)}},setHTMLContent:function(html){if(this.options.url){this.content.src=null;
this.options.url=null;var content='<div id="'+this.getId()+'_content" class="'+this.options.className+'_content"> </div>';$(this.getId()+"_table_content").innerHTML=content;this.content=$(this.element.id+"_content")}this.getContent().innerHTML=html},setAjaxContent:function(url,options,showCentered,showModal){this.showFunction=showCentered?"showCenter":"show";this.showModal=showModal||false;options=options||{};
this.setHTMLContent("");this.onComplete=options.onComplete;if(!this._onCompleteHandler){this._onCompleteHandler=this._setAjaxContent.bind(this)}options.onComplete=this._onCompleteHandler;new Ajax.Request(url,options);options.onComplete=this.onComplete},_setAjaxContent:function(originalRequest){Element.update(this.getContent(),originalRequest.responseText);if(this.onComplete){this.onComplete(originalRequest)
}this.onComplete=null;this[this.showFunction](this.showModal)},setURL:function(url){if(this.options.url){this.content.src=null}this.options.url=url;var content="<iframe frameborder='0' name='"+this.getId()+"_content'  id='"+this.getId()+"_content' src='"+url+"' width='"+this.width+"' height='"+this.height+"'> </iframe>";$(this.getId()+"_table_content").innerHTML=content;this.content=$(this.element.id+"_content")
},getURL:function(){return this.options.url?this.options.url:null},refresh:function(){if(this.options.url){$(this.element.getAttribute("id")+"_content").src=this.options.url}},setCookie:function(name,expires,path,domain,secure){name=name||this.element.id;this.cookie=[name,expires,path,domain,secure];var value=WindowUtilities.getCookie(name);if(value){var values=value.split(",");var x=values[0].split(":");
var y=values[1].split(":");var w=parseFloat(values[2]),h=parseFloat(values[3]);var mini=values[4];var maxi=values[5];this.setSize(w,h);if(mini=="true"){this.doMinimize=true}else{if(maxi=="true"){this.doMaximize=true}}this.useLeft=x[0]=="l";this.useTop=y[0]=="t";this.element.setStyle(this.useLeft?{left:x[1]}:{right:x[1]});this.element.setStyle(this.useTop?{top:y[1]}:{bottom:y[1]})}},getId:function(){return this.element.id
},setDestroyOnClose:function(){this.options.destroyOnClose=true},setConstraint:function(bool,padding){this.constraint=bool;this.constraintPad=Object.extend(this.constraintPad,padding||{});if(this.useTop&&this.useLeft){this.setLocation(parseFloat(this.element.style.top),parseFloat(this.element.style.left))}},_initDrag:function(event){if(Event.element(event)==this.sizer&&this.isMinimized()){return}if(Event.element(event)!=this.sizer&&this.isMaximized()){return
}if(Prototype.Browser.IE&&this.heightN==0){this._getWindowBorderSize()}this.pointer=[this._round(Event.pointerX(event),this.options.gridX),this._round(Event.pointerY(event),this.options.gridY)];if(this.options.wiredDrag){this.currentDrag=this._createWiredElement()}else{this.currentDrag=this.element}if(Event.element(event)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;
this.bottomOrg=parseFloat(this.element.getStyle("bottom"));this.rightOrg=parseFloat(this.element.getStyle("right"));this._notify("onStartResize")}else{this.doResize=false;var closeButton=$(this.getId()+"_close");if(closeButton&&Position.within(closeButton,this.pointer[0],this.pointer[1])){this.currentDrag=null;return}this.toFront();if(!this.options.draggable){return}this._notify("onStartMove")}Event.observe(document,"mouseup",this.eventMouseUp,false);
Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen("__invisible__","__invisible__",this.overlayOpacity);document.body.ondrag=function(){return false};document.body.onselectstart=function(){return false};this.currentDrag.show();Event.stop(event)},_round:function(val,round){return round==1?val:val=Math.floor(val/round)*round},_updateDrag:function(event){var pointer=[this._round(Event.pointerX(event),this.options.gridX),this._round(Event.pointerY(event),this.options.gridY)];
var dx=pointer[0]-this.pointer[0];var dy=pointer[1]-this.pointer[1];if(this.doResize){var w=this.widthOrg+dx;var h=this.heightOrg+dy;dx=this.width-this.widthOrg;dy=this.height-this.heightOrg;if(this.useLeft){w=this._updateWidthConstraint(w)}else{this.currentDrag.setStyle({right:(this.rightOrg-dx)+"px"})}if(this.useTop){h=this._updateHeightConstraint(h)}else{this.currentDrag.setStyle({bottom:(this.bottomOrg-dy)+"px"})
}this.setSize(w,h);this._notify("onResize")}else{this.pointer=pointer;if(this.useLeft){var left=parseFloat(this.currentDrag.getStyle("left"))+dx;var newLeft=this._updateLeftConstraint(left);this.pointer[0]+=newLeft-left;this.currentDrag.setStyle({left:newLeft+"px"})}else{this.currentDrag.setStyle({right:parseFloat(this.currentDrag.getStyle("right"))-dx+"px"})}if(this.useTop){var top=parseFloat(this.currentDrag.getStyle("top"))+dy;
var newTop=this._updateTopConstraint(top);this.pointer[1]+=newTop-top;this.currentDrag.setStyle({top:newTop+"px"})}else{this.currentDrag.setStyle({bottom:parseFloat(this.currentDrag.getStyle("bottom"))-dy+"px"})}this._notify("onMove")}if(this.iefix){this._fixIEOverlapping()}this._removeStoreLocation();Event.stop(event)},_endDrag:function(event){WindowUtilities.enableScreen("__invisible__");if(this.doResize){this._notify("onEndResize")
}else{this._notify("onEndMove")}Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);Event.stop(event);this._hideWiredElement();this._saveCookie();document.body.ondrag=null;document.body.onselectstart=null},_updateLeftConstraint:function(left){if(this.constraint&&this.useLeft&&this.useTop){var width=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;
if(left<this.constraintPad.left){left=this.constraintPad.left}if(left+this.width+this.widthE+this.widthW>width-this.constraintPad.right){left=width-this.constraintPad.right-this.width-this.widthE-this.widthW}}return left},_updateTopConstraint:function(top){if(this.constraint&&this.useLeft&&this.useTop){var height=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;
var h=this.height+this.heightN+this.heightS;if(top<this.constraintPad.top){top=this.constraintPad.top}if(top+h>height-this.constraintPad.bottom){top=height-this.constraintPad.bottom-h}}return top},_updateWidthConstraint:function(w){if(this.constraint&&this.useLeft&&this.useTop){var width=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;
var left=parseFloat(this.element.getStyle("left"));if(left+w+this.widthE+this.widthW>width-this.constraintPad.right){w=width-this.constraintPad.right-left-this.widthE-this.widthW}}return w},_updateHeightConstraint:function(h){if(this.constraint&&this.useLeft&&this.useTop){var height=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;
var top=parseFloat(this.element.getStyle("top"));if(top+h+this.heightN+this.heightS>height-this.constraintPad.bottom){h=height-this.constraintPad.bottom-top-this.heightN-this.heightS}}return h},_createWindow:function(id){var className=this.options.className;var win=document.createElement("div");win.setAttribute("id",id);win.className="dialog";var content;if(this.options.url){content='<iframe frameborder="0" name="'+id+'_content"  id="'+id+'_content" src="'+this.options.url+'"> </iframe>'
}else{content='<div id="'+id+'_content" class="'+className+'_content"> </div>'}var closeDiv=this.options.closable?"<div class='"+className+"_close' id='"+id+"_close' onclick='Windows.close(\""+id+"\", event)'> </div>":"";var minDiv=this.options.minimizable?"<div class='"+className+"_minimize' id='"+id+"_minimize' onclick='Windows.minimize(\""+id+"\", event)'> </div>":"";var maxDiv=this.options.maximizable?"<div class='"+className+"_maximize' id='"+id+"_maximize' onclick='Windows.maximize(\""+id+"\", event)'> </div>":"";
var seAttributes=this.options.resizable?"class='"+className+"_sizer' id='"+id+"_sizer'":"class='"+className+"_se'";var blank="../themes/default/blank.gif";win.innerHTML=closeDiv+minDiv+maxDiv+"      <table id='"+id+"_row1' class=\"top table_window\">        <tr>          <td class='"+className+"_nw'></td>          <td class='"+className+"_n'><div id='"+id+"_top' class='"+className+"_title title_window'>"+this.options.title+"</div></td>          <td class='"+className+"_ne'></td>        </tr>      </table>      <table id='"+id+"_row2' class=\"mid table_window\">        <tr>          <td class='"+className+"_w'></td>            <td id='"+id+"_table_content' class='"+className+"_content' valign='top'>"+content+"</td>          <td class='"+className+"_e'></td>        </tr>      </table>        <table id='"+id+"_row3' class=\"bot table_window\">        <tr>          <td class='"+className+"_sw'></td>            <td class='"+className+"_s'><div id='"+id+"_bottom' class='status_bar'><span style='float:left; width:1px; height:1px'></span></div></td>            <td "+seAttributes+"></td>        </tr>      </table>    ";
Element.hide(win);this.options.parent.insertBefore(win,this.options.parent.firstChild);Event.observe($(id+"_content"),"load",this.options.onload);return win},changeClassName:function(newClassName){var className=this.options.className;var id=this.getId();$A(["_close","_minimize","_maximize","_sizer","_content"]).each(function(value){this._toggleClassName($(id+value),className+value,newClassName+value)
}.bind(this));this._toggleClassName($(id+"_top"),className+"_title",newClassName+"_title");$$("#"+id+" td").each(function(td){td.className=td.className.sub(className,newClassName)});this.options.className=newClassName},_toggleClassName:function(element,oldClassName,newClassName){if(element){element.removeClassName(oldClassName);element.addClassName(newClassName)}},setLocation:function(top,left){top=this._updateTopConstraint(top);
left=this._updateLeftConstraint(left);var e=this.currentDrag||this.element;e.setStyle({top:top+"px"});e.setStyle({left:left+"px"});this.useLeft=true;this.useTop=true},getLocation:function(){var location={};if(this.useTop){location=Object.extend(location,{top:this.element.getStyle("top")})}else{location=Object.extend(location,{bottom:this.element.getStyle("bottom")})}if(this.useLeft){location=Object.extend(location,{left:this.element.getStyle("left")})
}else{location=Object.extend(location,{right:this.element.getStyle("right")})}return location},getSize:function(){return{width:this.width,height:this.height}},setSize:function(width,height,useEffect){width=parseFloat(width);height=parseFloat(height);if(!this.minimized&&width<this.options.minWidth){width=this.options.minWidth}if(!this.minimized&&height<this.options.minHeight){height=this.options.minHeight
}if(this.options.maxHeight&&height>this.options.maxHeight){height=this.options.maxHeight}if(this.options.maxWidth&&width>this.options.maxWidth){width=this.options.maxWidth}if(this.useTop&&this.useLeft&&Window.hasEffectLib&&Effect.ResizeWindow&&useEffect){new Effect.ResizeWindow(this,null,null,width,height,{duration:Window.resizeEffectDuration})}else{this.width=width;this.height=height;var e=this.currentDrag?this.currentDrag:this.element;
e.setStyle({width:width+this.widthW+this.widthE+"px"});e.setStyle({height:height+this.heightN+this.heightS+"px"});if(!this.currentDrag||this.currentDrag==this.element){var content=$(this.element.id+"_content");content.setStyle({height:height+"px"});content.setStyle({width:width+"px"})}}},updateHeight:function(){this.setSize(this.width,this.content.scrollHeight,true)},updateWidth:function(){this.setSize(this.content.scrollWidth,this.height,true)
},toFront:function(){if(this.element.style.zIndex<Windows.maxZIndex){this.setZIndex(Windows.maxZIndex+1)}if(this.iefix){this._fixIEOverlapping()}},getBounds:function(insideOnly){if(!this.width||!this.height||!this.visible){this.computeBounds()}var w=this.width;var h=this.height;if(!insideOnly){w+=this.widthW+this.widthE;h+=this.heightN+this.heightS}var bounds=Object.extend(this.getLocation(),{width:w+"px",height:h+"px"});
return bounds},computeBounds:function(){if(!this.width||!this.height){var size=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0,this.options.className);if(this.height){this.width=size+5}else{this.height=size+5}}this.setSize(this.width,this.height);if(this.centered){this._center(this.centerTop,this.centerLeft)}},show:function(modal){this.visible=true;if(modal){if(typeof this.overlayOpacity=="undefined"){var that=this;
setTimeout(function(){that.show(modal)},10);return}Windows.addModalWindow(this);this.modal=true;this.setZIndex(Windows.maxZIndex+1);Windows.unsetOverflow(this)}else{if(!this.element.style.zIndex){this.setZIndex(Windows.maxZIndex+1)}}if(this.oldStyle){this.getContent().setStyle({overflow:this.oldStyle})}this.computeBounds();this._notify("onBeforeShow");if(this.options.showEffect!=Element.show&&this.options.showEffectOptions){this.options.showEffect(this.element,this.options.showEffectOptions)
}else{this.options.showEffect(this.element)}this._checkIEOverlapping();WindowUtilities.focusedWindow=this;this._notify("onShow")},showCenter:function(modal,top,left){this.centered=true;this.centerTop=top;this.centerLeft=left;this.show(modal)},isVisible:function(){return this.visible},_center:function(top,left){var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);var pageSize=WindowUtilities.getPageSize(this.options.parent);
if(typeof top=="undefined"){top=(pageSize.windowHeight-(this.height+this.heightN+this.heightS))/2}top+=windowScroll.top;if(typeof left=="undefined"){left=(pageSize.windowWidth-(this.width+this.widthW+this.widthE))/2}left+=windowScroll.left;this.setLocation(top,left);this.toFront()},_recenter:function(event){if(this.centered){var pageSize=WindowUtilities.getPageSize(this.options.parent);var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);
if(this.pageSize&&this.pageSize.windowWidth==pageSize.windowWidth&&this.pageSize.windowHeight==pageSize.windowHeight&&this.windowScroll.left==windowScroll.left&&this.windowScroll.top==windowScroll.top){return}this.pageSize=pageSize;this.windowScroll=windowScroll;if($("overlay_modal")){$("overlay_modal").setStyle({height:(pageSize.pageHeight+"px")})}if(this.options.recenterAuto){this._center(this.centerTop,this.centerLeft)
}}},hide:function(){this.visible=false;if(this.modal){Windows.removeModalWindow(this);Windows.resetOverflow()}this.oldStyle=this.getContent().getStyle("overflow")||"auto";this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix){this.iefix.hide()}if(!this.doNotNotifyHide){this._notify("onHide")}},close:function(){if(this.visible){if(this.options.closeCallback&&!this.options.closeCallback(this)){return
}if(this.options.destroyOnClose){var destroyFunc=this.destroy.bind(this);if(this.options.hideEffectOptions.afterFinish){var func=this.options.hideEffectOptions.afterFinish;this.options.hideEffectOptions.afterFinish=function(){func();destroyFunc()}}else{this.options.hideEffectOptions.afterFinish=function(){destroyFunc()}}}Windows.updateFocusedWindow();this.doNotNotifyHide=true;this.hide();this.doNotNotifyHide=false;
this._notify("onClose")}},minimize:function(){if(this.resizing){return}var r2=$(this.getId()+"_row2");if(!this.minimized){this.minimized=true;var dh=r2.getDimensions().height;this.r2Height=dh;var h=this.element.getHeight()-dh;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height-dh,{duration:Window.resizeEffectDuration})}else{this.height-=dh;
this.element.setStyle({height:h+"px"});r2.hide()}if(!this.useTop){var bottom=parseFloat(this.element.getStyle("bottom"));this.element.setStyle({bottom:(bottom+dh)+"px"})}}else{this.minimized=false;var dh=this.r2Height;this.r2Height=null;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height+dh,{duration:Window.resizeEffectDuration})
}else{var h=this.element.getHeight()+dh;this.height+=dh;this.element.setStyle({height:h+"px"});r2.show()}if(!this.useTop){var bottom=parseFloat(this.element.getStyle("bottom"));this.element.setStyle({bottom:(bottom-dh)+"px"})}this.toFront()}this._notify("onMinimize");this._saveCookie()},maximize:function(){if(this.isMinimized()||this.resizing){return}if(Prototype.Browser.IE&&this.heightN==0){this._getWindowBorderSize()
}if(this.storedLocation!=null){this._restoreLocation();if(this.iefix){this.iefix.hide()}}else{this._storeLocation();Windows.unsetOverflow(this);var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);var pageSize=WindowUtilities.getPageSize(this.options.parent);var left=windowScroll.left;var top=windowScroll.top;if(this.options.parent!=document.body){windowScroll={top:0,left:0,bottom:0,right:0};
var dim=this.options.parent.getDimensions();pageSize.windowWidth=dim.width;pageSize.windowHeight=dim.height;top=0;left=0}if(this.constraint){pageSize.windowWidth-=Math.max(0,this.constraintPad.left)+Math.max(0,this.constraintPad.right);pageSize.windowHeight-=Math.max(0,this.constraintPad.top)+Math.max(0,this.constraintPad.bottom);left+=Math.max(0,this.constraintPad.left);top+=Math.max(0,this.constraintPad.top)
}var width=pageSize.windowWidth-this.widthW-this.widthE;var height=pageSize.windowHeight-this.heightN-this.heightS;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,top,left,width,height,{duration:Window.resizeEffectDuration})}else{this.setSize(width,height);this.element.setStyle(this.useLeft?{left:left}:{right:left});this.element.setStyle(this.useTop?{top:top}:{bottom:top})
}this.toFront();if(this.iefix){this._fixIEOverlapping()}}this._notify("onMaximize");this._saveCookie()},isMinimized:function(){return this.minimized},isMaximized:function(){return(this.storedLocation!=null)},setOpacity:function(opacity){if(Element.setOpacity){Element.setOpacity(this.element,opacity)}},setZIndex:function(zindex){this.element.setStyle({zIndex:zindex});Windows.updateZindex(zindex,this)
},setTitle:function(newTitle){if(!newTitle||newTitle==""){newTitle="&nbsp;"}Element.update(this.element.id+"_top",newTitle)},getTitle:function(){return $(this.element.id+"_top").innerHTML},setStatusBar:function(element){var statusBar=$(this.getId()+"_bottom");if(typeof(element)=="object"){if(this.bottombar.firstChild){this.bottombar.replaceChild(element,this.bottombar.firstChild)}else{this.bottombar.appendChild(element)
}}else{this.bottombar.innerHTML=element}},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf("MSIE")>0)&&(navigator.userAgent.indexOf("Opera")<0)&&(this.element.getStyle("position")=="absolute")){new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
this.iefix=$(this.element.id+"_iefix")}if(this.iefix){setTimeout(this._fixIEOverlapping.bind(this),50)}},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show()},_getWindowBorderSize:function(event){var div=this._createHiddenDiv(this.options.className+"_n");this.heightN=Element.getDimensions(div).height;div.parentNode.removeChild(div);
var div=this._createHiddenDiv(this.options.className+"_s");this.heightS=Element.getDimensions(div).height;div.parentNode.removeChild(div);var div=this._createHiddenDiv(this.options.className+"_e");this.widthE=Element.getDimensions(div).width;div.parentNode.removeChild(div);var div=this._createHiddenDiv(this.options.className+"_w");this.widthW=Element.getDimensions(div).width;div.parentNode.removeChild(div);
var div=document.createElement("div");div.className="overlay_"+this.options.className;document.body.appendChild(div);var that=this;setTimeout(function(){that.overlayOpacity=($(div).getStyle("opacity"));div.parentNode.removeChild(div)},10);if(Prototype.Browser.IE){this.heightS=$(this.getId()+"_row3").getDimensions().height;this.heightN=$(this.getId()+"_row1").getDimensions().height}if(Prototype.Browser.WebKit&&Prototype.Browser.WebKitVersion<420){this.setSize(this.width,this.height)
}if(this.doMaximize){this.maximize()}if(this.doMinimize){this.minimize()}},_createHiddenDiv:function(className){var objBody=document.body;var win=document.createElement("div");win.setAttribute("id",this.element.id+"_tmp");win.className=className;win.style.display="none";win.innerHTML="";objBody.insertBefore(win,objBody.firstChild);return win},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle("top"),bottom:this.element.getStyle("bottom"),left:this.element.getStyle("left"),right:this.element.getStyle("right"),width:this.width,height:this.height}
}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,this.storedLocation.top,this.storedLocation.left,this.storedLocation.width,this.storedLocation.height,{duration:Window.resizeEffectDuration})}else{this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});
this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height)}Windows.resetOverflow();this._removeStoreLocation()}},_removeStoreLocation:function(){this.storedLocation=null},_saveCookie:function(){if(this.cookie){var value="";if(this.useLeft){value+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle("left"))
}else{value+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle("right"))}if(this.useTop){value+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle("top"))}else{value+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle("bottom"))}value+=","+(this.storedLocation?this.storedLocation.width:this.width);value+=","+(this.storedLocation?this.storedLocation.height:this.height);
value+=","+this.isMinimized();value+=","+this.isMaximized();WindowUtilities.setCookie(value,this.cookie)}},_createWiredElement:function(){if(!this.wiredElement){if(Prototype.Browser.IE){this._getWindowBorderSize()}var div=document.createElement("div");div.className="wired_frame "+this.options.className+"_wired_frame";div.style.position="absolute";this.options.parent.insertBefore(div,this.options.parent.firstChild);
this.wiredElement=$(div)}if(this.useLeft){this.wiredElement.setStyle({left:this.element.getStyle("left")})}else{this.wiredElement.setStyle({right:this.element.getStyle("right")})}if(this.useTop){this.wiredElement.setStyle({top:this.element.getStyle("top")})}else{this.wiredElement.setStyle({bottom:this.element.getStyle("bottom")})}var dim=this.element.getDimensions();this.wiredElement.setStyle({width:dim.width+"px",height:dim.height+"px"});
this.wiredElement.setStyle({zIndex:Windows.maxZIndex+30});return this.wiredElement},_hideWiredElement:function(){if(!this.wiredElement||!this.currentDrag){return}if(this.currentDrag==this.element){this.currentDrag=null}else{if(this.useLeft){this.element.setStyle({left:this.currentDrag.getStyle("left")})}else{this.element.setStyle({right:this.currentDrag.getStyle("right")})}if(this.useTop){this.element.setStyle({top:this.currentDrag.getStyle("top")})
}else{this.element.setStyle({bottom:this.currentDrag.getStyle("bottom")})}this.currentDrag.hide();this.currentDrag=null;if(this.doResize){this.setSize(this.width,this.height)}}},_notify:function(eventName){if(eventName=="onShow"){$$("input,select").each(function(item){$(item).addClassName("operaDialogFix")})}if(eventName=="onClose"){$$("input,select").each(function(item){$(item).removeClassName("operaDialogFix")
})}if(this.options[eventName]){this.options[eventName](this)}else{Windows.notify(eventName,this)}}};var Windows={windows:[],modalWindows:[],observers:[],focusedWindow:null,maxZIndex:0,overlayShowEffectOptions:{duration:0.5},overlayHideEffectOptions:{duration:0.5},addObserver:function(observer){this.removeObserver(observer);this.observers.push(observer)},removeObserver:function(observer){this.observers=this.observers.reject(function(o){return o==observer
})},notify:function(eventName,win){this.observers.each(function(o){if(o[eventName]){o[eventName](eventName,win)}})},getWindow:function(id){return this.windows.detect(function(d){return d.getId()==id})},getFocusedWindow:function(){return this.focusedWindow},updateFocusedWindow:function(){this.focusedWindow=this.windows.length>=2?this.windows[this.windows.length-2]:null},register:function(win){this.windows.push(win)
},addModalWindow:function(win){if(this.modalWindows.length==0){WindowUtilities.disableScreen(win.options.className,"overlay_modal",win.overlayOpacity,win.getId(),win.options.parent)}else{if(Window.keepMultiModalWindow){$("overlay_modal").style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex+=1;WindowUtilities._hideSelect(this.modalWindows.last().getId())}else{this.modalWindows.last().element.hide()}WindowUtilities._showSelect(win.getId())
}this.modalWindows.push(win)},removeModalWindow:function(win){this.modalWindows.pop();if(this.modalWindows.length==0){WindowUtilities.enableScreen()}else{if(Window.keepMultiModalWindow){this.modalWindows.last().toFront();WindowUtilities._showSelect(this.modalWindows.last().getId())}else{this.modalWindows.last().element.show()}}},register:function(win){this.windows.push(win)},unregister:function(win){this.windows=this.windows.reject(function(d){return d==win
})},closeAll:function(){this.windows.each(function(w){Windows.close(w.getId())})},closeAllModalWindows:function(){WindowUtilities.enableScreen();this.modalWindows.each(function(win){if(win){win.close()}})},minimize:function(id,event){var win=this.getWindow(id);if(win&&win.visible){win.minimize()}Event.stop(event)},maximize:function(id,event){var win=this.getWindow(id);if(win&&win.visible){win.maximize()
}Event.stop(event)},close:function(id,event){var win=this.getWindow(id);if(win){win.close()}if(event){Event.stop(event)}},blur:function(id){var win=this.getWindow(id);if(!win){return}if(win.options.blurClassName){win.changeClassName(win.options.blurClassName)}if(this.focusedWindow==win){this.focusedWindow=null}win._notify("onBlur")},focus:function(id){var win=this.getWindow(id);if(!win){return}if(this.focusedWindow){this.blur(this.focusedWindow.getId())
}if(win.options.focusClassName){win.changeClassName(win.options.focusClassName)}this.focusedWindow=win;win._notify("onFocus")},unsetOverflow:function(except){this.windows.each(function(d){d.oldOverflow=d.getContent().getStyle("overflow")||"auto";d.getContent().setStyle({overflow:"hidden"})});if(except&&except.oldOverflow){except.getContent().setStyle({overflow:except.oldOverflow})}},resetOverflow:function(){this.windows.each(function(d){if(d.oldOverflow){d.getContent().setStyle({overflow:d.oldOverflow})
}})},updateZindex:function(zindex,win){if(zindex>this.maxZIndex){this.maxZIndex=zindex;if(this.focusedWindow){this.blur(this.focusedWindow.getId())}}this.focusedWindow=win;if(this.focusedWindow){this.focus(this.focusedWindow.getId())}}};var Dialog={dialogId:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(content,parameters){if(content&&typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.confirm);
return}content=content||"";parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var cancelLabel=parameters.cancelLabel?parameters.cancelLabel:"Cancel";parameters=Object.extend(parameters,parameters.windowParameters||{});parameters.windowParameters=parameters.windowParameters||{};parameters.className=parameters.className||"alert";var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'";
var cancelButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" cancel_button'";var content="      <div class='"+parameters.className+"_message'>"+content+"</div>        <div class='"+parameters.className+"_buttons'>          <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()' "+okButtonClass+"/>          <input type='button' value='"+cancelLabel+"' onclick='Dialog.cancelCallback()' "+cancelButtonClass+"/>        </div>    ";
return this._openDialog(content,parameters)},alert:function(content,parameters){if(content&&typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.alert);return}content=content||"";parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";parameters=Object.extend(parameters,parameters.windowParameters||{});parameters.windowParameters=parameters.windowParameters||{};
parameters.className=parameters.className||"alert";var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'";var content="      <div class='"+parameters.className+"_message'>"+content+"</div>        <div class='"+parameters.className+"_buttons'>          <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()' "+okButtonClass+"/>        </div>";
return this._openDialog(content,parameters)},info:function(content,parameters){if(content&&typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.info);return}content=content||"";parameters=parameters||{};parameters=Object.extend(parameters,parameters.windowParameters||{});parameters.windowParameters=parameters.windowParameters||{};parameters.className=parameters.className||"alert";
var content="<div id='modal_dialog_message' class='"+parameters.className+"_message'>"+content+"</div>";if(parameters.showProgress){content+="<div id='modal_dialog_progress' class='"+parameters.className+"_progress'>  </div>"}parameters.ok=null;parameters.cancel=null;return this._openDialog(content,parameters)},setInfoMessage:function(message){$("modal_dialog_message").update(message)},closeInfo:function(){Windows.close(this.dialogId)
},_openDialog:function(content,parameters){var className=parameters.className;if(!parameters.height&&!parameters.width){parameters.width=WindowUtilities.getPageSize(parameters.options.parent||document.body).pageWidth/2}if(parameters.id){this.dialogId=parameters.id}else{var t=new Date();this.dialogId="modal_dialog_"+t.getTime();parameters.id=this.dialogId}if(!parameters.height||!parameters.width){var size=WindowUtilities._computeSize(content,this.dialogId,parameters.width,parameters.height,5,className);
if(parameters.height){parameters.width=size+5}else{parameters.height=size+5}}parameters.effectOptions=parameters.effectOptions;parameters.resizable=parameters.resizable||false;parameters.minimizable=parameters.minimizable||false;parameters.maximizable=parameters.maximizable||false;parameters.draggable=parameters.draggable||false;parameters.closable=parameters.closable||false;var win=new Window(parameters);
win.getContent().innerHTML=content;win.showCenter(true,parameters.top,parameters.left);win.setDestroyOnClose();win.cancelCallback=parameters.onCancel||parameters.cancel;win.okCallback=parameters.onOk||parameters.ok;return win},_getAjaxContent:function(originalRequest){Dialog.callFunc(originalRequest.responseText,Dialog.parameters)},_runAjaxRequest:function(message,parameters,callFunc){if(message.options==null){message.options={}
}Dialog.onCompleteFunc=message.options.onComplete;Dialog.parameters=parameters;Dialog.callFunc=callFunc;message.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(message.url,message.options)},okCallback:function(){var win=Windows.focusedWindow;if(!win.okCallback||win.okCallback(win)){$$("#"+win.getId()+" input").each(function(element){element.onclick=null});win.close()}},cancelCallback:function(){var win=Windows.focusedWindow;
$$("#"+win.getId()+" input").each(function(element){element.onclick=null});win.close();if(win.cancelCallback){win.cancelCallback(win)}}};if(Prototype.Browser.WebKit){var array=navigator.userAgent.match(new RegExp(/AppleWebKit\/([\d\.\+]*)/));Prototype.Browser.WebKitVersion=parseFloat(array[1])}var WindowUtilities={getWindowScroll:function(parent){var T,L,W,H;parent=parent||document.body;if(parent!=document.body){T=parent.scrollTop;
L=parent.scrollLeft;W=parent.scrollWidth;H=parent.scrollHeight}else{var w=window;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else{if(w.document.body){T=body.scrollTop;L=body.scrollLeft}}if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else{if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;
H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}}}}return{top:T,left:L,width:W,height:H}},getPageSize:function(parent){parent=parent||document.body;var windowWidth,windowHeight;var pageHeight,pageWidth;if(parent!=document.body){windowWidth=parent.getWidth();windowHeight=parent.getHeight();pageWidth=parent.scrollWidth;pageHeight=parent.scrollHeight}else{var xScroll,yScroll;
if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight}}if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight
}else{if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight}else{if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight}}}if(yScroll<windowHeight){pageHeight=windowHeight}else{pageHeight=yScroll}if(xScroll<windowWidth){pageWidth=windowWidth}else{pageWidth=xScroll
}}return{pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight}},disableScreen:function(className,overlayId,overlayOpacity,contentId,parent){WindowUtilities.initLightbox(overlayId,className,function(){this._disableScreen(className,overlayId,overlayOpacity,contentId)}.bind(this),parent||document.body)},_disableScreen:function(className,overlayId,overlayOpacity,contentId){var objOverlay=$(overlayId);
var pageSize=WindowUtilities.getPageSize(objOverlay.parentNode);if(contentId&&Prototype.Browser.IE){WindowUtilities._hideSelect();WindowUtilities._showSelect(contentId)}objOverlay.style.height=(pageSize.pageHeight+"px");objOverlay.style.display="none";if(overlayId=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayShowEffectOptions){objOverlay.overlayOpacity=overlayOpacity;new Effect.Appear(objOverlay,Object.extend({from:0,to:overlayOpacity},Windows.overlayShowEffectOptions))
}else{objOverlay.style.display="block"}},enableScreen:function(id){id=id||"overlay_modal";var objOverlay=$(id);if(objOverlay){if(id=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayHideEffectOptions){new Effect.Fade(objOverlay,Object.extend({from:objOverlay.overlayOpacity,to:0},Windows.overlayHideEffectOptions))}else{objOverlay.style.display="none";objOverlay.parentNode.removeChild(objOverlay)
}if(id!="__invisible__"){WindowUtilities._showSelect()}}},_hideSelect:function(id){if(Prototype.Browser.IE){id=id==null?"":"#"+id+" ";$$(id+"select").each(function(element){if(!WindowUtilities.isDefined(element.oldVisibility)){element.oldVisibility=element.style.visibility?element.style.visibility:"visible";element.style.visibility="hidden"}})}},_showSelect:function(id){if(Prototype.Browser.IE){id=id==null?"":"#"+id+" ";
$$(id+"select").each(function(element){if(WindowUtilities.isDefined(element.oldVisibility)){try{element.style.visibility=element.oldVisibility}catch(e){element.style.visibility="visible"}element.oldVisibility=null}else{if(element.style.visibility){element.style.visibility="visible"}}})}},isDefined:function(object){return typeof(object)!="undefined"&&object!=null},initLightbox:function(id,className,doneHandler,parent){if($(id)){Element.setStyle(id,{zIndex:Windows.maxZIndex+1});
Windows.maxZIndex++;doneHandler()}else{var objOverlay=document.createElement("div");objOverlay.setAttribute("id",id);objOverlay.className="overlay_"+className;objOverlay.style.display="none";objOverlay.style.position="absolute";objOverlay.style.top="0";objOverlay.style.left="0";objOverlay.style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex++;objOverlay.style.width="100%";parent.insertBefore(objOverlay,parent.firstChild);
if(Prototype.Browser.WebKit&&id=="overlay_modal"){setTimeout(function(){doneHandler()},10)}else{doneHandler()}}},setCookie:function(value,parameters){document.cookie=parameters[0]+"="+escape(value)+((parameters[1])?"; expires="+parameters[1].toGMTString():"")+((parameters[2])?"; path="+parameters[2]:"")+((parameters[3])?"; domain="+parameters[3]:"")+((parameters[4])?"; secure":"")},getCookie:function(name){var dc=document.cookie;
var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0){return null}}else{begin+=2}var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length}return unescape(dc.substring(begin+prefix.length,end))},_computeSize:function(content,id,width,height,margin,className){var objBody=document.body;var tmpObj=document.createElement("div");tmpObj.setAttribute("id",id);
tmpObj.className=className+"_content";if(height){tmpObj.style.height=height+"px"}else{tmpObj.style.width=width+"px"}tmpObj.style.position="absolute";tmpObj.style.top="0";tmpObj.style.left="0";tmpObj.style.display="none";tmpObj.innerHTML=content;objBody.insertBefore(tmpObj,objBody.firstChild);var size;if(height){size=$(tmpObj).getDimensions().width+margin}else{size=$(tmpObj).getDimensions().height+margin
}objBody.removeChild(tmpObj);return size}};var Loader=Class.create({DEFAULT_LOADER:"/modules/default/img/misc/ajax-loader-white.gif",initialize:function(parentElement,options){this.options=Object.extend({color:"transparent",opacity:0,src:this.DEFAULT_LOADER,zIndex:10,top:null,left:null,autoReposition:false,cumulativeOffset:false},options);this.setContainer(parentElement)},setContainer:function(parentElement){this.parent=parentElement;
if(!this.exists()){this._createOverlayer()}this._position()},getContainer:function(){return this.parent},show:function(){if(this.exists()){if(this.options.autoReposition){this._position()}$(this.loader).show()}},hide:function(){if(this.exists()){$(this.loader).hide()}},remove:function(){if(this.exists()){$(this.loader).remove()}},exists:function(){return $(this.loader)!=null},_createOverlayer:function(){var div=new Element("div").setStyle({backgroundColor:this.options.color,zIndex:this.options.zIndex,position:"absolute"});
var img=new Element("img",{src:this.options.src,alt:"Loading...","class":"loader"});div.insert(img);if(this.options.opacity){div.setOpacity(this.options.opacity)}$(this.options.container||this.parent).insert({top:div});this.loader=div.identify()},_position:function(){var parent=$(this.parent);var img=$(this.loader).down();if(Prototype.Browser.IE){$(this.loader).absolutize();var offset=parent.cumulativeOffset();
var dimensions=parent.getDimensions();$(this.loader).setStyle({width:dimensions.width+"px",height:dimensions.height+"px"});if(this.options.cumulativeOffset){$(this.loader).setStyle({top:offset.top+"px",left:offset.left+"px"})}}else{$(this.loader).clonePosition(parent)}var dimLdr=$(this.loader).getDimensions();var dimImg=img.getDimensions();img.style.marginLeft=((dimLdr.width-dimImg.width)>>1)+"px";
img.style.marginTop=((dimLdr.height-dimImg.height)>>1)+"px"}});var LoaderInline=Class.create({DEFAULT_LOADER:"/modules/default/img/inlineLoader.gif",loader:null,initialize:function(afterElement){var loader=new Element("span",{"class":"inline-loader"}).insert(new Element("img",{src:this.DEFAULT_LOADER,"class":"loader"}));document.body.insert({top:loader});this.loader=loader.identify();if(afterElement){this.moveAfter(afterElement)
}},moveAfter:function(el){if(!this.loader){return}if(!Object.isElement(el)){if(!(el=$(el))){throw (el+" hasn't been found in DOM!")}}if(!el.next("span.inline-loader")){el.insert({after:$(this.loader)})}},show:function(){if(!this.loader){return}$(this.loader).show()},hide:function(){if(!this.loader){return}$(this.loader).hide()}});var ModifyDom={insert:function(pairs){$H(pairs).each(function(pair){var selector=pair.key;
if($(selector)){selector="#"+selector}var position=pair.value[0];var tag=pair.value[1];var attributes=pair.value[2];var element=ModifyDom.createElement(tag,attributes);if(!element){return}var pos=new Object();pos[position]=element;$$(selector).invoke("insert",pos)})},createElement:function(tagName,attributes){if(attributes.id&&$(attributes.id)){return false}var element=new Element(tagName);if(attributes.content){element.update(attributes.content);
delete attributes.content}if(attributes.contentFrom){if(Object.isArray(attributes.contentFrom)){if($(attributes.contentFrom[0])){var attrValue=$(attributes.contentFrom[0]).readAttribute(attributes.contentFrom[2]);element.update(attrValue)}if($(attributes.contentFrom[1])){var attrValue=$(attributes.contentFrom[1]).readAttribute(attributes.contentFrom[2]);element.update(attrValue)}}else{element.update($(attributes.contentFrom).innerHTML)
}delete attributes.contentFrom}element.writeAttribute(attributes);return element},replace:function(pairs){$H(pairs).each(function(pair){if($(pair.key)){$(pair.key).replace(pair.value)}})},remove:function(pairs){if($(pairs)){$(pairs).remove();return}$$(pairs).invoke("remove")},_realpath:function(path,includeDomain){var p=0,arr=[];var r=window.location.href;path=(path+"").replace("\\","/");if(path.indexOf("://")!==-1){p=1
}if(!p&&includeDomain){path=r.substring(0,r.lastIndexOf("/")+1)+path}arr=path.split("/");path=[];arr.each(function(part){if(part=="."){return}if(part==".."){if(path.length>3){path.pop()}}else{if((path.length<2)||(part!=="")){path.push(part)}}});return path.join("/")},addScript:function(value){var scriptSrc=value=this._realpath(value);if(value.charAt(0)!="/"){value=value.substr(value.indexOf("/",7))
}var script=$$("script").find(function(el){if(el.src.indexOf(value)!=-1){return true}return false});if(script){$(document.body).fire("script:loaded",script.identify())}else{script=new Element("script",{type:"text/javascript",src:scriptSrc});$(document.body).insert(script);script.observe("load",function(){$(document.body).fire("script:loaded",script.identify())});script.observe("readystatechange",function(){if(script.readyState=="complete"||script.readyState=="loaded"){$(document.body).fire("script:loaded",script.identify())
}})}},addStyle:function(styleSrc){if(!$$("link").pluck("href").include(styleSrc)){var style=new Element("link",{href:styleSrc,rel:"stylesheet",type:"text/css"});$$("head")[0].insert(style)}},highlight:function(selector){if($(selector)){new Effect.Highlight(selector,{startcolor:"#ffff99",endcolor:"#ffffff",keepBackgroundImage:true});return}$$(selector).each(function(el){new Effect.Highlight(el,{startcolor:"#ffff99",endcolor:"#ffffff",keepBackgroundImage:true})
})},appear:function(selector){if($(selector)){new Effect.Appear(selector);return}$$(selector).each(function(el){new Effect.Appear(el)})},fade:function(selector){if($(selector)){new Effect.Fade(selector);return}$$(selector).each(function(el){new Effect.Fade(el)})},show:function(selector){if($(selector)){$(selector).show();return}$$(selector).each(function(el){el.show()})},hide:function(selector){if($(selector)){$(selector).hide()
}$$(selector).each(function(el){el.hide()})},update:function(pairs){$H(pairs).each(function(pair){if($(pair.key)){$(pair.key).update(pair.value)}else{$$(pair.key).invoke("update",pair.value)}})},attr:function(pairs){$H(pairs).each(function(pair){if($(pair.key)){if(pair.value[0]=="class"){$(pair.key).className=pair.value[1]}else{$(pair.key).setAttribute(pair.value[0],pair.value[1])}}else{$$(pair.key).each(function(el){if(this.value[0]=="class"){el.className=this.value[1]
}else{el.setAttribute(this.value[0],this.value[1])}}.bind(pair))}})},fire:function(pair){$H(pair).each(function(pair){document.fire(pair.key,pair.value)})},processAjaxHelperData:function(data){try{$H(data).each(function(pair){var type=Object.keys(pair.value).first();var value=pair.value[type];if(ModifyDom[type]){ModifyDom[type](value)}})}catch(ex){alert(ex.message);if(window.console){window.console.log(ex)
}}}};if(Object.isUndefined(Dialog)){var Dialog={}}Dialog.Confirm={instance:null,content:null,contentPrevContainer:null,data:null,handlerAccept:null,handlerDeny:null,templatesCache:new Hash(),templateSyntax:/(^|.|\r|\n|\/)(#\[\s*(\w+)\s*\])/,show:function(content,options,isTemplate,templateData){options=options||{};var windowOptions=Object.extend({className:"messenger-dialog",destroyOnClose:false,width:360,height:100,maximizable:false,resizable:false,minimizable:false,draggable:false,zIndex:5},options);
if(Dialog.Confirm.instance){Dialog.Confirm.destroy()}Dialog.Confirm.data=options.data;Dialog.Confirm.handlerAccept=options.onSuccess;Dialog.Confirm.handlerDeny=options.onFailure;Dialog.Confirm.content=content;Dialog.Confirm.instance=new Window(windowOptions);if(Object.isFunction(options.onFailure)){Dialog.Confirm.instance.setCloseCallback(function(){options.onFailure();return true})}if(isTemplate){if(Object.isUndefined(this.templatesCache.get(content))){var text=$(content).innerHTML;
text=text.gsub("#%5B","#[");text=text.gsub("%5D","]");this.templatesCache.set(content,new Template(text,this.templateSyntax))}Dialog.Confirm.instance.getContent().insert(this.templatesCache.get(content).evaluate(templateData))}else{if($(content)){this.contentPrevContainer=$(content).up();Dialog.Confirm.instance.getContent().insert($(content))}else{Dialog.Confirm.instance.getContent().update(content)
}}this._setDelegates();Dialog.Confirm.instance.showCenter(options.modal||false,windowOptions.top,windowOptions.left)},_setDelegates:function(){if(document.delegate){Dialog.Confirm.instance.getContent().identify();Dialog.Confirm.instance.getContent().delegate("click",{".dialog-accept":Dialog.Confirm.accept,".dialog-accept *":Dialog.Confirm.accept,".dialog-deny":Dialog.Confirm.deny,".dialog-deny *":Dialog.Confirm.deny})
}},_removeDelegates:function(){if(document.delegate){Dialog.Confirm.instance.getContent().stopDelegating()}},template:function(content,options,templateData){this.show(content,options,true,templateData)},ajax:function(url,options,ajaxCallbacks,showTop){Dialog.Confirm.show(null,options);if(!showTop){Dialog.Confirm.instance.showCenter()}var ajaxOptions={method:"get",asynchronous:(!Object.isUndefined(options.asynchronous)?options.asynchronous:true),onComplete:options.onComplete||null};
if(typeof(ajaxCallbacks)=="object"){ajaxOptions=Object.extend(ajaxOptions,ajaxCallbacks)}var loader=new Loader(Dialog.Confirm.instance.getContent().identify());var onComplete=ajaxOptions.onComplete;ajaxOptions.onComplete=function(tr){loader.remove();delete loader;Dialog.Confirm.instance.getContent().update(tr.responseText);if(onComplete){try{onComplete(tr)}catch(ex){if(console){console.log(ex)}}}onComplete=null
};new Ajax.Request(url,ajaxOptions)},deny:function(ev){if(ev){ev.stop()}if(Dialog.Confirm.handlerDeny){Dialog.Confirm.handlerDeny(Dialog.Confirm.data)}Dialog.Confirm.destroy()},accept:function(ev){if(ev){ev.stop()}if(Dialog.Confirm.handlerAccept){if(Dialog.Confirm.handlerAccept(Dialog.Confirm.data)===false){return}}Dialog.Confirm.destroy()},destroy:function(){Dialog.Confirm.instance.close();if(Dialog.Confirm.contentPrevContainer&&$(Dialog.Confirm.content)){Dialog.Confirm.contentPrevContainer.insert($(Dialog.Confirm.content));
Dialog.Confirm.contentPrevContainer=null}Dialog.Confirm.instance.destroy();Dialog.Confirm.instance=null;Dialog.Confirm.handlerAccept=null;Dialog.Confirm.handlerDeny=null;Dialog.Confirm.data=null}};Object.extend(Event,(function(){var cache={};return{delegate:function(element,eventName){if(arguments[3]){var rules={};rules[arguments[2]]=arguments[3]}else{var rules=Object.extend({},arguments[2])}var el=$(element),ev=eventName,id=el.identify?el.identify():"document";
if(!cache[id]){cache[id]={"$observer":function(event){var el=event.element();if(cache[id][event.type]){for(var i=0,len=cache[id][event.type].length;i<len;i++){for(var selector in cache[id][event.type][i]){if(cache[id][event.type][i][selector][1].match(el)){cache[id][event.type][i][selector][0](event)}}}}}}}if(!cache[id][ev]){cache[id][ev]=[];el.observe(ev,cache[id]["$observer"])}for(var selectorStr in rules){rules[selectorStr]=[rules[selectorStr],new Selector(selectorStr)]
}cache[id][ev].push(rules);return el},stopDelegating:function(element,eventName){if(element===undefined){for(var id in cache){Event.stopDelegating(id=="$document"?document:id)}cache={};return true}if(Object.isString(arguments[2])){var rules={};rules[arguments[2]]=true}else{if(arguments[2]){var rules=arguments[2]}else{var rules=false}}var el=$(element),ev=eventName,id=el.identify?el.identify():"$document";
if(cache[id]){if(ev&&cache[id][ev]){for(var i=0,len=cache[id][ev].length;i<len;i++){if(rules){for(var selector in rules){delete cache[id][ev][i][selector]}}if(!rules||$H(cache[id][ev][i]).size()==0){el.stopObserving(ev,cache[id]["$observer"]);cache[id][ev][i]="r"}}cache[id][ev]=cache[id][ev].without("r")}else{for(var evName in cache[id]){if(evName!="$observer"){el.stopObserving(evName,cache[id]["$observer"])
}}delete cache[id]}}return el}}})());Element.addMethods({delegate:Event.delegate,stopDelegating:Event.stopDelegating});document.delegate=Event.delegate.curry(document);document.stopDelegating=Event.stopDelegating.curry(document);Event.observe(window,"unload",Event.stopDelegating);Ajax.Responders.register({ajaxOverlayer:null,onCreate:onCreate,onComplete:onComplete,onException:function(tr,ex){if(window.console){console.log(ex)
}}});function onCreate(ajax){if(!Object.isUndefined(ajax.options.overlayer)){var color=ajax.options.overlayer.color||"#DDE6F9";var opacity=ajax.options.overlayer.opacity||0.5;var container=ajax.options.overlayer.id||document.body.identify();var zIndex=ajax.options.overlayer.zIndex||10;var autoRepo=!!(ajax.options.overlayer.autoReposition);var cumulativeOffset=ajax.options.cumulativeOffset;if(!this.ajaxOverlayer){this.ajaxOverlayer=new Loader(container,{color:color,opacity:opacity,zIndex:zIndex,src:"/modules/default/img/misc/ajax-loader.gif",container:$(document.body).identify(),autoReposition:autoRepo,cumulativeOffset:cumulativeOffset})
}else{if(container!=this.ajaxOverlayer.getContainer()){this.ajaxOverlayer.setContainer(container)}}this.ajaxOverlayer.show()}if(!Object.isUndefined(ajax.options.inlineLoader)){if(!this.inlineLoader){this.inlineLoader=new LoaderInline()}this.inlineLoader.moveAfter(ajax.options.inlineLoader);this.inlineLoader.show()}if(!Object.isUndefined(ajax.options.message)){setDefaultMessageIcon();$("loadingMessage").update(ajax.options.message);
$("loading").style.display="block"}}function onComplete(ajax,tr,json){try{if(json&&json.update){var data=null;if(json.dataProvider=="response"){data=tr.responseText.evalJSON()}else{data=json}ModifyDom.processAjaxHelperData(data)}}catch(ex){if(console){console.log(ex)}}var timeout;var dispatch=true;if(ajax.options.overlayer){this.ajaxOverlayer.hide()}if(ajax.options.inlineLoader){this.inlineLoader.hide()
}if(Object.isUndefined(ajax.options.messageTimeout)){timeout=1000}else{if(!(timeout=ajax.options.messageTimeout)){dispatch=false}}if(dispatch){if(window.messageTimeoutAjax){clearTimeout(window.messageTimeoutAjax)}window.messageTimeoutAjax=setTimeout(function(){if($("loading")!=null){$("loading").hide()}},timeout)}}function setDefaultMessageIcon(){var loadingIcon=(window!=window.top?window.top.$("loadingIcon"):$("loadingIcon"));
if(!loadingIcon){return}if(!window.oldIcon){window.oldIcon={src:"/modules/default/img/misc/loading.gif",width:16,height:16}}loadingIcon.src=window.oldIcon.src;loadingIcon.width=window.oldIcon.width;loadingIcon.height=window.oldIcon.height}function UIMessage(message,type,lastFor){var loadingIcon=(window!=window.top?window.top.document.getElementById("loadingIcon"):$("loadingIcon"));if(loadingIcon.src==null){return
}switch(type){case"warning":loadingIcon.src="/modules/default/img/misc/_warning.png";loadingIcon.width=14;loadingIcon.height=14;break;case"error":loadingIcon.src="/modules/default/img/misc/_error.png";loadingIcon.width=14;loadingIcon.height=14;break;case"done":loadingIcon.src="/modules/default/img/misc/_done.png";loadingIcon.width=14;loadingIcon.height=14;break;case"help":loadingIcon.src="/modules/default/img/misc/_help.png";
loadingIcon.width=14;loadingIcon.height=14;break;case"loading":setDefaultMessageIcon();break;case"info":default:loadingIcon.src="/modules/default/img/misc/_info.png";loadingIcon.width=14;loadingIcon.height=14;break}if(window!=window.top){window.top.document.getElementById("loadingMessage").innerHTML=message;window.top.document.getElementById("loading").style.display="block";setTimeout(function(){window.top.document.getElementById("loading").style.display="none"
},(lastFor?lastFor:1000))}else{$("loadingMessage").update(message);$("loading").style.display="block";setTimeout(function(){$("loading").hide()},(lastFor?lastFor:1000))}}function setCookie(name,value,days,path){if(Object.isUndefined("path")){throw ("Path parameter is required!")}var expires="";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString()
}document.cookie=name+"="+value+expires+"; path="+path}function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return null}function fireEvent(obj,evt){var fireOnThis=obj;if(document.createEvent){var evObj=document.createEvent("MouseEvents");
evObj.initEvent(evt,true,false);fireOnThis.dispatchEvent(evObj)}else{if(document.createEventObject){fireOnThis.fireEvent("on"+evt)}}}function showAbuseForm(context,userid,email,refference){Dialog.Confirm.ajax("/abuse/?context="+context,{modal:true,title:"Raporteaza abuz",zindex:2,width:400,height:390,id:"abuseWindow",onSuccess:function(){Abuse.context=context;Abuse.targetUserid=userid;Abuse.targetUsername=email;
Abuse.refference=refference;if(!Abuse.send()){return false}Abuse.displayConfirmation();return false},onFailure:function(){Abuse.cancel()}})}function UCWords(str){var arrStr=str.split(" ");var strOut="";for(var i=0;i<arrStr.length;i++){var firstChar=arrStr[i].substring(0,1);var remainChar=arrStr[i].substring(1);firstChar=firstChar.toUpperCase();remainChar=remainChar.toLowerCase();strOut+=firstChar+remainChar+" "
}return strOut.substring(0,strOut.length-1)}var LoginHeader={form:null,listeners:$H({}),observersForSwitchable:$H({text:["focus"],password:["blur"]}),init:function(form){this.form=form;this.onInputFocusBinded=this.onInputFocus.bindAsEventListener(this);this.onInputBlurBinded=this.onInputBlur.bindAsEventListener(this);this.listeners.set("focus",this.onInputFocusBinded);this.listeners.set("blur",this.onInputBlurBinded);
this.form.observe("submit",this.onSubmit.bindAsEventListener(this));form.select("input[type=text]","input[type=password]").each(function(input){if(input.hasClassName("switchable")){input=this._changeInput(input,true)}input.value=input.title+":";this.attachObservers(input)}.bind(this))},attachObservers:function(input,listeners){if(input.hasClassName("switchable")){listeners=this.observersForSwitchable.get(input.type)
}(listeners||this.listeners.keys()).each(function(event){input.observe(event,this.listeners.get(event))}.bind(this))},deattachObservers:function(input,listeners){if(input.hasClassName("switchable")){listeners=this.observersForSwitchable.get(input.type)}(listeners||this.listeners.keys()).each(function(event){input.stopObserving(event,this.listeners.get(event))}.bind(this))},onSubmit:function(e){var doLogin=true;
e.element().select("input[type=text]","input[type=password]").detect(function(input){var value=input.value.strip();if(!value.length||value==(input.title+":")){doLogin=false;throw $break}});if(!doLogin){e.stop()}},onInputFocus:function(e){var elem=e.element();if(elem.hasClassName("switchable")){elem=this._changeInput(elem);elem.focus()}if(elem.value==(elem.title+":")){elem.value=""}else{elem.select()
}},onInputBlur:function(e){var elem=e.element();if(!elem.value.strip().length){if(elem.hasClassName("switchable")){elem=this._changeInput(elem)}elem.value=elem.readAttribute("title")+":"}},_changeInput:function(input,skipObservers){var newType=null;if(input.type=="text"){newType="password"}else{newType="text"}var parent=input.up();var newInput=new Element("input",{type:newType,value:""});["id","name","class","className","title"].each(function(attr){newInput.setAttribute(attr,input.readAttribute(attr))
});if(!skipObservers){this.deattachObservers(input)}input.remove();parent.insert(newInput);if(!skipObservers){this.attachObservers(newInput)}return newInput}};document.observe("dom:loaded",function(){if($("top-right-search")){var searcher=new communitySearcher({id:"top-right-search",communityType:"targets"});Event.observe($("targets"),"change",function(event){searcher.beginLazySearch(event)}.bind(this))
}var loginForm=$("loginForm");if(!loginForm){return}if(!loginForm.hasClassName("header")){return}LoginHeader.init(loginForm)});var Sidebar={container:null,state:{},loading:false,COOKIE_NAME:"sidebarState",COOKIE_LIFETIME:30,init:function(container){this.container=$(container);if(!this.container){return}this.restoreState();this.attachListeners();if(!this.container.hasClassName("loaded")){this.reload()
}},reload:function(){if(this.loading){return false}this.loading=true;new Ajax.Request("/index/fetch-sidebar.ajax",{method:"get",onSuccess:function(tr){$("sidebar").update(tr.responseText);this.loading=false}.bind(this)});return true},restoreState:function(){var state=null;if(!(state=readCookie(this.COOKIE_NAME))){this.container.select("a.titleMenu").each(function(sectionTitle){var section=sectionTitle.up("li");
if(!section.hasClassName("toggleable")){return}this.state[sectionTitle.identify()]=!section.hasClassName("closed")}.bind(this))}else{this.state=state.evalJSON()}},saveState:function(){setCookie(this.COOKIE_NAME,Object.toJSON(this.state),this.COOKIE_LIFETIME,"/")},attachListeners:function(){$(document.body).delegate("click",{"#nav a.btnCloseOpen ":this.showHideSection.bind(this),"#nav span.notificationBubble":this.showHideSection.bind(this)});
$(document.body).delegate("mouseover",{"#nav .titleMenu":this.titleMenuToggle.bind(this)});$(document.body).delegate("mouseout",{"#nav .titleMenu":this.titleMenuToggle.bind(this)})},titleMenuToggle:function(e){var hint=e.element().down("span");if(hint){hint.toggle()}},showHideSection:function(e){var section=null;var sectionTitle=e.element();if(sectionTitle.hasClassName("btnCloseOpen")){sectionTitle=sectionTitle.previous("a.titleMenu")
}section=sectionTitle.up("li");if(!section.hasClassName("toggleable")){return}e.stop();section.toggleClassName("closed");this.state[sectionTitle.identify()]=!section.hasClassName("closed");this.saveState()},addEducation:function(cid,instName,members,newMembers){var elems=$("myEducationSidebar").childElements();for(var i=0;i<elems.length;i++){if("myEducationSidebar_"+cid==elems[i].id){return}}var newHTML="";
var membersHTML="";if(members!==null&&newMembers!=null){if(newMembers!=null&&newMembers!=0){membersHTML='<a href="/community/members?cid='+cid+'" class="details">'+newMembers+"<span>/"+members+" colegi</span></a>"}else{membersHTML='<a href="/community/members?cid='+cid+'" class="details"></a>'}}newHTML='<li id="myEducationSidebar_'+cid+'"><a href="/community/news?cid='+cid+'" class="list">'+instName+"</a>"+membersHTML+"</li>";
$("myEducationSidebar").innerHTML=$("myEducationSidebar").innerHTML+newHTML},removeEducation:function(cid){if($("myEducationSidebar_"+cid)!=null){$("myEducationSidebar_"+cid).remove()}}};var SearchBar={form:null,menu:null,queryInput:null,querySelect:null,hasFocus:false,STATE_EXTENDED:"extended",STATE_RETRACTED:"retracted",CUSTOM_CLICK_EVENT:"input:clicked",init:function(form,menu){this.form=$(form);
this.menu=$(menu);this.queryInput=this.form.down("input");this.querySelect=this.form.down("select");this.attachListeners()},attachListeners:function(){this.queryInput.observe("focus",this.focusHandler.bindAsEventListener(this));this.queryInput.observe("blur",this.blurHandler.bindAsEventListener(this));this.queryInput.observe("keydown",this.keydownHandler.bindAsEventListener(this));this.querySelect.observe("click",this.clickHandler.bindAsEventListener(this));
this.querySelect.observe("change",this.changeHandler.bindAsEventListener(this))},getState:function(){if(this.form.hasClassName(this.STATE_EXTENDED)){return this.STATE_EXTENDED}return this.STATE_RETRACTED},focusHandler:function(ev){Event.element(ev).fire(this.CUSTOM_CLICK_EVENT,"");this.hasFocus=true;if(this.getState()==this.STATE_EXTENDED){return}this.extendSearchBar()},blurHandler:function(){this.hasFocus=false;
this.retractSearchBar.bind(this).delay(0.15)},keydownHandler:function(e){if(e.keyCode==Event.KEY_ESC){this.queryInput.blur()}if(this.querySelect.size!=1){this.querySelect.size=1}},clickHandler:function(){this.hasFocus=true},changeHandler:function(){this.querySelect.size=1;this.queryInput.focus()},extendSearchBar:function(){this.menu.hide();this.form.addClassName(this.STATE_EXTENDED);this.querySelect.size=6
},retractSearchBar:function(){if(this.hasFocus){return}if(this.queryInput.value.length>3){return}this.form.removeClassName(this.STATE_EXTENDED);this.querySelect.size=1;this.menu.show()}};document.observe("dom:loaded",function(){Sidebar.init("nav");if($("searchForm")){SearchBar.init("searchForm","siteMenu")}if($("showMail")){if(readCookie("newMails")!=0){showMail()}}if($("hideMilitaryCareer")){$("hideMilitaryCareer").observe("click",hideMilitaryCareer)
}});function showMail(){new Ajax.Request("/mail/index/show-mail.ajax",{method:"get",asynchronous:true,onSuccess:function(transport){var resp=transport.responseText.evalJSON();if(resp.success&&resp.showMail){$("mailContent").innerHTML=resp.mail.body;$("mailId").value=resp.mail.no;$("mailSenderMailbox").value=resp.mail.sender.mailbox;$("mailSubject").value="RE: "+resp.mail.subject;if(resp.mail.user.photo){$("mailPhoto").down("img").src=$("mailPhoto").up("p").down("input").value+resp.mail.user.photo;
$("mailPhoto").up("p").show()}var name=resp.mail.user.firstname+" "+resp.mail.user.lastname;if(resp.mail.user.name_before_marriage){name+=" ("+resp.mail.user.name_before_marriage+")"}$("mailSender").innerHTML=name;$("mailSender").href="/profile/show/?userid="+resp.mail.user.userid;$("mailPhoto").href="/profile/show/?userid="+resp.mail.user.userid;$("view").show();Effect.Appear($("showMail"),{duration:1})
}}})}function mailView(){var form=document.createElement("form");form.setAttribute("method","post");form.setAttribute("action","/mail/messages/Inbox");var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden");hiddenField.setAttribute("name","messageId");hiddenField.setAttribute("value","Inbox_"+$("mailId").value);form.appendChild(hiddenField);document.body.appendChild(form);
form.submit()}function mailIgnore(){new Ajax.Request("/mail/index/ignore-mail.ajax",{method:"get",parameters:{messageId:$("mailId").value},onSuccess:function(transport){var resp=transport.responseText.evalJSON();Effect.Fade($("showMail"),{duration:1});if(resp.success&&resp.showMail){showMail()}}})}function hideMilitaryCareer(e){setCookie("um",1,365,"/");Effect.Fade(e.element().up("ul"),{duration:1})
}String.prototype.parseColor=function(){var color="#";if(this.slice(0,4)=="rgb("){var cols=this.slice(4,this.length-1).split(",");var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var i=1;i<4;i++){color+=(this.charAt(i)+this.charAt(i)).toLowerCase()}}if(this.length==7){color=this.toLowerCase()}}}return(color.length==7?color:(arguments[0]||this))
};Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):""))
}).flatten().join("")};Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return element};Element.getInlineOpacity=function(element){return $(element).style.opacity||""};Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(" ");element.appendChild(n);
element.removeChild(n)}catch(e){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5},reverse:function(pos){return 1-pos},flicker:function(pos){var pos=((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;
return pos>1?1:pos},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5},pulse:function(pos,pulses){pulses=pulses||5;return(((pos%(1/pulses))*pulses).round()==0?((pos*pulses*2)-(pos*pulses*2).floor()):1-((pos*pulses*2)-(pos*pulses*2).floor()))},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,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(element){var tagifyStyle="position:relative";
if(Prototype.Browser.IE){tagifyStyle+=";zoom:1"}element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(new Element("span",{style:tagifyStyle}).update(character==" "?String.fromCharCode(160):character),child)});Element.remove(child)}})},multiple:function(element,effect){var elements;if(((typeof element=="object")||Object.isFunction(element))&&(element.length)){elements=element
}else{elements=$(element).childNodes}var options=Object.extend({speed:0.1,delay:0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(element,effect){element=$(element);
effect=(effect||"appear").toLowerCase();var options=Object.extend({queue:{position:"end",scope:(element.id||"global"),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(iterator){this.effects._each(iterator)
},add:function(effect){var timestamp=new Date().getTime();var position=Object.isString(effect.options.queue)?effect.options.queue:effect.options.queue.position;switch(position){case"front":this.effects.findAll(function(e){return e.state=="idle"}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn});break;case"with-last":timestamp=this.effects.pluck("startOn").max()||timestamp;break;
case"end":timestamp=this.effects.pluck("finishOn").max()||timestamp;break}effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit)){this.effects.push(effect)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);
this.interval=null}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++){this.effects[i]&&this.effects[i].loop(timePos)}}});Effect.Queues={instances:$H(),get:function(queueName){if(!Object.isString(queueName)){return queueName}return this.instances.get(queueName)||this.instances.set(queueName,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");
Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+"Internal"]?"this.options."+eventName+"Internal(this);":"")+(options[eventName]?"this.options."+eventName+"(this);":""))}if(options&&options.transition===false){options.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});
this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if (this.state=="idle"){this.state="running";'+codeForEvent(this.options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(this.options,"afterSetup")+'};if (this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+codeForEvent(this.options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(this.options,"afterUpdate")+"}}");
this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var pos=(timePos-this.startOn)/this.totalTime,frame=(pos*this.totalFrames).round();
if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(eventName){if(this.options[eventName+"Internal"]){this.options[eventName+"Internal"](this)}if(this.options[eventName]){this.options[eventName](this)
}},inspect:function(){var data=$H();for(property in this){if(!Object.isFunction(this[property])){data.set(property,this[property])}}return"#<Effect:"+data.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(effects){this.effects=effects||[];this.start(arguments[1])},update:function(position){this.effects.invoke("render",position)},finish:function(position){this.effects.each(function(effect){effect.render(1);
effect.cancel();effect.event("beforeFinish");if(effect.finish){effect.finish(position)}effect.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(object,from,to){object=Object.isString(object)?$(object):object;var args=$A(arguments),method=args.last(),options=args.length==5?args[3]:null;this.method=Object.isFunction(method)?method.bind(object):Object.isFunction(object[method])?object[method].bind(object):function(value){object[method]=value
};this.start(Object.extend({from:from,to:to},options||{}))},update:function(position){this.method(position)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element){throw (Effect._elementDoesNotExistError)
}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var options=Object.extend({from:this.element.getOpacity()||0,to:1},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,scaleTo:percent},arguments[2]||{});
this.start(options)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(k){this.originalStyle[k]=this.element.style[k]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle("font-size")||"100%";
["em","px","%","pt"].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]
}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(position){var currentScale=(this.options.scaleFrom/100)+(this.factor*position);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType})}this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale)},finish:function(position){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)
}},setDimensions:function(height,width){var d={};if(this.options.scaleX){d.width=width.round()+"px"}if(this.options.scaleY){d.height=height.round()+"px"}if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){d.top=this.originalTop-topd+"px"}if(this.options.scaleX){d.left=this.originalLeft-leftd+"px"
}}else{if(this.options.scaleY){d.top=-topd+"px"}if(this.options.scaleX){d.left=-leftd+"px"}}}this.element.setStyle(d)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element){throw (Effect._elementDoesNotExistError)}var options=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(options)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();
return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)
}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this))},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(m,v,i){return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))
}});Effect.ScrollTo=function(element){var options=arguments[1]||{},scrollOffsets=document.viewport.getScrollOffsets(),elementOffsets=$(element).cumulativeOffset(),max=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(options.offset){elementOffsets[1]+=options.offset}return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1]>max?max: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,to: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:element.getOpacity()||0),to:1,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})],Object.extend({duration:1,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})],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;var oldStyle={top:element.getStyle("top"),left:element.getStyle("left")};
return new Effect.Move(element,{x:distance,y:0,duration:split,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:distance*2,y:0,duration:split*2,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-distance,y:0,duration:split,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle)
}})}})}})}})}})}})};Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle("bottom");var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();
effect.element.down().makePositioned();if(window.opera){effect.element.setStyle({top:""})}effect.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+"px"})},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom})
}},arguments[1]||{}))};Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle("bottom");var elementDimensions=element.getDimensions();return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();
effect.element.down().makePositioned();if(window.opera){effect.element.setStyle({top:""})}effect.element.makeClipping().show()},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+"px"})},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom})
}},arguments[1]||{}))};Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping()},afterFinishInternal:function(effect){effect.element.hide().undoClipping()}})};Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});
var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case"top-left":initialMoveX=initialMoveY=moveX=moveY=0;break;case"top-right":initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;
case"bottom-left":initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case"bottom-right":initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case"center":initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break}return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned()
},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1,from: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",posX:0,posY:0,moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};
var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case"top-left":moveX=moveY=0;break;case"top-right":moveX=dims.width;moveY=0;break;case"bottom-left":moveX=0;moveY=dims.height;break;case"bottom-right":moveX=dims.width;moveY=dims.height;break;case"center":moveX=dims.width/2;moveY=dims.height/2;break;case"custom":moveX=options.posX;moveY=options.posY;break}return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0,from:1,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]||{};var oldOpacity=element.getInlineOpacity();var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos,options.pulses))
};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity})}},options),{transition:reverser}))};Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();
return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element){throw (Effect._elementDoesNotExistError)
}var options=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(options.style)){this.style=$H(options.style)}else{if(options.style.include(":")){this.style=options.style.parseStyle()}else{this.element.addClassName(options.style);this.style=$H(this.element.getStyles());this.element.removeClassName(options.style);var css=this.element.getStyles();this.style=this.style.reject(function(style){return style.value==css[style.key]
});options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){effect.element.style[transform.style]=""})}}}this.start(options)},setup:function(){function parseColor(color){if(!color||["rgba(0, 0, 0, 0)","transparent"].include(color)){color="#ffffff"}color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16)
})}this.transforms=this.style.map(function(pair){var property=pair[0],value=pair[1],unit=null;if(value.parseColor("#zzzzzz")!="#zzzzzz"){value=value.parseColor();unit="color"}else{if(property=="opacity"){value=parseFloat(value);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null}}}var originalValue=this.element.getStyle(property);return{style:property.camelize(),originalValue:unit=="color"?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=="color"?parseColor(value):value,unit:unit}}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!="color"&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))))
})},update:function(position){var style={},transform,i=this.transforms.length;while(i--){style[(transform=this.transforms[i]).style]=transform.unit=="color"?"#"+(Math.round(transform.originalValue[0]+(transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart()+(Math.round(transform.originalValue[1]+(transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart()+(Math.round(transform.originalValue[2]+(transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart():(transform.originalValue+(transform.targetValue-transform.originalValue)*position).toFixed(3)+(transform.unit===null?"":transform.unit)
}this.element.setStyle(style,true)}});Effect.Transform=Class.create({initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks)},addTracks:function(tracks){tracks.each(function(track){track=$H(track);var data=track.values().first();this.tracks.push($H({ids:track.keys().first(),effect:Effect.Morph,options:{style:data}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var ids=track.get("ids"),effect=track.get("effect"),options=track.get("options");
var elements=[$(ids)||$$(ids)].flatten();return elements.map(function(e){return new effect(e,Object.extend({sync:true},options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");
Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");String.prototype.parseStyle=function(){var style,styleRules=$H();if(Prototype.Browser.WebKit){style=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';style=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(property){if(style[property]){styleRules.set(property,style[property])
}});if(Prototype.Browser.IE&&this.include("opacity")){styleRules.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return styleRules};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(element){var css=document.defaultView.getComputedStyle($(element),null);return Element.CSS_PROPERTIES.inject({},function(styles,property){styles[property]=css[property];
return styles})}}else{Element.getStyles=function(element){element=$(element);var css=element.currentStyle,styles;styles=Element.CSS_PROPERTIES.inject({},function(results,property){results[property]=css[property];return results});if(!styles.opacity){styles.opacity=element.getOpacity()}return styles}}Effect.Methods={morph:function(element,style){element=$(element);new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));
return element},visualEffect:function(element,effect,options){element=$(element);var s=effect.dasherize().camelize(),klass=s.charAt(0).toUpperCase()+s.substring(1);new Effect[klass](element,options);return element},highlight:function(element,options){element=$(element);new Effect.Highlight(element,options);return element}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(effect){Effect.Methods[effect]=function(element,options){element=$(element);
Effect[effect.charAt(0).toUpperCase()+effect.substring(1)](element,options);return element}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(f){Effect.Methods[f]=Element[f]});Element.addMethods(Effect.Methods);if(typeof Effect=="undefined"){throw ("controls.js requires including script.aculo.us' effects.js library")}var Autocompleter={};
Autocompleter.Base=Class.create({baseInitialize:function(element,update,options){element=$(element);this.element=element;this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(options)}else{this.options=options||{}}this.options.paramName=this.options.paramName||this.element.name;
this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(element,update){if(!update.style.position||update.style.position=="absolute"){update.style.position="absolute";Position.clone(element,update,{setHeight:false,offsetTop:element.offsetHeight})}$(update).show()};
this.options.onHide=this.options.onHide||function(element,update){$(update).hide()};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));
Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
this.iefix=$(this.update.id+"_iefix")}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)
}if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(event){if(this.active){switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;
Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(event);return}}else{if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&event.keyCode==0)){return}}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)
}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(event){var element=Event.findElement(event,"LI");if(this.index!=element.autocompleteIndex){this.index=element.autocompleteIndex;this.render()}Event.stop(event)},onClick:function(event){var element=Event.findElement(event,"LI");
this.index=element.autocompleteIndex;this.selectEntry();this.hide()},onBlur:function(event){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false},render:function(){if(this.entryCount>0){for(var i=0;i<this.entryCount;i++){this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"selected")}if(this.hasFocus){this.show();this.active=true
}}else{this.active=false;this.hide()}},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1}this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0}this.getEntry(this.index).scrollIntoView(false)},getEntry:function(index){return this.update.firstChild.childNodes[index]},getCurrentEntry:function(){return this.getEntry(this.index)
},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry())},updateElement:function(selectedElement){if(this.options.updateElement){this.options.updateElement(selectedElement);return}var value="";if(this.options.select){var nodes=$(selectedElement).select("."+this.options.select)||[];if(nodes.length>0){value=Element.collectTextNodes(nodes[0],this.options.select)}}else{value=Element.collectTextNodesIgnoreClass(selectedElement,"informal")
}var bounds=this.getTokenBounds();if(bounds[0]!=-1){var newValue=this.element.value.substr(0,bounds[0]);var whitespace=this.element.value.substr(bounds[0]).match(/^\s+/);if(whitespace){newValue+=whitespace[0]}this.element.value=newValue+value+this.element.value.substr(bounds[1])}else{this.element.value=value}this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,selectedElement)
}},updateChoices:function(choices){if(!this.changed&&this.hasFocus){this.update.innerHTML=choices;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var i=0;i<this.entryCount;i++){var entry=this.getEntry(i);entry.autocompleteIndex=i;this.addObservers(entry)
}}else{this.entryCount=0}this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()}}},addObservers:function(element){Event.observe(element,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(element,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;
if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices()}else{this.active=false;this.hide()}this.oldElementValue=this.element.value},getToken:function(){var bounds=this.getTokenBounds();return this.element.value.substring(bounds[0],bounds[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds}var value=this.element.value;if(value.strip().empty()){return[-1,0]
}var diff=arguments.callee.getFirstDifferencePos(value,this.oldElementValue);var offset=(diff==this.oldElementValue.length?1:0);var prevTokenPos=-1,nextTokenPos=value.length;var tp;for(var index=0,l=this.options.tokens.length;index<l;++index){tp=value.lastIndexOf(this.options.tokens[index],diff+offset-1);if(tp>prevTokenPos){prevTokenPos=tp}tp=value.indexOf(this.options.tokens[index],diff+offset);if(-1!=tp&&tp<nextTokenPos){nextTokenPos=tp
}}return(this.tokenBounds=[prevTokenPos+1,nextTokenPos])}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(newS,oldS){var boundary=Math.min(newS.length,oldS.length);for(var index=0;index<boundary;++index){if(newS[index]!=oldS[index]){return index}}return boundary};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);
this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url},getUpdatedChoices:function(){this.startIndicator();var entry=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams
}new Ajax.Request(this.url,this.options)},onComplete:function(request){this.updateChoices(request.responseText)}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(element,update,array,options){this.baseInitialize(element,update,options);this.options.array=array},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(options){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(instance){var ret=[];
var partial=[];var entry=instance.getToken();var count=0;for(var i=0;i<instance.options.array.length&&ret.length<instance.options.choices;i++){var elem=instance.options.array[i];var foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase()):elem.indexOf(entry);while(foundPos!=-1){if(foundPos==0&&elem.length!=entry.length){ret.push("<li><strong>"+elem.substr(0,entry.length)+"</strong>"+elem.substr(entry.length)+"</li>");
break}else{if(entry.length>=instance.options.partialChars&&instance.options.partialSearch&&foundPos!=-1){if(instance.options.fullSearch||/\s/.test(elem.substr(foundPos-1,1))){partial.push("<li>"+elem.substr(0,foundPos)+"<strong>"+elem.substr(foundPos,entry.length)+"</strong>"+elem.substr(foundPos+entry.length)+"</li>");break}}}foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase(),foundPos+1):elem.indexOf(entry,foundPos+1)
}}if(partial.length){ret=ret.concat(partial.slice(0,instance.options.choices-ret.length))}return"<ul>"+ret.join("")+"</ul>"}},options||{})}});Field.scrollFreeActivate=function(field){setTimeout(function(){Field.activate(field)},1)};Ajax.InPlaceEditor=Class.create({initialize:function(element,url,options){this.url=url;this.element=element=$(element);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(options);
Object.extend(this.options,options||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=""}}if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl)}if(!this.options.externalControl){this.options.externalControlOnly=false}this._originalBackground=this.element.getStyle("background-color")||"transparent";
this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(e){if(!this._editing||e.ctrlKey||e.altKey||e.shiftKey){return
}if(Event.KEY_ESC==e.keyCode){this.handleFormCancellation(e)}else{if(Event.KEY_RETURN==e.keyCode){this.handleFormSubmission(e)}}},createControl:function(mode,handler,extraClasses){var control=this.options[mode+"Control"];var text=this.options[mode+"Text"];if("button"==control){var btn=document.createElement("input");btn.type="submit";btn.value=text;btn.className="editor_"+mode+"_button";if("cancel"==mode){btn.onclick=this._boundCancelHandler
}this._form.appendChild(btn);this._controls[mode]=btn}else{if("link"==control){var link=document.createElement("a");link.href="#";link.appendChild(document.createTextNode(text));link.onclick="cancel"==mode?this._boundCancelHandler:this._boundSubmitHandler;link.className="editor_"+mode+"_link";if(extraClasses){link.className+=" "+extraClasses}this._form.appendChild(link);this._controls[mode]=link}}},createEditField:function(){var text=(this.options.loadTextURL?this.options.loadingText:this.getText());
var fld;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){fld=document.createElement("input");fld.type="text";var size=this.options.size||this.options.cols||0;if(0<size){fld.size=size}}else{fld=document.createElement("textarea");fld.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);fld.cols=this.options.cols||40}fld.name=this.options.paramName;fld.value=text;fld.className="editor_field";
if(this.options.submitOnBlur){fld.onblur=this._boundSubmitHandler}this._controls.editor=fld;if(this.options.loadTextURL){this.loadExternalText()}this._form.appendChild(this._controls.editor)},createForm:function(){var ipe=this;function addText(mode,condition){var text=ipe.options["text"+mode+"Controls"];if(!text||condition===false){return}ipe._form.appendChild(document.createTextNode(text))}this._form=$(document.createElement("form"));
this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"))}if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form)}addText("Before",this.options.okControl||this.options.cancelControl);
this.createControl("ok",this._boundSubmitHandler);addText("Between",this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");addText("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML}this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(e){if(this._saving||this._editing){return
}this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide()}this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField()}if(e){Event.stop(e)}},enterHover:function(e){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName)
}if(this._saving){return}this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML},handleAJAXFailure:function(transport){this.triggerCallback("onFailure",transport);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null}},handleFormCancellation:function(e){this.wrapUp();if(e){Event.stop(e)}},handleFormSubmission:function(e){var form=this._form;
var value=$F(this._controls.editor);this.prepareSubmission();var params=this.options.callback(form,value)||"";if(Object.isString(params)){params=params.toQueryParams()}params.editorId=this.element.id;if(this.options.htmlResponse){var options=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(options,{parameters:params,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});
new Ajax.Updater({success:this.element},this.url,options)}else{var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:params,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,options)}if(e){Event.stop(e)}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();
this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show()}this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")},leaveHover:function(e){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName)}if(this._saving){return
}this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){this._form.removeClassName(this.options.loadingClassName);
var text=transport.responseText;if(this.options.stripLoadedTextTags){text=text.stripTags()}this._controls.editor.value=text;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,options)},postProcessEditField:function(){var fpc=this.options.fieldPostCreation;if(fpc){$(this._controls.editor)["focus"==fpc?"focus":"activate"]()
}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(defs){Object.extend(this.options,defs)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};
var listener;$H(Ajax.InPlaceEditor.Listeners).each(function(pair){listener=this[pair.value].bind(this);this._listeners[pair.key]=listener;if(!this.options.externalControlOnly){this.element.observe(pair.key,listener)}if(this.options.externalControl){this.options.externalControl.observe(pair.key,listener)}}.bind(this))},removeForm:function(){if(!this._form){return}this._form.remove();this._form=null;
this._controls={}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(cbName,arg){if("function"==typeof this.options[cbName]){this.options[cbName](this,arg)}},unregisterListeners:function(){$H(this._listeners).each(function(pair){if(!this.options.externalControlOnly){this.element.stopObserving(pair.key,pair.value)
}if(this.options.externalControl){this.options.externalControl.stopObserving(pair.key,pair.value)}}.bind(this))},wrapUp:function(transport){this.leaveEditMode();this._boundComplete(transport,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,element,url,options){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;
$super(element,url,options)},createEditField:function(){var list=document.createElement("select");list.name=this.options.paramName;list.size=1;this._controls.editor=list;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection()}else{this.checkForExternalText()}this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);
this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw"Server returned an invalid collection representation."}this._collection=eval(js);
this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options)},showLoadingText:function(text){this._controls.editor.disabled=true;var tempOption=this._controls.editor.firstChild;if(!tempOption){tempOption=document.createElement("option");tempOption.value="";this._controls.editor.appendChild(tempOption);tempOption.selected=true}tempOption.update((text||"").stripScripts().stripTags())
},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText()}else{this.buildOptionList()}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){this._text=transport.responseText.strip();
this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,options)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(entry){return 2===entry.length?entry:[entry,entry].flatten()});var marker=("value" in this.options)?this.options.value:this._text;var textFound=this._collection.any(function(entry){return entry[0]==marker
}.bind(this));this._controls.editor.update("");var option;this._collection.each(function(entry,index){option=document.createElement("option");option.value=entry[0];option.selected=textFound?entry[0]==marker:0==index;option.appendChild(document.createTextNode(entry[1]));this._controls.editor.appendChild(option)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)
}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(options){if(!options){return}function fallback(name,expr){if(name in options||expr===undefined){return}options[name]=expr}fallback("cancelControl",(options.cancelLink?"link":(options.cancelButton?"button":options.cancelLink==options.cancelButton==false?false:undefined)));fallback("okControl",(options.okLink?"link":(options.okButton?"button":options.okLink==options.okButton==false?false:undefined)));
fallback("highlightColor",options.highlightcolor);fallback("highlightEndColor",options.highlightendcolor)};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(form){return Form.serialize(form)
},onComplete:function(transport,element){new Effect.Highlight(element,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(ipe){ipe.element.style.backgroundColor=ipe.options.highlightColor;if(ipe._effect){ipe._effect.cancel()}},onFailure:function(transport,ipe){alert("Error communication with the server: "+transport.responseText.stripTags())
},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(ipe){ipe._effect=new Effect.Highlight(ipe.element,{startcolor:ipe.options.highlightColor,endcolor:ipe.options.highlightEndColor,restorecolor:ipe._originalBackground,keepBackgroundImage:true})}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};
Form.Element.DelayedObserver=Class.create({initialize:function(element,delay,callback){this.delay=delay||0.5;this.element=$(element);this.callback=callback;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))},delayedListener:function(event){if(this.lastValue==$F(this.element)){return}if(this.timer){clearTimeout(this.timer)
}this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element)},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element))}});function toggleFeedbackForm(){if($("feedbackForm").getWidth()<200){$("feedbackForm").morph("width:407px;");$("feedbackFormContainer").morph("width:450px;");$("submitFeedbackForm").show();$("feedbackButton").morph("right:398px;");
$("feedbackButtonLink").addClassName("buttonOff");setCombos(false)}else{$("feedbackForm").morph("width:0px;");$("feedbackFormContainer").morph("width:50px;");$("submitFeedbackForm").hide();$("feedbackButton").morph("right:-9px;");$("feedbackButtonLink").removeClassName("buttonOff");setCombos(true)}return false}function setCombos(visible){Prototype.Browser.IE6=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6;
if(!Prototype.Browser.IE6){var elements=$("main").select("select");if($("signup")){var formElements=$("signup").select("input")}if(visible){elements.each(function(item){if(!item.hasClassName("profileConfSelect")){item.show()}});if(formElements){formElements.each(function(item){if($(item.identify()).style.display!="none"){$(item.identify()).style.display="inline";$(item.identify()).show()}})}}else{elements.each(function(item){item.hide()
});if(formElements){formElements.each(function(item){if($(item.identify()).style.display!="none"){$(item.identify()).style.display="inline";$(item.identify()).show()}})}}}else{if(visible){if($("sortResultsSelect")){$("sortResultsSelect").show()}}else{GoToTop();if($("sortResultsSelect")){$("sortResultsSelect").hide()}}}}document.observe("dom:loaded",function(){if($("formFeedback")===null){return}$("formFeedback").observe("submit",function(ev){ev.stop();
if($("feedbackCaptcha").value=="insereaza codul din stanga"||$("feedbackCaptcha").value==""){$("captchError").show();return}$("formFeedback").submit()})});Autocompleter.Advanced=new Class.create(Autocompleter.Local,{initialize:function(replacedInput,array,options,autocompleteList){array=array||[];options=options||[];this.tokenCount=0;this.replacedInput=$(replacedInput);this.tokenizers=[Event.KEY_RETURN,Event.KEY_TAB];
this.inputWidth=options.inputWidth||20;this.inputName=options.inputName||"autocomplete";this.style=options.style||"border: 1px solid; margin: 0; padding 0;";this.maxTokens=options.maxTokens||false;this.createDummyInput();autocompleteList=autocompleteList||this.createAutocompleteList();this.baseInitialize(replacedInput,autocompleteList,options);this.options.onShow=this.onShow.bind(this);if(this.options.searchField){var searches=new Array();
this.options.json=array;array.each(function(el){searches.push(el[this.options.searchField])}.bind(this));this.options.array=searches;this.options.valueField=options.valueField||this.options.searchField}else{this.options.valueField=false;this.options.array=array}this.replacedInput.observe("keydown",this.onKeyDown.bindAsEventListener(this));this.replacedInput.observe("focus",function(e){this.replacedInput.up("form").observe("submit",this.disableSubmit);
document.fire("autocompleter:focus",{value:this.replacedInput.value,autocompleteInstance:this})}.bind(this));this.replacedInput.observe("blur",function(e){this.replacedInput.up("form").stopObserving("submit",this.disableSubmit);document.fire("autocompleter:blur",{value:this.replacedInput.value,autocompleteInstance:this})}.bind(this));this.options.onDisplay=options.onDisplay||function(obj){return obj[this.options.valueField]
}.bind(this)},disableSubmit:function(event){event.stop()},addTokenizers:function(tokenizers){if(Object.isString(tokenizers)||Object.isNumber(tokenizers)){tokenizers=[parseInt(tokenizers)]}if(!Object.isArray(tokenizers)){throw ("Parameter must be either integer, string or array containing ascii key codes!")}this.tokenizers=this.tokenizers.concat(tokenizers)},isEmpty:function(){if(!this.tokenCount){return true
}return false},updateElement:function($super,selectedElement){if(!this.options.json){$super(selectedElement);return}var obj=false;if(!Object.isUndefined(selectedElement)){var selectedValue=selectedElement.innerHTML.stripTags();if(new RegExp(this.replacedInput.value,"gi").test(selectedValue)){obj=new Object;obj[this.options.searchField]=selectedValue}}if(!obj){obj=this.searchInOptions(this.replacedInput.value)
}if(obj){this.replacedInput.value=this.options.onDisplay(obj)}this.addToken();this.replacedInput.focus()},searchInOptions:function(value){var searchElement=function(el){var element=el[this.options.searchField].stripTags();if(this.options.fullSearch){return(new RegExp(value,"gi")).test(element)}return element.startsWith(value)}.bind(this);return this.options.json.find(searchElement)},createAutocompleteList:function(){var el=new Element("div",{"class":"autocomplete",style:"display:none"});
var id=el.identify();this.replacedInput.insert({after:el});return id},createDummyInput:function(){var container=new Element("ul",{"class":"autocomplete"});this.replacedInput.insert({after:container});var dimensions=this.getExactDimensions(this.replacedInput);container.setStyle(this.style);if(dimensions.width<0){dimensions.width=0}if(dimensions.height<0){dimensions.height=0}container.style.width=dimensions.width+"px";
container.style.height=dimensions.height+"px";var li=new Element("li",{"class":"input-item"}).insert(this.replacedInput);this.replacedInput.style.width=this.inputWidth+"px";this.replacedInput.style.border="0 none";container.update(li);if(this.replacedInput.value){this.addInitialTokens(this.replacedInput.value)}this.dummyInput=container;this.dummyInput.observe("click",this._removeToken.bindAsEventListener(this))
},getExactDimensions:function(el){var dimensions=el.getDimensions();dimensions.width-=parseInt(el.getStyle("borderLeftWidth"));dimensions.width-=parseInt(el.getStyle("borderRightWidth"));dimensions.height-=parseInt(el.getStyle("borderTopWidth"));dimensions.height-=parseInt(el.getStyle("borderBottomWidth"));return dimensions},addInitialTokens:function(tokens,separator){separator=separator||",";if(!Object.isArray(tokens)){tokens=tokens.split(separator)
}tokens.each(function(token){this.addToken(token)}.bind(this))},addToken:function(forcedValue,forcefText){if(forcedValue){this.replacedInput.value=forcedValue}if(this.replacedInput.value.length==0){return false}document.fire("autocompleter:pre-add-token",{value:this.replacedInput.value,autocompleteInstance:this});if(this.maxTokens!==false&&this.tokenCount==this.maxTokens){this.removeLastToken()}var value=this.replacedInput.value;
forcefText=forcefText||value;var span=new Element("span",{href:"javascript://","class":"removebutton"}).update("x");var a=new Element("a",{href:"javascript://"}).insert(span).insert(new Element("input",{type:"hidden",name:this.inputName+"[]",value:value,"class":"hidden"})).insert(forcefText);var li=new Element("li",{"class":"item"}).update(a);this.replacedInput.up().insert({before:li});this.replacedInput.value="";
this.replacedInput.style.width=this.inputWidth+"px";this.tokenCount++;document.fire("autocompleter:post-add-token",{value:value,element:li,autocompleteInstance:this});return true},removeToken:function(item){this.replacedInput.show();this.replacedInput.focus();if(!Object.isUndefined(item)&&Object.isElement(item)){try{item.remove();this.tokenCount--;this.doNotHideInput=true}catch(e){}}},_removeToken:function(ev){var item=Event.findElement(ev,"li.item");
this.removeToken(item)},removeLastToken:function(){if(!this.tokenCount){return}this.dummyInput.select("li.item").last().remove();this.tokenCount--},onShow:function(element,update){update.clonePosition(this.dummyInput,{setHeight:false,offsetTop:this.dummyInput.getHeight()});var dimensions=this.getExactDimensions(this.dummyInput);update.style.width=dimensions.width+"px";Effect.Appear(update,{duration:0.15})
},onKeyDown:function(event){if(!this.active){if(this.replacedInput.value.length){if(this.tokenizers.indexOf(event.keyCode)!=-1){this.addToken();event.stop();return}}else{if(event.keyCode==Event.KEY_BACKSPACE&&this.tokenCount>0){this.removeLastToken();return}}}},onKeyPress:function($super,event){$super(event);var stepWidth=7;var actualWidth=this.replacedInput.getWidth();if((actualWidth-this.inputWidth)/this.replacedInput.value.length<stepWidth){this.replacedInput.style.width=(actualWidth+stepWidth)+"px"
}},onBlur:function($super,event){$super(event);this.addToken();this.onDelayedBlur.bind(this).delay(0.25)},onDelayedBlur:function(){if(this.replacedInput.value.length>0){this.addToken(this.replacedInput.value);this.replacedInput.value=""}if(this.tokenCount&&!this.doNotHideInput){this.replacedInput.hide()}if(this.doNotHideInput){this.doNotHideInput=false}}});var Autocomplete=function(el,options){this.EVENT_SELECTED_RESTORED="autocomplete:selected";
this.EVENT_SELECTED="autocomplete:only-selected";this.el=$(el);this.id=this.el.identify();this.el.setAttribute("autocomplete","off");this.suggestions=[];this.data=[];this.badQueries=[];this.selectedIndex=-1;this.currentValue=this.el.value;this.intervalId=0;this.cachedResponse=[];this.instanceId=null;this.onChangeInterval=null;this.ignoreValueChange=false;this.notFoundSuggestion=null;this.serviceUrl=options.serviceUrl;
this.lastValue=null;this.internalParents=null;this.options={autoSubmit:false,minChars:1,maxHeight:300,deferRequestBy:0,width:0,container:null,parentId:null,hint:null};if(options){Object.extend(this.options,options);this.notFoundSuggestion=options.notFoundSuggestion}if(Autocomplete.isDomLoaded){this.initialize()}else{Event.observe(window,"load",function(){this.initialize()}.bind(this),false)}};Autocomplete.instances=[];
Autocomplete.isDomLoaded=false;Autocomplete.getInstance=function(id){var instances=Autocomplete.instances;var i=instances.length;while(i--){if(instances[i].id===id){return instances[i]}}};Autocomplete.highlight=function(value,re){return value.replace(re,function(match){return"<strong>"+match+"</strong>"})};Autocomplete.prototype={killerFn:null,initialize:function(){var me=this;this.killerFn=function(e){if(!$(Event.element(e)).up(".autocomplete")){me.killSuggestions();
if(me.lastValue!=null&&me.el.value==""){this.el.fire(this.EVENT_SELECTED_RESTORED,"");me.el.value=me.lastValue}me.disableKillerFn()}}.bindAsEventListener(this);if(!this.options.width){this.options.width=this.el.getWidth()}var div=new Element("div",{style:"position:absolute;"});div.update('<div class="autocomplete-w1"><div class="autocomplete-w2"><div class="autocomplete" id="Autocomplete_'+this.id+'" style="display:none; width:'+this.options.width+'px;"></div></div></div>');
this.options.container=$(this.options.container);if(this.options.container){this.options.container.appendChild(div);this.fixPosition=function(){}}else{document.body.appendChild(div)}this.mainContainerId=div.identify();this.container=$("Autocomplete_"+this.id);this.fixPosition();Event.observe(this.el,window.opera?"keypress":"keydown",this.onKeyPress.bind(this));Event.observe(this.el,"keyup",this.onKeyUp.bind(this));
Event.observe(this.el,"blur",this.enableKillerFn.bind(this));Event.observe(this.el,"focus",this.fixPosition.bind(this));Event.observe(this.el,"change",this.onChange.bind(this));Event.observe(this.el,"click",this.onClickEvent.bind(this));this.container.setStyle({maxHeight:this.options.maxHeight+"px"});this.instanceId=Autocomplete.instances.push(this)-1},reset:function(){this.suggestions=[];this.data=[];
this.badQueries=[];this.selectedIndex=-1;this.cachedResponse=[]},fixPosition:function(){var offset=this.el.cumulativeOffset();$(this.mainContainerId).setStyle({top:(offset.top+this.el.getHeight())+"px",left:offset.left+"px"})},enableKillerFn:function(){Event.observe(document.body,"click",this.killerFn)},disableKillerFn:function(){Event.stopObserving(document.body,"click",this.killerFn)},killSuggestions:function(){this.stopKillSuggestions();
this.intervalId=window.setInterval(function(){this.hide();this.stopKillSuggestions()}.bind(this),300)},stopKillSuggestions:function(){window.clearInterval(this.intervalId)},onChange:function(e){if(typeof(this.currentValue)=="undefined"){return}var found=false;this.suggestions.each(function(tab,index){if(tab.toLowerCase()==this.currentValue.toLowerCase()){this.onSelect(index);found=true}}.bind(this));
if(!found&&!this.notFoundSuggestion){this.el.value=""}},onClickEvent:function(e){this.setCombosVisibility(e.element(),false);this.lastValue=this.el.value;this.el.value="";if(this.options.hint!=null&&this.options.hint!=""){this.addUnselectableSuggestion(this.options.hint)}},setCombosVisibility:function(elem,visible){var isIE5or6=navigator.appVersion.indexOf("MSIE 6.0;");if(isIE5or6>0){var elements=$(elem.identify()+"_details").select("select");
elements.each(function(item){if(!item.hasClassName("profileConfSelect")){if(visible){item.show()}else{item.hide()}}})}},onKeyPress:function(e){if(!this.enabled){return}switch(e.keyCode){case Event.KEY_ESC:this.el.value=this.currentValue;this.hide();break;case Event.KEY_TAB:case Event.KEY_RETURN:if(this.selectedIndex===-1){this.hide();return}this.select(this.selectedIndex);if(e.keyCode===Event.KEY_TAB){return
}break;case Event.KEY_UP:this.moveUp();break;case Event.KEY_DOWN:this.moveDown();break;default:return}Event.stop(e)},onKeyUp:function(e){switch(e.keyCode){case Event.KEY_UP:case Event.KEY_DOWN:return}clearInterval(this.onChangeInterval);if(this.currentValue!==this.el.value){if(this.options.deferRequestBy>0){this.onChangeInterval=setInterval((function(){this.onValueChange()}).bind(this),this.options.deferRequestBy)
}else{this.onValueChange()}}},onValueChange:function(){clearInterval(this.onChangeInterval);this.currentValue=this.el.value;this.selectedIndex=-1;if(this.ignoreValueChange){this.ignoreValueChange=false}if(this.currentValue===""||this.currentValue.length<this.options.minChars){this.hide()}else{this.getSuggestions()}},getSuggestions:function(){var cr=this.cachedResponse[this.currentValue];if(cr&&Object.isArray(cr.suggestions)&&cr.suggestions.lenght){this.suggestions=cr.suggestions;
this.data=cr.data;this.suggest()}else{if(!this.isBadQuery(this.currentValue)){var params={query:this.currentValue};if(this.options.parentId!=null){params={query:this.currentValue,parentValue:this.options.parentId}}this.addUnselectableSuggestion("","loader");new Ajax.Request(this.serviceUrl,{parameters:params,onComplete:this.processResponse.bind(this),method:"get"})}else{if(this.notFoundSuggestion){var suggestionBody=this.notFoundSuggestion(this.instanceId,this.currentValue);
this.addUnselectableSuggestion(suggestionBody,"",true)}}}},isBadQuery:function(q){var i=this.badQueries.length;while(i--){if(q.indexOf(this.badQueries[i])===0){return true}}return false},hide:function(){this.enabled=false;this.selectedIndex=-1;this.container.hide();var parts=this.container.identify().split("_");this.setCombosVisibility($(parts[1]+"_id"),true)},suggest:function(){if(this.suggestions.length===0){this.hide();
return}var content=[];var re=new RegExp("\\b"+this.currentValue.match(/\w+/g).join("|\\b"),"gi");this.suggestions.each(function(value,i){content.push((this.selectedIndex===i?'<div class="selected"':"<div"),' title="',value,'" onclick="Autocomplete.instances[',this.instanceId,"].select(",i,');" onmouseover="Autocomplete.instances[',this.instanceId,"].activate(",i,');">',Autocomplete.highlight(value,re),"</div>")
}.bind(this));this.enabled=true;this.container.update(content.join("")).show()},addUnselectableSuggestion:function(text,classname,noTitle){if(typeof(classname)=="undefined"){classname=""}else{classname=' class="'+classname+'" '}var content=[];if(typeof(noTitle)=="undefined"){content.push("<div "+classname+'title="'+text+'">'+text+"</div>")}else{content.push("<div "+classname+">"+text+"</div>")}this.container.update(content.join("")).show()
},processResponse:function(xhr){var response;try{response=xhr.responseText.evalJSON();if(!Object.isArray(response.data)){response.data=[]}}catch(err){return}this.cachedResponse[response.query]=response;if(response.suggestions.length===0){this.badQueries.push(response.query);if(this.notFoundSuggestion){this.addUnselectableSuggestion(this.notFoundSuggestion(this.instanceId,response.query),"",true);return
}}if(response.query===this.currentValue){this.suggestions=response.suggestions;this.data=response.data;if(response.internalParents){this.internalParents=response.internalParents}this.suggest()}},activate:function(index){var divs=this.container.childNodes;var activeItem;if(this.selectedIndex!==-1&&divs.length>this.selectedIndex){divs[this.selectedIndex].className=""}this.selectedIndex=index;if(this.selectedIndex!==-1&&divs.length>this.selectedIndex){activeItem=divs[this.selectedIndex];
activeItem.className="selected"}return activeItem},deactivate:function(div,index){div.className="";if(this.selectedIndex===index){this.selectedIndex=-1}},select:function(i){this.el.fire(this.EVENT_SELECTED_RESTORED,"");this.el.fire(this.EVENT_SELECTED,"");var index=this.verifyParents(i);i=(index!=null)?index:i;var selectedValue=this.suggestions[i];if(selectedValue){this.el.value=selectedValue;this.currentValue=selectedValue;
if(this.options.autoSubmit&&this.el.form){this.el.form.submit()}this.ignoreValueChange=true;this.hide();this.onSelect(i)}},verifyParents:function(i){if(this.internalParents==null||Object.isUndefined(this.internalParents[this.data[i]])){return null}var parentData=this.internalParents[this.data[i]];if(this.getIndexById(parentData.parentId)!=null){return null}this.suggestions.push(parentData.name);this.data.push(parentData.parentId);
var i=this.getIndexById(parentData.parentId);return i},moveUp:function(){if(this.selectedIndex===-1){return}if(this.selectedIndex===0){this.container.childNodes[0].className="";this.selectedIndex=-1;this.el.value=this.currentValue;return}this.adjustScroll(this.selectedIndex-1)},moveDown:function(){if(this.selectedIndex===(this.suggestions.length-1)){return}this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(i){var container=this.container;
var activeItem=this.activate(i);var offsetTop=activeItem.offsetTop;var upperBound=container.scrollTop;var lowerBound=upperBound+this.options.maxHeight-25;if(offsetTop<upperBound){container.scrollTop=offsetTop}else{if(offsetTop>lowerBound){container.scrollTop=offsetTop-this.options.maxHeight+25}}this.el.value=this.suggestions[i]},onSelect:function(i){(this.options.onSelect||Prototype.emptyFunction)(this.suggestions[i],this.data[i])
},getIndexById:function(index){var found=null;this.data.each(function(value,i){if(value==index){found=i}}.bind(this));return found}};Event.observe(document,"dom:loaded",function(){Autocomplete.isDomLoaded=true},false);var autocompletionAjax={MIN_CHARS:1,LOADING_CLASSNAME:"loader-simple",init:function(parameters){parameters.each(function(value,index){this.addAutocompletion(value)}.bind(this))},addAutocompletion:function(parameters){new Autocomplete(parameters.applyOnId,{parentId:parameters.parentId,serviceUrl:parameters.requestUrl,minChars:this.MIN_CHARS,maxHeight:parameters.height,width:parameters.width,deferRequestBy:parameters.timeBeforeRequest,hint:parameters.hint,notFoundSuggestion:function(instanceId,text){var url='<a href="javascript://" onclick=';
url+="Autocomplete.instances["+instanceId+'].el.fire("autocomplete:addinstitution","");>';url+="Adauga &quot;"+text+"&quot; in baza de date</a>";return url},onSelect:function(value,_parentId){if(parameters.childId){if(parameters.childValueOnChange){$(parameters.childId).value=parameters.childValueOnChange;$(parameters.childId+"_value").value=parameters.childHiddenValueOnChange}else{$(parameters.childId).value=""
}this.getAutocompleteById(parameters.childId).options.parentId=_parentId}$(parameters.applyOnId+"_value").value=_parentId}.bind(this)});$(parameters.applyOnId).removeClassName(this.LOADING_CLASSNAME)},getAutocompleteById:function(elementId){var found=null;Autocomplete.instances.each(function(value,i){if(value.id==elementId){found=value}}.bind(this));return found},getAutocompleteIndexById:function(elementId){var found=null;
Autocomplete.instances.each(function(value,i){if(value.id==elementId){found=i}}.bind(this));return found}};communitySearcherMethods={LAZY_SEARCH_TIMEOUT:50,DEFAULT_REQUEST_URL:"/common/search-widget",CUSTOM_CLICK_EVENT:"input:clicked",HIDE_LIST_EVENT:"community-search:hide",SHOW_LIST_EVENT:"community-search:show",MORE_RESULTS_LINK:"#seeMoreResultsLink",timeout:0,mainContainerId:null,searcherId:null,hasSuggestions:false,parameters:null,initialize:function(parameters){this.parameters=parameters;
this.mainContainerId=parameters.id+"_container";this.attachObservers(parameters.id);this.searcherId=parameters.id;$(this.searcherId).setAttribute("autocomplete","off");var containerDiv='<div id="'+this.mainContainerId+'" class="navSearchResults"></div>';$(this.searcherId).insert({after:containerDiv})},_processClick:function(ev){var element=Event.element(ev);if(typeof(element.up("li"))!=="undefined"||element.nodeName=="LI"){var clickedEl=element;
if(element.nodeName!="LI"){clickedEl=element.up("li")}if(clickedEl.up().up().identify()==this.mainContainerId){link=clickedEl.down("a").getAttribute("href");window.location=link}}if(!$(this.mainContainerId).visible()){if(this.hasSuggestions&&element.identify()==this.searcherId){$(this.mainContainerId).style.display="block";$(this.searcherId).fire(this.SHOW_LIST_EVENT)}return}$(this.mainContainerId).hide();
$(this.searcherId).fire(this.HIDE_LIST_EVENT)},attachObservers:function(id){Event.observe($(id),this.CUSTOM_CLICK_EVENT,this._processClick.bind(this));var formElement=$(id).up("form");id="#"+id;document.delegate("keyup",id,this.beginLazySearch.bindAsEventListener(this));Event.observe(document.body,"click",this._processClick.bind(this));Event.observe(formElement,"submit",this._checkSubmit.bind(this));
document.delegate("click",this.MORE_RESULTS_LINK,this._goToSearchPage.bindAsEventListener(this))},_checkSubmit:function(event){Event.stop(event);var nrElements=0;var link="";var containerSearch="#"+this.mainContainerId+" li";$$(containerSearch).each(function(s,index){if(s.down("p a")!=null){link=s.down("p a").getAttribute("href")}nrElements++});if(nrElements==1){window.location=link}else{$(this.searcherId).up("form").submit()
}},_goToSearchPage:function(ev){var element=Event.element(ev);element.up("form").submit()},beginLazySearch:function(event){clearTimeout(this.timeout);this.timeout=setTimeout(function(){var type=$(this.parameters.communityType).value;var query=$(this.searcherId).value;this._updateList(type,query);this.hasSuggestions=true}.bind(this),this.LAZY_SEARCH_TIMEOUT)},_updateList:function(type,query){$(this.mainContainerId).style.display="block";
var params={method:"get",cumulativeOffset:true,overlayer:{id:this.mainContainerId,autoReposition:true},onSuccess:function(transport){var resp=transport.responseText;if(!resp){$(this.mainContainerId).hide();$(this.mainContainerId).innerHTML="";$(this.searcherId).fire(this.HIDE_LIST_EVENT)}else{$(this.searcherId).fire(this.SHOW_LIST_EVENT);$(this.mainContainerId).setStyle({display:"block"});$(this.mainContainerId).innerHTML=resp
}}.bind(this)};new Ajax.Request(this._buildConnectionsURL(type,query),params)},_buildConnectionsURL:function(type,query){return this.DEFAULT_REQUEST_URL+"?type="+type+"&query="+query}};communitySearcher=Class.create(communitySearcherMethods);var iebody=null;var elementContainer=null;var winHeight=0;var elemHeight=0;if(window.addEventListener){window.addEventListener("load",loaded,false)}else{if(document.addEventListener){document.addEventListener("load",loaded,false)
}else{if(window.attachEvent){window.attachEvent("onload",loaded)}else{if(typeof window.onload=="function"){var oldload=window.onload;window.onload=function(){oldload();loaded()}}else{window.onload=loaded}}}}function loaded(){if(navigator.appVersion.match(/MSIE\s6\.0/)){elementContainer=document.getElementById("feedbackButton");iebody=(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;
winHeight=document.documentElement.clientHeight;elemHeight=elementContainer.offsetHeight;if(window.addEventListener){window.addEventListener("scroll",Scroll,false)}else{if(document.addEventListener){document.addEventListener("scroll",Scroll,false)}else{if(window.attachEvent){window.attachEvent("onscroll",Scroll)}else{if(typeof window.onscroll=="function"){var oldload=window.onscroll;window.onscroll=function(){oldload();
Scroll()}}else{window.onscroll=Scroll}}}}}}function Scroll(){elementContainer.style.top=parseInt((document.all?iebody.scrollTop:pageYOffset)+winHeight/2-elemHeight/2)+"px"}function GoToTop(){if(document.all){iebody.scrollTop=0}else{pageYOffset=0}}var FBConnect={loginUrl:null,permissions:"email,user_relationships,user_birthday",init:function(){if($("facebook_login")==null){return}this.loginUrl=$("homeUrl").getValue()+"/user/login/login-with-fb";
this.initFacebook();$("facebook_login").observe("click",this.clickHandler.bindAsEventListener(this))},initFacebook:function(){(function(){var e=document.createElement("script");e.src=document.location.protocol+"//connect.facebook.net/ro_RO/all.js";e.async=true;document.getElementById("fb-root").appendChild(e)}());window.fbAsyncInit=function(){FB.init({appId:fbAppId,status:true,cookie:true,xfbml:true});
FB.Event.subscribe("auth.sessionChange",this.checkSession.bind(this))}.bind(this)},checkSession:function(response,failHandler){if(response.session){this.redirectToLogin()}else{(failHandler||Prototype.emptyFunction)(response)}},redirectToLogin:function(){window.location.replace(this.loginUrl)},clickHandler:function(e){e.stop();FB.getLoginStatus(function(response){this.checkSession(response,function(){FB.login(null,{perms:this.permissions})
}.bind(this))}.bind(this))}};document.observe("dom:loaded",FBConnect.init.bind(FBConnect));var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;
if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);
if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)
}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return
}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)
}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]
}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};
ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")
}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;
E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;
if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);
X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))
}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'
}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])
}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null
}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false
}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)
}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;
for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)
}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]
}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)
}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))
}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();var VideoConf={installed:false,container:null,swf:{url:"/modules/default/swf/VideoConferintaAlertBar.swf",id:"VideoConferintaAlertBar",params:{scale:"exactFit",wmode:"transparent",quality:"high",bgcolor:"#FFFFFF",allowscriptaccess:"always",allowfullscreen:"true"}},init:function(){this.container=$("videoChatContainer");
if(!this.container){return}var attrs={id:this.swf.id};swfobject.embedSWF(this.swf.url,this.container.down().identify(),"100%","100%","9.0.0","expressInstall.swf",{},this.swf.params,attrs,function(){this.installed=true}.bind(this))},resize:function(width,height){this.container.setStyle({width:width+"px",height:height+"px"})}};document.observe("dom:loaded",VideoConf.init.bind(VideoConf));
