var Prototype={Version:"1.6.0.3",Browser:{IE:!!(window.attachEvent&&navigator.userAgent.indexOf("Opera")===-1),Opera:navigator.userAgent.indexOf("Opera")>-1,WebKit:navigator.userAgent.indexOf("AppleWebKit/")>-1,Gecko:navigator.userAgent.indexOf("Gecko")>-1&&navigator.userAgent.indexOf("KHTML")===-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,SelectorsAPI:!!document.querySelector,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement("div")["__proto__"]&&document.createElement("div")["__proto__"]!==document.createElement("form")["__proto__"]},ScriptFragment:"<script[^>]*>([\\S\\s]*?)<\/script>",JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0])){parent=properties.shift()}function klass(){this.initialize.apply(this,arguments)}Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass)}for(var i=0;i<properties.length;i++){klass.addMethods(properties[i])}if(!klass.prototype.initialize){klass.prototype.initialize=Prototype.emptyFunction}klass.prototype.constructor=klass;return klass}};Class.Methods={addMethods:function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=Object.keys(source);if(!Object.keys({toString:true}).length){properties.push("toString","valueOf")}for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super"){var method=value;value=(function(m){return function(){return ancestor[m].apply(this,arguments)}})(property).wrap(method);value.valueOf=method.valueOf.bind(method);value.toString=method.toString.bind(method)}this.prototype[property]=value}return this}};var Abstract={};Object.extend=function(destination,source){for(var property in source){destination[property]=source[property]}return destination};Object.extend(Object,{inspect:function(object){try{if(Object.isUndefined(object)){return"undefined"}if(object===null){return"null"}return object.inspect?object.inspect():String(object)}catch(e){if(e instanceof RangeError){return"..."}throw e}},toJSON:function(object){var type=typeof object;switch(type){case"undefined":case"function":case"unknown":return;case"boolean":return object.toString()}if(object===null){return"null"}if(object.toJSON){return object.toJSON()}if(Object.isElement(object)){return}var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(!Object.isUndefined(value)){results.push(property.toJSON()+": "+value)}}return"{"+results.join(", ")+"}"},toQueryString:function(object){return $H(object).toQueryString()},toHTML:function(object){return object&&object.toHTML?object.toHTML():String.interpret(object)},keys:function(object){var keys=[];for(var property in object){keys.push(property)}return keys},values:function(object){var values=[];for(var property in object){values.push(object[property])}return values},clone:function(object){return Object.extend({},object)},isElement:function(object){return !!(object&&object.nodeType==1)},isArray:function(object){return object!=null&&typeof object=="object"&&"splice" in object&&"join" in object},isHash:function(object){return object instanceof Hash},isFunction:function(object){return typeof object=="function"},isString:function(object){return typeof object=="string"},isNumber:function(object){return typeof object=="number"},isUndefined:function(object){return typeof object=="undefined"}});Object.extend(Function.prototype,{argumentNames:function(){var names=this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g,"").split(",");return names.length==1&&!names[0]?[]:names},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)))}},bindAsEventListener:function(){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args))}},curry:function(){if(!arguments.length){return this}var __method=this,args=$A(arguments);return function(){return __method.apply(this,args.concat($A(arguments)))}},delay:function(){var __method=this,args=$A(arguments),timeout=args.shift()*1000;return window.setTimeout(function(){return __method.apply(__method,args)},timeout)},defer:function(){var args=[0.01].concat($A(arguments));return this.delay.apply(this,args)},wrap:function(wrapper){var __method=this;return function(){return wrapper.apply(this,[__method.bind(this)].concat($A(arguments)))}},methodize:function(){if(this._methodized){return this._methodized}var __method=this;return this._methodized=function(){return __method.apply(null,[this].concat($A(arguments)))}}});Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+"-"+(this.getUTCMonth()+1).toPaddedString(2)+"-"+this.getUTCDate().toPaddedString(2)+"T"+this.getUTCHours().toPaddedString(2)+":"+this.getUTCMinutes().toPaddedString(2)+":"+this.getUTCSeconds().toPaddedString(2)+'Z"'};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break}catch(e){}}return returnValue}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback()},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000)},execute:function(){this.callback(this)},stop:function(){if(!this.timer){return}clearInterval(this.timer);this.timer=null},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute()}finally{this.currentlyExecuting=false}}}});Object.extend(String,{interpret:function(value){return value==null?"":String(value)},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result="",source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length)}else{result+=source,source=""}}return result},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0){return match[0]}return replacement(match)})},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this)},truncate:function(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?"...":truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this)},strip:function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,"")},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"")},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,"img");var matchOne=new RegExp(Prototype.ScriptFragment,"im");return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||["",""])[1]})},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)})},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML},unescapeHTML:function(){var div=new Element("div");div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject("",function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):""},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match){return{}}return match[1].split(separator||"&").inject({},function(hash,pair){if((pair=pair.split("="))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join("="):pair[0];if(value!=undefined){value=decodeURIComponent(value)}if(key in hash){if(!Object.isArray(hash[key])){hash[key]=[hash[key]]}hash[key].push(value)}else{hash[key]=value}}return hash})},toArray:function(){return this.split("")},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)},times:function(count){return count<1?"":new Array(count+1).join(this)},camelize:function(){var parts=this.split("-"),len=parts.length;if(len==1){return parts[0]}var camelized=this.charAt(0)=="-"?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++){camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1)}return camelized},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase()},underscore:function(){return this.gsub(/::/,"/").gsub(/([A-Z]+)([A-Z][a-z])/,"#{1}_#{2}").gsub(/([a-z\d])([A-Z])/,"#{1}_#{2}").gsub(/-/,"_").toLowerCase()},dasherize:function(){return this.gsub(/_/,"-")},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:"\\u00"+match[0].charCodeAt().toPaddedString(2,16)});if(useDoubleQuotes){return'"'+escapedString.replace(/"/g,'\\"')+'"'}return"'"+escapedString.replace(/'/g,"\\'")+"'"},toJSON:function(){return this.inspect(true)},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,"#{1}")},isJSON:function(){var str=this;if(str.blank()){return false}str=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str)},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON()){return eval("("+json+")")}}catch(e){}throw new SyntaxError("Badly formed JSON string: "+this.inspect())},include:function(pattern){return this.indexOf(pattern)>-1},startsWith:function(pattern){return this.indexOf(pattern)===0},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d},empty:function(){return this==""},blank:function(){return/^\s*$/.test(this)},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object)}});if(Prototype.Browser.WebKit||Prototype.Browser.IE){Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},unescapeHTML:function(){return this.stripTags().replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">")}})}String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement)){return replacement}var template=new Template(replacement);return function(match){return template.evaluate(match)}};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement("div"),text:document.createTextNode("")});String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements)){object=object.toTemplateReplacements()}return this.template.gsub(this.pattern,function(match){if(object==null){return""}var before=match[1]||"";if(before=="\\"){return match[2]}var ctx=object,expr=match[3];var pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;match=pattern.exec(expr);if(match==null){return before}while(match!=null){var comp=match[1].startsWith("[")?match[2].gsub("\\\\]","]"):match[1];ctx=ctx[comp];if(null==ctx||""==match[3]){break}expr=expr.substring("["==match[3]?match[1].length:match[0].length);match=pattern.exec(expr)}return before+String.interpret(ctx)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(iterator,context){var index=0;try{this._each(function(value){iterator.call(context,value,index++)})}catch(e){if(e!=$break){throw e}}return this},eachSlice:function(number,iterator,context){var index=-number,slices=[],array=this.toArray();if(number<1){return array}while((index+=number)<array.length){slices.push(array.slice(index,index+number))}return slices.collect(iterator,context)},all:function(iterator,context){iterator=iterator||Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator.call(context,value,index);if(!result){throw $break}});return result},any:function(iterator,context){iterator=iterator||Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator.call(context,value,index)){throw $break}});return result},collect:function(iterator,context){iterator=iterator||Prototype.K;var results=[];this.each(function(value,index){results.push(iterator.call(context,value,index))});return results},detect:function(iterator,context){var result;this.each(function(value,index){if(iterator.call(context,value,index)){result=value;throw $break}});return result},findAll:function(iterator,context){var results=[];this.each(function(value,index){if(iterator.call(context,value,index)){results.push(value)}});return results},grep:function(filter,iterator,context){iterator=iterator||Prototype.K;var results=[];if(Object.isString(filter)){filter=new RegExp(filter)}this.each(function(value,index){if(filter.match(value)){results.push(iterator.call(context,value,index))}});return results},include:function(object){if(Object.isFunction(this.indexOf)){if(this.indexOf(object)!=-1){return true}}var found=false;this.each(function(value){if(value==object){found=true;throw $break}});return found},inGroupsOf:function(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number){slice.push(fillWith)}return slice})},inject:function(memo,iterator,context){this.each(function(value,index){memo=iterator.call(context,memo,value,index)});return memo},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args)})},max:function(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index);if(result==null||value>=result){result=value}});return result},min:function(iterator,context){iterator=iterator||Prototype.K;var result;this.each(function(value,index){value=iterator.call(context,value,index);if(result==null||value<result){result=value}});return result},partition:function(iterator,context){iterator=iterator||Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator.call(context,value,index)?trues:falses).push(value)});return[trues,falses]},pluck:function(property){var results=[];this.each(function(value){results.push(value[property])});return results},reject:function(iterator,context){var results=[];this.each(function(value,index){if(!iterator.call(context,value,index)){results.push(value)}});return results},sortBy:function(iterator,context){return this.map(function(value,index){return{value:value,criteria:iterator.call(context,value,index)}}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0}).pluck("value")},toArray:function(){return this.map()},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last())){iterator=args.pop()}var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index))})},size:function(){return this.toArray().length},inspect:function(){return"#<Enumerable:"+this.toArray().inspect()+">"}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(iterable){if(!iterable){return[]}if(iterable.toArray){return iterable.toArray()}var length=iterable.length||0,results=new Array(length);while(length--){results[length]=iterable[length]}return results}if(Prototype.Browser.WebKit){$A=function(iterable){if(!iterable){return[]}if(!(typeof iterable==="function"&&typeof iterable.length==="number"&&typeof iterable.item==="function")&&iterable.toArray){return iterable.toArray()}var length=iterable.length||0,results=new Array(length);while(length--){results[length]=iterable[length]}return results}}Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse){Array.prototype._reverse=Array.prototype.reverse}Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++){iterator(this[i])}},clear:function(){this.length=0;return this},first:function(){return this[0]},last:function(){return this[this.length-1]},compact:function(){return this.select(function(value){return value!=null})},flatten:function(){return this.inject([],function(array,value){return array.concat(Object.isArray(value)?value.flatten():[value])})},without:function(){var values=$A(arguments);return this.select(function(value){return !values.include(value)})},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value))){array.push(value)}return array})},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value})})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]"},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(!Object.isUndefined(value)){results.push(value)}});return"["+results.join(", ")+"]"}});if(Object.isFunction(Array.prototype.forEach)){Array.prototype._each=Array.prototype.forEach}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0){i=length+i}for(;i<length;i++){if(this[i]===item){return i}}return -1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1}}Array.prototype.toArray=Array.prototype.clone;function $w(string){if(!Object.isString(string)){return[]}string=string.strip();return string?string.split(/\s+/):[]}if(Prototype.Browser.Opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++){array.push(this[i])}for(var i=0,length=arguments.length;i<length;i++){if(Object.isArray(arguments[i])){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++){array.push(arguments[i][j])}}else{array.push(arguments[i])}}return array}}Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16)},succ:function(){return this+1},times:function(iterator,context){$R(0,this,true).each(iterator,context);return this},toPaddedString:function(length,radix){var string=this.toString(radix||10);return"0".times(length-string.length)+string},toJSON:function(){return isFinite(this)?this.toString():"null"}});$w("abs round ceil floor").each(function(method){Number.prototype[method]=Math[method].methodize()});function $H(object){return new Hash(object)}var Hash=Class.create(Enumerable,(function(){function toQueryPair(key,value){if(Object.isUndefined(value)){return key}return key+"="+encodeURIComponent(String.interpret(value))}return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object)},_each:function(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair)}},set:function(key,value){return this._object[key]=value},get:function(key){if(this._object[key]!==Object.prototype[key]){return this._object[key]}},unset:function(key){var value=this._object[key];delete this._object[key];return value},toObject:function(){return Object.clone(this._object)},keys:function(){return this.pluck("key")},values:function(){return this.pluck("value")},index:function(value){var match=this.detect(function(pair){return pair.value===value});return match&&match.key},merge:function(object){return this.clone().update(object)},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result})},toQueryString:function(){return this.inject([],function(results,pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=="object"){if(Object.isArray(values)){return results.concat(values.map(toQueryPair.curry(key)))}}else{results.push(toQueryPair(key,values))}return results}).join("&")},inspect:function(){return"#<Hash:{"+this.map(function(pair){return pair.map(Object.inspect).join(": ")}).join(", ")+"}>"},toJSON:function(){return Object.toJSON(this.toObject())},clone:function(){return new Hash(this)}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ()}},include:function(value){if(value<this.start){return false}if(this.exclusive){return value<this.end}return value<=this.end}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive)};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")})||false},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator)},register:function(responder){if(!this.include(responder)){this.responders.push(responder)}},unregister:function(responder){this.responders=this.responders.without(responder)},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json])}catch(e){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters)){this.options.parameters=this.options.parameters.toQueryParams()}else{if(Object.isHash(this.options.parameters)){this.options.parameters=this.options.parameters.toObject()}}}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,options){$super(options);this.transport=Ajax.getTransport();this.request(url)},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){params._method=this.method;this.method="post"}this.parameters=params;if(params=Object.toQueryString(params)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+params}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){params+="&_="}}params+="&_ajax=1"}try{var response=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(response)}Ajax.Responders.dispatch("onCreate",this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous){this.respondToReadyState.bind(this).defer(1)}this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=="post"?(this.options.postBody||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(e){this.dispatchException(e)}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var headers={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){headers["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){headers.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push)){for(var i=0,length=extras.length;i<length;i+=2){headers[extras[i]]=extras[i+1]}}else{$H(extras).each(function(pair){headers[pair.key]=pair.value})}}for(var name in headers){this.transport.setRequestHeader(name,headers[name])}},success:function(){var status=this.getStatus();return !status||(status>=200&&status<300)},getStatus:function(){try{return this.transport.status||0}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=="Complete"){try{this._complete=true;(this.options["on"+response.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(response,response.headerJSON)}catch(e){this.dispatchException(e)}var contentType=response.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()}}try{(this.options["on"+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch("on"+state,this,response,response.headerJSON)}catch(e){this.dispatchException(e)}if(state=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return !m||(m[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch("onException",this,exception)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON()}if(readyState==4){var xml=transport.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(e){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var json=this.getHeader("X-JSON");if(!json){return null}json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(e){this.request.dispatchException(e)}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null}try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin())}catch(e){this.request.dispatchException(e)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete)){onComplete(response,json)}}).bind(this);$super(url,options)},updateContent:function(responseText){var receiver=this.container[this.success()?"success":"failure"],options=this.options;if(!options.evalScripts){responseText=responseText.stripScripts()}if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion)}else{options.insertion(receiver,responseText)}}else{receiver.update(responseText)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start()},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent()},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments)},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText}this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency)},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options)}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++){elements.push($(arguments[i]))}return elements}if(Object.isString(element)){element=document.getElementById(element)}return Element.extend(element)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++){results.push(Element.extend(query.snapshotItem(i)))}return results}}if(!window.Node){var Node={}}if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})}(function(){var element=this.Element;this.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;if(Prototype.Browser.IE&&attributes.name){tagName="<"+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes)}if(!cache[tagName]){cache[tagName]=Element.extend(document.createElement(tagName))}return Element.writeAttribute(cache[tagName].cloneNode(false),attributes)};Object.extend(this.Element,element||{});if(element){this.Element.prototype=element.prototype}}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!="none"},toggle:function(element){element=$(element);Element[Element.visible(element)?"hide":"show"](element);return element},hide:function(element){element=$(element);element.style.display="none";return element},show:function(element){element=$(element);element.style.display="";return element},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element},update:function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){return element.update().insert(content)}content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element},replace:function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}else{if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts())}}element.parentNode.replaceChild(content,element);return element},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML))){insertions={bottom:insertions}}var content,insert,tagName,childNodes;for(var position in insertions){content=insertions[position];position=position.toLowerCase();insert=Element._insertionTranslations[position];if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){insert(element,content);continue}content=Object.toHTML(content);tagName=((position=="before"||position=="after")?element.parentNode:element).tagName.toUpperCase();childNodes=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=="top"||position=="after"){childNodes.reverse()}childNodes.each(insert.curry(element));content.evalScripts.bind(content).defer()}return element},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper)){$(wrapper).writeAttribute(attributes||{})}else{if(Object.isString(wrapper)){wrapper=new Element(wrapper,attributes)}else{wrapper=new Element("div",wrapper)}}if(element.parentNode){element.parentNode.replaceChild(wrapper,element)}wrapper.appendChild(element);return wrapper},inspect:function(element){element=$(element);var result="<"+element.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||"").toString();if(value){result+=" "+attribute+"="+value.inspect(true)}});return result+">"},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property]){if(element.nodeType==1){elements.push(Element.extend(element))}}return elements},ancestors:function(element){return $(element).recursivelyCollect("parentNode")},descendants:function(element){return $(element).select("*")},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1){element=element.nextSibling}return $(element)},immediateDescendants:function(element){if(!(element=$(element).firstChild)){return[]}while(element&&element.nodeType!=1){element=element.nextSibling}if(element){return[element].concat($(element).nextSiblings())}return[]},previousSiblings:function(element){return $(element).recursivelyCollect("previousSibling")},nextSiblings:function(element){return $(element).recursivelyCollect("nextSibling")},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings())},match:function(element,selector){if(Object.isString(selector)){selector=new Selector(selector)}return selector.match($(element))},up:function(element,expression,index){element=$(element);if(arguments.length==1){return $(element.parentNode)}var ancestors=element.ancestors();return Object.isNumber(expression)?ancestors[expression]:Selector.findElement(ancestors,expression,index)},down:function(element,expression,index){element=$(element);if(arguments.length==1){return element.firstDescendant()}return Object.isNumber(expression)?element.descendants()[expression]:Element.select(element,expression)[index||0]},previous:function(element,expression,index){element=$(element);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(element))}var previousSiblings=element.previousSiblings();return Object.isNumber(expression)?previousSiblings[expression]:Selector.findElement(previousSiblings,expression,index)},next:function(element,expression,index){element=$(element);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(element))}var nextSiblings=element.nextSiblings();return Object.isNumber(expression)?nextSiblings[expression]:Selector.findElement(nextSiblings,expression,index)},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args)},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element)},identify:function(element){element=$(element);var id=element.readAttribute("id"),self=arguments.callee;if(id){return id}do{id="anonymous_element_"+self.counter++}while($(id));element.writeAttribute("id",id);return id},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name]){return t.values[name](element,name)}if(t.names[name]){name=t.names[name]}if(name.include(":")){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value}}return element.getAttribute(name)},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=="object"){attributes=name}else{attributes[name]=Object.isUndefined(value)?true:value}for(var attr in attributes){name=t.names[attr]||attr;value=attributes[attr];if(t.values[attr]){name=t.values[attr](element,value)}if(value===false||value===null){element.removeAttribute(name)}else{if(value===true){element.setAttribute(name,name)}else{element.setAttribute(name,value)}}}return element},getHeight:function(element){return $(element).getDimensions().height},getWidth:function(element){return $(element).getDimensions().width},classNames:function(element){return new Element.ClassNames(element)},hasClassName:function(element,className){if(!(element=$(element))){return}var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)))},addClassName:function(element,className){if(!(element=$(element))){return}if(!element.hasClassName(className)){element.className+=(element.className?" ":"")+className}return element},removeClassName:function(element,className){if(!(element=$(element))){return}element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)")," ").strip();return element},toggleClassName:function(element,className){if(!(element=$(element))){return}return element[element.hasClassName(className)?"removeClassName":"addClassName"](className)},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue)){element.removeChild(node)}node=nextNode}return element},empty:function(element){return $(element).innerHTML.blank()},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);if(element.compareDocumentPosition){return(element.compareDocumentPosition(ancestor)&8)===8}if(ancestor.contains){return ancestor.contains(element)&&ancestor!==element}while(element=element.parentNode){if(element==ancestor){return true}}return false},scrollTo:function(element){element=$(element);var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);return element},getStyle:function(element,style){element=$(element);style=style=="float"?"cssFloat":style.camelize();var value=element.style[style];if(!value||value=="auto"){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null}if(style=="opacity"){return value?parseFloat(value):1}return value=="auto"?null:value},getOpacity:function(element){return $(element).getStyle("opacity")},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=";"+styles;return styles.include("opacity")?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element}for(var property in styles){if(property=="opacity"){element.setOpacity(styles[property])}else{elementStyle[(property=="float"||property=="cssFloat")?(Object.isUndefined(elementStyle.styleFloat)?"cssFloat":"styleFloat"):property]=styles[property]}}return element},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==="")?"":(value<0.00001)?0:value;return element},getDimensions:function(element){element=$(element);var display=element.getStyle("display");if(display!="none"&&display!=null){return{width:element.offsetWidth,height:element.offsetHeight}}var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility="hidden";els.position="absolute";els.display="block";var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight}},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,"position");if(pos=="static"||!pos){element._madePositioned=true;element.style.position="relative";if(Prototype.Browser.Opera){element.style.top=0;element.style.left=0}}return element},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right=""}return element},makeClipping:function(element){element=$(element);if(element._overflow){return element}element._overflow=Element.getStyle(element,"overflow")||"auto";if(element._overflow!=="hidden"){element.style.overflow="hidden"}return element},undoClipping:function(element){element=$(element);if(!element._overflow){return element}element.style.overflow=element._overflow=="auto"?"":element._overflow;element._overflow=null;return element},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent}while(element);return Element._returnOffset(valueL,valueT)},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName.toUpperCase()=="BODY"){break}var p=Element.getStyle(element,"position");if(p!=="static"){break}}}while(element);return Element._returnOffset(valueL,valueT)},absolutize:function(element){element=$(element);if(element.getStyle("position")=="absolute"){return element}var offsets=element.positionedOffset();var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position="absolute";element.style.top=top+"px";element.style.left=left+"px";element.style.width=width+"px";element.style.height=height+"px";return element},relativize:function(element){element=$(element);if(element.getStyle("position")=="relative"){return element}element.style.position="relative";var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+"px";element.style.left=left+"px";element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode}while(element);return Element._returnOffset(valueL,valueT)},getOffsetParent:function(element){if(element.offsetParent){return $(element.offsetParent)}if(element==document.body){return $(element)}while((element=element.parentNode)&&element!=document.body){if(Element.getStyle(element,"position")!="static"){return $(element)}}return $(document.body)},viewportOffset:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&Element.getStyle(element,"position")=="absolute"){break}}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||(element.tagName&&(element.tagName.toUpperCase()=="BODY"))){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT)},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});source=$(source);var p=source.viewportOffset();element=$(element);var delta=[0,0];var parent=null;if(Element.getStyle(element,"position")=="absolute"){parent=element.getOffsetParent();delta=parent.viewportOffset()}if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop}if(options.setLeft){element.style.left=(p[0]-delta[0]+options.offsetLeft)+"px"}if(options.setTop){element.style.top=(p[1]-delta[1]+options.offsetTop)+"px"}if(options.setWidth){element.style.width=source.offsetWidth+"px"}if(options.setHeight){element.style.height=source.offsetHeight+"px"}return element}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:"class",htmlFor:"for"},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(proceed,element,style){switch(style){case"left":case"top":case"right":case"bottom":if(proceed(element,"position")==="static"){return null}case"height":case"width":if(!Element.visible(element)){return null}var dim=parseInt(proceed(element,style),10);if(dim!==element["offset"+style.capitalize()]){return dim+"px"}var properties;if(style==="height"){properties=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{properties=["border-left-width","padding-left","padding-right","border-right-width"]}return properties.inject(dim,function(memo,property){var val=proceed(element,property);return val===null?memo:memo-parseInt(val,10)})+"px";default:return proceed(element,style)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(proceed,element,attribute){if(attribute==="title"){return element.title}return proceed(element,attribute)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(proceed,element){element=$(element);try{element.offsetParent}catch(e){return $(document.body)}var position=element.getStyle("position");if(position!=="static"){return proceed(element)}element.setStyle({position:"relative"});var value=proceed(element);element.setStyle({position:position});return value});$w("positionedOffset viewportOffset").each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);try{element.offsetParent}catch(e){return Element._returnOffset(0,0)}var position=element.getStyle("position");if(position!=="static"){return proceed(element)}var offsetParent=(element.parent)?element.getOffsetParent():0;if(offsetParent&&offsetParent.getStyle("position")==="fixed"){offsetParent.setStyle({zoom:1})}element.setStyle({position:"relative"});var value=proceed(element);element.setStyle({position:position});return value})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(proceed,element){try{element.offsetParent}catch(e){return Element._returnOffset(0,0)}return proceed(element)});Element.Methods.getStyle=function(element,style){element=$(element);style=(style=="float"||style=="cssFloat")?"styleFloat":style.camelize();var value=element.style[style];if(!value&&element.currentStyle){value=element.currentStyle[style]}if(style=="opacity"){if(value=(element.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(value[1]){return parseFloat(value[1])/100}}return 1}if(value=="auto"){if((style=="width"||style=="height")&&(element.getStyle("display")!="none")){return element["offset"+style.capitalize()]+"px"}return null}return value};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,"")}element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=="normal")){element.style.zoom=1}var filter=element.getStyle("filter"),style=element.style;if(value==1||value===""){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute("filter");return element}else{if(value<0.00001){value=0}}style.filter=stripAlpha(filter)+"alpha(opacity="+(value*100)+")";return element};Element._attributeTranslations={read:{names:{"class":"className","for":"htmlFor"},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2)},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:""},_getEv:function(element,attribute){attribute=element.getAttribute(attribute);return attribute?attribute.toString().slice(23,-2):null},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null},style:function(element){return element.style.cssText.toLowerCase()},title:function(element){return element.title}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value},style:function(element,value){element.style.cssText=value?value:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr});(function(v){Object.extend(v,{href:v._getAttr,src:v._getAttr,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv})})(Element._attributeTranslations.read.values)}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==="")?"":(value<0.00001)?0:value;return element}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1||value==="")?"":(value<0.00001)?0:value;if(value==1){if(element.tagName.toUpperCase()=="IMG"&&element.width){element.width++;element.width--}else{try{var n=document.createTextNode(" ");element.appendChild(n);element.removeChild(n)}catch(e){}}}return element};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body){if(Element.getStyle(element,"position")=="absolute"){break}}element=element.offsetParent}while(element);return Element._returnOffset(valueL,valueT)}}}}}if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){return element.update().insert(content)}content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName in Element._insertionTranslations.tags){$A(element.childNodes).each(function(node){element.removeChild(node)});Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)})}else{element.innerHTML=content.stripScripts()}content.evalScripts.bind(content).defer();return element}}if("outerHTML" in document.createElement("div")){Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement){content=content.toElement()}if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element}content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next();var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling){fragments.each(function(node){parent.insertBefore(node,nextSibling)})}else{fragments.each(function(node){parent.appendChild(node)})}}else{element.outerHTML=content.stripScripts()}content.evalScripts.bind(content).defer();return element}}Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element("div"),t=Element._insertionTranslations.tags[tagName];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild})}else{div.innerHTML=html}return $A(div.childNodes)};Element._insertionTranslations={before:function(element,node){element.parentNode.insertBefore(node,element)},top:function(element,node){element.insertBefore(node,element.firstChild)},bottom:function(element,node){element.appendChild(node)},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling)},tags:{TABLE:["<table>","</table>",1],TBODY:["<table><tbody>","</tbody></table>",2],TR:["<table><tbody><tr>","</tr></tbody></table>",3],TD:["<table><tbody><tr><td>","</td></tr></tbody></table>",4],SELECT:["<select>","</select>",1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD})}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return !!(node&&node.specified)}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement("div")["__proto__"]){window.HTMLElement={};window.HTMLElement.prototype=document.createElement("div")["__proto__"];Prototype.BrowserFeatures.ElementExtensions=true}Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions){return Prototype.K}var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window){return element}var methods=Object.clone(Methods),tagName=element.tagName.toUpperCase(),property,value;if(ByTag[tagName]){Object.extend(methods,ByTag[tagName])}for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element)){element[property]=value.methodize()}}element._extendedByPrototype=Prototype.emptyFunction;return element},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated)}}});extend.refresh();return extend})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute){return element.hasAttribute(attribute)}return Element.Methods.Simulated.hasAttribute(element,attribute)};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{FORM:Object.clone(Form.Methods),INPUT:Object.clone(Form.Element.Methods),SELECT:Object.clone(Form.Element.Methods),TEXTAREA:Object.clone(Form.Element.Methods)})}if(arguments.length==2){var tagName=methods;methods=arguments[1]}if(!tagName){Object.extend(Element.Methods,methods||{})}else{if(Object.isArray(tagName)){tagName.each(extend)}else{extend(tagName)}}function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName]){Element.Methods.ByTag[tagName]={}}Object.extend(Element.Methods.ByTag[tagName],methods)}function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value)){continue}if(!onlyIfAbsent||!(property in destination)){destination[property]=value.methodize()}}}function findDOMClass(tagName){var klass;var trans={OPTGROUP:"OptGroup",TEXTAREA:"TextArea",P:"Paragraph",FIELDSET:"FieldSet",UL:"UList",OL:"OList",DL:"DList",DIR:"Directory",H1:"Heading",H2:"Heading",H3:"Heading",H4:"Heading",H5:"Heading",H6:"Heading",Q:"Quote",INS:"Mod",DEL:"Mod",A:"Anchor",IMG:"Image",CAPTION:"TableCaption",COL:"TableCol",COLGROUP:"TableCol",THEAD:"TableSection",TFOOT:"TableSection",TBODY:"TableSection",TR:"TableRow",TH:"TableCell",TD:"TableCell",FRAMESET:"FrameSet",IFRAME:"IFrame"};if(trans[tagName]){klass="HTML"+trans[tagName]+"Element"}if(window[klass]){return window[klass]}klass="HTML"+tagName+"Element";if(window[klass]){return window[klass]}klass="HTML"+tagName.capitalize()+"Element";if(window[klass]){return window[klass]}window[klass]={};window[klass].prototype=document.createElement(tagName)["__proto__"];return window[klass]}if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true)}if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass)){continue}copy(T[tag],klass.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}};document.viewport={getDimensions:function(){var dimensions={},B=Prototype.Browser;$w("width height").each(function(d){var D=d.capitalize();if(B.WebKit&&!document.evaluate){dimensions[d]=self["inner"+D]}else{if(B.Opera&&parseFloat(window.opera.version())<9.5){dimensions[d]=document.body["client"+D]}else{dimensions[d]=document.documentElement["client"+D]}}});return dimensions},getWidth:function(){return this.getDimensions().width},getHeight:function(){return this.getDimensions().height},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop)}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();if(this.shouldUseSelectorsAPI()){this.mode="selectorsAPI"}else{if(this.shouldUseXPath()){this.mode="xpath";this.compileXPathMatcher()}else{this.mode="normal";this.compileMatcher()}}},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath){return false}var e=this.expression;if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(e)){return false}return true},shouldUseSelectorsAPI:function(){if(!Prototype.BrowserFeatures.SelectorsAPI){return false}if(!Selector._div){Selector._div=new Element("div")}try{Selector._div.querySelector(this.expression)}catch(e){return false}return true},compileMatcher:function(){var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return}this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],"");break}}}this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join("\n"));Selector._cache[this.expression]=this.matcher},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return}this.matcher=[".//*"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(root){root=root||document;var e=this.expression,results;switch(this.mode){case"selectorsAPI":if(root!==document){var oldId=root.id,id=$(root).identify();e="#"+id+" "+e}results=$A(root.querySelectorAll(e)).map(Element.extend);root.id=oldId;return results;case"xpath":return document._getElementsByXPath(this.xpath,root);default:return this.matcher(root)}},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],"")}else{return this.findElements(document).include(element)}}}}var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break}}return match},toString:function(){return this.expression},inspect:function(){return"#<Selector:"+this.expression.inspect()+">"}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:"/following-sibling::*",tagName:function(m){if(m[1]=="*"){return""}return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m)},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m)},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h){return""}if(Object.isFunction(h)){return h(m)}return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m)},operators:{"=":"[@#{1}='#{3}']","!=":"[@#{1}!='#{3}']","^=":"[starts-with(@#{1}, '#{3}')]","$=":"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']","*=":"[contains(@#{1}, '#{3}')]","~=":"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]","|=":"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{"first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","only-child":"[not(preceding-sibling::* or following-sibling::*)]",empty:"[count(*) = 0 and (count(text()) = 0)]",checked:"[@checked]",disabled:"[(@disabled) and (@type!='hidden')]",enabled:"[not(@disabled) and (@type!='hidden')]",not:function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],"");break}}}return"[not("+exclusion.join(" and ")+")]"},"nth-child":function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m)},"nth-last-child":function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m)},"nth-of-type":function(m){return Selector.xpath.pseudos.nth("position() ",m)},"nth-last-of-type":function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m)},"first-of-type":function(m){m[6]="1";return Selector.xpath.pseudos["nth-of-type"](m)},"last-of-type":function(m){m[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](m)},"only-of-type":function(m){var p=Selector.xpath.pseudos;return p["first-of-type"](m)+p["last-of-type"](m)},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=="even"){formula="2n+0"}if(formula=="odd"){formula="2n+1"}if(mm=formula.match(/^(\d+)$/)){return"["+fragment+"= "+mm[1]+"]"}if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-"){mm[1]=-1}var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b})}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m)},pseudo:function(m){if(m[6]){m[6]=m[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m)},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[((?:[\w]+:)?[\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase()},className:function(element,matches){return Element.hasClassName(element,matches[1])},id:function(element,matches){return element.id===matches[1]},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1])},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return nodeValue&&Selector.operators[matches[2]](nodeValue,matches[5]||matches[6])}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++){a.push(node)}return a},mark:function(nodes){var _true=Prototype.emptyFunction;for(var i=0,node;node=nodes[i];i++){node._countedByPrototype=_true}return nodes},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++){node._countedByPrototype=undefined}return nodes},index:function(parentNode,reverse,ofType){parentNode._countedByPrototype=Prototype.emptyFunction;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._countedByPrototype)){node.nodeIndex=j++}}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++){if(node.nodeType==1&&(!ofType||node._countedByPrototype)){node.nodeIndex=j++}}}},unique:function(nodes){if(nodes.length==0){return nodes}var results=[],n;for(var i=0,l=nodes.length;i<l;i++){if(!(n=nodes[i])._countedByPrototype){n._countedByPrototype=Prototype.emptyFunction;results.push(Element.extend(n))}}return Selector.handlers.unmark(results)},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){h.concat(results,node.getElementsByTagName("*"))}return results},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,child;child=node.childNodes[j];j++){if(child.nodeType==1&&child.tagName!="!"){results.push(child)}}}return results},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next){results.push(next)}}return results},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){h.concat(results,Element.nextSiblings(node))}return results},nextElementSibling:function(node){while(node=node.nextSibling){if(node.nodeType==1){return node}}return null},previousElementSibling:function(node){while(node=node.previousSibling){if(node.nodeType==1){return node}}return null},tagName:function(nodes,root,tagName,combinator){var uTagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++){h.concat(results,node.getElementsByTagName(tagName))}return results}else{nodes=this[combinator](nodes)}if(tagName=="*"){return nodes}}for(var i=0,node;node=nodes[i];i++){if(node.tagName.toUpperCase()===uTagName){results.push(node)}}return results}else{return root.getElementsByTagName(tagName)}},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!targetNode){return[]}if(!nodes&&root==document){return[targetNode]}if(nodes){if(combinator){if(combinator=="child"){for(var i=0,node;node=nodes[i];i++){if(targetNode.parentNode==node){return[targetNode]}}}else{if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++){if(Element.descendantOf(targetNode,node)){return[targetNode]}}}else{if(combinator=="adjacent"){for(var i=0,node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(targetNode)==node){return[targetNode]}}}else{nodes=h[combinator](nodes)}}}}for(var i=0,node;node=nodes[i];i++){if(node==targetNode){return[targetNode]}}return[]}return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[]},className:function(nodes,root,className,combinator){if(nodes&&combinator){nodes=this[combinator](nodes)}return Selector.handlers.byClassName(nodes,root,className)},byClassName:function(nodes,root,className){if(!nodes){nodes=Selector.handlers.descendant([root])}var needle=" "+className+" ";for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0){continue}if(nodeClassName==className||(" "+nodeClassName+" ").include(needle)){results.push(node)}}return results},attrPresence:function(nodes,root,attr,combinator){if(!nodes){nodes=root.getElementsByTagName("*")}if(nodes&&combinator){nodes=this[combinator](nodes)}var results=[];for(var i=0,node;node=nodes[i];i++){if(Element.hasAttribute(node,attr)){results.push(node)}}return results},attr:function(nodes,root,attr,value,operator,combinator){if(!nodes){nodes=root.getElementsByTagName("*")}if(nodes&&combinator){nodes=this[combinator](nodes)}var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null){continue}if(handler(nodeValue,value)){results.push(node)}}return results},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator){nodes=this[combinator](nodes)}if(!nodes){nodes=root.getElementsByTagName("*")}return Selector.pseudos[name](nodes,value,root)}},pseudos:{"first-child":function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node)){continue}results.push(node)}return results},"last-child":function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node)){continue}results.push(node)}return results},"only-child":function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){if(!h.previousElementSibling(node)&&!h.nextElementSibling(node)){results.push(node)}}return results},"nth-child":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root)},"nth-last-child":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true)},"nth-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true)},"nth-last-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true)},"first-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true)},"last-of-type":function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true)},"only-of-type":function(nodes,formula,root){var p=Selector.pseudos;return p["last-of-type"](p["first-of-type"](nodes,formula,root),formula,root)},getIndices:function(a,b,total){if(a==0){return b>0?[b]:[]}return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0){memo.push(i)}return memo})},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0){return[]}if(formula=="even"){formula="2n+0"}if(formula=="odd"){formula="2n+1"}var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._countedByPrototype){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode)}}if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++){if(node.nodeIndex==formula){results.push(node)}}}else{if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-"){m[1]=-1}var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j<l;j++){if(node.nodeIndex==indices[j]){results.push(node)}}}}}h.unmark(nodes);h.unmark(indexed);return results},empty:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=="!"||node.firstChild){continue}results.push(node)}return results},not:function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++){if(!node._countedByPrototype){results.push(node)}}h.unmark(exclusions);return results},enabled:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(!node.disabled&&(!node.type||node.type!=="hidden")){results.push(node)}}return results},disabled:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.disabled){results.push(node)}}return results},checked:function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.checked){results.push(node)}}return results}},operators:{"=":function(nv,v){return nv==v},"!=":function(nv,v){return nv!=v},"^=":function(nv,v){return nv==v||nv&&nv.startsWith(v)},"$=":function(nv,v){return nv==v||nv&&nv.endsWith(v)},"*=":function(nv,v){return nv==v||nv&&nv.include(v)},"$=":function(nv,v){return nv.endsWith(v)},"*=":function(nv,v){return nv.include(v)},"~=":function(nv,v){return(" "+nv+" ").include(" "+v+" ")},"|=":function(nv,v){return("-"+(nv||"").toUpperCase()+"-").include("-"+(v||"").toUpperCase()+"-")}},split:function(expression){var expressions=[];expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip())});return expressions},matchElements:function(elements,expression){var matches=$$(expression),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++){if(element._countedByPrototype){results.push(element)}}h.unmark(matches);return results},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false}return Selector.matchElements(elements,expression||"*")[index||0]},findChildElements:function(element,expressions){expressions=Selector.split(expressions.join(","));var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element))}return(l>1)?h.unique(results):results}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++){if(node.tagName!=="!"){a.push(node)}}return a},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++){node.removeAttribute("_countedByPrototype")}return nodes}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(form){$(form).reset();return form},serializeElements:function(elements,options){if(typeof options!="object"){options={hash:!!options}}else{if(Object.isUndefined(options.hash)){options.hash=true}}var key,value,submitted=false,submit=options.submit;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&element.type!="file"&&(element.type!="submit"||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){if(!Object.isArray(result[key])){result[key]=[result[key]]}result[key].push(value)}else{result[key]=value}}}return result});return options.hash?data:Object.toQueryString(data)}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options)},getElements:function(form){return $A($(form).getElementsByTagName("*")).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()]){elements.push(Element.extend(child))}return elements})},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName("input");if(!typeName&&!name){return $A(inputs).map(Element.extend)}for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name)){continue}matchingInputs.push(Element.extend(input))}return matchingInputs},disable:function(form){form=$(form);Form.getElements(form).invoke("disable");return form},enable:function(form){form=$(form);Form.getElements(form).invoke("enable");return form},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return"hidden"!=element.type&&!element.disabled});var firstByIndex=elements.findAll(function(element){return element.hasAttribute("tabIndex")&&element.tabIndex>=0}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return["input","select","textarea"].include(element.tagName.toLowerCase())})},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute("action")||"";if(action.blank()){action=window.location.href}options.parameters=form.serialize(true);if(params){if(Object.isString(params)){params=params.toQueryParams()}Object.extend(options.parameters,params)}if(form.hasAttribute("method")&&!options.method){options.method=form.method}return new Ajax.Request(action,options)}};Form.Element={focus:function(element){$(element).focus();return element},select:function(element){$(element).select();return element}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair)}}return""},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element)},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element},clear:function(element){$(element).value="";return element},present:function(element){return $(element).value!=""},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(element.type))){element.select()}}catch(e){}return element},disable:function(element){element=$(element);element.disabled=true;return element},enable:function(element){element=$(element);element.disabled=false;return element}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value)}},inputSelector:function(element,value){if(Object.isUndefined(value)){return element.checked?element.value:null}else{element.checked=!!value}},textarea:function(element,value){if(Object.isUndefined(value)){return element.value}else{element.value=value}},select:function(element,value){if(Object.isUndefined(value)){return this[element.type=="select-one"?"selectOne":"selectMany"](element)}else{var opt,currentValue,single=!Object.isArray(value);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];currentValue=this.optionValue(opt);if(single){if(currentValue==value){opt.selected=true;return}}else{opt.selected=value.include(currentValue)}}}},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null},selectMany:function(element){var values,length=element.length;if(!length){return null}for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected){values.push(this.optionValue(opt))}}return values},optionValue:function(opt){return Element.extend(opt).hasAttribute("value")?opt.value:opt.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue()},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element)}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case"checkbox":case"radio":Event.observe(element,"click",this.onElementEvent.bind(this));break;default:Event.observe(element,"change",this.onElementEvent.bind(this));break}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element)}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element)}});if(!window.Event){var Event={}}Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(event){var element;switch(event.type){case"mouseover":element=event.fromElement;break;case"mouseout":element=event.toElement;break;default:return null}return Element.extend(element)}});Event.Methods=(function(){var isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};isButton=function(event,code){return event.button==buttonMap[code]}}else{if(Prototype.Browser.WebKit){isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false}}}else{isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code)}}}return{isLeftClick:function(event){return isButton(event,0)},isMiddleClick:function(event){return isButton(event,1)},isRightClick:function(event){return isButton(event,2)},element:function(event){event=Event.extend(event);var node=event.target,type=event.type,currentTarget=event.currentTarget;if(currentTarget&&currentTarget.tagName){if(type==="load"||type==="error"||(type==="click"&&currentTarget.tagName.toLowerCase()==="input"&&currentTarget.type==="radio")){node=currentTarget}}if(node.nodeType==Node.TEXT_NODE){node=node.parentNode}return Element.extend(node)},findElement:function(event,expression){var element=Event.element(event);if(!expression){return element}var elements=[element].concat(element.ancestors());return Selector.findElement(elements,expression,0)},pointer:function(event){var docElement=document.documentElement,body=document.body||{scrollLeft:0,scrollTop:0};return{x:event.pageX||(event.clientX+(docElement.scrollLeft||body.scrollLeft)-(docElement.clientLeft||0)),y:event.pageY||(event.clientY+(docElement.scrollTop||body.scrollTop)-(docElement.clientTop||0))}},pointerX:function(event){return Event.pointer(event).x},pointerY:function(event){return Event.pointer(event).y},stop:function(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true}}})();Event.extend=(function(){var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m});if(Prototype.Browser.IE){Object.extend(methods,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(event){if(!event){return false}if(event._extendedByPrototype){return event}event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement,relatedTarget:Event.relatedTarget(event),pageX:pointer.x,pageY:pointer.y});return Object.extend(event,methods)}}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents")["__proto__"];Object.extend(Event.prototype,methods);return Prototype.K}})();Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._prototypeEventID){return element._prototypeEventID[0]}arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id]}function getDOMEventName(eventName){if(eventName&&eventName.include(":")){return"dataavailable"}return eventName}function getCacheForID(id){return cache[id]=cache[id]||{}}function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[]}function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler)){return false}var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName)){return false}Event.extend(event);handler.call(element,event)};wrapper.handler=handler;c.push(wrapper);return wrapper}function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler})}function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName]){return false}c[eventName]=c[eventName].without(findWrapper(id,eventName,handler))}function destroyCache(){for(var id in cache){for(var eventName in cache[id]){cache[id][eventName]=null}}}if(window.attachEvent){window.attachEvent("onunload",destroyCache)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper){return element}if(element.addEventListener){element.addEventListener(name,wrapper,false)}else{element.attachEvent("on"+name,wrapper)}return element},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler)});return element}else{if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName)});return element}}var wrapper=findWrapper(id,eventName,handler);if(!wrapper){return element}if(element.removeEventListener){element.removeEventListener(name,wrapper,false)}else{element.detachEvent("on"+name,wrapper)}destroyWrapper(id,eventName,handler);return element},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent){element=document.documentElement}var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true)}else{event=document.createEventObject();event.eventType="ondataavailable"}event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event)}else{element.fireEvent(event.eventType,event)}return Event.extend(event)}}})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var timer;function fireContentLoadedEvent(){if(document.loaded){return}if(timer){window.clearInterval(timer)}document.fire("dom:loaded");document.loaded=true}if(document.addEventListener){if(Prototype.Browser.WebKit){timer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){fireContentLoadedEvent()}},0);Event.observe(window,"load",fireContentLoadedEvent)}else{document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false)}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent()}}}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content})},Top:function(element,content){return Element.insert(element,{top:content})},Bottom:function(element,content){return Element.insert(element,{bottom:content})},After:function(element,content){return Element.insert(element,{after:content})}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},within:function(element,x,y){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(element,x,y)}this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth)},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth)},overlap:function(mode,element){if(!mode){return 0}if(mode=="vertical"){return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight}if(mode=="horizontal"){return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element)},relativize:function(element){Position.prepare();return Element.relativize(element)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]"}instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(""):iter(className);return cond?document._getElementsByXPath(".//*"+cond,element):[]}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className){return elements}var nodes=$(element).getElementsByTagName("*");className=" "+className+" ";for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=" "+child.className+" ")&&(cn.include(className)||(classNames&&classNames.all(function(name){return !name.toString().blank()&&cn.include(" "+name+" ")})))){elements.push(Element.extend(child))}}return elements};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className)}}(Element.Methods)}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element)},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0})._each(iterator)},set:function(className){this.element.className=className},add:function(classNameToAdd){if(this.include(classNameToAdd)){return}this.set($A(this).concat(classNameToAdd).join(" "))},remove:function(classNameToRemove){if(!this.include(classNameToRemove)){return}this.set($A(this).without(classNameToRemove).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();
var Scriptaculous={Version:"1.8.2",require:function(libraryName){document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>')},REQUIRED_PROTOTYPE:"1.6.0.3",load:function(){function convertVersionString(versionString){var v=versionString.replace(/_.*|\./g,"");v=parseInt(v+"0".times(4-v.length));return versionString.indexOf("_")>-1?v-1:v}if((typeof Prototype=="undefined")||(typeof Element=="undefined")||(typeof Element.Methods=="undefined")||(convertVersionString(Prototype.Version)<convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE))){throw ("script.aculo.us requires the Prototype JavaScript framework >= "+Scriptaculous.REQUIRED_PROTOTYPE)}var js=/scriptaculous\.js(\?.*)?$/;$$("head script[src]").findAll(function(s){return s.src.match(js)}).each(function(s){var path=s.src.replace(js,""),includes=s.src.match(/\?.*load=([a-z,]*)/);(includes?includes[1]:"builder,effects,dragdrop,controls,slider,sound").split(",").each(function(include){Scriptaculous.require(path+include+".js")})})}};Scriptaculous.load();
var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(elementName){elementName=elementName.toUpperCase();var parentTag=this.NODEMAP[elementName]||"div";var parentElement=document.createElement(parentTag);try{parentElement.innerHTML="<"+elementName+"></"+elementName+">"}catch(e){}var element=parentElement.firstChild||null;if(element&&(element.tagName.toUpperCase()!=elementName)){element=element.getElementsByTagName(elementName)[0]}if(!element){element=document.createElement(elementName)}if(!element){return}if(arguments[1]){if(this._isStringOrNumber(arguments[1])||(arguments[1] instanceof Array)||arguments[1].tagName){this._children(element,arguments[1])}else{var attrs=this._attributes(arguments[1]);if(attrs.length){try{parentElement.innerHTML="<"+elementName+" "+attrs+"></"+elementName+">"}catch(e){}element=parentElement.firstChild||null;if(!element){element=document.createElement(elementName);for(attr in arguments[1]){element[attr=="class"?"className":attr]=arguments[1][attr]}}if(element.tagName.toUpperCase()!=elementName){element=parentElement.getElementsByTagName(elementName)[0]}}}}if(arguments[2]){this._children(element,arguments[2])}return $(element)},_text:function(text){return document.createTextNode(text)},ATTR_MAP:{className:"class",htmlFor:"for"},_attributes:function(attributes){var attrs=[];for(attribute in attributes){attrs.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+attributes[attribute].toString().escapeHTML().gsub(/"/,"&quot;")+'"')}return attrs.join(" ")},_children:function(element,children){if(children.tagName){element.appendChild(children);return}if(typeof children=="object"){children.flatten().each(function(e){if(typeof e=="object"){element.appendChild(e)}else{if(Builder._isStringOrNumber(e)){element.appendChild(Builder._text(e))}}})}else{if(Builder._isStringOrNumber(children)){element.appendChild(Builder._text(children))}}},_isStringOrNumber:function(param){return(typeof param=="string"||typeof param=="number")},build:function(html){var element=this.node("div");$(element).update(html.strip());return element.down()},dump:function(scope){if(typeof scope!="object"&&typeof scope!="function"){scope=window}var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)))}})}};
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){return(-Math.cos((pos*((pulses||5)-0.5)*2)*Math.PI)/2)+0.5},spring:function(pos){return 1-(Math.cos(pos*4.5*Math.PI)*Math.exp(-pos*6))},none:function(pos){return 0},full:function(pos){return 1}},DefaultOptions:{duration:1,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;this.render=(function(){function dispatch(effect,eventName){if(effect.options[eventName+"Internal"]){effect.options[eventName+"Internal"](effect)}if(effect.options[eventName]){effect.options[eventName](effect)}}return function(pos){if(this.state==="idle"){this.state="running";dispatch(this,"beforeSetup");if(this.setup){this.setup()}dispatch(this,"afterSetup")}if(this.state==="running"){pos=(this.options.transition(pos)*this.fromToDelta)+this.options.from;this.position=pos;dispatch(this,"beforeUpdate");if(this.update){this.update(pos)}dispatch(this,"afterUpdate")}}})();this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1);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();if(options.offset){elementOffsets[1]+=options.offset}return new Effect.Tween(null,scrollOffsets.top,elementOffsets[1],options,function(p){scrollTo(scrollOffsets.left,p.round())})};Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1,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",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case"top-left":moveX=moveY=0;break;case"top-right":moveX=dims.width;moveY=0;break;case"bottom-left":moveX=0;moveY=dims.height;break;case"bottom-right":moveX=dims.width;moveY=dims.height;break;case"center":moveX=dims.width/2;moveY=dims.height/2;break}return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0,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]||{},oldOpacity=element.getInlineOpacity(),transition=options.transition||Effect.Transitions.linear,reverser=function(pos){return 1-transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2)+0.5)};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})}Effect.Appear(update,{duration:0.15})};this.options.onHide=this.options.onHide||function(element,update){new Effect.Fade(update,{duration:0.15})};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+"_iefix")}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)}if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(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){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.unescapeHTML()},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(){var window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context)},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this}if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret}}else return jQuery(context).find(selector)}else if(jQuery.isFunction(selector))return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context}return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num]},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)ret.selector=this.selector+"."+name+"("+selector+")";return ret},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this},each:function(callback,args){return jQuery.each(this,callback,args)},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this)},attr:function(name,value,type){var options=name;if(typeof name==="string")if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name))})},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS")},text:function(text){if(typeof text!=="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this])})});return ret},wrapAll:function(html){if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)wrap.insertBefore(this[0]);wrap.map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem}).append(this)}return this},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html)})},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html)})},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)this.appendChild(elem)})},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild)})},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this)})},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling)})},end:function(){return this.prevObject||jQuery([])},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem)})),"find",selector)}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML}return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else return this.cloneNode(true)});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data)}}i++})}return ret},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i)})||jQuery.multiFilter(selector,jQuery.grep(this,function(elem){return elem.nodeType===1})),"filter",selector)},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur}cur=cur.parentNode;closer++}})},not:function(selector){if(typeof selector==="string")if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);else selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector})},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))))},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0},hasClass:function(selector){return!!selector&&this.is("."+selector)},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)return value;values.push(value)}}return values}return(elem.value||"").replace(/\r/g,"")}return undefined}if(typeof value==="number")value+='';return this.each(function(){if(this.nodeType!=1)return;if(jQuery.isArray(value)&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0)});if(!values.length)this.selectedIndex=-1}else this.value=value})},html:function(value){return value===undefined?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(value)},replaceWith:function(value){return this.after(value).remove()},eq:function(i){return this.slice(i,+i+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)for(var i=0,l=this.length;i<l;i++)callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)jQuery.each(scripts,evalScript)}return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem}}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem)}function now(){return+new Date}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&!jQuery.isFunction(target))target={};if(length==i){target=this;--i}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy}return target};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery},isFunction:function(obj){return toString.call(obj)==="[object Function]"},isArray:function(obj){return toString.call(obj)==="[object Array]"},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument)},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)script.appendChild(document.createTextNode(data));else script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script)}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase()},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)if(callback.apply(object[name],args)===false)break}else for(;i<length;)if(callback.apply(object[i++],args)===false)break}else{if(length===undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break}else for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className})},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!==undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className)}).join(" "):""},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name]}callback.call(elem);for(var name in options)elem.style[name]=old[name]},css:function(elem,name,force,extra){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border")return;jQuery.each(which,function(){if(!extra)val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0})}if(elem.offsetWidth!==0)getWH();else jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val))}return jQuery.curCSS(elem,name,force)},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)ret=computedStyle.getPropertyValue(name);if(name=="opacity"&&ret=="")ret="1"}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase()});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft}}return ret},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)return[context.createElement(match[1])]}var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")elem+='';if(!elem)return;if(typeof elem==="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">"});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j])}if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes)}if(elem.nodeType)ret.push(elem);else ret=jQuery.merge(ret,elem)});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i])}else{if(ret[i].nodeType===1)ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i])}}return scripts}return ret},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined}return elem[name]}if(!jQuery.support.style&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr}if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")")}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':""}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase()});if(set)elem[name]=value;return elem[name]},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"")},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)ret[0]=array;else while(i)ret[--i]=array[i]}return ret},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1},merge:function(first,second){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)if(elem.nodeType!=8)first[pos++]=elem}else while((elem=second[i++])!=null)first[pos++]=elem;return first},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i])}}}catch(e){ret=array}return ret},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value}return ret.concat.apply([],ret)}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};jQuery.each({parent:function(elem){return elem.parentNode},parents:function(elem){return jQuery.dir(elem,"parentNode")},next:function(elem){return jQuery.nth(elem,2,"nextSibling")},prev:function(elem){return jQuery.nth(elem,2,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret),name,selector)}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems)}return this.pushStack(ret,name,selector)}});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name)},addClass:function(classNames){jQuery.className.add(this,classNames)},removeClass:function(classNames){jQuery.className.remove(this,classNames)},toggleClass:function(classNames,state){if(typeof state!=="boolean")state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames)},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this)});if(this.parentNode)this.parentNode.removeChild(this)}},empty:function(){jQuery(this).children().remove();while(this.firstChild)this.removeChild(this.firstChild)}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments)}});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0}var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem)}}else{try{delete elem[expando]}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando)}delete jQuery.cache[id]}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)q.push(data)}return q},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")fn=queue[0];if(fn!==undefined)fn.call(elem)}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data}else return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value)})},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx"}if(data===undefined)return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)queue[0].call(this)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)return[];if(!selector||typeof selector!=="string"){return results}var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break}}if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context)}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])selector+=parts.shift();set=posProcess(selector,set)}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set)}else{prune=false}while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur=""}else{pop=parts.pop()}if(pop==null){pop=context}Expr.relative[cur](checkSet,pop,isXML(context))}}if(!checkSet){checkSet=set}if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector)}if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet)}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i])}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i])}}}}else{makeArray(checkSet,results)}if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1)}}}}}return results};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set)};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[]}for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break}}}}if(!set){set=context.getElementsByTagName("*")}return{set:set,expr:expr}};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[]}if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true}else if(match===true){continue}}if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true}else{curLoop[i]=false}}else if(pass){result.push(item);anyFound=true}}}}if(found!==undefined){if(!inplace){curLoop=result}expr=expr.replace(Expr.match[type],"");if(!anyFound){return[]}break}}}if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr}else{break}}old=expr}return curLoop};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href")}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase()}for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part}}if(isPartStrNotTag){Sizzle.filter(part,checkSet,true)}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part}}if(isPartStr){Sizzle.filter(part,checkSet,true)}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck}checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML)},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck}checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML)}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[]}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i])}}return ret.length===0?null:ret}},TAG:function(match,context){return context.getElementsByTagName(match[1])}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match}for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)result.push(elem)}else if(inplace){curLoop[i]=false}}}return false},ID:function(match){return match[1].replace(/\\/g,"")},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase()},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0}match[0]=done++;return match},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name]}if(match[2]==="~="){match[4]=" "+match[4]+" "}return match},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop)}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret)}return false}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true}return match},POS:function(match){match.unshift(true);return match}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden"},disabled:function(elem){return elem.disabled===true},checked:function(elem){return elem.checked===true},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true},parent:function(elem){return!!elem.firstChild},empty:function(elem){return!elem.firstChild},has:function(elem,i,match){return!!Sizzle(match[3],elem).length},header:function(elem){return/h\d/i.test(elem.nodeName)},text:function(elem){return"text"===elem.type},radio:function(elem){return"radio"===elem.type},checkbox:function(elem){return"checkbox"===elem.type},file:function(elem){return"file"===elem.type},password:function(elem){return"password"===elem.type},submit:function(elem){return"submit"===elem.type},image:function(elem){return"image"===elem.type},reset:function(elem){return"reset"===elem.type},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON"},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName)}},setFilters:{first:function(elem,i){return i===0},last:function(elem,i,match,array){return i===array.length-1},even:function(elem,i){return i%2===0},odd:function(elem,i){return i%2===1},lt:function(elem,i,match){return i<match[3]-0},gt:function(elem,i,match){return i>match[3]-0},nth:function(elem,i,match){return match[3]-0==i},eq:function(elem,i,match){return match[3]-0==i}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array)}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false}}return true}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false}if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false}return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true}var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count}}parent.sizcache=doneName}var diff=elem.nodeIndex-last;if(first==0){return diff==0}else{return(diff%first==0&&diff/first>=0)}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array)}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results}return array};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array)}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i])}}else{for(var i=0;array[i];i++){ret.push(array[i])}}}return ret}}var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true}return ret}}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true}return ret}}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true}return ret}}(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[]}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match}}root.removeChild(form)})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i])}}results=tmp}return results}}div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2)}}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return}Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra)}catch(e){}}return oldSizzle(query,context,extra,seed)};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1])}}})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i}elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i}if(elem.nodeName===cur){match=elem;break}elem=elem[dir]}checkSet[i]=match}}}function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i}elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break}if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i}if(typeof cur!=="string"){if(elem===cur){match=true;break}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break}}elem=elem[dir]}checkSet[i]=match}}}var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16}:function(a,b){return a!==b&&(a.contains?a.contains(b):true)};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument)};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"")}selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet)}return Sizzle.filter(later,tmpSet)};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")"}return Sizzle.matches(expr,elems)};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir]}return matched};jQuery.nth=function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n)}return r};return;window.Sizzle=Sizzle})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(elem.setInterval&&elem!=window)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle)}}handlers[handler.guid]=handler;jQuery.event.global[type]=true});elem=null},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type}jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)delete events[type][handler.guid];else for(var handle in events[type])if(namespace.test(events[type][handle].type))delete events[type][handle];if(jQuery.event.specialAll[type])jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"))}ret=null;delete events[type]}}})}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle")}}},trigger:function(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true}if(!elem){event.stopPropagation();if(this.global[type])jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])jQuery.event.trigger(event,data,this.handle.elem)})}if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event)}event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]()}catch(e){}}this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)jQuery.event.trigger(event,data,parent,true)}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation()}}if(event.isImmediatePropagationStopped())break}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop]}if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0)}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments)};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler)},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))remove++});if(remove<1)jQuery.event.remove(this,namespaces[0],liveHandler)}}}}};jQuery.Event=function(src){if(!this.preventDefault)return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type}else this.type=src;this.timeStamp=now();this[expando]=true};function returnFalse(){return false}function returnTrue(){return true}jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)return;if(e.preventDefault)e.preventDefault();e.returnValue=false},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)return;if(e.stopPropagation)e.stopPropagation();e.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)try{parent=parent.parentNode}catch(e){parent=this}if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments)}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix)},teardown:function(){jQuery.event.remove(this,orig,withinElement)}}});jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data)})},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments)});return this.each(function(){jQuery.event.add(this,type,one,fn&&data)})},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn)})},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false}))},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut)},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else jQuery.readyList.push(fn);return this},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)elems.push({elem:elem,fn:fn})}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest")});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)return(stop=false)});return stop}function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".")}jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery)});jQuery.readyList=null}jQuery(document).triggerHandler("ready")}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready()},false)}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready()}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left")}catch(error){setTimeout(arguments.callee,0);return}jQuery.ready()})()}jQuery.event.add(window,"load",jQuery.ready)}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name)}});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)if(id!=1&&jQuery.cache[id].handle)jQuery.event.remove(jQuery.cache[id].handle.elem)});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return}jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"))}catch(e){}root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id]}root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee)});div.cloneNode(true).fireEvent("onclick")}jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none'})})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off)}var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null}else if(typeof params==="object"){params=jQuery.param(params);type="POST"}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)self.each(callback,[res.responseText,status,res])}});return this},serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val}}):{name:elem.name,value:val}}).get()}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f)}});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type})},getScript:function(url,callback){return jQuery.get(url,null,callback,"script")},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={}}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type})},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?"}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json"}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp]}catch(e){}if(head)head.removeChild(script)}}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"")}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script)}}}head.appendChild(script);return undefined}var requestDone=false;var xhr=s.xhr();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default)}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");xhr.abort();return false}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop")}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null}status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s)}catch(e){status="parsererror"}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified")}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success()}else jQuery.handleError(s,xhr,status);complete();if(isTimeout)xhr.abort();if(s.async)xhr=null}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr&&!requestDone)onreadystatechange("timeout")},s.timeout)}try{xhr.send(s.data)}catch(e){jQuery.handleError(s,xhr,null,e)}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s])}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop")}return xhr},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e])},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223}catch(e){}return false},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]}catch(e){}return false},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(s&&s.dataFilter)data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")jQuery.globalEval(data);if(type=="json")data=window["eval"]("("+data+")")}return data},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value)};if(jQuery.isArray(a)||a.jquery)jQuery.each(a,function(){add(this.name,this.value)});else for(var j in a)if(jQuery.isArray(a[j]))jQuery.each(a[j],function(){add(j,this)});else add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+")}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type});return obj}jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback)}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName]}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")display="block";elem.remove();elemdisplay[tagName]=display}jQuery.data(this[i],"olddisplay",display)}}for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||""}return this}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback)}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"))}for(var i=0,l=this.length;i<l;i++){this[i].style.display="none"}return this}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]()}):this.animate(genFx("toggle",3),fn,fn2)},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback)},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit)}else e.custom(start,val,"")}});return true})},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1)}});if(!gotoEnd)this.dequeue();return this}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback)}});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this)};return opt},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={}}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)this.elem.style.display="block"},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd)}t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(timerId);timerId=undefined}},13)}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show()},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(gotoEnd){var t=now();if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block"}if(this.options.hide)jQuery(this.elem).hide();if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem)}return false}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now)},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)fx.elem.style[fx.prop]=fx.now+fx.unit;else fx.elem[fx.prop]=fx.now}}});if(document.documentElement["getBoundingClientRect"])jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left}};else jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent}if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle}if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left}};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left}}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left}}return results},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent)}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method]}});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px")}})})();var $j=jQuery.noConflict();
var regionList=['Aba','Abádszalók','Abaliget','Abasár','Abaújalpár','Abaújkér','Abaújlak','Abaújszántó','Abaújszolnok','Abaújvár','Abda','Abod','Abony','Ábrahámhegy','Ács','Acsa','Acsád','Acsalag','Ácsteszér','Adács','Ádánd','Adásztevel','Adony','Adorjánháza','Adorjás','Ág','Agárd','Ágasegyháza','Ágfalva','Aggtelek','Agyagosszergény','Ajak','Ajka','Ajka-Ajkarendek','Ajka-Bakonygyepes','Ajka-Padragkút','Aka','Akasztó','Alacska','Alap','Alattyán','Albertirsa','Alcsútdoboz','Aldebrő','Algéria','Algyő','Alibánfa','Almamellék','Almásfüzitő','Almásháza','Almáskamarás','Almáskeresztúr','Álmosd','Alsóberecki','Alsóbogát','Alsódobsza','Alsógagy','Alsómocsolád','Alsónána','Alsónémedi','Alsónemesapáti','Alsónyék','Alsóörs','Alsópáhok','Alsópetény','Alsórajk','Alsóregmec','Alsószenterzsébet','Alsószentiván','Alsószentmárton','Alsószölnök','Alsószuha','Alsótelekes','Alsótold','Alsóújlak','Alsóvadász','Alsózsolca','Ambrózfalva','Amerikai Egyesült Államok','Anarcs','Andocs','Andornaktálya','Andorra','Andrásfa','Angola','Annavölgy','Antigua és Barbuda','Apácatorna','Apagy','Apaj','Aparhant','Apátfalva','Apátistvánfalva','Apátvarasd','Apc','Áporka','Apostag','Aranyosapáti','Aranyosgadány','Argentína','Arka','Arló','Arnót','Ároktő','Árpádhalom','Árpás','Ártánd','Ásotthalom','Ásványráró','Aszaló','Ászár','Aszód','Aszófő','Áta','Átány','Atkár','Attala','Ausztrália','Ausztria','Azerbajdzsán','Babarc','Babarcszőlős','Babócsa','Bábolna','Bábonymegyer','Babosdöbréte','Babót','Bács-Kiskun megye','Bácsalmás','Bácsbokod','Bácsborsód','Bácsszentgyörgy','Bácsszőlős','Badacsony','Badacsonylábdihegy','Badacsonyörs','Badacsonytomaj','Badacsonytördemic','Bag','Bagamér','Baglad','Bagod','Bágyogszovát','Bahama-szigetek','Bahrein','Baj','Baja','Bajánsenye','Bajcsa','Bajna','Bajót','Bak','Bakháza','Bakóca','Bakonszeg','Bakonya','Bakonybánk','Bakonybél','Bakonycsernye','Bakonygyirót','Bakonyjákó','Bakonykoppány','Bakonykúti','Bakonynána','Bakonyoszlop','Bakonypéterd','Bakonypölöske','Bakonyság','Bakonysárkány','Bakonyszentiván','Bakonyszentkirály','Bakonyszentlászló','Bakonyszombathely','Bakonyszücs','Bakonytamási','Baks','Baksa','Baktakék','Baktalórántháza','Baktüttös','Balajt','Balassagyarmat','Balástya','Balaton','Balatonakali','Balatonalmádi','Balatonberény','Balatonboglár','Balatonboglár-Szőlőskislak','Balatoncsicsó','Balatonederics','Balatonendréd','Balatonfenyves','Balatonfőkajár','Balatonföldvár','Balatonfüred','Balatonfüred-Balatonarács','Balatonfűzfő','Balatonfűzfő-Fűzfőgyártelep','Balatongyörök','Balatonhenye','Balatonkenese','Balatonkenese-Balatonakarattya','Balatonkeresztúr','Balatonlelle','Balatonmagyaród','Balatonmáriafürdő','Balatonőszöd','Balatonrendes','Balatonszabadi','Balatonszárszó','Balatonszemes','Balatonszentgyörgy','Balatonszepezd','Balatonszőlős','Balatonudvari','Balatonújlak','Balatonvilágos','Balinka','Balinka-Eszény','Balkány','Ballószög','Balmazújváros','Balogunyom','Balotaszállás','Balsa','Bálványos','Bana','Bánd','Bánfa','Banglades','Bánhorváti','Bánk','Bánokszentgyörgy','Bánréve','Bár','Barabás','Baracs','Baracska','Báránd','Baranya megye','Baranyahidvég','Baranyajenő','Baranyaszentgyörgy','Barbacs','Barbados','Barcs','Bárdudvarnok','Barlahida','Bárna','Barnag','Bársonyos','Basal','Baskó','Báta','Bátaapáti','Bátaszék','Baté','Bátmonostor','Bátonyterenye','Bátor','Bátorliget','Battonya','Bátya','Batyk','Bázakerettye','Bazsi','Béb','Becsehely','Becske','Becskeháza','Becsvölgye','Bedegkér','Bedő','Bejcgyertyános','Békás','Bekecs','Békés','Békés megye','Békéscsaba','Békéssámson','Békésszentandrás','Bekölce','Bélapátfalva','Bélavár','Belecska','Beled','Beleg','Belezna','Belgium','Belize','Bélmegyer','Beloiannisz','Belsősárd','Belvárdgyula','Benin','Benk','Bénye','Bér','Bérbaltavár','Bercel','Beregdaróc','Beregsurány','Berekböszörmény','Berekfürdő','Beremend','Berente','Beret','Berettyóújfalu','Berettyóújfalu-Berettyószentmárton','Berhida','Berhida-Peremarton','Berkenye','Berkesd','Berkesz','Bernecebaráti','Berzék','Berzence','Besence','Besenyőd','Besenyőtelek','Besenyszög','Besnyő','Beszterec','Bezedek','Bezenye','Bezeréd','Bezi','Bhután','Biatorbágy','Bicsérd','Bicske','Bicske-Óbarok','Bihardancsháza','Biharkeresztes','Biharnagybajom','Bihartorda','Biharugra','Bikács','Bikal','Biri','Birján','Bissau-Guinea','Bisse','Bő','Boba','Bocfölde','Boconád','Bőcs','Bócsa','Bocska','Bocskaikert','Boda','Bodajk','Böde','Bödeháza','Bodmér','Bodolyabér','Bodonhely','Bodony','Bodorfa','Bodrog','Bodroghalom','Bodrogkeresztúr','Bodrogkisfalud','Bodrogolaszi','Bódvalenke','Bódvarákó','Bódvaszilas','Bogács','Bogád','Bogádmindszent','Bogdása','Bögöt','Bögöte','Bogyiszló','Bogyoszló','Böhönye','Bojt','Bókaháza','Bokod','Bököny','Bokor','Bölcske','Boldog','Boldogasszonyfa','Boldogkőújfalu','Boldogkőváralja','Boldva','Bolhás','Bolhó','Bolívia','Bóly','Boncodfölde','Bonnya','Bőny','Bonyhád','Bonyhádvarasd','Börcs','Bordány','Borgáta','Börgönd','Börgönd-puszta','Borjád','Borota','Borsfa','Borsod-Abaúj-Zemplén megye','Borsodbóta','Borsodgeszt','Borsodivánka','Borsodnádasd','Borsodszentgyörgy','Borsodszirák','Borsosberény','Borszörcsök','Borzavár','Börzönce','Bősárkány','Bosta','Bőszénfa','Bosznia és Hercegovina','Botpalád','Botswana','Botykapeterd','Bozsok','Bózsva','Bozzai','Brazília','Brunei','Bucsa','Bucsu','Bucsuszentlászló','Bucsuta','Budajenő','Budakalász','Budakeszi','Budaörs','Budapest','Bugac','Bugacpusztaháza','Bugyi','Buj','Buják','Bük','Bük-Bükfürdő','Bükkábrány','Bükkaranyos','Bükkmogyorósd','Bükkösd','Bükkszék','Bükkszenterzsébet','Bükkszentkereszt','Bükkszentmárton','Bükkzsérc','Bulgária','Burkina Faso','Burundi','Bürüs','Büssü','Büttös','Buzsák','Cák','Cakóháza','Cece','Cégénydányád','Cegléd','Ceglédbercel','Celldömölk','Celldömölk-Izsákfa','Cered','Chernelházadamonya','Chile','Cibakháza','Cigánd','Cikó','Ciprus','Cirák','Comore-szigetek','Costa Rica','Csabacsűd','Csabaszabadi','Csabdi','Csabrendek','Csád','Csáfordjánosfa','Csaholc','Csajág','Csákány','Csákánydoroszló','Csákberény','Csákvár','Csala','Csanádalberti','Csanádapáca','Csanádpalota','Csánig','Csány','Csányoszró','Csanytelek','Csapi','Csapod','Csárdaszállás','Csarnóta','Csaroda','Császár','Császártöltés','Császló','Csátalja','Csatár','Csataszög','Csatka','Csávoly','Csebény','Csécse','Csegöld','Csehbánya','Csehi','Csehimindszent','Csehország','Csém','Csemő','Csempeszkopács','Csengele','Csenger','Csengersima','Csengerújfalu','Csengőd','Csénye','Csenyéte','Csép','Csépa','Csepreg','Csér','Cserdi','Cserénfa','Cserépfalu','Cserépváralja','Cserháthaláp','Cserhátsurány','Cserhátszentiván','Cserkeszőlő','Cserkút','Csernely','Cserszegtomaj','Csertalakos','Csertő','Csesznek','Csesztreg','Csesztve','Csetény','Csévharaszt','Csibrák','Csikéria','Csikóstőttős','Csikvánd','Csincse','Csipkerek','Csitár','Csobád','Csobaj','Csobánka','Csöde','Csögle','Csókakő','Csökmő','Csököly','Csokonyavisonta','Csokvaomány','Csolnok','Csólyospálos','Csoma','Csomád','Csombárd','Csömend','Csömödér','Csömör','Csönge','Csongrád','Csongrád megye','Csonkahegyhát','Csonkamindszent','Csopak','Csór','Csorna','Csörnyeföld','Csörög','Csörötnek','Csorvás','Csősz','Csót','Csővár','Csurgó','Csurgónagymarton','Cún','Dabas','Dabronc','Dabrony','Dad','Dág','Dáka','Dalmand','Damak','Dámóc','Dánia','Dánszentmiklós','Dány','Daraboshegy','Darány','Darnó','Darnózseli','Daruszentmiklós','Darvas','Dávod','Debercsény','Debrecen','Debrecen-Bánk','Debrecen-Haláp','Debrecen-Nagymacs','Debréte','Decs','Dédestapolcsány','Dég','Dejtár','Dél-afrikai Köztársaság','Dél-Korea','Délegyháza','Demecser','Demjén','Dencsháza','Dénesfa','Derecske','Derekegyház','Deszk','Detek','Detk','Dévaványa','Devecser','Dinnyeberki','Dinnyés','Diósberény','Diósd','Diósjenő','Dióskál','Diósviszló','Doba','Dobogókő','Döbörhegy','Doboz','Dobri','Döbröce','Döbrököz','Dobronhegy','Döbrönte','Dóc','Döge','Domaháza','Domaszék','Dombegyház','Dombiratos','Dombóvár','Dombrád','Dominikai Közösség','Dominikai Köztársaság','Domony','Domonyvölgy','Dömös','Domoszló','Dömsöd','Dör','Dörgicse','Dormánd','Dorog','Dorogháza','Döröske','Dötk','Dövény','Dozmat','Drágszél','Drávacsehi','Drávacsepely','Drávafok','Drávagárdony','Drávaiványi','Drávakeresztúr','Drávapalkonya','Drávapiski','Drávaszabolcs','Drávaszerdahely','Drávasztára','Drávatamási','Drégelypalánk','Dubicsány','Dudar','Duka','Dunaalmás','Dunabogdány','Dunaegyháza','Dunafalva','Dunaföldvár','Dunaharaszti','Dunakeszi','Dunakiliti','Dunapataj','Dunaremete','Dunaszeg','Dunaszekcső','Dunaszentbenedek','Dunaszentgyörgy','Dunaszentmiklós','Dunaszentpál','Dunasziget','Dunatetétlen','Dunaújváros','Dunavarsány','Dunavecse','Dusnok','Dúzs','Dzsibuti','Ebergőc','Ebes','Écs','Ecséd','Ecseg','Ecsegfalva','Ecseny','Ecser','Ecuador','Edde','Edelény','Edve','Eger','Eger-Felnémet','Egerág','Egeralja','Egeraracsa','Egerbakta','Egerbocs','Egercsehi','Egerfarmos','Egerlövő','Egerszalók','Égerszög','Egerszólát','Egervár','Egervölgy','Egyed','Egyek','Egyek-Telekháza','Egyenlítői-Guinea','Egyesült Arab Emírségek','Egyházasdengeleg','Egyházasfalu','Egyházasgerge','Egyházasharaszti','Egyházashetye','Egyházashollós','Egyházaskesző','Egyházaskozár','Egyházasrádóc','Egyiptom','Elefántcsontpart','Elek','Ellend','Előszállás','Emőd','Encs','Encs-Gibárt','Encsencs','Endrefalva','Endrőc','Enese','Enying','Enying-Balatonbozsok','Eperjes','Eperjeske','Eplény','Epöl','Ercsi','Érd','Érdliget','Erdőbénye','Erdőhorváti','Erdőkertes','Erdőkövesd','Erdőkürt','Erdősmárok','Erdősmecske','Erdőtarcsa','Erdőtelek','Érdparkváros','Eritrea','Erk','Érpatak','Érsekcsanád','Érsekhalma','Érsekvadkert','Értény','Erzsébet','Észak-Ciprus','Észak-Korea','Esztár','Eszteregnye','Esztergályhorváti','Esztergom','Észtország','Ete','Etes','Etiópia','Etyek','Fábiánháza','Fábiánsebestyén','Fácánkert','Fadd','Fáj','Fajsz','Fancsal','Farád','Farkasgyepű','Farkaslyuk','Farmos','Fazekasboda','Fedémes','Fegyvernek','Fegyvernek-Szapárfalu','Fehérgyarmat','Fehéroroszország','Fehértó','Fehérvárcsurgó','Fejér megye','Feked','Feketeerdő','Felcsút','Feldebrő','Felgyő','Felpéc','Felsőberecki','Felsőcsatár','Felsődobsza','Felsőegerszeg','Felsőgagy','Felsőjánosfa','Felsőkelecsény','Felsőlajos','Felsőmarác','Felsőmocsolád','Felsőnána','Felsőnyárád','Felsőnyék','Felsőörs','Felsőpáhok','Felsőpakony','Felsőpetény','Felsőrajk','Felsőregmec','Felsőszenterzsébet','Felsőszentiván','Felsőszentmárton','Felsőszölnök','Felsőtárkány','Felsőtelekes','Felsőtold','Felsővadász','Felsőzsolca','Fényeslitke','Fenyőfő','Ferencszállás','Fertőboz','Fertőd','Fertőd-Tőzeggyármajor','Fertőendréd','Fertőhomok','Fertőrákos','Fertőszentmiklós','Fertőszéplak','Fiad','Fidzsi-szigetek','Filkeháza','Finnország','Fityeház','Foktő','Földeák','Földes','Folyás','Fonó','Fony','Főnyed','Fonyód','Forráskút','Forró','Fót','Franciaország','Füle','Fülesd','Fulókércs','Fülöp','Fülöp-szigetek','Fülöpháza','Fülöpjakab','Fülöpszállás','Fülpösdaróc','Fürged','Furta','Füzér','Füzérkajata','Füzérkomlós','Füzérradvány','Füzesabony','Füzesgyarmat','Füzvölgy','Gabon','Gáborján','Gáborjánháza','Gacsály','Gadács','Gadány','Gadna','Gádoros','Gagyapáti','Gagybátor','Gagyvendégi','Galambok','Galgaguta','Galgagyörk','Galgahévíz','Galgamácsa','Gálosfa','Galvács','Gamás','Gambia','Ganna','Gánt','Gara','Garáb','Garabonc','Garadna','Garbolc','Gárdony','Garé','Gasztony','Gátér','Gávavencsellő','Géberjén','Gecse','Géderlak','Gégény','Gelej','Gelénes','Gellénháza','Gelse','Gelsesziget','Gemzse','Gencsapáti','Gérce','Gerde','Gerendás','Gerényes','Geresdlak','Gerjen','Gersekarát','Geszt','Gesztely','Gesztely-Újharangod','Geszteréd','Gétye','Ghána','Gic','Gige','Gilvánfa','Girincs','Göd','Gödöllő','Gödre','Gödre-Gödrekeresztúr','Gógánfa','Gölle','Golop','Gomba','Gombosszeg','Gömörszőlős','Gönc','Göncruszka','Gönyű','Gór','Görbeháza','Görcsöny','Görcsönydoboka','Gordisa','Görgeteg','Görögország','Gősfa','Gosztola','Grábóc','Grenada','Grúzia','Guatemala','Guinea','Gulács','Gutorfölde','Guyana','Gyál','Gyalóka','Gyanógeregye','Gyarmat','Gyékényes','Gyenesdiás','Gyepükaján','Gyermely','Gyód','Gyomaendrőd','Gyömöre','Gyömrő','Gyöngyfa','Gyöngyös','Gyöngyös-Kékestető','Gyöngyös-Mátrafüred','Gyöngyös-Mátraháza','Gyöngyösfalu','Gyöngyöshalász','Gyöngyösmellék','Gyöngyösoroszi','Gyöngyöspata','Gyöngyössolymos','Gyöngyöstarján','Gyönk','Győr','Győr-Gyirmót','Győr-Moson-Sopron megye','Győrasszonyfa','Györe','Györgytarló','Györköny','Győrladamér','Gyóró','Győröcske','Győrság','Győrsövényház','Győrszemere','Győrtelek','Győrújbarát','Győrújfalu','Győrvár','Győrzámoly','Gyugy','Gyügye','Gyula','Gyula-József','Gyulaháza','Gyulaj','Gyulakeszi','Gyüre','Gyúró','Gyűrűs','Hács','Hagyárosbörönd','Hahót','Haiti','Hajdú-Bihar megye','Hajdúbagos','Hajdúböszörmény','Hajdúböszörmény-Bodaszőlő','Hajdúböszörmény-Hajdúvid','Hajdúböszörmény-Nagypród','Hajdúdorog','Hajdúhadház','Hajdúnánás','Hajdúnánás-Tedej','Hajdúsámson','Hajdúszoboszló','Hajdúszovát','Hajmás','Hajmáskér','Hajós','Halastó','Halászi','Halásztelek','Halimba','Halmaj','Halmajugra','Halogy','Hangács','Hangony','Hantos','Harasztifalu','Harc','Harka','Harkakötöny','Harkány','Háromfa','Háromhuta','Harsány','Hárskút','Harta','Hásságy','Hatvan','Hatvan-Kerekharaszt','Hédervár','Hedrehely','Hegyesd','Hegyeshalom','Hegyfalu','Hegyháthodász','Hegyhátmaróc','Hegyhátsál','Hegyhátszentjakab','Hegyhátszentmárton','Hegyhátszentpéter','Hegykő','Hegymagas','Hegymeg','Hegyszentmárton','Héhalom','Hejce','Hejőbába','Hejőkeresztúr','Hejőkürt','Hejőpapi','Hejőszalonta','Helesfa','Helvécia','Hencida','Hencse','Herceghalom','Hercegkút','Hercegszántó','Heréd','Héreg','Herencsény','Herend','Heresznye','Hermánszeg','Hernád','Hernádbűd','Hernádcéce','Hernádkak','Hernádkércs','Hernádnémeti','Hernádpetri','Hernádszentandrás','Hernádszurdok','Hernádvécse','Hernyék','Hét','Hetefejércse','Hetényegyháza','Hetes','Hetvehely','Hetyefő','Heves','Heves megye','Hevesaranyos','Hevesvezekény','Hévíz','Hévízgyörk','Hidas','Hidasnémeti','Hidegkút','Hidegség','Hidvégardó','Hímesháza','Himod','Hirics','Hobol','Hodász','Hódmezővásárhely','Hódmezővásárhely-Szikáncs','Hőgyész','Hollád','Hollandia','Hollóháza','Hollókő','Homokbödöge','Homokkomárom','Homokmégy','Homokszentgyörgy','Homorúd','Homrogd','Honduras','Hont','Horpács','Hort','Hortobágy','Horváthertelend','Horvátlövő','Horvátország','Horvátzsidány','Hosszúhetény','Hosszúpályi','Hosszúpereszteg','Hosszúvíz','Hosszúvölgy','Hosztót','Hottó','Hövej','Hugyag','Hunya','Hunyadfalva','Husztót','Ibafa','Iborfia','Ibrány','Igal','Igar','Igar-Vámszőlőhegy','Igrici','Iharos','Iharosberény','Ikervár','Iklad','Iklanberény','Iklódbördőce','Ikrény','Iliny','Ilk','Illocska','Imola','Imrehegy','Ináncs','Inárcs','India','Indonézia','Inke','Ipacsfa','Ipolydamásd','Ipolytarnóc','Ipolytölgyes','Ipolyvece','Irak','Irán','Iregszemcse','Írország','Irota','Isaszeg','Ispánk','Istenmezeje','Istvándi','Iszkaszentgyörgy','Iszkáz','Isztimér','Ivád','Iván','Ivánbattyán','Ivánc','Iváncsa','Ivándárda','Izland','Izmény','Izrael','Izsák','Izsófalva','Jágónak','Ják','Jakabszállás','Jákfa','Jákfalva','Jákó','Jamaica','Jánd','Jánkmajtis','Jánoshalma','Jánosháza','Jánoshida','Jánossomorja','Japán','Járdánháza','Jármi','Jásd','Jász-Nagykun-Szolnok megye','Jászágó','Jászalsószentgyörgy','Jászapáti','Jászárokszállás','Jászberény','Jászberény-Portelek','Jászboldogháza','Jászdózsa','Jászfelsőszentgyörgy','Jászfényszaru','Jászivány','Jászjákóhalma','Jászkarajenő','Jászkisér','Jászladány','Jászszentandrás','Jászszentlászló','Jásztelek','Jéke','Jemen','Jenő','Jobaháza','Jobbágyi','Jordánia','Jósvafő','Juta','Kaba','Kacorlak','Kács','Kacsóta','Kadarkút','Kajárpéc','Kajászó','Kajdacs','Kakasd','Kákics','Kakucs','Kál','Kalaznó','Káld','Kálló','Kallósd','Kállósemjén','Kálmáncsa','Kálmánháza','Kálócfa','Kalocsa','Káloz','Kám','Kambodzsa','Kamerun','Kamond','Kamut','Kanada','Kánó','Kántorjánosi','Kány','Kánya','Kányavár','Kapolcs','Kápolna','Kápolnásnyék','Kapoly','Kaposfő','Kaposgyarmat','Kaposhomok','Kaposkeresztúr','Kaposmérő','Kapospula','Kaposszekcső','Kaposszerdahely','Kaposújlak','Kaposvár','Káptalanfa','Káptalantóti','Kapuvár','Kapuvár-Öntésmajor','Kára','Karácsond','Karád','Karakó','Karakószörcsök','Karancsalja','Karancsberény','Karancskeszi','Karancslapujtő','Karancsság','Kárász','Karcag','Karcsa','Kardos','Kardoskút','Karmacs','Károlyháza','Karos','Kartal','Kásád','Kaskantyú','Kastélyosdombó','Kaszaper','Kaszó','Katádfa','Katafa','Katar','Kátoly','Katymár','Káva','Kávás','Kazahsztán','Kazár','Kazár-Mizserfa','Kazincbarcika','Kázsmárk','Kazsok','Kecel','Kecskéd','Kecskemét','Kehidakustány','Kék','Kékcse','Kéked','Kékesd','Kékkút','Kelebia','Keléd','Kelemér','Kéleshalom','Kelet-Timor','Kelevíz','Kemecse','Kemence','Kemendollár','Kemeneshőgyész','Kemeneskápolna','Kemenesmagasi','Kemenesmihályfa','Kemenespálfa','Kemenessömjén','Kemenesszentmárton','Kemenesszentpéter','Keménfa','Kémes','Kemestaródfa','Kemse','Kenderes','Kenderes-Bánhalma','Kenéz','Kenézlő','Kengyel','Kenya','Kenyeri','Kercaszomor','Kercseliget','Kerecsend','Kerecseny','Kerekegyháza','Kereki','Kerékteleki','Kerepes','Keresztéte','Kerkabarabás','Kerkafalva','Kerkakutas','Kerkáskápolna','Kerkaszentkirály','Kerkateskánd','Kérsemjén','Kerta','Kertészsziget','Keszeg','Kesznyéten','Keszőhidegkút','Keszthely','Kesztölc','Keszü','Kétbodony','Kétegyháza','Kéthely','Kétpó','Kétsoprony','Kétújfalu','Kétvölgy','Kéty','Kevermes','Kilimán','Kimle','Kína','Kincsesbánya','Királd','Királyegyháza','Királyhegyes','Királyszentistván','Kirgizisztán','Kiribati','Kisapáti','Kisapostag','Kisar','Kisasszond','Kisasszonyfa','Kisbabot','Kisbágyon','Kisbajcs','Kisbajom','Kisbárapáti','Kisbárkány','Kisbér','Kisbér-Hánta','Kisberény','Kisberzseny','Kisbeszterce','Kisbodak','Kisbucsa','Kisbudmér','Kiscsécs','Kiscsehi','Kiscsősz','Kisdér','Kisdobsza','Kisdombegyház','Kisdorog','Kisecset','Kisfalud','Kisfüzes','Kisgörbő','Kisgyalán','Kisgyőr','Kishajmás','Kisharsány','Kishartyán','Kisherend','Kishódos','Kishuta','Kisigmánd','Kisjakabfalva','Kiskassa','Kiskinizs','Kisköre','Kiskőrös','Kiskorpád','Kiskunfélegyháza','Kiskunhalas','Kiskunlacháza','Kiskunmajsa','Kiskutas','Kisláng','Kisléta','Kislippó','Kislőd','Kismányok','Kismarja','Kismaros','Kisnamény','Kisnána','Kisnémedi','Kisnyárád','Kisoroszi','Kispalád','Kispáli','Kispirit','Kisrákos','Kisrécse','Kisrozvágy','Kissikátor','Kissomlyó','Kisszállás','Kisszékely','Kisszekeres','Kisszentmárton','Kissziget','Kisszőlős','Kistamási','Kistapolca','Kistarcsa','Kistelek','Kistokaj','Kistolmács','Kistormás','Kistótfalu','Kisújszállás','Kisunyom','Kisvárda','Kisvarsány','Kisvásárhely','Kisvaszar','Kisvejke','Kiszombor','Kiszsidány','Klárafalva','Köblény','Kocs','Kocsér','Köcsk','Kocsola','Kocsord','Kóka','Kokad','Kökény','Kőkút','Kölcse','Kölesd','Kölked','Kolontár','Kolumbia','Komádi','Komárom','Komárom-Esztergom megye','Komjáti','Kömlő','Komló','Komló-Mecsekjánosi','Kömlőd','Komlódtótfalu','Komlósd','Komlóska','Kömörő','Komoró','Kömpöc','Kompolt','Kondó','Kondorfa','Kondoros','Kongó','Kongói Demokratikus Köztársaság','Kóny','Konyár','Kópháza','Koppányszántó','Korlát','Körmend','Körmend-Horvátnádalja','Környe','Köröm','Koroncó','Kórós','Kőröshegy','Körösladány','Körösnagyharsány','Körösszakál','Körösszegapáti','Köröstarcsa','Kőröstetétlen','Körösújfalu','Kosd','Kóspallag','Kőszárhegy','Kőszeg','Kőszegdoroszló','Kőszegpaty','Kőszegszerdahely','Kótaj','Kötcse','Kötegyán','Kőtelek','Kovácshida','Kovácsszénája','Kovácsvágás','Kővágóörs','Kővágószőlős','Kővágótőttős','Kövegy','Köveskál','Kozárd','Kozármisleny','Közép-afrikai Köztársaság','Kozmadombja','Krasznokvajda','Kuba','Kübekháza','Kulcs','Külsősárd','Külsővat','Kunadacs','Kunágota','Kunbaja','Kunbaracs','Kuncsorba','Kunfehértó','Küngös','Kunhegyes','Kunmadaras','Kunpeszér','Kunszállás','Kunszentmárton','Kunszentmárton-Kungyalu','Kunszentmiklós','Kunsziget','Kup','Kupa','Kurd','Kurityán','Kustánszeg','Kutas','Kutasó','Kuvait','Lábatlan','Lábod','Lácacséke','Lad','Ladánybene','Ládbesenyő','Lajoskomárom','Lajosmizse','Lak','Lakhegy','Lakitelek','Lakócsa','Lánycsók','Laosz','Lápafő','Lapáncsa','Laskod','Lasztonya','Látrány','Lázi','Leányfalu','Leányvár','Lébény','Legénd','Legyesbénye','Léh','Lénárddaróc','Lendvadedes','Lendvajakabfa','Lengyel','Lengyelország','Lengyeltóti','Lenti','Lepsény','Lesencefalu','Lesenceistvánd','Lesencetomaj','Lesotho','Létavértes','Letenye','Letkés','Lettország','Levél','Levelek','Libanon','Libéria','Líbia','Libickozma','Lickóvadamos','Liechtenstein','Liget','Ligetfalva','Lipót','Lippó','Liptód','Lispeszentadorján','Liszó','Litér','Litka','Litke','Litvánia','Lócs','Lőkösháza','Lókút','Lónya','Lórév','Lőrinci','Lothárd','Lovas','Lovasberény','Lovászhetény','Lovászi','Lovászpatona','Lövő','Lövőpetri','Lucfalva','Ludányhalászi','Ludas','Lukácsháza','Lulla','Luxemburg','Lúzsok','Macedónia','Mád','Madagaszkár','Madaras','Madocsa','Maglóca','Maglód','Mágocs','Magosliget','Magy','Magyaralmás','Magyaratád','Magyarbánhegyes','Magyarbóly','Magyarcsanád','Magyardombegyház','Magyaregregy','Magyaregres','Magyarföld','Magyargéc','Magyargencs','Magyarhertelend','Magyarhomorog','Magyarkeresztúr','Magyarkeszi','Magyarlak','Magyarlukafa','Magyarmecske','Magyarnádalja','Magyarnándor','Magyarország','Magyarpolány','Magyarsarlós','Magyarszecsőd','Magyarszék','Magyarszentmiklós','Magyarszerdahely','Magyarszombatfa','Magyartelek','Majosháza','Majs','Makád','Makkoshotyka','Maklár','Makó','Malajzia','Malawi','Maldív-szigetek','Mali','Malomsok','Málta','Mályi','Mályinka','Mánd','Mándok','Mánfa','Mány','Maráza','Marcalgergelyi','Marcali','Marcali-Bize','Marcali-Horvátkút','Marcaltő','Marcaltő-Ihász','Márfa','Máriahalom','Máriakálnok','Máriakéménd','Márianosztra','Máriapócs','Markaz','Márkháza','Márkó','Markóc','Markotabödöge','Maróc','Marócsa','Márok','Márokföld','Marokkó','Márokpapi','Maroslele','Marshall-szigetek','Mártély','Martfű','Martinka','Martonfa','Martonvásár','Martonyi','Mátészalka','Mátételke','Matkó','Mátraballa','Mátraderecske','Mátramindszent','Mátranovák','Mátraszele','Mátraszentimre','Mátraszentimre-Galyatető','Mátraszőlős','Mátraterenye','Mátraverebély','Matty','Mátyásdomb','Mátyus','Mauritánia','Mauritius','Máza','Mecseknádasd','Mecsekpölöske','Mecsér','Medgyesbodzás','Medgyesbodzás-Gábortelep','Medgyesegyháza','Medina','Meggyeskovácsi','Megyaszó','Megyehid','Megyer','Méhkerék','Méhtelek','Mekényes','Mélykút','Mencshely','Mende','Méra','Merenye','Mérges','Mérk','Mernye','Mersevát','Mesterháza','Mesteri','Mesterszállás','Meszes','Meszlen','Mesztegnyő','Mexikó','Mezőberény','Mezőcsát','Mezőcsokonya','Meződ','Mezőfalva','Mezőgyán','Mezőhegyes','Mezőhék','Mezőkeresztes','Mezőkomárom','Mezőkovácsháza','Mezőkövesd','Mezőladány','Mezőlak','Mezőnagymihály','Mezőnyárád','Mezőörs','Mezőörs-Mindszentpuszta','Mezőpeterd','Mezősas','Mezőszemere','Mezőszentgyörgy','Mezőszilas','Mezőtárkány','Mezőtúr','Mezőzombor','Mianmar','Miháld','Mihályfa','Mihálygerge','Mihályháza','Mihályi','Mike','Mikebuda','Mikekarácsonyfa','Mikepércs','Miklósi','Mikófalva','Mikóháza','Mikosszéplak','Mikronéziai Szövetségi Államok','Milejszeg','Milota','Mindszent','Mindszentgodisa','Mindszentkálla','Misefa','Miske','Miskolc','Miszla','Mocsa','Mőcsény','Mogyoród','Mogyorósbánya','Mogyoróska','Moha','Mohács','Mohács-Sárhát','Mohács-Újmohács','Mohora','Moldova','Molnári','Molnaszecsőd','Molvány','Monaco','Monaj','Mongólia','Monok','Monor','Monor-Monorierdő','Mónosbél','Monostorapáti','Monostorpályi','Monoszló','Montenegró','Monyoród','Mór','Mórágy','Mórahalom','Móricgát','Mórichida','Mosdós','Mosonmagyaróvár','Mosonszentmiklós','Mosonszentmiklós-Mosonújhely','Mosonszolnok','Mozambik','Mozsgó','Mucsfa','Mucsi','Múcsony','Muhi','Murakeresztúr','Murarátka','Muraszemenye','Murga','Murony','Nábrád','Nadap','Nádasd','Nádasdladány','Nádudvar','Nágocs','Nagy-Britannia','Nagyacsád','Nagyalásony','Nagyar','Nagyatád','Nagybajcs','Nagybajom','Nagybakónak','Nagybánhegyes','Nagybaracska','Nagybarca','Nagybárkány','Nagyberény','Nagyberki','Nagybörzsöny','Nagybudmér','Nagycenk','Nagycsány','Nagycsécs','Nagycsepely','Nagycserkesz','Nagydém','Nagydobos','Nagydobsza','Nagydorog','Nagyecsed','Nagyegyháza','Nagyér','Nagyesztergár','Nagyfakos','Nagyfüged','Nagygeresd','Nagygörbő','Nagygyimót','Nagyhajmás','Nagyhalász','Nagyharsány','Nagyhegyes','Nagyhódos','Nagyhuta','Nagyigmánd','Nagyiván','Nagykálló','Nagykamarás','Nagykanizsa','Nagykanizsa-Miklósfa','Nagykanizsa-Palin','Nagykanizsa-Sánc','Nagykapornak','Nagykarácsony','Nagykáta','Nagykereki','Nagykeresztúr','Nagykinizs','Nagykökényes','Nagykölked','Nagykónyi','Nagykőrös','Nagykorpád','Nagykörű','Nagykovácsi','Nagykozár','Nagykutas','Nagylak','Nagylengyel','Nagylóc','Nagylók','Nagylózs','Nagymágocs','Nagymányok','Nagymaros','Nagymizdó','Nagynyárád','Nagyoroszi','Nagypáli','Nagypall','Nagypeterd','Nagypirit','Nagyrábé','Nagyrada','Nagyrákos','Nagyrécse','Nagyréde','Nagyrév','Nagyrozvágy','Nagysáp','Nagysimonyi','Nagyszakácsi','Nagyszékely','Nagyszekeres','Nagyszénás','Nagyszentjános','Nagyszokoly','Nagytálya','Nagytarcsa','Nagytevel','Nagytilaj','Nagytőke','Nagytótfalu','Nagyút','Nagyvarsány','Nagyváty','Nagyvázsony','Nagyvejke','Nagyveleg','Nagyvenyim','Nagyvisnyó','Nak','Namíbia','Napkor','Nárai','Narda','Naszály','Nauru','Négyes','Nekézseny','Nemesapáti','Nemesbikk','Nemesbőd','Nemesborzova','Nemesbük','Nemescsó','Nemesdéd','Nemesgörzsöny','Nemesgulács','Nemeshany','Nemeshetés','Nemeske','Nemeskér','Nemeskeresztúr','Nemeskisfalud','Nemeskocs','Nemeskolta','Nemesládony','Nemesmedves','Nemesnádudvar','Nemesnép','Nemespátró','Nemesrádó','Nemesrempehollós','Nemessándorháza','Nemesszalók','Nemesszentandrás','Nemesvámos','Nemesvid','Nemesvita','Németbánya','Németfalu','Németkér','Németország','Nemti','Nepál','Neszmély','Nézsa','Nicaragua','Nick','Niger','Nigéria','Nikla','Nógrád','Nógrád megye','Nógrádkövesd','Nógrádmarcal','Nógrádmegyer','Nógrádsáp','Nógrádsipek','Nógrádszakál','Nóráp','Norvégia','Noszlop','Noszvaj','Nőtincs','Nova','Novaj','Novajidrány','Nyalka','Nyárád','Nyáregyháza','Nyárlőrinc','Nyársapát','Nyékládháza','Nyergesújfalu','Nyésta','Nyim','Nyírábrány','Nyíracsád','Nyirád','Nyíradony','Nyíradony-Aradványpuszta','Nyíradony-Tamásipuszta','Nyírbátor','Nyírbéltek','Nyírbogát','Nyírbogdány','Nyírcsaholy','Nyírcsászári','Nyírderzs','Nyíregyháza','Nyíregyháza-Butykatelep','Nyíregyháza-Felsősima','Nyíregyháza-Sóstófürdő','Nyíregyháza-Sóstóhegy','Nyírgelse','Nyírgyulaj','Nyíri','Nyíribrony','Nyírjákó','Nyírkarász','Nyírkáta','Nyírkércs','Nyírlövő','Nyírlugos','Nyírmada','Nyírmártonfalva','Nyírmeggyes','Nyírmihálydi','Nyírparasznya','Nyírpazony','Nyírpilis','Nyírtass','Nyírtelek','Nyírtét','Nyírtura','Nyírvasvári','Nyőgér','Nyomár','Nyugat-Szahara','Nyugotszenterzsébet','Nyúl','Óbánya','Óbudavár','Öcs','Ócsa','Ócsárd','Őcsény','Öcsöd','Ófalu','Ófehértó','Óföldeák','Óhid','Okány','Okorág','Ököritófülpös','Okorvölgy','Olasz','Olaszfa','Olaszfalu','Olaszliszka','Olaszország','Ölbő','Olcsva','Olcsvaapáti','Old','Ólmod','Oltárc','Omán','Ömböly','Onga','Ónod','Ópályi','Ópusztaszer','Őr','Orbányosfa','Őrbottyán','Orci','Ordacsehi','Ordas','Öregcsertő','Öreglak','Orfalu','Orfű','Orgovány','Őrhalom','Őrimagyarósd','Őriszentpéter','Örkény','Ormándlak','Örményes','Örménykút','Örményország','Ormosbánya','Orosháza','Oroszi','Oroszlány','Oroszló','Oroszország','Orosztony','Ortaháza','Őrtilos','Örvényes','Ősagárd','Ősi','Öskü','Osli','Ostffyasszonyfa','Ostoros','Oszkó','Oszlár','Osztopán','Öttevény','Öttömös','Ötvöskónyi','Ózd','Ózd-Center','Ózd-Uraj','Ózdfalu','Ozmánbük','Ozora','Pácin','Pacsa','Pácsony','Padár','Páhi','Páka','Pakisztán','Pakod','Pákozd','Paks','Palau','Palé','Palesztin Nemzeti Hatóság','Pálfa','Pálfiszeg','Pálháza','Páli','Palkonya','Pálköve','Pálmajor','Pálmonostora','Palotabozsok','Palotás','Paloznak','Pamlény','Pamuk','Panama','Pánd','Pankasz','Pannonhalma','Pányok','Panyola','Pap','Pápa','Pápa-Borsosgyőr','Pápa-Kéttornyúlak','Pápadereske','Pápakovácsi','Pápasalamon','Pápateszér','Papkeszi','Pápoc','Papos','Páprád','Pápua Új-Guinea','Parád','Parád-Parádfürdő','Parádsasvár','Paraguay','Parasznya','Paszab','Pásztó','Pásztori','Pat','Patak','Patalom','Patapoklosi','Patca','Pátka','Patosfa','Pátroha','Patvarc','Páty','Pátyod','Pázmánd','Pázmándfalu','Pécel','Pecöl','Pécs','Pécs-Hird','Pécs-Nagyárpád','Pécs-Vasas','Pécsbagota','Pécsdevecser','Pécsely','Pécsudvard','Pécsvárad','Pellérd','Pély','Penc','Penészlek','Penyige','Pénzesgyőr','Pér','Perbál','Pere','Perecse','Pereked','Perenye','Peresznye','Pereszteg','Perkáta','Perkupa','Perőcsény','Peru','Pest megye','Peterd','Péterhida','Péteri','Pétervására','Pétfürdő','Pethőhenye','Petneháza','Petőfibánya','Petőfiszállás','Petőháza','Petőmihályfa','Petrikeresztúr','Petrivente','Pettend','Piliny','Pilis','Pilisborosjenő','Piliscsaba','Piliscsév','Pilisjászfalu','Pilismarót','Pilisszántó','Pilisszentiván','Pilisszentkereszt','Pilisszentlászló','Pilisvörösvár','Pincehely','Pinkamindszent','Pinnye','Piricse','Pirtó','Piskó','Pitvaros','Pócsa','Pocsaj','Pócsmegyer','Pócspetri','Pogány','Pogányszentpéter','Pókaszepetk','Polány','Polgár','Polgárdi','Polgárdi-Ipartelepek','Pölöske','Pölöskefő','Pomáz','Pörböly','Porcsalma','Pördefölde','Pornóapáti','Poroszló','Porpác','Porrog','Porrogszentkirály','Porrogszentpál','Pórszombat','Portugália','Porva','Pósfa','Potony','Pötréte','Potyond','Prügy','Pula','Püski','Püspökhatvan','Püspökladány','Püspökmolnári','Püspökszilágy','Pusztaapáti','Pusztaberki','Pusztacsalád','Pusztacsó','Pusztadobos','Pusztaederics','Pusztafalu','Pusztaföldvár','Pusztahencse','Pusztakovácsi','Pusztamagyaród','Pusztamérges','Pusztamiske','Pusztamonostor','Pusztaottlaka','Pusztaradvány','Pusztaszabolcs','Pusztaszemes','Pusztaszentlászló','Pusztaszer','Pusztavacs','Pusztavám','Pusztazámor','Putnok','Rábacsanak','Rábacsécsény','Rábagyarmat','Rábahidvég','Rábakecöl','Rábapatona','Rábapaty','Rábapordány','Rábasebes','Rábaszentandrás','Rábaszentmihály','Rábaszentmiklós','Rábatamási','Rábatöttös','Rábcakapi','Rácalmás','Ráckeresztúr','Ráckeve','Rád','Rádfalva','Rádóckölked','Radostyán','Ragály','Rajka','Rakaca','Rakacaszend','Rakamaz','Rákóczibánya','Rákóczifalva','Rákócziújfalu','Ráksi','Ramocsa','Ramocsaháza','Rápolt','Raposka','Rásonysápberencs','Rátka','Rátót','Ravazd','Recsk','Réde','Rédics','Regéc','Regenye','Regöly','Rém','Remeteszőlős','Répáshuta','Répcelak','Répceszemere','Répceszentgyörgy','Répcevis','Resznek','Rétalap','Rétközberencs','Rétság','Révfülöp','Révleányvár','Rezi','Ricse','Rigács','Rigyác','Rimóc','Rinyabesenyő','Rinyakovácsi','Rinyaszentkirály','Rinyaújlak','Rinyaújnép','Rohod','Röjtökmuzsaj','Románd','Románia','Romhány','Romonya','Rönök','Röszke','Rózsafa','Rozsály','Rózsaszentmárton','Ruanda','Rudabánya','Rudolftelep','Rum','Ruzsa','Ságújfalu','Ságvár','Saint Kitts és Nevis','Saint Lucia','Saint Vincent','Sajóbábony','Sajóecseg','Sajógalgóc','Sajóhidvég','Sajóivánka','Sajókápolna','Sajókaza','Sajókeresztúr','Sajólád','Sajólászlófalva','Sajómercse','Sajónémeti','Sajóörös','Sajópálfala','Sajópetri','Sajópüspöki','Sajósenye','Sajószentpéter','Sajószöged','Sajóvámos','Sajóvelezd','Sajtoskál','Salamon-szigetek','Salföld','Salgótarján','Salköveskút','Salomvár','Salvador','Sály','Sámod','Sámsonháza','San Marino','Sand','Sándorfalva','Sántos','Sao Tomé és Príncipe','Sáp','Sáránd','Sárazsadány','Sárbogárd','Sáregres','Sárfimizdó','Sárhida','Sárisáp','Sarkad','Sarkadkeresztúr','Sárkeresztes','Sárkeresztúr','Sárkeszi','Sármellék','Sárok','Sárosd','Sárospatak','Sárpilis','Sárrétudvari','Sarród','Sarród-Fertőújlak','Sárszentágota','Sárszentlőrinc','Sárszentmihály','Sarud','Sárvár','Sárvár-Lánkapuszta','Sárvár-Rábasömjén','Sásd','Sáska','Sáta','Sátoraljaújhely','Sátoraljaújhely-Károlyfalva','Sátoraljaújhely-Rudabányácska','Sátoraljaújhely-Széphalom','Sátorhely','Sávoly','Sé','Segesd','Sellye','Selyeb','Semjén','Semjénháza','Sénye','Sényő','Seregélyes','Serényfalva','Sérsekszőlős','Seychelle-szigetek','Sierra Leone','Sikátor','Siklós','Siklós-Máriagyüd','Siklósbodony','Siklósnagyfalu','Sikonda','Sima','Simaság','Simonfa','Simontornya','Sióagárd','Siófok','Siójut','Sirok','Sitke','Sobor','Söjtör','Sokorópátka','Solt','Soltszentimre','Soltvadkert','Sóly','Solymár','Som','Somberek','Somlójenő','Somlószőlős','Somlóvásárhely','Somlóvecse','Somodor','Somogy megye','Somogyacsa','Somogyapáti','Somogyaracs','Somogyaszaló','Somogybabod','Somogybükkösd','Somogycsicsó','Somogydöröcske','Somogyegres','Somogyfajsz','Somogygeszti','Somogyhárságy','Somogyhatvan','Somogyjád','Somogymeggyes','Somogysámson','Somogysárd','Somogysimonyi','Somogyszentpál','Somogyszil','Somogyszob','Somogytúr','Somogyudvarhely','Somogyvámos','Somogyvár','Somogyviszló','Somogyzsitfa','Somoskőújfalu','Sonkád','Soponya','Sopron','Sopron-Balf','Sopronhorpács','Sopronkövesd','Sopronnémeti','Söpte','Söréd','Sorkifalud','Sorkikápolna','Sormás','Sorokpolány','Sóshartyán','Sóskút','Sóstófalva','Sósvertike','Sótony','Spanyolország','Srí Lanka','Sukoró','Sükösd','Sülysáp','Sümeg','Sümegcsehi','Sümegprága','Sumony','Súr','Surány','Surd','Suriname','Süttő','Svájc','Svédország','Szabadbattyán','Szabadegyháza','Szabadhidvég','Szabadi','Szabadkígyós','Szabadszállás','Szabadszentkirály','Szabás','Szabolcs','Szabolcs-Szatmár-Bereg megye','Szabolcsbáka','Szabolcsveresmart','Szada','Szágy','Szajk','Szajla','Szajol','Szakácsi','Szakadát','Szakáld','Szakály','Szakcs','Szakmár','Szaknyér','Szakoly','Szakony','Szakonyfalu','Szákszend','Szalafő','Szalánta','Szalapa','Szalaszend','Szalatnak','Szálka','Szalkszentmárton','Szalmatercs','Szalonna','Szamoa','Szamosangyalos','Szamosbecs','Szamoskér','Szamossályi','Szamosszeg','Szamostatárfalva','Szamosújlak','Szanda','Szank','Szántód','Szany','Szápár','Szaporca','Szár','Szárász','Szárazd','Szárföld','Szárliget','Szarvas','Szarvasgede','Szarvaskend','Szarvaskő','Szászberek','Szászfa','Szászvár','Szatmárcseke','Szátok','Szatta','Szatymaz','Szaúd-Arábia','Szava','Százhalombatta','Szebény','Szécsénke','Szécsény','Szécsényfelfalu','Szécsisziget','Szederkény','Szedres','Szeged','Szeged-Gyálarét','Szegerdő','Szeghalom','Szegi','Szegilong','Szegvár','Székely','Székelyszabar','Székesfehérvár','Székesfehérvár-Börgönd','Székkutas','Szekszárd','Szeleste','Szelevény','Szellő','Szemely','Szemenye','Szemere','Szendehely','Szendrő','Szendrőlád','Szenegál','Szenna','Szenta','Szentantalfa','Szentbalázs','Szentbékkálla','Szentborbás','Szentdénes','Szentdomonkos','Szente','Szentegát','Szentendre','Szentes','Szentgál','Szentgáloskér','Szentgotthárd','Szentgotthárd-Farkasfa','Szentgotthárd-Rábafüzes','Szentgyörgyvár','Szentgyörgyvölgy','Szentimrefalva','Szentistván','Szentistvánbaksa','Szentjakabfa','Szentkatalin','Szentkirály','Szentkirályszabadja','Szentkozmadombja','Szentlászló','Szentliszló','Szentlőrinc','Szentlőrinckáta','Szentmargitfalva','Szentmártonkáta','Szentpéterfa','Szentpéterfölde','Szentpéterszeg','Szentpéterúr','Szenyér','Szepetnek','Szerbia','Szerecseny','Szeremle','Szerencs','Szerep','Szerep-Hosszúhát','Szergény','Szigetbecse','Szigetcsép','Szigethalom','Szigetmonostor','Szigetszentmárton','Szigetszentmiklós','Szigetújfalu','Szigetvár','Szigliget','Szihalom','Szijártóháza','Szikszó','Szil','Szilágy','Szilaspogony','Szilsárkány','Szilvágy','Szilvás','Szilvásszentmárton','Szilvásvárad','Szin','Szingapúr','Szinpetri','Szirák','Szíria','Szirmabesenyő','Szlovákia','Szlovénia','Szob','Szőc','Szőce','Sződ','Sződliget','Szögliget','Szőke','Szőkéd','Szőkedencs','Szokolya','Szólád','Szolnok','Szőlősardó','Szőlősgyörök','Szomália','Szomáliföld','Szombathely','Szombathely-Szentkirály','Szomód','Szomolya','Szomor','Szörény','Szorgalmatos','Szorosad','Szúcs','Szűcsi','Szudán','Szügy','Szuha','Szuhafő','Szuhakálló','Szuhogy','Szulimán','Szulok','Szűr','Szurdokpüspöki','Szváziföld','Tab','Tabajd','Tabdi','Táborfalva','Tác','Tádzsikisztán','Tagyon','Tahitótfalu','Tajvan','Takácsi','Tákos','Taksony','Taktabáj','Taktaharkány','Taktakenéz','Taktaszada','Taliándörögd','Tállya','Tamási','Tamási-Pári','Tanakajd','Tanzánia','Táp','Tápióbicske','Tápiógyörgye','Tápióság','Tápiószecső','Tápiószele','Tápiószentmárton','Tápiószőlős','Táplánszentkereszt','Tapolca','Tapsony','Tápszentmiklós','Tar','Tarany','Tarcal','Tard','Tardona','Tardos','Tarhos','Tarján','Tarjánpuszta','Tárkány','Tarnabod','Tarnalelesz','Tarnaméra','Tarnaörs','Tarnaszentmária','Tarnaszentmiklós','Tarnazsadány','Tárnok','Tárnokréti','Tarpa','Tarrós','Táska','Tass','Taszár','Tát','Tata','Tata-Agostyán','Tatabánya','Tataháza','Tatárszentgyörgy','Tázlár','Téglás','Tékes','Teklafalu','Telekes','Telekgerendás','Teleki','Telki','Telkibánya','Tengelic','Tengeri','Tengőd','Tenk','Tényő','Tépe','Terem','Terény','Tereske','Teresztenye','Terpes','Tés','Tésa','Tésenfa','Téseny','Teskánd','Tét','Tetétlen','Tevel','Thaiföld','Tibolddaróc','Tiborszállás','Tihany','Tikos','Tilaj','Timár','Tinnye','Tiszaadony','Tiszaalpár','Tiszabábolna','Tiszabecs','Tiszabercel','Tiszabezdéd','Tiszabő','Tiszabura','Tiszacsécse','Tiszacsege','Tiszacsermely','Tiszadada','Tiszaderzs','Tiszadob','Tiszadorogma','Tiszaeszlár','Tiszaeszlár-Basahalom','Tiszaföldvár','Tiszaföldvár-Homok','Tiszafüred','Tiszafüred-Kócsújfalu','Tiszafüred-Tiszaörvény','Tiszagyenda','Tiszagyulaháza','Tiszaigar','Tiszainoka','Tiszajenő','Tiszakanyár','Tiszakarád','Tiszakécske','Tiszakerecseny','Tiszakeszi','Tiszakóród','Tiszakürt','Tiszaladány','Tiszalök','Tiszalök-Kisfástanya','Tiszalúc','Tiszamogyorós','Tiszanagyfalu','Tiszanána','Tiszaörs','Tiszapalkonya','Tiszapüspöki','Tiszarád','Tiszaroff','Tiszasas','Tiszasüly','Tiszaszalka','Tiszaszentimre','Tiszaszentimre-Újszentgyörgy','Tiszaszentmárton','Tiszasziget','Tiszaszőlős','Tiszatardos','Tiszatarján','Tiszatelek','Tiszatelek-Kétérköz','Tiszatenyő','Tiszaug','Tiszaújváros','Tiszavalk','Tiszavárkony','Tiszavárkony-Tiszavárkonyi','Tiszavasvári','Tiszavid','Tisztaberek','Tivadar','Tóalmás','Tófalu','Tófej','Tófű','Togo','Tök','Tokaj','Tokod','Tokodaltáró','Tököl','Tokorcs','Tolcsva','Told','Tolmács','Tolna','Tolna megye','Tolna-Mözs','Tolnanémedi','Töltéstava','Tomajmonostora','Tomor','Tömörd','Tömörkény','Tompa','Tompaládony','Tonga','Tordas','Tormafölde','Tormás','Tormásliget','Tornabarakony','Tornakápolna','Tornanádaska','Tornaszentandrás','Tornaszentjakab','Tornyiszentmiklós','Tornyosnémeti','Tornyospálca','Törökbálint','Törökkoppány','Törökország','Törökszentmiklós','Törökszentmiklós-Surjány','Torony','Törtel','Torvaj','Tószeg','Tótkomlós','Tótszentgyörgy','Tótszentmárton','Tótszerdahely','Töttös','Tótújfalu','Tótvázsony','Trinidad és Tobago','Trizs','Tunézia','Tunyogmatolcs','Tura','Túristvándi','Türje','Túrkeve','Türkmenisztán','Túrony','Túrricse','Tüskevár','Tuvalu','Tuzsér','Tyukod','Udvar','Udvari','Uganda','Ugod','Új-Zéland','Újbarok','Újcsanálos','Újdombrád','Újfehértó','Újhartyán','Újiráz','Újireg','Újkenéz','Újkér','Újkígyós','Újlengyel','Újléta','Újlőrincfalva','Újpetre','Újrónafő','Újsolt','Újszalonta','Újszász','Újszentiván','Újszentmargita','Újszilvás','Újtelek','Újtikos','Újudvar','Újvárfalva','Ukk','Ukrajna','Üllés','Üllő','Und','Úny','Uppony','Ura','Uraiújfalu','Úrhida','Úri','Úrkút','Üröm','Uruguay','Uszka','Uszód','Üzbegisztán','Uzsa','Vác','Vácduka','Vácegres','Váchartyán','Váckisújfalu','Vácrátót','Vácszentlászló','Vadna','Vadosfa','Vág','Vágáshuta','Vaja','Vajdácska','Vajszló','Vajta','Vál','Valkó','Valkonya','Vállaj','Vállus','Vámosatya','Vámoscsalád','Vámosgyörk','Vámosmikola','Vámosoroszi','Vámospércs','Vámosszabadi','Vámosújfalu','Váncsod','Vanuatu','Vanyarc','Vanyola','Várad','Váralja','Varászló','Váraszó','Várbalog','Varbó','Varbóc','Várda','Várdomb','Várfölde','Varga','Várgesztes','Várkesző','Várong','Városföld','Városlőd','Várpalota','Varsád','Varsány','Várvölgy','Vas megye','Vasad','Vasalja','Vásárosbéc','Vásárosdombó','Vásárosfalu','Vásárosmiske','Vásárosnamény','Vasasszonyfa','Vasboldogasszony','Vasegerszeg','Vashosszúfalu','Vaskeresztes','Vaskút','Vasmegyer','Vaspör','Vassurány','Vasszécseny','Vasszentmihály','Vasszilvágy','Vasvár','Vaszar','Vászoly','Vát','Vatikán','Vatta','Vázsnok','Vécs','Vecsés','Végegyháza','Vejti','Vékény','Vekerd','Velem','Velemér','Velence','Velény','Véménd','Vének','Venezuela','Vép','Vereb','Veresegyház','Verőce','Verpelét','Verseg','Versend','Vértesacsa','Vértesboglár','Vérteskethely','Vértessomló','Vértesszőlős','Vértestolna','Vése','Veszkény','Veszprém','Veszprém megye','Veszprém-Gyulafirátót','Veszprém-Kádárta','Veszprémfajsz','Veszprémgalsa','Veszprémvarsány','Vésztő','Vezseny','Vid','Vietnam','Vigántpetend','Villány','Villánykövesd','Vilmány','Vilonya','Vilyvitány','Vinár','Vindornyafok','Vindornyalak','Vindornyaszőlős','Visegrád','Visnye','Visonta','Viss','Visz','Viszák','Viszló','Visznek','Vitnyéd','Vizslás','Vizsoly','Vízvár','Vöckönd','Vokány','Völcsej','Vönöck','Vonyarcvashegy','Vöröstó','Vörs','Zabar','Zádor','Zádorfalva','Zagyvarékas','Zagyvaszántó','Záhony','Zajk','Zajta','Zákány','Zákányfalu','Zákányszék','Zala','Zala megye','Zalaapáti','Zalabaksa','Zalabér','Zalaboldogfa','Zalacsány','Zalacséb','Zalaegerszeg','Zalaerdőd','Zalagyömörő','Zalahaláp','Zalaháshágy','Zalaigrice','Zalaistvánd','Zalakaros','Zalakomár','Zalaköveskút','Zalalövő','Zalameggyes','Zalamerenye','Zalasárszeg','Zalaszabar','Zalaszántó','Zalaszegvár','Zalaszentbalázs','Zalaszentgrót','Zalaszentgrót-Csáford','Zalaszentgrót-Tekenye','Zalaszentgrót-Zalakoppány','Zalaszentgrót-Zalaudvarnok','Zalaszentgyörgy','Zalaszentiván','Zalaszentjakab','Zalaszentlászló','Zalaszentlőrinc','Zalaszentmárton','Zalaszentmihály','Zalaszombatfa','Zaláta','Zalatárnok','Zalaújlak','Zalavár','Zalavég','Zalkod','Zamárdi','Zambia','Zámoly','Zánka','Zaránk','Závod','Zebecke','Zebegény','Zemplénagárd','Zengővárkony','Zichyújfalu','Zics','Ziliz','Zimány','Zimbabwe','Zirc','Zók','Zöld-foki Köztársaság','Zomba','Zsadány','Zsáka','Zsámbék','Zsámbok','Zsana','Zsarolyán','Zsebeháza','Zsédeny','Zselickisfalud','Zselickislak','Zselicszentpál','Zsennye','Zsira','Zsombó','Zsujta','Zsurk','Zubogy'];
(function($){$.fn.easySlider=function(options){var defaults={prevId:'prevBtn',prevText:'Previous',nextId:'nextBtn',nextText:'Next',controlsShow:true,controlsBefore:'',controlsAfter:'',controlsFade:true,insertAfter:true,firstId:'firstBtn',firstText:'First',firstShow:false,lastId:'lastBtn',lastText:'Last',lastShow:false,vertical:false,speed:800,ease:'swing',auto:false,pause:2000,continuous:false,prevNext:true,numeric:false,numericId:'controls',hoverPause:false,actualDisplayId:false};var options=$.extend(defaults,options);this.each(function(){var obj=$(this);var ul=obj.children("ul");var li=ul.children("li");var s=li.length;var w=obj.width();var h=obj.height();var t=0;var ts=s-1;var clickable=true;obj.css("overflow","hidden");li.each(function(){if(options.vertical)$(this).height(h);else $(this).width(w)});li.css('float','left');if(options.vertical)ul.height(s*w);else ul.width(s*h);if(options.continuous){if(options.vertical){ul.prepend(li.filter(":last-child").clone().css("margin-top","-"+h+"px"));ul.append(li.filter(":nth-child(2)").clone());ul.height((s+1)*h)}else{ul.prepend(li.filter(":last-child").clone().css("margin-left","-"+w+"px"));ul.append(li.filter(":nth-child(2)").clone());ul.width((s+1)*w)}};if(options.controlsShow){var html=options.controlsBefore;if(options.numeric){html+='<ol id="'+options.numericId+'"></ol>'}if(options.firstShow){html+='<span id="'+options.firstId+'"><a href="#">'+options.firstText+'</a></span>'}if(options.prevNext){html+='<span id="'+options.prevId+'"><a href="#">'+options.prevText+'</a></span>';if(options.actualDisplayId){html+='<span class="sliderPageDisplay" id="'+options.actualDisplayId+'">'+1+' / '+s+'</span>'}html+='<span id="'+options.nextId+'"><a href="#">'+options.nextText+'</a></span>'}if(options.lastShow){html+='<span id="'+options.lastId+'"><a href="#">'+options.lastText+'</a></span>'}html+=options.controlsAfter;if(options.insertAfter)$(obj).after(html);else $(obj).before(html)};if(options.numeric){for(var i=0;i<s;i++){$(document.createElement("li")).attr('id',options.numericId+(i+1)).html('<a rel="'+i+'" href="#"><span>'+(i+1)+'</span></a>').appendTo($("#"+options.numericId)).click(function(){animate($("a",$(this)).attr('rel'),true);return false})}}if(options.prevNext){$("a","#"+options.nextId).click(function(){animate("next",true);return false});$("a","#"+options.prevId).click(function(){animate("prev",true);return false});$("a","#"+options.firstId).click(function(){animate("first",true);return false});$("a","#"+options.lastId).click(function(){animate("last",true);return false})};function setCurrent(i){i=parseInt(i)+1;$("li","#"+options.numericId).removeClass("current");$("li#"+options.numericId+i).addClass("current")};function adjust(){if(t>ts)t=0;if(t<0)t=ts;if(!options.vertical){ul.css("margin-left",(t*w*-1))}else{ul.css("margin-top",(t*h*-1))}clickable=true;if(options.numeric)setCurrent(t);if(options.actualDisplayId){$('#'+options.actualDisplayId).text(t+1+' / '+s)}};function animate(dir,clicked){if(options.hoverPause){obj.mouseenter(function(){animate("stop",true)});obj.mouseleave(function(){if(options.continuous){animate("next",false)}else{animate("next",true)}})};if(clickable){clickable=false;var ot=t;switch(dir){case"next":t=(ot>=ts)?(options.continuous?t+1:ts):t+1;break;case"prev":t=(t<=0)?(options.continuous?t-1:0):t-1;break;case"first":t=0;break;case"last":t=ts;break;default:t=parseInt(dir);break};var diff=Math.abs(ot-t);var speed=diff*options.speed;if(!options.vertical){p=(t*w*-1);ul.animate({marginLeft:p},{queue:false,duration:speed,easing:options.ease,complete:adjust})}else{p=(t*h*-1);ul.animate({marginTop:p},{queue:false,duration:speed,easing:options.ease,complete:adjust})};if(!options.continuous&&options.controlsFade){if(t==0){$("a","#"+options.prevId).fadeOut('slow');$("a","#"+options.firstId).fadeOut('slow')}else if(t==ts){$("a","#"+options.nextId).fadeOut('slow');$("a","#"+options.lastId).fadeOut('slow')}else{$("a","#"+options.prevId).fadeIn('slow');$("a","#"+options.firstId).fadeIn('slow');$("a","#"+options.nextId).fadeIn('slow');$("a","#"+options.lastId).fadeIn('slow')}};if(clicked)clearTimeout(timeout);if(options.auto&&dir=="next"&&!clicked){timeout=setTimeout(function(){animate("next",false)},diff*options.speed+options.pause)}}};var timeout;if(options.auto){;timeout=setTimeout(function(){animate("next",false)},options.pause)};if(options.numeric)setCurrent(0);if(!options.continuous&&options.controlsFade){$("a","#"+options.prevId).hide();$("a","#"+options.firstId).hide()}})}})(jQuery);
function jsImport(path){var e=document.createElement("script");e.src=path;e.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(e)}function jsReplace(oldpath,newpath){jsRemove(oldpath);jsImport(newpath)}function jsRemove(path){var scripts=document.getElementsByTagName("script");var regexp=new RegExp(".*"+path);for(var i=0;i<scripts.length;i++){if(regexp.test(scripts[i].src)){document.getElementsByTagName("head")[0].removeChild(scripts[i])}}}function reverseString(str){var new_str='';for(var i=0;i<=str.length;i++){new_str=str.charAt(i)+new_str}return new_str}function trimString(str){return str.replace(/\s*/g,'')}function arrangePrice(idname){var unformatted_ar=$(idname).value;unformatted_ar=trimString(unformatted_ar);var formatted_ar='';var i=0;formatted_ar=reverseString(unformatted_ar);unformatted_ar='';for(var i=0;i<=(formatted_ar.length-1);i++){if((i+1)%3==0&&i>0){if(i!=(formatted_ar.length-1))separate=' '}else separate='';unformatted_ar=unformatted_ar+formatted_ar.charAt(i)+separate}formatted_ar=reverseString(unformatted_ar);$(idname).value=formatted_ar}function popupw(url,targetWindowName,width,height){window.open(url,targetWindowName,"left=0,top=0,width="+width+",height="+height+",scrollbars=1")}function select_checks(checkboxes){checkboxes.each(function(e){e.checked=true});checkboxes.all=true}function deselect_checks(checkboxes){checkboxes.each(function(e){e.checked=0});checkboxes.all=false}function invert_checks(checkboxes){checkboxes.each(function(e){e.checked=!e.checked})}function check_all(checkboxes){checkboxes.each(function(e){e.checked=!checkboxes.all});checkboxes.all=!checkboxes.all}function fixteletext(text){var allowedchars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789öüóőúéáűíÖÜÓŐÚÉÁŰÍ!\"#¤%&'()*+,-./:;<=>?_ \n";var len=text.length;var fixedtext="";var c;for(var i=0;i<len;i++){c=text.charAt(i);if(allowedchars.indexOf(c)!=-1)fixedtext=fixedtext+c}return fixedtext}function checkteletext(text){var row=0;var col=0;var c;var err="";var error=0;text=fixteletext(text)+"\n";var len=text.length;for(i=0;i<len;i++){c=text.charAt(i);if(c=="\n"){if(row<8){if(col>38){col="<div class='err'>Túl hosszú! ("+col+")</div>";error=1}else col="<div>"+col+"</div>";err=err+col;row++;col=0}else{error=1;err=err+"<div class='err'>Túl sok sor!</div>";break}}else{col++}}while(row<8){err=err+"<div>0</div>";row++}document.getElementById("teletextinfo").innerHTML=err;return error}function jump_to(base_url){var page=prompt("Ugrás a következő oldalra:","");if(page!==null&&!isNaN(page)&&page>0){document.location.href=base_url.replace(/\d+$/,+page)}}function project_jump_to(base_url){var page=prompt("Ugrás a következő oldalra:","");if(page!==null&&!isNaN(page)&&page>0){document.location.href=base_url.replace(/\d+$/,'')+page}}function checkMessageForm(name){var error='';if($('message_from_name').value.strip().length<1){error+="Kérem adja meg a nevét! \n"}if($('message_message').value.strip().length<1){error+="Kérem írja meg az üzenetet! \n"}if(($('message_from_email').value.strip().length==0)&&($('message_from_phone').value.strip().length==0)){error+="Kérem adja meg vagy az e-mail címet vagy a telefonszámot!! \n"}if(error==''){try{$('messageFormSubmit').replace("<strong>Üzenet küldés...</strong>");name=name.replace(/^\s/).replace(/\s$/);if(name!='')pageTracker._trackPageview('/virtual/email-request/'+name)}catch(e){}}else{alert(error);return false}return true}function checkCallbackMessageForm(name){var error='';if($('callback_from_name').value.strip().length<1){error+="Kérem adja meg a nevét! \n"}if($('callback_from_phone').value.strip().length<1){error+="Kérem adja meg a telefonszámát! \n"}if(error==''){try{$('callback_submit').replace("<strong>Üzenet küldés...</strong>");name=name.replace(/^\s/).replace(/\s$/);if(name!='')pageTracker._trackPageview('/virtual/callback-request/'+name)}catch(e){}}else{alert(error);return false}return true}function checkInternalMessageForm(){var error='';if($('message_subject').value.strip().length<1){error+="Kérem adja meg a tárgyat! \n"}if($('message_message').value.strip().length<1){error+="Kérem írja be az üzenetet! \n"}if(error==''){$('messageInternalForm').submit()}else{alert(error)}}function createSelect(id,name,parent){var selectObject=document.createElement('SELECT');selectObject.id=id;selectObject.name=name;parent.appendChild(selectObject);return selectObject}function createZipCodeSelect(zips,select_id,region_id){var selectObject=$(select_id);var name=selectObject.getAttribute('name');var id=selectObject.getAttribute('id');var p=selectObject.up();p.removeChild(selectObject);if(typeof(region_id)=='undefined'||!region_id){selectObject=createSelect(id,name,p);selectObject.options[0]=new Option('Válasszon települést!','');return 1}if(typeof(zips)=='undefined'||zips.length<1){var textinput=document.createElement('INPUT');textinput.id=id;textinput.name=name;textinput.type='text';textinput.value='';p.appendChild(textinput);return 1}selectObject=createSelect(id,name,p);if(zips.length==1){selectObject.options[0]=new Option(zips[0],zips[0])}else{selectObject.options[0]=new Option('Válasszon!','')}for(var i=0;i<zips.length;i++){if(typeof(zips[i])!='undefined'){newOptionName=new Option(zips[i],zips[i]);if(zips.length==1)selectObject.options[i]=newOptionName;else selectObject.options[i+1]=newOptionName}}selectObject.selectedIndex=0;document.fire('zipcode:loaded');return 1}function checkValidRegion(regionDivId,type){var retval=false;if($(regionDivId)&&$(regionDivId).value){if($(regionDivId).value>0)retval=true}if(retval==true)return true;else{switch(type){case'simplesearch':return confirm("Ha nem választ ki érvényes régiót, akkor egész adatbázisban keresni fog. Biztosan folytatja?");break;case'detailedsearch':return confirm("Ha nem választ ki érvényes régiót, akkor egész adatbázisban keresni fog. Biztosan folytatja?");break;default:alert("Nem választott ki érvényes régiót");return false;break}}}String.prototype.explode=function(str){return this.split("").join(str)};function fontsize(sizemod){var max=14;var min=10;var actfontsize=$('fontdiv').style.fontSize;actfontsize=parseInt(actfontsize.replace("px",""));actfontsize+=parseInt(sizemod);if(actfontsize<max){var buttons=document.getElementsByName('bigfont');buttons[0].style.visibility='visible';buttons[1].style.visibility='visible'}else{actfontsize=max;var buttons=document.getElementsByName('bigfont');buttons[0].style.visibility='hidden';buttons[1].style.visibility='hidden'}if(actfontsize>min){var buttons=document.getElementsByName('smallfont');buttons[0].style.visibility='visible';buttons[1].style.visibility='visible'}else{actfontsize=min;var buttons=document.getElementsByName('smallfont');buttons[0].style.visibility='hidden';buttons[1].style.visibility='hidden'}$('fontdiv').style.fontSize=(actfontsize)+'px'}function article_email(){if($('articleemail').style.display=='none')$('articleemail').style.display='block';else $('articleemail').style.display='none'}function addtobookmarks(title,url){var setBookmark=false;if(window.sidebar){window.sidebar.addPersistentPanel(title,url,"");setBookmark=true}else{if(document.all){window.external.AddFavorite(url,title);setBookmark=true}else{if(window.opera&&window.print){setBookmark=true;return true}else{EN_CLIP_HOST='http://www.evernote.com';try{var x=document.createElement('SCRIPT');x.type='text/javascript';x.src=EN_CLIP_HOST+'/public/bookmarkClipper.js?'+(new Date().getTime()/100000);document.getElementsByTagName('head')[0].appendChild(x)}catch(e){location.href=EN_CLIP_HOST+'/clip.action?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)}setBookmark=false}}}}String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};function checkArticleMessageForm(){var error=0;if($('sendername_id').value.trim().length<1)error=1;else{if($('name_id').value.trim().length<1)error=1;else{if($('message_id').value.trim().length<1)error=2;else{var match=/^[A-Z0-9+._-]+@[A-Z0-9][A-Z0-9.-]{0,63}[A-Z0-9]\.[A-Z.]{2,8}$/i.exec($('email_id').value);if(!match)error=3}}}switch(error){case 0:$('articlemessageform').submit();break;case 1:alert("Nem adott meg a nevet!");break;case 2:alert("Nem adta meg az üzenet szövegét!");break;case 3:alert("Nem adott meg helyes e-mail címet!");break;default:return 0;break}}function setVisitedCallback(request,json){if(request.status==200){$('visitedbutton_'+request.responseJSON).up(2).addClassName('visited');$('visitedbutton_'+request.responseJSON).remove()}}function oncompleteimg(){$('articlegalpicture').style.display='block'}function viewpic(imageloc,imgwidth,imgheight,imagecap){var maxwidth=540;var maxheight=380;var actwidth=imgwidth;var actheight=imgheight;if((actwidth>maxwidth)||(actheight>maxheight)){var szorzo=Math.min(maxwidth/actwidth,maxheight/actheight);actwidth=parseInt(actwidth*szorzo);actheight=parseInt(actheight*szorzo)}$('articlegalpicture').style.display='none';$('articlegalpicture').width=actwidth;$('articlegalpicture').height=actheight;$('articlegalpicture').src=imageloc;$('picturetitle_id').innerHTML=imagecap}function imageview(index){var nextindex=(index+1)%imagesloc.length;var previndex=(index+imagesloc.length-1)%imagesloc.length;index=(index%imagesloc.length);viewpic(imagesloc[index],imageswidth[index],imagesheight[index],imagescaps[index]);$('leftarrow_id').href="javascript:imageview("+previndex+")";$('rightarrow_id').href="javascript:imageview("+nextindex+")";$('imagelink_id').href="javascript:imageview("+nextindex+")"}function is_estate_form_valid(){var valid=['estate_region_id'];var alerts=['Nem jól adta meg a települést!'];var v=true;var ret=true;var msg='';for(var i=0;i<valid.length;i++){try{v=$(valid[i]).present()}catch(e){v=true}if(!v){msg+='- '+alerts[i]+'\n'}}if(msg!=''){alert(msg);ret=false}try{var ar=$('estate_ar').value;ar=trimString(ar);var error=0;var errormsg='';if(ar>0){if((ar<10000)&&($('estate_multiplier').value==0)&&($('estate_penznem').value=='huf'))error=2;if((ar<40)&&($('estate_multiplier').value==0)&&($('estate_penznem').value=='eur'))error=2;if((ar>1000000000)&&($('estate_multiplier').value==0)&&($('estate_penznem').value=='huf'))error=3;if((ar>1000)&&($('estate_multiplier').value==1)&&($('estate_penznem').value=='huf'))error=3;if((ar>4000000)&&($('estate_multiplier').value==0)&&($('estate_penznem').value=='eur'))error=3;if((ar>4)&&($('estate_multiplier').value==1)&&($('estate_penznem').value=='eur'))error=3}switch(error){case 0:break;case 2:errormsg='Túl alacsony ár lett megadva!';break;case 3:errormsg='Túl magas ár lett megadva!';break}if(error>0){alert(errormsg)}}catch(err){}return ret}function check_erkely(erkely_id){if($(erkely_id).checked){$('erkely_size_row').show()}else{$('erkely_size_row').hide()}}function toggleDiv(divname){if($(divname).style.display=='none'){$(divname).appear()}else{$(divname).fade({duration:1.0})}}function reload_median(given_median){try{var mymedian=(given_median>0)?given_median:mediancode;var same=Math.floor(Math.random()*1000000);same=same+sameext;document.getElementById("median").innerHTML='<!-- Medián WebAudit Ingatlanok.hu 1/2 --><img style="position:absolute;top:-100px;left:-100px" src="http://audit.median.hu/cgi-bin/track.cgi?uc='+mymedian+'&dc=1&ui='+same+'" width="1" height="1" alt="Median" />'}catch(e){}}function reload_gemius(){try{gemius_hit(pp_gemius_identifier.replace('USED_',''))}catch(e){}}function reload_all(median){reload_median(median);reload_gemius()}function resetFormInputs(form_id){inputs=$$('#'+form_id+' input[type="text"]');for(i=0;i<inputs.length;i++){inputs[i].value=''}inputs=$$('#'+form_id+' input[type="checkbox"]');for(i=0;i<inputs.length;i++){inputs[i].checked=''}inputs=$$('#'+form_id+' select');for(i=0;i<inputs.length;i++){inputs[i].selectedIndex=0}}function toggleFormSection(base){var elem=$('edit_form_'+base.id.split('_').pop());Effect.toggle(elem,'slide',{afterFinish:function(){if(!elem.visible()){base.addClassName('slided_up')}else{base.removeClassName('slided_up')}}})}function updateJSON(ajax){var ids=ajax.responseJSON;for(var i=0;i<ids.length;i++){Element.remove('tr_estate_'+ids[i])}}function showPhoneNumber(encoded_url,div_name){var linkdiv=div_name+'_link';if($(div_name).style.display!='block'){$(linkdiv).fade({duration:0.6,afterFinish:function(){$(div_name).appear({duration:0.9})}});pageTracker._trackPageview('/virtual/'+encoded_url)}}function checkTextLength(){if($('advice_text').value.length>500)$('advice_text').value=$('advice_text').value.substring(0,500);else $('char_number').innerHTML=500-$('advice_text').value.length}function addanswer(id,name){var questions_value=window.opener.document.getElementById('questions').value;var questions=questions_value.split(';');if(questions.indexOf(id)==-1){if(questions.length==0)window.opener.document.getElementById('questions').value=id;else window.opener.document.getElementById('questions').value+=';'+id;window.opener.document.getElementById('question_names').innerHTML+=name+'<br />\n';alert('A kérdés hozzá lett adva a listához!')}else alert('Ez a kérdés már hozzá van adva a listához')}function checkGroupSend(){if($('questions').value==''){alert('Nincs megadva kérdező!');return false}if($('answer_text').value==''){alert('Nincs megadva válasz cikk!');return false}return true}function messageOperation(url_for_ajax,url_for_message_list,optype){var confirm_msg=success_msg=pars='';if(optype=='read'){confirm_msg='Biztos, hogy olvasottnak jelöli az összes üzenetét?';success_msg='Minden üzenet sikeresen olvasottnak jelölve!';pars='?act='+optype}if(optype=='delete'){confirm_msg='Biztos, hogy törli az összes üzenetét?';success_msg='Minden üzenet sikeresen törölve lett!';pars='?act='+optype}if(confirm(confirm_msg)){var myAjax=new Ajax.Request(url_for_ajax,{method:'post',parameters:pars,onLoading:function(){$('message_indicator').style.display='block'},onComplete:function(req){$('message_indicator').style.display='none';if(req.responseText=='ERROR'){alert('Hiba történt a művelet közben!')}if(req.responseText=='OK'){location.href=url_for_message_list;alert(success_msg)}}})}}Object.extend(String.prototype,{unHungarize:function(){return this.replace(/[őóö]/ig,"o").replace(/[úűü]/ig,"u").replace(/á/ig,"a").replace(/é/ig,"e").replace(/í/ig,"i")}});Object.extend(Form.Element.Methods,{DefaultValue:function(element,text){if(element.type!='text'&&element.type!='password'&&element.type!='textarea')return;var fld_current=element;if(element.value==''){element.addClassName('defaultvalue');element.value=text}else{return}element.observe('focus',function(event){if(element.value==text||element.value==''){element.removeClassName('defaultvalue');element.value=''}});element.observe('blur',function(event){if(element.value==text||element.value==''){element.addClassName('defaultvalue');element.value=text}});element.up("form").observe('submit',function(event){if(element.value==text){element.value=''}})}});var setSelectValue=function(element,newValue){var value='',opt,index=element.selectedIndex;for(var i=0;i<element.options.length;i++){if(element.options[i].value==newValue){element.selectedIndex=i;return true}}return false};function updateOfficeDataFromJSON(request,json,prefix){var json=json[0];var obj={base:prefix,json:json};document.observe('zipcode:loaded',function(event){Function.delay(100);setSelectValue($(this.base+'_zipcode'),this.json.zipcode)}.bind(obj));$('region_searchtext').value=json.Region.name;$(prefix+'_address').value=json.address;$(prefix+'_phone').value=json.officephone;$(prefix+'_email').value=json.officeemail;$(prefix+'_web').value=json.webpage};var BalancePaymentsList=Class.create({initialize:function(balance_id){this.balance_id=balance_id;this.data.items.each(function(item){this.output+=this.template.evaluate(item)}.bind(this));this.output+="<div class='form_input_array'><a href='#dummy' onclick='"+this.data.options.container_id+".addItem(Element.extend(this));'>"+this.data.options.add_text+"</a></div>";$(this.data.options.container_id).update(this.output)},addItem:function(elem){var new_item=this.template.evaluate({"input_value":"","input_name":this.data.options.input_name,"remove_icon_src":this.data.options.remove_icon_src,"remove_text":this.data.options.remove_text});Element.insert(elem.up(),{before:new_item})}});function $RF(el,radioGroup){if($(el).type&&$(el).type.toLowerCase()=='radio'){var radioGroup=$(el).name;var el=$(el).form}else if($(el).tagName.toLowerCase()!='form'){return false}var checked=$(el).getInputs('radio',radioGroup).find(function(re){return re.checked});return(checked)?$F(checked):null}function confirmLawyer(){$('sf_admin_edit_form').submit()}function loadOffice(url,office_id){window.location.href=url+office_id}function gup(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null)return"";else return results[1]}function changeAction(action){switch(action){case'toplist':$('toplist_button').style.display='';$('seller_title').style.display='none';$('seller_select').style.display='none';$('seller_button').style.display='none';$('project_title').style.display='none';$('project_select').style.display='none';$('project_button').style.display='none';$('batchaction').fire('batchaction:toplistSelected');break;case'seller':$('seller_title').style.display='';$('seller_select').style.display='';$('seller_button').style.display='';$('toplist_button').style.display='none';$('project_title').style.display='none';$('project_select').style.display='none';$('project_button').style.display='none';$('seller_select').fire('native:change');break;case'project':$('project_title').style.display='';$('project_select').style.display='';$('project_button').style.display='';$('seller_title').style.display='none';$('seller_select').style.display='none';$('seller_button').style.display='none';$('toplist_button').style.display='none';$('project_select').fire('native:change');break}}function jumpToInternal(href){window.location.href="#"+href}var RegionChecker=Class.create({initialize:function(inputId,regionArray){this.inputId=inputId;this.regionArray=regionArray},check:function(){this.regionArray.indexOf($F(this.inputId));if(this.regionArray.indexOf($F(this.inputId))>=0){return true}else{return false}},changeClass:function(){try{if(this.check()===true){$(this.inputId).removeClassName('invalid');$(this.inputId).addClassName('valid')}else{$(this.inputId).removeClassName('valid');$(this.inputId).addClassName('invalid')}}catch(e){}}});var DivHider=Class.create({initialize:function(hideClass,isHidden,options){this.isHidden=isHidden;this.hideClass=hideClass;this.elements=$$('.'+this.hideClass);this.getOptions(options);var text='';this.form=$(options.formId);if(this.isHidden){this.elements.invoke('hide');text=this.showText}else{this.elements.invoke('show');text=this.hideText}var hiderClass='hider_div';if(options.hiderClass!='undefined'){hiderClass=options.hiderClass}this.hiderDiv=Builder.node('div',{id:'hider_div_'+this.hideClass,className:hiderClass},text);this.appendDiv.insert(this.hiderDiv);this.hiderDiv=$(this.hiderDiv);this.hiderDiv.observe('click',function(event){this.toggle()}.bind(this));this.form.getElements().each(function(element){if(element.id=='estateview_filters_orderby'||element.id=='estateview_filters_orderdir'){}else{element.observe('click',function(event){this.open()}.bind(this))}}.bind(this));this.hiderDiv.observe('mouseover',function(event){Event.element(event).addClassName('hover')});this.hiderDiv.observe('mouseout',function(event){Event.element(event).removeClassName('hover')})},getOptions:function(options){if(typeof(options.hide)!='undefined'){this.hideText=options.hide}else{this.hideText="Adatlap elrejtése"}if(typeof(options.show)!='undefined'){this.showText=options.show}else{this.showText="Teljes adatlap mutatása"}if(typeof(options.appendId)!='undefined'){this.appendDiv=$(options.appendId)}else{this.appendDiv=this.elements[0].up()}if(typeof(options.simple)!='undefined'){this.simple=options.simple}else{this.simple=false}},open:function(){if(this.isHidden){this.isHidden=false;this.elements.invoke('show');this.hiderDiv.update(this.hideText)}},toggleSimple:function(){if(this.isHidden){this.elements.invoke('show');this.hiderDiv.update(this.hideText);this.isHidden=false}else{this.elements.invoke('hide');this.hiderDiv.update(this.showText);this.isHidden=true}},toggleEffect:function(){if(this.isHidden){Effect.multiple(this.elements,Effect.BlindDown,{duration:0.3,afterFinish:this.hiderDiv.remove()});this.isHidden=false}else{Effect.multiple(this.elements,Effect.Fade,{speed:0,afterFinish:this.hiderDiv.update(this.showText)});this.isHidden=true}},toggle:function(){if(this.simple){this.toggleSimple()}else{this.toggleEffect()}}});Object.extend(Element.Methods,{hideToLink:function(element,text){var hiderDiv=Builder.node('div',{className:'hider_div_link'},Builder.node('a',{href:'#'},text));hiderDiv.observe('click',function(event){element.show()});element.hide();element.up().insert(hiderDiv)}});Element.addMethods();var SlideShow=Class.create({initialize:function(elementId,event,params){this.element=$(elementId);this.event=event;this.params=params;this.timeout_handler=0},setParams:function(params){this.params=params},start:function(){this.timeout_handler=window.setTimeout(function(){this.element.fire(this.event,this.params)}.bind(this),10000)},stop:function(){window.clearTimeout(this.timeout_handler)},addObservers:function(){this.element.observe('mouseover',function(event){this.stop()}.bind(this));this.element.observe('mouseout',function(event){this.start()}.bind(this))},removeObservers:function(){this.element.stopObserving('mouseover');this.element.stopObserving('mouseout')}});function priceSearchHelpKillMillion(elem){try{var currencySelect=$(elem);if(["hufnm","eurnm"].indexOf(currencySelect.getValue())>=0){currencySelect.previous('SELECT').setValue('0')}}catch(e){}}var EstatePriceHelper=Class.create({initialize:function(){this.ar_multipliers={"0":1,"1":1000000};this.alapterulet_multipliers={"negyzetmeter":1,"hektar":10000,"negyszogol":3.59665095};this.alapterulet_metric="negyzetmeter";this.alapterulet=0;this.init()},calPrice:function(){try{if(this.alapterulet==0){price=''}else{price=Math.round((this.ar_multipliers[$("estate_multiplier").getValue()]*$('estate_ar').getValue())/this.alapterulet)}$("estate_negyzetmeter_ar").value=price}catch(e){}},init:function(){try{this.alapterulet_metric=$F('estate_TelekFoldterulet_telek_terulet_tipusa')}catch(e){}if($('estate_TelekFoldterulet_telek_terulet_tipusa')){$$('#estate_TelekFoldterulet_telek_terulet_tipusa').invoke('observe','click',function(event){this.alapterulet_metric=$F('estate_TelekFoldterulet_telek_terulet_tipusa');this.alapterulet=this.alapterulet_multipliers[this.alapterulet_metric]*$$('.alapterulet').invoke('getValue')[0];try{price=Math.round(this.ar_multipliers[$("estate_multiplier").getValue()]*$('estate_ar').getValue()/this.alapterulet);$("estate_negyzetmeter_ar").value=price}catch(e){}}.bind(this))}if(typeof($$('.alapterulet').invoke('getValue')[0])!='undefined'){this.alapterulet=this.alapterulet_multipliers[this.alapterulet_metric]*$$('.alapterulet').invoke('getValue')[0]}$$('.alapterulet').invoke('observe','change',function(event){this.alapterulet=event.target.value*this.alapterulet_multipliers[this.alapterulet_metric];this.calPrice()}.bind(this));if($("estate_ar")){$('estate_ar').observe('change',function(event){this.calPrice()}.bind(this))}if($("estate_multiplier")){$('estate_multiplier').observe('click',function(event){this.calPrice()}.bind(this))}},count:function(){this.init();if(this.alapterulet==0){alert("Nem adta meg az alapterületet!");$("estate_negyzetmeter_ar").value='';return false}if($("estate_ar").getValue()<1){alert("Nem adott meg árat!");return false}this.calPrice();return true}});
var PopupDIV={width:760,height:400,title:'',url:'',frameloaded:0,doti:1,loadingtimer:0,resizeEvent:null,onloadfunc:"",showbox:function(){var h;$('ajax_popup_bg').style['display']="block";if(document.viewport.getHeight()>document.body.getHeight()){h=document.viewport.getHeight()}else{h=document.body.getHeight()}var w=document.viewport.getWidth();$('ajax_popup_bg').setStyle({height:h+'px',width:w+'px'});var toppos=0;var leftpos=0;if((document.viewport.getScrollOffsets().top+Math.round((document.viewport.getHeight()-this.height)/2))>0)toppos=document.viewport.getScrollOffsets().top+Math.round((document.viewport.getHeight()-this.height)/2);if(Math.round((w-this.width)/2)>0)leftpos=Math.round((w-this.width)/2);$('ajax_popup_box').setStyle({display:'block',top:toppos+'px',left:leftpos+'px',width:this.width+'px',height:this.height+'px'});$('ajax_popup_iframe').setStyle({display:'block',top:toppos+'px',left:leftpos+'px',width:this.width+'px',height:this.height+'px'});$('ajax_popup_content').setStyle({display:'block',height:(this.height-55)+'px'})},loadcontent:function(){this.loading();var thisobj=this;var myAjax=new Ajax.Updater('ajax_popup_content',this.url,{method:'post',evalScripts:true,onComplete:function(req){thisobj.stoploading()}})},loading:function(){$("ajax_popup_title").update("Betöltés folyamatban, kis türelmet...");$("ajax_popup_content").addClassName('ajaxloader')},stoploading:function(){$('ajax_popup_title').update(this.title);$("ajax_popup_content").removeClassName('ajaxloader')},open:function(url,title,width,height){if(arguments.length>=5)this.onloadfunc=arguments[4];if(!this.frameloaded){var ajax_popup=document.createElement('DIV');ajax_popup.id='ajax_popup';$('mainwrapper').appendChild(ajax_popup);$('ajax_popup').update('<iframe id="ajax_popup_iframe" style="display:none" frameborder=0></iframe>'+'<div id="ajax_popup_bg" style="display:none" onclick="PopupDIV.close()">'+'</div>'+'<div class="window" id="ajax_popup_box" style="display:none">'+'<h3>'+'<a class="window_close" href="javascript:;" onclick="PopupDIV.close()"></a>'+'<span id="ajax_popup_title"></span><span id="ajax_popup_dots"></span>'+'</h3>'+'<div class="windowcontent">'+'<div id="ajax_popup_content">'+'</div>'+'</div>'+'</div>');this.resizeEvent=this.showbox.bindAsEventListener(this);Event.observe(window,"resize",this.resizeEvent);this.frameloaded=1}this.width=width;this.height=height;this.title=title;this.url=url;this.showbox();this.loadcontent();reload_all();this.hidebanners()},close:function(){$('ajax_popup_iframe').style['display']="none";$('ajax_popup_bg').style['display']="none";$('ajax_popup_box').style['display']="none";$('ajax_popup_content').update('');this.showbanners();Event.stopObserving(window,'resize',this.resizeEvent)},showbanners:function(){$$(".jsbanner").each(function(item){item.style["visibility"]="visible"})},hidebanners:function(){$$(".jsbanner").each(function(item){item.style["visibility"]="hidden"})}};function resizepopup(){PopupDIV.showbox()}
