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(A){return A}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false}var Class={create:function(){var E=null,D=$A(arguments);if(Object.isFunction(D[0])){E=D.shift()}function A(){this.initialize.apply(this,arguments)}Object.extend(A,Class.Methods);A.superclass=E;A.subclasses=[];if(E){var B=function(){};B.prototype=E.prototype;A.prototype=new B;E.subclasses.push(A)}for(var C=0;C<D.length;C++){A.addMethods(D[C])}if(!A.prototype.initialize){A.prototype.initialize=Prototype.emptyFunction}A.prototype.constructor=A;return A}};Class.Methods={addMethods:function(G){var C=this.superclass&&this.superclass.prototype;var B=Object.keys(G);if(!Object.keys({toString:true}).length){B.push("toString","valueOf")}for(var A=0,D=B.length;A<D;A++){var F=B[A],E=G[F];if(C&&Object.isFunction(E)&&E.argumentNames().first()=="$super"){var H=E;E=(function(I){return function(){return C[I].apply(this,arguments)}})(F).wrap(H);E.valueOf=H.valueOf.bind(H);E.toString=H.toString.bind(H)}this.prototype[F]=E}return this}};var Abstract={};Object.extend=function(A,C){for(var B in C){A[B]=C[B]}return A};Object.extend(Object,{inspect:function(A){try{if(Object.isUndefined(A)){return"undefined"}if(A===null){return"null"}return A.inspect?A.inspect():String(A)}catch(B){if(B instanceof RangeError){return"..."}throw B}},toJSON:function(A){var C=typeof A;switch(C){case"undefined":case"function":case"unknown":return ;case"boolean":return A.toString()}if(A===null){return"null"}if(A.toJSON){return A.toJSON()}if(Object.isElement(A)){return }var B=[];for(var E in A){var D=Object.toJSON(A[E]);if(!Object.isUndefined(D)){B.push(E.toJSON()+": "+D)}}return"{"+B.join(", ")+"}"},toQueryString:function(A){return $H(A).toQueryString()},toHTML:function(A){return A&&A.toHTML?A.toHTML():String.interpret(A)},keys:function(A){var B=[];for(var C in A){B.push(C)}return B},values:function(B){var A=[];for(var C in B){A.push(B[C])}return A},clone:function(A){return Object.extend({},A)},isElement:function(A){return !!(A&&A.nodeType==1)},isArray:function(A){return A!=null&&typeof A=="object"&&"splice" in A&&"join" in A},isHash:function(A){return A instanceof Hash},isFunction:function(A){return typeof A=="function"},isString:function(A){return typeof A=="string"},isNumber:function(A){return typeof A=="number"},isUndefined:function(A){return typeof A=="undefined"}});Object.extend(Function.prototype,{argumentNames:function(){var A=this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g,"").split(",");return A.length==1&&!A[0]?[]:A},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0])){return this}var A=this,C=$A(arguments),B=C.shift();return function(){return A.apply(B,C.concat($A(arguments)))}},bindAsEventListener:function(){var A=this,C=$A(arguments),B=C.shift();return function(D){return A.apply(B,[D||window.event].concat(C))}},curry:function(){if(!arguments.length){return this}var A=this,B=$A(arguments);return function(){return A.apply(this,B.concat($A(arguments)))}},delay:function(){var A=this,B=$A(arguments),C=B.shift()*1000;return window.setTimeout(function(){return A.apply(A,B)},C)},defer:function(){var A=[0.01].concat($A(arguments));return this.delay.apply(this,A)},wrap:function(B){var A=this;return function(){return B.apply(this,[A.bind(this)].concat($A(arguments)))}},methodize:function(){if(this._methodized){return this._methodized}var A=this;return this._methodized=function(){return A.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 C;for(var B=0,D=arguments.length;B<D;B++){var A=arguments[B];try{C=A();break}catch(E){}}return C}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(A){return String(A).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};var PeriodicalExecuter=Class.create({initialize:function(B,A){this.callback=B;this.frequency=A;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(A){return A==null?"":String(A)},specialChar:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\\":"\\\\"}});Object.extend(String.prototype,{gsub:function(E,C){var A="",D=this,B;C=arguments.callee.prepareReplacement(C);while(D.length>0){if(B=D.match(E)){A+=D.slice(0,B.index);A+=String.interpret(C(B));D=D.slice(B.index+B[0].length)}else{A+=D,D=""}}return A},sub:function(C,A,B){A=this.gsub.prepareReplacement(A);B=Object.isUndefined(B)?1:B;return this.gsub(C,function(D){if(--B<0){return D[0]}return A(D)})},scan:function(B,A){this.gsub(B,A);return String(this)},truncate:function(B,A){B=B||30;A=Object.isUndefined(A)?"...":A;return this.length>B?this.slice(0,B-A.length)+A: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 B=new RegExp(Prototype.ScriptFragment,"img");var A=new RegExp(Prototype.ScriptFragment,"im");return(this.match(B)||[]).map(function(C){return(C.match(A)||["",""])[1]})},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)})},escapeHTML:function(){var A=arguments.callee;A.text.data=this;return A.div.innerHTML},unescapeHTML:function(){var A=new Element("div");A.innerHTML=this.stripTags();return A.childNodes[0]?(A.childNodes.length>1?$A(A.childNodes).inject("",function(B,C){return B+C.nodeValue}):A.childNodes[0].nodeValue):""},toQueryParams:function(B){var A=this.strip().match(/([^?#]*)(#.*)?$/);if(!A){return{}}return A[1].split(B||"&").inject({},function(E,F){if((F=F.split("="))[0]){var C=decodeURIComponent(F.shift());var D=F.length>1?F.join("="):F[0];if(D!=undefined){D=decodeURIComponent(D)}if(C in E){if(!Object.isArray(E[C])){E[C]=[E[C]]}E[C].push(D)}else{E[C]=D}}return E})},toArray:function(){return this.split("")},succ:function(){return this.slice(0,this.length-1)+String.fromCharCode(this.charCodeAt(this.length-1)+1)},times:function(A){return A<1?"":new Array(A+1).join(this)},camelize:function(){var D=this.split("-"),A=D.length;if(A==1){return D[0]}var C=this.charAt(0)=="-"?D[0].charAt(0).toUpperCase()+D[0].substring(1):D[0];for(var B=1;B<A;B++){C+=D[B].charAt(0).toUpperCase()+D[B].substring(1)}return C},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(B){var A=this.gsub(/[\x00-\x1f\\]/,function(C){var D=String.specialChar[C[0]];return D?D:"\\u00"+C[0].charCodeAt().toPaddedString(2,16)});if(B){return'"'+A.replace(/"/g,'\\"')+'"'}return"'"+A.replace(/'/g,"\\'")+"'"},toJSON:function(){return this.inspect(true)},unfilterJSON:function(A){return this.sub(A||Prototype.JSONFilter,"#{1}")},isJSON:function(){var A=this;if(A.blank()){return false}A=this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,"");return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(A)},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(A){return this.indexOf(A)>-1},startsWith:function(A){return this.indexOf(A)===0},endsWith:function(A){var B=this.length-A.length;return B>=0&&this.lastIndexOf(A)===B},empty:function(){return this==""},blank:function(){return/^\s*$/.test(this)},interpolate:function(A,B){return new Template(this,B).evaluate(A)}});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(B){if(Object.isFunction(B)){return B}var A=new Template(B);return function(C){return A.evaluate(C)}};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(A,B){this.template=A.toString();this.pattern=B||Template.Pattern},evaluate:function(A){if(Object.isFunction(A.toTemplateReplacements)){A=A.toTemplateReplacements()}return this.template.gsub(this.pattern,function(D){if(A==null){return""}var F=D[1]||"";if(F=="\\"){return D[2]}var B=A,G=D[3];var E=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;D=E.exec(G);if(D==null){return F}while(D!=null){var C=D[1].startsWith("[")?D[2].gsub("\\\\]","]"):D[1];B=B[C];if(null==B||""==D[3]){break}G=G.substring("["==D[3]?D[1].length:D[0].length);D=E.exec(G)}return F+String.interpret(B)})}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(C,B){var A=0;try{this._each(function(E){C.call(B,E,A++)})}catch(D){if(D!=$break){throw D}}return this},eachSlice:function(D,C,B){var A=-D,E=[],F=this.toArray();if(D<1){return F}while((A+=D)<F.length){E.push(F.slice(A,A+D))}return E.collect(C,B)},all:function(C,B){C=C||Prototype.K;var A=true;this.each(function(E,D){A=A&&!!C.call(B,E,D);if(!A){throw $break}});return A},any:function(C,B){C=C||Prototype.K;var A=false;this.each(function(E,D){if(A=!!C.call(B,E,D)){throw $break}});return A},collect:function(C,B){C=C||Prototype.K;var A=[];this.each(function(E,D){A.push(C.call(B,E,D))});return A},detect:function(C,B){var A;this.each(function(E,D){if(C.call(B,E,D)){A=E;throw $break}});return A},findAll:function(C,B){var A=[];this.each(function(E,D){if(C.call(B,E,D)){A.push(E)}});return A},grep:function(D,C,B){C=C||Prototype.K;var A=[];if(Object.isString(D)){D=new RegExp(D)}this.each(function(F,E){if(D.match(F)){A.push(C.call(B,F,E))}});return A},include:function(A){if(Object.isFunction(this.indexOf)){if(this.indexOf(A)!=-1){return true}}var B=false;this.each(function(C){if(C==A){B=true;throw $break}});return B},inGroupsOf:function(B,A){A=Object.isUndefined(A)?null:A;return this.eachSlice(B,function(C){while(C.length<B){C.push(A)}return C})},inject:function(A,C,B){this.each(function(E,D){A=C.call(B,A,E,D)});return A},invoke:function(B){var A=$A(arguments).slice(1);return this.map(function(C){return C[B].apply(C,A)})},max:function(C,B){C=C||Prototype.K;var A;this.each(function(E,D){E=C.call(B,E,D);if(A==null||E>=A){A=E}});return A},min:function(C,B){C=C||Prototype.K;var A;this.each(function(E,D){E=C.call(B,E,D);if(A==null||E<A){A=E}});return A},partition:function(D,B){D=D||Prototype.K;var C=[],A=[];this.each(function(F,E){(D.call(B,F,E)?C:A).push(F)});return[C,A]},pluck:function(B){var A=[];this.each(function(C){A.push(C[B])});return A},reject:function(C,B){var A=[];this.each(function(E,D){if(!C.call(B,E,D)){A.push(E)}});return A},sortBy:function(B,A){return this.map(function(D,C){return{value:D,criteria:B.call(A,D,C)}}).sort(function(F,E){var D=F.criteria,C=E.criteria;return D<C?-1:D>C?1:0}).pluck("value")},toArray:function(){return this.map()},zip:function(){var B=Prototype.K,A=$A(arguments);if(Object.isFunction(A.last())){B=A.pop()}var C=[this].concat(A).map($A);return this.map(function(E,D){return B(C.pluck(D))})},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(C){if(!C){return[]}if(C.toArray){return C.toArray()}var B=C.length||0,A=new Array(B);while(B--){A[B]=C[B]}return A}if(Prototype.Browser.WebKit){$A=function(C){if(!C){return[]}if(!(typeof C==="function"&&typeof C.length==="number"&&typeof C.item==="function")&&C.toArray){return C.toArray()}var B=C.length||0,A=new Array(B);while(B--){A[B]=C[B]}return A}}Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse){Array.prototype._reverse=Array.prototype.reverse}Object.extend(Array.prototype,{_each:function(B){for(var A=0,C=this.length;A<C;A++){B(this[A])}},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(A){return A!=null})},flatten:function(){return this.inject([],function(B,A){return B.concat(Object.isArray(A)?A.flatten():[A])})},without:function(){var A=$A(arguments);return this.select(function(B){return !A.include(B)})},reverse:function(A){return(A!==false?this:this.toArray())._reverse()},reduce:function(){return this.length>1?this:this[0]},uniq:function(A){return this.inject([],function(D,C,B){if(0==B||(A?D.last()!=C:!D.include(C))){D.push(C)}return D})},intersect:function(A){return this.uniq().findAll(function(B){return A.detect(function(C){return B===C})})},clone:function(){return[].concat(this)},size:function(){return this.length},inspect:function(){return"["+this.map(Object.inspect).join(", ")+"]"},toJSON:function(){var A=[];this.each(function(B){var C=Object.toJSON(B);if(!Object.isUndefined(C)){A.push(C)}});return"["+A.join(", ")+"]"}});if(Object.isFunction(Array.prototype.forEach)){Array.prototype._each=Array.prototype.forEach}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(C,A){A||(A=0);var B=this.length;if(A<0){A=B+A}for(;A<B;A++){if(this[A]===C){return A}}return -1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(B,A){A=isNaN(A)?this.length:(A<0?this.length+A:A)+1;var C=this.slice(0,A).reverse().indexOf(B);return(C<0)?C:A-C-1}}Array.prototype.toArray=Array.prototype.clone;function $w(A){if(!Object.isString(A)){return[]}A=A.strip();return A?A.split(/\s+/):[]}if(Prototype.Browser.Opera){Array.prototype.concat=function(){var E=[];for(var B=0,C=this.length;B<C;B++){E.push(this[B])}for(var B=0,C=arguments.length;B<C;B++){if(Object.isArray(arguments[B])){for(var A=0,D=arguments[B].length;A<D;A++){E.push(arguments[B][A])}}else{E.push(arguments[B])}}return E}}Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16)},succ:function(){return this+1},times:function(B,A){$R(0,this,true).each(B,A);return this},toPaddedString:function(C,B){var A=this.toString(B||10);return"0".times(C-A.length)+A},toJSON:function(){return isFinite(this)?this.toString():"null"}});$w("abs round ceil floor").each(function(A){Number.prototype[A]=Math[A].methodize()});function $H(A){return new Hash(A)}var Hash=Class.create(Enumerable,(function(){function A(B,C){if(Object.isUndefined(C)){return B}return B+"="+encodeURIComponent(String.interpret(C))}return{initialize:function(B){this._object=Object.isHash(B)?B.toObject():Object.clone(B)},_each:function(C){for(var B in this._object){var D=this._object[B],E=[B,D];E.key=B;E.value=D;C(E)}},set:function(B,C){return this._object[B]=C},get:function(B){if(this._object[B]!==Object.prototype[B]){return this._object[B]}},unset:function(B){var C=this._object[B];delete this._object[B];return C},toObject:function(){return Object.clone(this._object)},keys:function(){return this.pluck("key")},values:function(){return this.pluck("value")},index:function(C){var B=this.detect(function(D){return D.value===C});return B&&B.key},merge:function(B){return this.clone().update(B)},update:function(B){return new Hash(B).inject(this,function(C,D){C.set(D.key,D.value);return C})},toQueryString:function(){return this.inject([],function(D,E){var C=encodeURIComponent(E.key),B=E.value;if(B&&typeof B=="object"){if(Object.isArray(B)){return D.concat(B.map(A.curry(C)))}}else{D.push(A(C,B))}return D}).join("&")},inspect:function(){return"#<Hash:{"+this.map(function(B){return B.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(C,A,B){this.start=C;this.end=A;this.exclusive=B},_each:function(A){var B=this.start;while(this.include(B)){A(B);B=B.succ()}},include:function(A){if(A<this.start){return false}if(this.exclusive){return A<this.end}return A<=this.end}});var $R=function(C,A,B){return new ObjectRange(C,A,B)};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(A){this.responders._each(A)},register:function(A){if(!this.include(A)){this.responders.push(A)}},unregister:function(A){this.responders=this.responders.without(A)},dispatch:function(D,B,C,A){this.each(function(E){if(Object.isFunction(E[D])){try{E[D].apply(E,[B,C,A])}catch(F){}}})}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(A){this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",encoding:"UTF-8",parameters:"",evalJSON:true,evalJS:true};Object.extend(this.options,A||{});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,B,A){$super(A);this.transport=Ajax.getTransport();this.request(B)},request:function(B){this.url=B;this.method=this.options.method;var D=Object.clone(this.options.parameters);if(!["get","post"].include(this.method)){D._method=this.method;this.method="post"}this.parameters=D;if(D=Object.toQueryString(D)){if(this.method=="get"){this.url+=(this.url.include("?")?"&":"?")+D}else{if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){D+="&_="}}}try{var A=new Ajax.Response(this);if(this.options.onCreate){this.options.onCreate(A)}Ajax.Responders.dispatch("onCreate",this,A);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||D):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType){this.onStateChange()}}catch(C){this.dispatchException(C)}},onStateChange:function(){var A=this.transport.readyState;if(A>1&&!((A==4)&&this._complete)){this.respondToReadyState(this.transport.readyState)}},setRequestHeaders:function(){var E={"X-Requested-With":"XMLHttpRequest","X-Prototype-Version":Prototype.Version,Accept:"text/javascript, text/html, application/xml, text/xml, */*"};if(this.method=="post"){E["Content-type"]=this.options.contentType+(this.options.encoding?"; charset="+this.options.encoding:"");if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005){E.Connection="close"}}if(typeof this.options.requestHeaders=="object"){var C=this.options.requestHeaders;if(Object.isFunction(C.push)){for(var B=0,D=C.length;B<D;B+=2){E[C[B]]=C[B+1]}}else{$H(C).each(function(F){E[F.key]=F.value})}}for(var A in E){this.transport.setRequestHeader(A,E[A])}},success:function(){var A=this.getStatus();return !A||(A>=200&&A<300)},getStatus:function(){try{return this.transport.status||0}catch(A){return 0}},respondToReadyState:function(A){var C=Ajax.Request.Events[A],B=new Ajax.Response(this);if(C=="Complete"){try{this._complete=true;(this.options["on"+B.status]||this.options["on"+(this.success()?"Success":"Failure")]||Prototype.emptyFunction)(B,B.headerJSON)}catch(D){this.dispatchException(D)}var E=B.getHeader("Content-type");if(this.options.evalJS=="force"||(this.options.evalJS&&this.isSameOrigin()&&E&&E.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))){this.evalResponse()}}try{(this.options["on"+C]||Prototype.emptyFunction)(B,B.headerJSON);Ajax.Responders.dispatch("on"+C,this,B,B.headerJSON)}catch(D){this.dispatchException(D)}if(C=="Complete"){this.transport.onreadystatechange=Prototype.emptyFunction}},isSameOrigin:function(){var A=this.url.match(/^\s*https?:\/\/[^\/]*/);return !A||(A[0]=="#{protocol}//#{domain}#{port}".interpolate({protocol:location.protocol,domain:document.domain,port:location.port?":"+location.port:""}))},getHeader:function(A){try{return this.transport.getResponseHeader(A)||null}catch(B){return null}},evalResponse:function(){try{return eval((this.transport.responseText||"").unfilterJSON())}catch(e){this.dispatchException(e)}},dispatchException:function(A){(this.options.onException||Prototype.emptyFunction)(this,A);Ajax.Responders.dispatch("onException",this,A)}});Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];Ajax.Response=Class.create({initialize:function(C){this.request=C;var D=this.transport=C.transport,A=this.readyState=D.readyState;if((A>2&&!Prototype.Browser.IE)||A==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(D.responseText);this.headerJSON=this._getHeaderJSON()}if(A==4){var B=D.responseXML;this.responseXML=Object.isUndefined(B)?null:B;this.responseJSON=this._getResponseJSON()}},status:0,statusText:"",getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||""}catch(A){return""}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders()}catch(A){return null}},getResponseHeader:function(A){return this.transport.getResponseHeader(A)},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders()},_getHeaderJSON:function(){var A=this.getHeader("X-JSON");if(!A){return null}A=decodeURIComponent(escape(A));try{return A.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin())}catch(B){this.request.dispatchException(B)}},_getResponseJSON:function(){var A=this.request.options;if(!A.evalJSON||(A.evalJSON!="force"&&!(this.getHeader("Content-type")||"").include("application/json"))||this.responseText.blank()){return null}try{return this.responseText.evalJSON(A.sanitizeJSON||!this.request.isSameOrigin())}catch(B){this.request.dispatchException(B)}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,A,C,B){this.container={success:(A.success||A),failure:(A.failure||(A.success?null:A))};B=Object.clone(B);var D=B.onComplete;B.onComplete=(function(E,F){this.updateContent(E.responseText);if(Object.isFunction(D)){D(E,F)}}).bind(this);$super(C,B)},updateContent:function(D){var C=this.container[this.success()?"success":"failure"],A=this.options;if(!A.evalScripts){D=D.stripScripts()}if(C=$(C)){if(A.insertion){if(Object.isString(A.insertion)){var B={};B[A.insertion]=D;C.insert(B)}else{A.insertion(C,D)}}else{C.update(D)}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,A,C,B){$super(B);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=A;this.url=C;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(A){if(this.options.decay){this.decay=(A.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=A.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 $(B){if(arguments.length>1){for(var A=0,D=[],C=arguments.length;A<C;A++){D.push($(arguments[A]))}return D}if(Object.isString(B)){B=document.getElementById(B)}return Element.extend(B)}if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(F,A){var C=[];var E=document.evaluate(F,$(A)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var B=0,D=E.snapshotLength;B<D;B++){C.push(Element.extend(E.snapshotItem(B)))}return C}}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 A=this.Element;this.Element=function(D,C){C=C||{};D=D.toLowerCase();var B=Element.cache;if(Prototype.Browser.IE&&C.name){D="<"+D+' name="'+C.name+'">';delete C.name;return Element.writeAttribute(document.createElement(D),C)}if(!B[D]){B[D]=Element.extend(document.createElement(D))}return Element.writeAttribute(B[D].cloneNode(false),C)};Object.extend(this.Element,A||{});if(A){this.Element.prototype=A.prototype}}).call(window);Element.cache={};Element.Methods={visible:function(A){return $(A).style.display!="none"},toggle:function(A){A=$(A);Element[Element.visible(A)?"hide":"show"](A);return A},hide:function(A){A=$(A);A.style.display="none";return A},show:function(A){A=$(A);A.style.display="";return A},remove:function(A){A=$(A);A.parentNode.removeChild(A);return A},update:function(A,B){A=$(A);if(B&&B.toElement){B=B.toElement()}if(Object.isElement(B)){return A.update().insert(B)}B=Object.toHTML(B);A.innerHTML=B.stripScripts();B.evalScripts.bind(B).defer();return A},replace:function(B,C){B=$(B);if(C&&C.toElement){C=C.toElement()}else{if(!Object.isElement(C)){C=Object.toHTML(C);var A=B.ownerDocument.createRange();A.selectNode(B);C.evalScripts.bind(C).defer();C=A.createContextualFragment(C.stripScripts())}}B.parentNode.replaceChild(C,B);return B},insert:function(C,E){C=$(C);if(Object.isString(E)||Object.isNumber(E)||Object.isElement(E)||(E&&(E.toElement||E.toHTML))){E={bottom:E}}var D,F,B,G;for(var A in E){D=E[A];A=A.toLowerCase();F=Element._insertionTranslations[A];if(D&&D.toElement){D=D.toElement()}if(Object.isElement(D)){F(C,D);continue}D=Object.toHTML(D);B=((A=="before"||A=="after")?C.parentNode:C).tagName.toUpperCase();G=Element._getContentFromAnonymousElement(B,D.stripScripts());if(A=="top"||A=="after"){G.reverse()}G.each(F.curry(C));D.evalScripts.bind(D).defer()}return C},wrap:function(B,C,A){B=$(B);if(Object.isElement(C)){$(C).writeAttribute(A||{})}else{if(Object.isString(C)){C=new Element(C,A)}else{C=new Element("div",C)}}if(B.parentNode){B.parentNode.replaceChild(C,B)}C.appendChild(B);return C},inspect:function(B){B=$(B);var A="<"+B.tagName.toLowerCase();$H({id:"id",className:"class"}).each(function(F){var E=F.first(),C=F.last();var D=(B[E]||"").toString();if(D){A+=" "+C+"="+D.inspect(true)}});return A+">"},recursivelyCollect:function(A,C){A=$(A);var B=[];while(A=A[C]){if(A.nodeType==1){B.push(Element.extend(A))}}return B},ancestors:function(A){return $(A).recursivelyCollect("parentNode")},descendants:function(A){return $(A).select("*")},firstDescendant:function(A){A=$(A).firstChild;while(A&&A.nodeType!=1){A=A.nextSibling}return $(A)},immediateDescendants:function(A){if(!(A=$(A).firstChild)){return[]}while(A&&A.nodeType!=1){A=A.nextSibling}if(A){return[A].concat($(A).nextSiblings())}return[]},previousSiblings:function(A){return $(A).recursivelyCollect("previousSibling")},nextSiblings:function(A){return $(A).recursivelyCollect("nextSibling")},siblings:function(A){A=$(A);return A.previousSiblings().reverse().concat(A.nextSiblings())},match:function(B,A){if(Object.isString(A)){A=new Selector(A)}return A.match($(B))},up:function(B,D,A){B=$(B);if(arguments.length==1){return $(B.parentNode)}var C=B.ancestors();return Object.isNumber(D)?C[D]:Selector.findElement(C,D,A)},down:function(B,C,A){B=$(B);if(arguments.length==1){return B.firstDescendant()}return Object.isNumber(C)?B.descendants()[C]:Element.select(B,C)[A||0]},previous:function(B,D,A){B=$(B);if(arguments.length==1){return $(Selector.handlers.previousElementSibling(B))}var C=B.previousSiblings();return Object.isNumber(D)?C[D]:Selector.findElement(C,D,A)},next:function(C,D,B){C=$(C);if(arguments.length==1){return $(Selector.handlers.nextElementSibling(C))}var A=C.nextSiblings();return Object.isNumber(D)?A[D]:Selector.findElement(A,D,B)},select:function(){var A=$A(arguments),B=$(A.shift());return Selector.findChildElements(B,A)},adjacent:function(){var A=$A(arguments),B=$(A.shift());return Selector.findChildElements(B.parentNode,A).without(B)},identify:function(B){B=$(B);var C=B.readAttribute("id"),A=arguments.callee;if(C){return C}do{C="anonymous_element_"+A.counter++}while($(C));B.writeAttribute("id",C);return C},readAttribute:function(C,A){C=$(C);if(Prototype.Browser.IE){var B=Element._attributeTranslations.read;if(B.values[A]){return B.values[A](C,A)}if(B.names[A]){A=B.names[A]}if(A.include(":")){return(!C.attributes||!C.attributes[A])?null:C.attributes[A].value}}return C.getAttribute(A)},writeAttribute:function(E,C,F){E=$(E);var B={},D=Element._attributeTranslations.write;if(typeof C=="object"){B=C}else{B[C]=Object.isUndefined(F)?true:F}for(var A in B){C=D.names[A]||A;F=B[A];if(D.values[A]){C=D.values[A](E,F)}if(F===false||F===null){E.removeAttribute(C)}else{if(F===true){E.setAttribute(C,C)}else{E.setAttribute(C,F)}}}return E},getHeight:function(A){return $(A).getDimensions().height},getWidth:function(A){return $(A).getDimensions().width},classNames:function(A){return new Element.ClassNames(A)},hasClassName:function(A,B){if(!(A=$(A))){return }var C=A.className;return(C.length>0&&(C==B||new RegExp("(^|\\s)"+B+"(\\s|$)").test(C)))},addClassName:function(A,B){if(!(A=$(A))){return }if(!A.hasClassName(B)){A.className+=(A.className?" ":"")+B}return A},removeClassName:function(A,B){if(!(A=$(A))){return }A.className=A.className.replace(new RegExp("(^|\\s+)"+B+"(\\s+|$)")," ").strip();return A},toggleClassName:function(A,B){if(!(A=$(A))){return }return A[A.hasClassName(B)?"removeClassName":"addClassName"](B)},cleanWhitespace:function(B){B=$(B);var C=B.firstChild;while(C){var A=C.nextSibling;if(C.nodeType==3&&!/\S/.test(C.nodeValue)){B.removeChild(C)}C=A}return B},empty:function(A){return $(A).innerHTML.blank()},descendantOf:function(B,A){B=$(B),A=$(A);if(B.compareDocumentPosition){return(B.compareDocumentPosition(A)&8)===8}if(A.contains){return A.contains(B)&&A!==B}while(B=B.parentNode){if(B==A){return true}}return false},scrollTo:function(A){A=$(A);var B=A.cumulativeOffset();window.scrollTo(B[0],B[1]);return A},getStyle:function(B,C){B=$(B);C=C=="float"?"cssFloat":C.camelize();var D=B.style[C];if(!D||D=="auto"){var A=document.defaultView.getComputedStyle(B,null);D=A?A[C]:null}if(C=="opacity"){return D?parseFloat(D):1}return D=="auto"?null:D},getOpacity:function(A){return $(A).getStyle("opacity")},setStyle:function(B,C){B=$(B);var E=B.style,A;if(Object.isString(C)){B.style.cssText+=";"+C;return C.include("opacity")?B.setOpacity(C.match(/opacity:\s*(\d?\.?\d*)/)[1]):B}for(var D in C){if(D=="opacity"){B.setOpacity(C[D])}else{E[(D=="float"||D=="cssFloat")?(Object.isUndefined(E.styleFloat)?"cssFloat":"styleFloat"):D]=C[D]}}return B},setOpacity:function(A,B){A=$(A);A.style.opacity=(B==1||B==="")?"":(B<0.00001)?0:B;return A},getDimensions:function(C){C=$(C);var G=C.getStyle("display");if(G!="none"&&G!=null){return{width:C.offsetWidth,height:C.offsetHeight}}var B=C.style;var F=B.visibility;var D=B.position;var A=B.display;B.visibility="hidden";B.position="absolute";B.display="block";var H=C.clientWidth;var E=C.clientHeight;B.display=A;B.position=D;B.visibility=F;return{width:H,height:E}},makePositioned:function(A){A=$(A);var B=Element.getStyle(A,"position");if(B=="static"||!B){A._madePositioned=true;A.style.position="relative";if(Prototype.Browser.Opera){A.style.top=0;A.style.left=0}}return A},undoPositioned:function(A){A=$(A);if(A._madePositioned){A._madePositioned=undefined;A.style.position=A.style.top=A.style.left=A.style.bottom=A.style.right=""}return A},makeClipping:function(A){A=$(A);if(A._overflow){return A}A._overflow=Element.getStyle(A,"overflow")||"auto";if(A._overflow!=="hidden"){A.style.overflow="hidden"}return A},undoClipping:function(A){A=$(A);if(!A._overflow){return A}A.style.overflow=A._overflow=="auto"?"":A._overflow;A._overflow=null;return A},cumulativeOffset:function(B){var A=0,C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;B=B.offsetParent}while(B);return Element._returnOffset(C,A)},positionedOffset:function(B){var A=0,D=0;do{A+=B.offsetTop||0;D+=B.offsetLeft||0;B=B.offsetParent;if(B){if(B.tagName.toUpperCase()=="BODY"){break}var C=Element.getStyle(B,"position");if(C!=="static"){break}}}while(B);return Element._returnOffset(D,A)},absolutize:function(B){B=$(B);if(B.getStyle("position")=="absolute"){return B}var D=B.positionedOffset();var F=D[1];var E=D[0];var C=B.clientWidth;var A=B.clientHeight;B._originalLeft=E-parseFloat(B.style.left||0);B._originalTop=F-parseFloat(B.style.top||0);B._originalWidth=B.style.width;B._originalHeight=B.style.height;B.style.position="absolute";B.style.top=F+"px";B.style.left=E+"px";B.style.width=C+"px";B.style.height=A+"px";return B},relativize:function(A){A=$(A);if(A.getStyle("position")=="relative"){return A}A.style.position="relative";var C=parseFloat(A.style.top||0)-(A._originalTop||0);var B=parseFloat(A.style.left||0)-(A._originalLeft||0);A.style.top=C+"px";A.style.left=B+"px";A.style.height=A._originalHeight;A.style.width=A._originalWidth;return A},cumulativeScrollOffset:function(B){var A=0,C=0;do{A+=B.scrollTop||0;C+=B.scrollLeft||0;B=B.parentNode}while(B);return Element._returnOffset(C,A)},getOffsetParent:function(A){if(A.offsetParent){return $(A.offsetParent)}if(A==document.body){return $(A)}while((A=A.parentNode)&&A!=document.body){if(Element.getStyle(A,"position")!="static"){return $(A)}}return $(document.body)},viewportOffset:function(D){var A=0,C=0;var B=D;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body&&Element.getStyle(B,"position")=="absolute"){break}}while(B=B.offsetParent);B=D;do{if(!Prototype.Browser.Opera||(B.tagName&&(B.tagName.toUpperCase()=="BODY"))){A-=B.scrollTop||0;C-=B.scrollLeft||0}}while(B=B.parentNode);return Element._returnOffset(C,A)},clonePosition:function(B,D){var A=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});D=$(D);var E=D.viewportOffset();B=$(B);var F=[0,0];var C=null;if(Element.getStyle(B,"position")=="absolute"){C=B.getOffsetParent();F=C.viewportOffset()}if(C==document.body){F[0]-=document.body.offsetLeft;F[1]-=document.body.offsetTop}if(A.setLeft){B.style.left=(E[0]-F[0]+A.offsetLeft)+"px"}if(A.setTop){B.style.top=(E[1]-F[1]+A.offsetTop)+"px"}if(A.setWidth){B.style.width=D.offsetWidth+"px"}if(A.setHeight){B.style.height=D.offsetHeight+"px"}return B}};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(D,B,C){switch(C){case"left":case"top":case"right":case"bottom":if(D(B,"position")==="static"){return null}case"height":case"width":if(!Element.visible(B)){return null}var E=parseInt(D(B,C),10);if(E!==B["offset"+C.capitalize()]){return E+"px"}var A;if(C==="height"){A=["border-top-width","padding-top","padding-bottom","border-bottom-width"]}else{A=["border-left-width","padding-left","padding-right","border-right-width"]}return A.inject(E,function(F,G){var H=D(B,G);return H===null?F:F-parseInt(H,10)})+"px";default:return D(B,C)}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(C,A,B){if(B==="title"){return A.title}return C(A,B)})}else{if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(C,B){B=$(B);try{B.offsetParent}catch(E){return $(document.body)}var A=B.getStyle("position");if(A!=="static"){return C(B)}B.setStyle({position:"relative"});var D=C(B);B.setStyle({position:A});return D});$w("positionedOffset viewportOffset").each(function(A){Element.Methods[A]=Element.Methods[A].wrap(function(E,C){C=$(C);try{C.offsetParent}catch(G){return Element._returnOffset(0,0)}var B=C.getStyle("position");if(B!=="static"){return E(C)}var D=C.getOffsetParent();if(D&&D.getStyle("position")==="fixed"){D.setStyle({zoom:1})}C.setStyle({position:"relative"});var F=E(C);C.setStyle({position:B});return F})});Element.Methods.cumulativeOffset=Element.Methods.cumulativeOffset.wrap(function(B,A){try{A.offsetParent}catch(C){return Element._returnOffset(0,0)}return B(A)});Element.Methods.getStyle=function(A,B){A=$(A);B=(B=="float"||B=="cssFloat")?"styleFloat":B.camelize();var C=A.style[B];if(!C&&A.currentStyle){C=A.currentStyle[B]}if(B=="opacity"){if(C=(A.getStyle("filter")||"").match(/alpha\(opacity=(.*)\)/)){if(C[1]){return parseFloat(C[1])/100}}return 1}if(C=="auto"){if((B=="width"||B=="height")&&(A.getStyle("display")!="none")){return A["offset"+B.capitalize()]+"px"}return null}return C};Element.Methods.setOpacity=function(B,E){function F(G){return G.replace(/alpha\([^\)]*\)/gi,"")}B=$(B);var A=B.currentStyle;if((A&&!A.hasLayout)||(!A&&B.style.zoom=="normal")){B.style.zoom=1}var D=B.getStyle("filter"),C=B.style;if(E==1||E===""){(D=F(D))?C.filter=D:C.removeAttribute("filter");return B}else{if(E<0.00001){E=0}}C.filter=F(D)+"alpha(opacity="+(E*100)+")";return B};Element._attributeTranslations={read:{names:{"class":"className","for":"htmlFor"},values:{_getAttr:function(A,B){return A.getAttribute(B,2)},_getAttrNode:function(A,C){var B=A.getAttributeNode(C);return B?B.value:""},_getEv:function(A,B){B=A.getAttribute(B);return B?B.toString().slice(23,-2):null},_flag:function(A,B){return $(A).hasAttribute(B)?B:null},style:function(A){return A.style.cssText.toLowerCase()},title:function(A){return A.title}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:"cellPadding",cellspacing:"cellSpacing"},Element._attributeTranslations.read.names),values:{checked:function(A,B){A.checked=!!B},style:function(A,B){A.style.cssText=B?B:""}}};Element._attributeTranslations.has={};$w("colSpan rowSpan vAlign dateTime accessKey tabIndex encType maxLength readOnly longDesc frameBorder").each(function(A){Element._attributeTranslations.write.names[A.toLowerCase()]=A;Element._attributeTranslations.has[A.toLowerCase()]=A});(function(A){Object.extend(A,{href:A._getAttr,src:A._getAttr,type:A._getAttr,action:A._getAttrNode,disabled:A._flag,checked:A._flag,readonly:A._flag,multiple:A._flag,onload:A._getEv,onunload:A._getEv,onclick:A._getEv,ondblclick:A._getEv,onmousedown:A._getEv,onmouseup:A._getEv,onmouseover:A._getEv,onmousemove:A._getEv,onmouseout:A._getEv,onfocus:A._getEv,onblur:A._getEv,onkeypress:A._getEv,onkeydown:A._getEv,onkeyup:A._getEv,onsubmit:A._getEv,onreset:A._getEv,onselect:A._getEv,onchange:A._getEv})})(Element._attributeTranslations.read.values)}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(A,B){A=$(A);A.style.opacity=(B==1)?0.999999:(B==="")?"":(B<0.00001)?0:B;return A}}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(A,B){A=$(A);A.style.opacity=(B==1||B==="")?"":(B<0.00001)?0:B;if(B==1){if(A.tagName.toUpperCase()=="IMG"&&A.width){A.width++;A.width--}else{try{var D=document.createTextNode(" ");A.appendChild(D);A.removeChild(D)}catch(C){}}}return A};Element.Methods.cumulativeOffset=function(B){var A=0,C=0;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body){if(Element.getStyle(B,"position")=="absolute"){break}}B=B.offsetParent}while(B);return Element._returnOffset(C,A)}}}}}if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(B,C){B=$(B);if(C&&C.toElement){C=C.toElement()}if(Object.isElement(C)){return B.update().insert(C)}C=Object.toHTML(C);var A=B.tagName.toUpperCase();if(A in Element._insertionTranslations.tags){$A(B.childNodes).each(function(D){B.removeChild(D)});Element._getContentFromAnonymousElement(A,C.stripScripts()).each(function(D){B.appendChild(D)})}else{B.innerHTML=C.stripScripts()}C.evalScripts.bind(C).defer();return B}}if("outerHTML" in document.createElement("div")){Element.Methods.replace=function(C,E){C=$(C);if(E&&E.toElement){E=E.toElement()}if(Object.isElement(E)){C.parentNode.replaceChild(E,C);return C}E=Object.toHTML(E);var D=C.parentNode,B=D.tagName.toUpperCase();if(Element._insertionTranslations.tags[B]){var F=C.next();var A=Element._getContentFromAnonymousElement(B,E.stripScripts());D.removeChild(C);if(F){A.each(function(G){D.insertBefore(G,F)})}else{A.each(function(G){D.appendChild(G)})}}else{C.outerHTML=E.stripScripts()}E.evalScripts.bind(E).defer();return C}}Element._returnOffset=function(B,C){var A=[B,C];A.left=B;A.top=C;return A};Element._getContentFromAnonymousElement=function(C,B){var D=new Element("div"),A=Element._insertionTranslations.tags[C];if(A){D.innerHTML=A[0]+B+A[1];A[2].times(function(){D=D.firstChild})}else{D.innerHTML=B}return $A(D.childNodes)};Element._insertionTranslations={before:function(A,B){A.parentNode.insertBefore(B,A)},top:function(A,B){A.insertBefore(B,A.firstChild)},bottom:function(A,B){A.appendChild(B)},after:function(A,B){A.parentNode.insertBefore(B,A.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(A,C){C=Element._attributeTranslations.has[C]||C;var B=$(A).getAttributeNode(C);return !!(B&&B.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 A={},B=Element.Methods.ByTag;var C=Object.extend(function(F){if(!F||F._extendedByPrototype||F.nodeType!=1||F==window){return F}var D=Object.clone(A),E=F.tagName.toUpperCase(),H,G;if(B[E]){Object.extend(D,B[E])}for(H in D){G=D[H];if(Object.isFunction(G)&&!(H in F)){F[H]=G.methodize()}}F._extendedByPrototype=Prototype.emptyFunction;return F},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(A,Element.Methods);Object.extend(A,Element.Methods.Simulated)}}});C.refresh();return C})();Element.hasAttribute=function(A,B){if(A.hasAttribute){return A.hasAttribute(B)}return Element.Methods.Simulated.hasAttribute(A,B)};Element.addMethods=function(C){var I=Prototype.BrowserFeatures,D=Element.Methods.ByTag;if(!C){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 B=C;C=arguments[1]}if(!B){Object.extend(Element.Methods,C||{})}else{if(Object.isArray(B)){B.each(H)}else{H(B)}}function H(F){F=F.toUpperCase();if(!Element.Methods.ByTag[F]){Element.Methods.ByTag[F]={}}Object.extend(Element.Methods.ByTag[F],C)}function A(L,K,F){F=F||false;for(var N in L){var M=L[N];if(!Object.isFunction(M)){continue}if(!F||!(N in K)){K[N]=M.methodize()}}}function E(L){var F;var K={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(K[L]){F="HTML"+K[L]+"Element"}if(window[F]){return window[F]}F="HTML"+L+"Element";if(window[F]){return window[F]}F="HTML"+L.capitalize()+"Element";if(window[F]){return window[F]}window[F]={};window[F].prototype=document.createElement(L)["__proto__"];return window[F]}if(I.ElementExtensions){A(Element.Methods,HTMLElement.prototype);A(Element.Methods.Simulated,HTMLElement.prototype,true)}if(I.SpecificElementExtensions){for(var J in Element.Methods.ByTag){var G=E(J);if(Object.isUndefined(G)){continue}A(D[J],G.prototype)}}Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh){Element.extend.refresh()}Element.cache={}};document.viewport={getDimensions:function(){var A={},C=Prototype.Browser;$w("width height").each(function(E){var B=E.capitalize();if(C.WebKit&&!document.evaluate){A[E]=self["inner"+B]}else{if(C.Opera&&parseFloat(window.opera.version())<9.5){A[E]=document.body["client"+B]}else{A[E]=document.documentElement["client"+B]}}});return A},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(A){this.expression=A.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 A=this.expression;if(Prototype.Browser.WebKit&&(A.include("-of-type")||A.include(":empty"))){return false}if((/(\[[\w-]*?:|:checked)/).test(A)){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(A){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,F=Selector.patterns,B=Selector.xpath,D,A;if(Selector._cache[E]){this.xpath=Selector._cache[E];return }this.matcher=[".//*"];while(E&&D!=E&&(/\S/).test(E)){D=E;for(var C in F){if(A=E.match(F[C])){this.matcher.push(Object.isFunction(B[C])?B[C](A):new Template(B[C]).evaluate(A));E=E.replace(A[0],"");break}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath},findElements:function(A){A=A||document;var C=this.expression,B;switch(this.mode){case"selectorsAPI":if(A!==document){var D=A.id,E=$(A).identify();C="#"+E+" "+C}B=$A(A.querySelectorAll(C)).map(Element.extend);A.id=D;return B;case"xpath":return document._getElementsByXPath(this.xpath,A);default:return this.matcher(A)}},match:function(H){this.tokens=[];var L=this.expression,A=Selector.patterns,E=Selector.assertions;var B,D,F;while(L&&B!==L&&(/\S/).test(L)){B=L;for(var I in A){D=A[I];if(F=L.match(D)){if(E[I]){this.tokens.push([I,Object.clone(F)]);L=L.replace(F[0],"")}else{return this.findElements(document).include(H)}}}}var K=true,C,J;for(var I=0,G;G=this.tokens[I];I++){C=G[0],J=G[1];if(!Selector.assertions[C](H,J)){K=false;break}}return K},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(A){if(A[1]=="*"){return""}return"[local-name()='"+A[1].toLowerCase()+"' or local-name()='"+A[1].toUpperCase()+"']"},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(A){A[1]=A[1].toLowerCase();return new Template("[@#{1}]").evaluate(A)},attr:function(A){A[1]=A[1].toLowerCase();A[3]=A[5]||A[6];return new Template(Selector.xpath.operators[A[2]]).evaluate(A)},pseudo:function(A){var B=Selector.xpath.pseudos[A[1]];if(!B){return""}if(Object.isFunction(B)){return B(A)}return new Template(Selector.xpath.pseudos[A[1]]).evaluate(A)},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(B){var H=B[6],G=Selector.patterns,A=Selector.xpath,E,C;var F=[];while(H&&E!=H&&(/\S/).test(H)){E=H;for(var D in G){if(B=H.match(G[D])){C=Object.isFunction(A[D])?A[D](B):new Template(A[D]).evaluate(B);F.push("("+C.substring(1,C.length-1)+")");H=H.replace(B[0],"");break}}}return"[not("+F.join(" and ")+")]"},"nth-child":function(A){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",A)},"nth-last-child":function(A){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",A)},"nth-of-type":function(A){return Selector.xpath.pseudos.nth("position() ",A)},"nth-last-of-type":function(A){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",A)},"first-of-type":function(A){A[6]="1";return Selector.xpath.pseudos["nth-of-type"](A)},"last-of-type":function(A){A[6]="1";return Selector.xpath.pseudos["nth-last-of-type"](A)},"only-of-type":function(A){var B=Selector.xpath.pseudos;return B["first-of-type"](A)+B["last-of-type"](A)},nth:function(E,C){var F,G=C[6],B;if(G=="even"){G="2n+0"}if(G=="odd"){G="2n+1"}if(F=G.match(/^(\d+)$/)){return"["+E+"= "+F[1]+"]"}if(F=G.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(F[1]=="-"){F[1]=-1}var D=F[1]?Number(F[1]):1;var A=F[2]?Number(F[2]):0;B="[((#{fragment} - #{b}) mod #{a} = 0) and ((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(B).evaluate({fragment:E,a:D,b:A})}}}},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(A){A[3]=(A[5]||A[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(A)},pseudo:function(A){if(A[6]){A[6]=A[6].replace(/"/g,'\\"')}return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(A)},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(A,B){return B[1].toUpperCase()==A.tagName.toUpperCase()},className:function(A,B){return Element.hasClassName(A,B[1])},id:function(A,B){return A.id===B[1]},attrPresence:function(A,B){return Element.hasAttribute(A,B[1])},attr:function(B,C){var A=Element.readAttribute(B,C[1]);return A&&Selector.operators[C[2]](A,C[5]||C[6])}},handlers:{concat:function(B,A){for(var C=0,D;D=A[C];C++){B.push(D)}return B},mark:function(A){var D=Prototype.emptyFunction;for(var B=0,C;C=A[B];B++){C._countedByPrototype=D}return A},unmark:function(A){for(var B=0,C;C=A[B];B++){C._countedByPrototype=undefined}return A},index:function(A,D,G){A._countedByPrototype=Prototype.emptyFunction;if(D){for(var B=A.childNodes,E=B.length-1,C=1;E>=0;E--){var F=B[E];if(F.nodeType==1&&(!G||F._countedByPrototype)){F.nodeIndex=C++}}}else{for(var E=0,C=1,B=A.childNodes;F=B[E];E++){if(F.nodeType==1&&(!G||F._countedByPrototype)){F.nodeIndex=C++}}}},unique:function(B){if(B.length==0){return B}var D=[],E;for(var C=0,A=B.length;C<A;C++){if(!(E=B[C])._countedByPrototype){E._countedByPrototype=Prototype.emptyFunction;D.push(Element.extend(E))}}return Selector.handlers.unmark(D)},descendant:function(A){var D=Selector.handlers;for(var C=0,B=[],E;E=A[C];C++){D.concat(B,E.getElementsByTagName("*"))}return B},child:function(A){var E=Selector.handlers;for(var D=0,C=[],F;F=A[D];D++){for(var B=0,G;G=F.childNodes[B];B++){if(G.nodeType==1&&G.tagName!="!"){C.push(G)}}}return C},adjacent:function(A){for(var C=0,B=[],E;E=A[C];C++){var D=this.nextElementSibling(E);if(D){B.push(D)}}return B},laterSibling:function(A){var D=Selector.handlers;for(var C=0,B=[],E;E=A[C];C++){D.concat(B,Element.nextSiblings(E))}return B},nextElementSibling:function(A){while(A=A.nextSibling){if(A.nodeType==1){return A}}return null},previousElementSibling:function(A){while(A=A.previousSibling){if(A.nodeType==1){return A}}return null},tagName:function(A,H,C,B){var I=C.toUpperCase();var E=[],G=Selector.handlers;if(A){if(B){if(B=="descendant"){for(var F=0,D;D=A[F];F++){G.concat(E,D.getElementsByTagName(C))}return E}else{A=this[B](A)}if(C=="*"){return A}}for(var F=0,D;D=A[F];F++){if(D.tagName.toUpperCase()===I){E.push(D)}}return E}else{return H.getElementsByTagName(C)}},id:function(B,A,H,F){var G=$(H),D=Selector.handlers;if(!G){return[]}if(!B&&A==document){return[G]}if(B){if(F){if(F=="child"){for(var C=0,E;E=B[C];C++){if(G.parentNode==E){return[G]}}}else{if(F=="descendant"){for(var C=0,E;E=B[C];C++){if(Element.descendantOf(G,E)){return[G]}}}else{if(F=="adjacent"){for(var C=0,E;E=B[C];C++){if(Selector.handlers.previousElementSibling(G)==E){return[G]}}}else{B=D[F](B)}}}}for(var C=0,E;E=B[C];C++){if(E==G){return[G]}}return[]}return(G&&Element.descendantOf(G,A))?[G]:[]},className:function(B,A,C,D){if(B&&D){B=this[D](B)}return Selector.handlers.byClassName(B,A,C)},byClassName:function(C,B,F){if(!C){C=Selector.handlers.descendant([B])}var H=" "+F+" ";for(var E=0,D=[],G,A;G=C[E];E++){A=G.className;if(A.length==0){continue}if(A==F||(" "+A+" ").include(H)){D.push(G)}}return D},attrPresence:function(C,B,A,G){if(!C){C=B.getElementsByTagName("*")}if(C&&G){C=this[G](C)}var E=[];for(var D=0,F;F=C[D];D++){if(Element.hasAttribute(F,A)){E.push(F)}}return E},attr:function(A,I,H,J,C,B){if(!A){A=I.getElementsByTagName("*")}if(A&&B){A=this[B](A)}var K=Selector.operators[C],F=[];for(var E=0,D;D=A[E];E++){var G=Element.readAttribute(D,H);if(G===null){continue}if(K(G,J)){F.push(D)}}return F},pseudo:function(B,C,E,A,D){if(B&&D){B=this[D](B)}if(!B){B=A.getElementsByTagName("*")}return Selector.pseudos[C](B,E,A)}},pseudos:{"first-child":function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(Selector.handlers.previousElementSibling(E)){continue}C.push(E)}return C},"last-child":function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(Selector.handlers.nextElementSibling(E)){continue}C.push(E)}return C},"only-child":function(B,G,A){var E=Selector.handlers;for(var D=0,C=[],F;F=B[D];D++){if(!E.previousElementSibling(F)&&!E.nextElementSibling(F)){C.push(F)}}return C},"nth-child":function(B,C,A){return Selector.pseudos.nth(B,C,A)},"nth-last-child":function(B,C,A){return Selector.pseudos.nth(B,C,A,true)},"nth-of-type":function(B,C,A){return Selector.pseudos.nth(B,C,A,false,true)},"nth-last-of-type":function(B,C,A){return Selector.pseudos.nth(B,C,A,true,true)},"first-of-type":function(B,C,A){return Selector.pseudos.nth(B,"1",A,false,true)},"last-of-type":function(B,C,A){return Selector.pseudos.nth(B,"1",A,true,true)},"only-of-type":function(B,D,A){var C=Selector.pseudos;return C["last-of-type"](C["first-of-type"](B,D,A),D,A)},getIndices:function(B,A,C){if(B==0){return A>0?[A]:[]}return $R(1,C).inject([],function(D,E){if(0==(E-A)%B&&(E-A)/B>=0){D.push(E)}return D})},nth:function(A,L,N,K,C){if(A.length==0){return[]}if(L=="even"){L="2n+0"}if(L=="odd"){L="2n+1"}var J=Selector.handlers,I=[],B=[],E;J.mark(A);for(var H=0,D;D=A[H];H++){if(!D.parentNode._countedByPrototype){J.index(D.parentNode,K,C);B.push(D.parentNode)}}if(L.match(/^\d+$/)){L=Number(L);for(var H=0,D;D=A[H];H++){if(D.nodeIndex==L){I.push(D)}}}else{if(E=L.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(E[1]=="-"){E[1]=-1}var O=E[1]?Number(E[1]):1;var M=E[2]?Number(E[2]):0;var P=Selector.pseudos.getIndices(O,M,A.length);for(var H=0,D,F=P.length;D=A[H];H++){for(var G=0;G<F;G++){if(D.nodeIndex==P[G]){I.push(D)}}}}}J.unmark(A);J.unmark(B);return I},empty:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(E.tagName=="!"||E.firstChild){continue}C.push(E)}return C},not:function(A,D,I){var G=Selector.handlers,J,C;var H=new Selector(D).findElements(I);G.mark(H);for(var F=0,E=[],B;B=A[F];F++){if(!B._countedByPrototype){E.push(B)}}G.unmark(H);return E},enabled:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(!E.disabled&&(!E.type||E.type!=="hidden")){C.push(E)}}return C},disabled:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(E.disabled){C.push(E)}}return C},checked:function(B,F,A){for(var D=0,C=[],E;E=B[D];D++){if(E.checked){C.push(E)}}return C}},operators:{"=":function(B,A){return B==A},"!=":function(B,A){return B!=A},"^=":function(B,A){return B==A||B&&B.startsWith(A)},"$=":function(B,A){return B==A||B&&B.endsWith(A)},"*=":function(B,A){return B==A||B&&B.include(A)},"$=":function(B,A){return B.endsWith(A)},"*=":function(B,A){return B.include(A)},"~=":function(B,A){return(" "+B+" ").include(" "+A+" ")},"|=":function(B,A){return("-"+(B||"").toUpperCase()+"-").include("-"+(A||"").toUpperCase()+"-")}},split:function(B){var A=[];B.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(C){A.push(C[1].strip())});return A},matchElements:function(F,G){var E=$$(G),D=Selector.handlers;D.mark(E);for(var C=0,B=[],A;A=F[C];C++){if(A._countedByPrototype){B.push(A)}}D.unmark(E);return B},findElement:function(B,C,A){if(Object.isNumber(C)){A=C;C=false}return Selector.matchElements(B,C||"*")[A||0]},findChildElements:function(E,G){G=Selector.split(G.join(","));var D=[],F=Selector.handlers;for(var C=0,B=G.length,A;C<B;C++){A=new Selector(G[C].strip());F.concat(D,A.findElements(E))}return(B>1)?F.unique(D):D}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(B,A){for(var C=0,D;D=A[C];C++){if(D.tagName!=="!"){B.push(D)}}return B},unmark:function(A){for(var B=0,C;C=A[B];B++){C.removeAttribute("_countedByPrototype")}return A}})}function $$(){return Selector.findChildElements(document,$A(arguments))}var Form={reset:function(A){$(A).reset();return A},serializeElements:function(G,B){if(typeof B!="object"){B={hash:!!B}}else{if(Object.isUndefined(B.hash)){B.hash=true}}var C,F,A=false,E=B.submit;var D=G.inject({},function(H,I){if(!I.disabled&&I.name){C=I.name;F=$(I).getValue();if(F!=null&&I.type!="file"&&(I.type!="submit"||(!A&&E!==false&&(!E||C==E)&&(A=true)))){if(C in H){if(!Object.isArray(H[C])){H[C]=[H[C]]}H[C].push(F)}else{H[C]=F}}}return H});return B.hash?D:Object.toQueryString(D)}};Form.Methods={serialize:function(B,A){return Form.serializeElements(Form.getElements(B),A)},getElements:function(A){return $A($(A).getElementsByTagName("*")).inject([],function(B,C){if(Form.Element.Serializers[C.tagName.toLowerCase()]){B.push(Element.extend(C))}return B})},getInputs:function(G,C,D){G=$(G);var A=G.getElementsByTagName("input");if(!C&&!D){return $A(A).map(Element.extend)}for(var E=0,H=[],F=A.length;E<F;E++){var B=A[E];if((C&&B.type!=C)||(D&&B.name!=D)){continue}H.push(Element.extend(B))}return H},disable:function(A){A=$(A);Form.getElements(A).invoke("disable");return A},enable:function(A){A=$(A);Form.getElements(A).invoke("enable");return A},findFirstElement:function(B){var C=$(B).getElements().findAll(function(D){return"hidden"!=D.type&&!D.disabled});var A=C.findAll(function(D){return D.hasAttribute("tabIndex")&&D.tabIndex>=0}).sortBy(function(D){return D.tabIndex}).first();return A?A:C.find(function(D){return["input","select","textarea"].include(D.tagName.toLowerCase())})},focusFirstElement:function(A){A=$(A);A.findFirstElement().activate();return A},request:function(B,A){B=$(B),A=Object.clone(A||{});var D=A.parameters,C=B.readAttribute("action")||"";if(C.blank()){C=window.location.href}A.parameters=B.serialize(true);if(D){if(Object.isString(D)){D=D.toQueryParams()}Object.extend(A.parameters,D)}if(B.hasAttribute("method")&&!A.method){A.method=B.method}return new Ajax.Request(C,A)}};Form.Element={focus:function(A){$(A).focus();return A},select:function(A){$(A).select();return A}};Form.Element.Methods={serialize:function(A){A=$(A);if(!A.disabled&&A.name){var B=A.getValue();if(B!=undefined){var C={};C[A.name]=B;return Object.toQueryString(C)}}return""},getValue:function(A){A=$(A);var B=A.tagName.toLowerCase();return Form.Element.Serializers[B](A)},setValue:function(A,B){A=$(A);var C=A.tagName.toLowerCase();Form.Element.Serializers[C](A,B);return A},clear:function(A){$(A).value="";return A},present:function(A){return $(A).value!=""},activate:function(A){A=$(A);try{A.focus();if(A.select&&(A.tagName.toLowerCase()!="input"||!["button","reset","submit"].include(A.type))){A.select()}}catch(B){}return A},disable:function(A){A=$(A);A.disabled=true;return A},enable:function(A){A=$(A);A.disabled=false;return A}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(A,B){switch(A.type.toLowerCase()){case"checkbox":case"radio":return Form.Element.Serializers.inputSelector(A,B);default:return Form.Element.Serializers.textarea(A,B)}},inputSelector:function(A,B){if(Object.isUndefined(B)){return A.checked?A.value:null}else{A.checked=!!B}},textarea:function(A,B){if(Object.isUndefined(B)){return A.value}else{A.value=B}},select:function(C,F){if(Object.isUndefined(F)){return this[C.type=="select-one"?"selectOne":"selectMany"](C)}else{var B,D,G=!Object.isArray(F);for(var A=0,E=C.length;A<E;A++){B=C.options[A];D=this.optionValue(B);if(G){if(D==F){B.selected=true;return }}else{B.selected=F.include(D)}}}},selectOne:function(B){var A=B.selectedIndex;return A>=0?this.optionValue(B.options[A]):null},selectMany:function(D){var A,E=D.length;if(!E){return null}for(var C=0,A=[];C<E;C++){var B=D.options[C];if(B.selected){A.push(this.optionValue(B))}}return A},optionValue:function(A){return Element.extend(A).hasAttribute("value")?A.value:A.text}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,A,B,C){$super(C,B);this.element=$(A);this.lastValue=this.getValue()},execute:function(){var A=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(A)?this.lastValue!=A:String(this.lastValue)!=String(A)){this.callback(this.element,A);this.lastValue=A}}});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(A,B){this.element=$(A);this.callback=B;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=="form"){this.registerFormCallbacks()}else{this.registerCallback(this.element)}},onElementEvent:function(){var A=this.getValue();if(this.lastValue!=A){this.callback(this.element,A);this.lastValue=A}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this)},registerCallback:function(A){if(A.type){switch(A.type.toLowerCase()){case"checkbox":case"radio":Event.observe(A,"click",this.onElementEvent.bind(this));break;default:Event.observe(A,"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(B){var A;switch(B.type){case"mouseover":A=B.fromElement;break;case"mouseout":A=B.toElement;break;default:return null}return Element.extend(A)}});Event.Methods=(function(){var A;if(Prototype.Browser.IE){var B={0:1,1:4,2:2};A=function(D,C){return D.button==B[C]}}else{if(Prototype.Browser.WebKit){A=function(D,C){switch(C){case 0:return D.which==1&&!D.metaKey;case 1:return D.which==1&&D.metaKey;default:return false}}}else{A=function(D,C){return D.which?(D.which===C+1):(D.button===C)}}}return{isLeftClick:function(C){return A(C,0)},isMiddleClick:function(C){return A(C,1)},isRightClick:function(C){return A(C,2)},element:function(E){E=Event.extend(E);var D=E.target,C=E.type,F=E.currentTarget;if(F&&F.tagName){if(C==="load"||C==="error"||(C==="click"&&F.tagName.toLowerCase()==="input"&&F.type==="radio")){D=F}}if(D.nodeType==Node.TEXT_NODE){D=D.parentNode}return Element.extend(D)},findElement:function(D,F){var C=Event.element(D);if(!F){return C}var E=[C].concat(C.ancestors());return Selector.findElement(E,F,0)},pointer:function(E){var D=document.documentElement,C=document.body||{scrollLeft:0,scrollTop:0};return{x:E.pageX||(E.clientX+(D.scrollLeft||C.scrollLeft)-(D.clientLeft||0)),y:E.pageY||(E.clientY+(D.scrollTop||C.scrollTop)-(D.clientTop||0))}},pointerX:function(C){return Event.pointer(C).x},pointerY:function(C){return Event.pointer(C).y},stop:function(C){Event.extend(C);C.preventDefault();C.stopPropagation();C.stopped=true}}})();Event.extend=(function(){var A=Object.keys(Event.Methods).inject({},function(B,C){B[C]=Event.Methods[C].methodize();return B});if(Prototype.Browser.IE){Object.extend(A,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(B){if(!B){return false}if(B._extendedByPrototype){return B}B._extendedByPrototype=Prototype.emptyFunction;var C=Event.pointer(B);Object.extend(B,{target:B.srcElement,relatedTarget:Event.relatedTarget(B),pageX:C.x,pageY:C.y});return Object.extend(B,A)}}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents")["__proto__"];Object.extend(Event.prototype,A);return Prototype.K}})();Object.extend(Event,(function(){var B=Event.cache;function C(J){if(J._prototypeEventID){return J._prototypeEventID[0]}arguments.callee.id=arguments.callee.id||1;return J._prototypeEventID=[++arguments.callee.id]}function G(J){if(J&&J.include(":")){return"dataavailable"}return J}function A(J){return B[J]=B[J]||{}}function F(L,J){var K=A(L);return K[J]=K[J]||[]}function H(K,J,L){var O=C(K);var N=F(O,J);if(N.pluck("handler").include(L)){return false}var M=function(P){if(!Event||!Event.extend||(P.eventName&&P.eventName!=J)){return false}Event.extend(P);L.call(K,P)};M.handler=L;N.push(M);return M}function I(M,J,K){var L=F(M,J);return L.find(function(N){return N.handler==K})}function D(M,J,K){var L=A(M);if(!L[J]){return false}L[J]=L[J].without(I(M,J,K))}function E(){for(var K in B){for(var J in B[K]){B[K][J]=null}}}if(window.attachEvent){window.attachEvent("onunload",E)}if(Prototype.Browser.WebKit){window.addEventListener("unload",Prototype.emptyFunction,false)}return{observe:function(L,J,M){L=$(L);var K=G(J);var N=H(L,J,M);if(!N){return L}if(L.addEventListener){L.addEventListener(K,N,false)}else{L.attachEvent("on"+K,N)}return L},stopObserving:function(L,J,M){L=$(L);var O=C(L),K=G(J);if(!M&&J){F(O,J).each(function(P){L.stopObserving(J,P.handler)});return L}else{if(!J){Object.keys(A(O)).each(function(P){L.stopObserving(P)});return L}}var N=I(O,J,M);if(!N){return L}if(L.removeEventListener){L.removeEventListener(K,N,false)}else{L.detachEvent("on"+K,N)}D(O,J,M);return L},fire:function(L,K,J){L=$(L);if(L==document&&document.createEvent&&!L.dispatchEvent){L=document.documentElement}var M;if(document.createEvent){M=document.createEvent("HTMLEvents");M.initEvent("dataavailable",true,true)}else{M=document.createEventObject();M.eventType="ondataavailable"}M.eventName=K;M.memo=J||{};if(document.createEvent){L.dispatchEvent(M)}else{L.fireEvent(M.eventType,M)}return Event.extend(M)}}})());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 B;function A(){if(document.loaded){return }if(B){window.clearInterval(B)}document.fire("dom:loaded");document.loaded=true}if(document.addEventListener){if(Prototype.Browser.WebKit){B=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){A()}},0);Event.observe(window,"load",A)}else{document.addEventListener("DOMContentLoaded",A,false)}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;A()}}}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(A,B){return Element.insert(A,{before:B})},Top:function(A,B){return Element.insert(A,{top:B})},Bottom:function(A,B){return Element.insert(A,{bottom:B})},After:function(A,B){return Element.insert(A,{after:B})}};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(B,A,C){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(B,A,C)}this.xcomp=A;this.ycomp=C;this.offset=Element.cumulativeOffset(B);return(C>=this.offset[1]&&C<this.offset[1]+B.offsetHeight&&A>=this.offset[0]&&A<this.offset[0]+B.offsetWidth)},withinIncludingScrolloffsets:function(B,A,D){var C=Element.cumulativeScrollOffset(B);this.xcomp=A+C[0]-this.deltaX;this.ycomp=D+C[1]-this.deltaY;this.offset=Element.cumulativeOffset(B);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+B.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+B.offsetWidth)},overlap:function(B,A){if(!B){return 0}if(B=="vertical"){return((this.offset[1]+A.offsetHeight)-this.ycomp)/A.offsetHeight}if(B=="horizontal"){return((this.offset[0]+A.offsetWidth)-this.xcomp)/A.offsetWidth}},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(A){Position.prepare();return Element.absolutize(A)},relativize:function(A){Position.prepare();return Element.relativize(A)},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(B,C,A){A=A||{};return Element.clonePosition(C,B,A)}};if(!document.getElementsByClassName){document.getElementsByClassName=function(B){function A(C){return C.blank()?null:"[contains(concat(' ', @class, ' '), ' "+C+" ')]"}B.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(C,E){E=E.toString().strip();var D=/\s/.test(E)?$w(E).map(A).join(""):A(E);return D?document._getElementsByXPath(".//*"+D,C):[]}:function(E,F){F=F.toString().strip();var G=[],H=(/\s/.test(F)?$w(F):null);if(!H&&!F){return G}var C=$(E).getElementsByTagName("*");F=" "+F+" ";for(var D=0,J,I;J=C[D];D++){if(J.className&&(I=" "+J.className+" ")&&(I.include(F)||(H&&H.all(function(K){return !K.toString().blank()&&I.include(" "+K+" ")})))){G.push(Element.extend(J))}}return G};return function(D,C){return $(C||document.body).getElementsByClassName(D)}}(Element.Methods)}Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(A){this.element=$(A)},_each:function(A){this.element.className.split(/\s+/).select(function(B){return B.length>0})._each(A)},set:function(A){this.element.className=A},add:function(A){if(this.include(A)){return }this.set($A(this).concat(A).join(" "))},remove:function(A){if(!this.include(A)){return }this.set($A(this).without(A).join(" "))},toString:function(){return $A(this).join(" ")}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();String.prototype.parseColor=function(){var A="#";if(this.slice(0,4)=="rgb("){var C=this.slice(4,this.length-1).split(",");var B=0;do{A+=parseInt(C[B]).toColorPart()}while(++B<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var B=1;B<4;B++){A+=(this.charAt(B)+this.charAt(B)).toLowerCase()}}if(this.length==7){A=this.toLowerCase()}}}return(A.length==7?A:(arguments[0]||this))};Element.collectTextNodes=function(A){return $A($(A).childNodes).collect(function(B){return(B.nodeType==3?B.nodeValue:(B.hasChildNodes()?Element.collectTextNodes(B):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(A,B){return $A($(A).childNodes).collect(function(C){return(C.nodeType==3?C.nodeValue:((C.hasChildNodes()&&!Element.hasClassName(C,B))?Element.collectTextNodesIgnoreClass(C,B):""))}).flatten().join("")};Element.setContentZoom=function(A,B){A=$(A);A.setStyle({fontSize:(B/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return A};Element.getInlineOpacity=function(A){return $(A).style.opacity||""};Element.forceRerendering=function(A){try{A=$(A);var C=document.createTextNode(" ");A.appendChild(C);A.removeChild(C)}catch(B){}};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(A){return(-Math.cos(A*Math.PI)/2)+0.5},reverse:function(A){return 1-A},flicker:function(A){var A=((-Math.cos(A*Math.PI)/4)+0.75)+Math.random()/4;return A>1?1:A},wobble:function(A){return(-Math.cos(A*Math.PI*(9*A))/2)+0.5},pulse:function(B,A){return(-Math.cos((B*((A||5)-0.5)*2)*Math.PI)/2)+0.5},spring:function(A){return 1-(Math.cos(A*4.5*Math.PI)*Math.exp(-A*6))},none:function(A){return 0},full:function(A){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(A){var B="position:relative";if(Prototype.Browser.IE){B+=";zoom:1"}A=$(A);$A(A.childNodes).each(function(C){if(C.nodeType==3){C.nodeValue.toArray().each(function(D){A.insertBefore(new Element("span",{style:B}).update(D==" "?String.fromCharCode(160):D),C)});Element.remove(C)}})},multiple:function(B,C){var E;if(((typeof B=="object")||Object.isFunction(B))&&(B.length)){E=B}else{E=$(B).childNodes}var A=Object.extend({speed:0.1,delay:0},arguments[2]||{});var D=A.delay;$A(E).each(function(G,F){new C(G,Object.extend(A,{delay:F*A.speed+D}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(B,C){B=$(B);C=(C||"appear").toLowerCase();var A=Object.extend({queue:{position:"end",scope:(B.id||"global"),limit:1}},arguments[2]||{});Effect[B.visible()?Effect.PAIRS[C][1]:Effect.PAIRS[C][0]](B,A)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(A){this.effects._each(A)},add:function(B){var C=new Date().getTime();var A=Object.isString(B.options.queue)?B.options.queue:B.options.queue.position;switch(A){case"front":this.effects.findAll(function(D){return D.state=="idle"}).each(function(D){D.startOn+=B.finishOn;D.finishOn+=B.finishOn});break;case"with-last":C=this.effects.pluck("startOn").max()||C;break;case"end":C=this.effects.pluck("finishOn").max()||C;break}B.startOn+=C;B.finishOn+=C;if(!B.options.queue.limit||(this.effects.length<B.options.queue.limit)){this.effects.push(B)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(A){this.effects=this.effects.reject(function(B){return B==A});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var C=new Date().getTime();for(var B=0,A=this.effects.length;B<A;B++){this.effects[B]&&this.effects[B].loop(C)}}});Effect.Queues={instances:$H(),get:function(A){if(!Object.isString(A)){return A}return this.instances.get(A)||this.instances.set(A,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(A){function B(D,C){return((D[C+"Internal"]?"this.options."+C+"Internal(this);":"")+(D[C]?"this.options."+C+"(this);":""))}if(A&&A.transition===false){A.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),A||{});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 C(E,D){if(E.options[D+"Internal"]){E.options[D+"Internal"](E)}if(E.options[D]){E.options[D](E)}}return function(D){if(this.state==="idle"){this.state="running";C(this,"beforeSetup");if(this.setup){this.setup()}C(this,"afterSetup")}if(this.state==="running"){D=(this.options.transition(D)*this.fromToDelta)+this.options.from;this.position=D;C(this,"beforeUpdate");if(this.update){this.update(D)}C(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(C){if(C>=this.startOn){if(C>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return }var B=(C-this.startOn)/this.totalTime,A=(B*this.totalFrames).round();if(A>this.currentFrame){this.render(B);this.currentFrame=A}}},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(A){if(this.options[A+"Internal"]){this.options[A+"Internal"](this)}if(this.options[A]){this.options[A](this)}},inspect:function(){var A=$H();for(property in this){if(!Object.isFunction(this[property])){A.set(property,this[property])}}return"#<Effect:"+A.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(A){this.effects=A||[];this.start(arguments[1])},update:function(A){this.effects.invoke("render",A)},finish:function(A){this.effects.each(function(B){B.render(1);B.cancel();B.event("beforeFinish");if(B.finish){B.finish(A)}B.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(C,F,E){C=Object.isString(C)?$(C):C;var B=$A(arguments),D=B.last(),A=B.length==5?B[3]:null;this.method=Object.isFunction(D)?D.bind(C):Object.isFunction(C[D])?C[D].bind(C):function(G){C[D]=G};this.start(Object.extend({from:F,to:E},A||{}))},update:function(A){this.method(A)}});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(B){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var A=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(A)},update:function(A){this.element.setOpacity(A)}});Effect.Move=Class.create(Effect.Base,{initialize:function(B){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(A)},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(A){this.element.setStyle({left:(this.options.x*A+this.originalLeft).round()+"px",top:(this.options.y*A+this.originalTop).round()+"px"})}});Effect.MoveBy=function(B,A,C){return new Effect.Move(B,Object.extend({x:C,y:A},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(B,C){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:C},arguments[2]||{});this.start(A)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(B){this.originalStyle[B]=this.element.style[B]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var A=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(B){if(A.indexOf(B)>0){this.fontSize=parseFloat(A);this.fontSizeType=B}}.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(A){var B=(this.options.scaleFrom/100)+(this.factor*A);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*B+this.fontSizeType})}this.setDimensions(this.dims[0]*B,this.dims[1]*B)},finish:function(A){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(A,D){var E={};if(this.options.scaleX){E.width=D.round()+"px"}if(this.options.scaleY){E.height=A.round()+"px"}if(this.options.scaleFromCenter){var C=(A-this.dims[0])/2;var B=(D-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){E.top=this.originalTop-C+"px"}if(this.options.scaleX){E.left=this.originalLeft-B+"px"}}else{if(this.options.scaleY){E.top=-C+"px"}if(this.options.scaleX){E.left=-B+"px"}}}this.element.setStyle(E)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(B){this.element=$(B);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(A)},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(A){return parseInt(this.options.startcolor.slice(A*2+1,A*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(A){return parseInt(this.options.endcolor.slice(A*2+1,A*2+3),16)-this._base[A]}.bind(this))},update:function(A){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(B,C,D){return B+((this._base[D]+(this._delta[D]*A)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(C){var B=arguments[1]||{},A=document.viewport.getScrollOffsets(),D=$(C).cumulativeOffset();if(B.offset){D[1]+=B.offset}return new Effect.Tween(null,A.top,D[1],B,function(E){scrollTo(A.left,E.round())})};Effect.Fade=function(C){C=$(C);var A=C.getInlineOpacity();var B=Object.extend({from:C.getOpacity()||1,to:0,afterFinishInternal:function(D){if(D.options.to!=0){return }D.element.hide().setStyle({opacity:A})}},arguments[1]||{});return new Effect.Opacity(C,B)};Effect.Appear=function(B){B=$(B);var A=Object.extend({from:(B.getStyle("display")=="none"?0:B.getOpacity()||0),to:1,afterFinishInternal:function(C){C.element.forceRerendering()},beforeSetup:function(C){C.element.setOpacity(C.options.from).show()}},arguments[1]||{});return new Effect.Opacity(B,A)};Effect.Puff=function(B){B=$(B);var A={opacity:B.getInlineOpacity(),position:B.getStyle("position"),top:B.style.top,left:B.style.left,width:B.style.width,height:B.style.height};return new Effect.Parallel([new Effect.Scale(B,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(B,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(C){Position.absolutize(C.effects[0].element)},afterFinishInternal:function(C){C.effects[0].element.hide().setStyle(A)}},arguments[1]||{}))};Effect.BlindUp=function(A){A=$(A);A.makeClipping();return new Effect.Scale(A,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(B){B.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(B){B=$(B);var A=B.getDimensions();return new Effect.Scale(B,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:A.height,originalWidth:A.width},restoreAfterFinish:true,afterSetup:function(C){C.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(C){C.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(B){B=$(B);var A=B.getInlineOpacity();return new Effect.Appear(B,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(C){new Effect.Scale(C.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(D){D.element.makePositioned().makeClipping()},afterFinishInternal:function(D){D.element.hide().undoClipping().undoPositioned().setStyle({opacity:A})}})}},arguments[1]||{}))};Effect.DropOut=function(B){B=$(B);var A={top:B.getStyle("top"),left:B.getStyle("left"),opacity:B.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(B,{x:0,y:100,sync:true}),new Effect.Opacity(B,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(C){C.effects[0].element.makePositioned()},afterFinishInternal:function(C){C.effects[0].element.hide().undoPositioned().setStyle(A)}},arguments[1]||{}))};Effect.Shake=function(D){D=$(D);var B=Object.extend({distance:20,duration:0.5},arguments[1]||{});var E=parseFloat(B.distance);var C=parseFloat(B.duration)/10;var A={top:D.getStyle("top"),left:D.getStyle("left")};return new Effect.Move(D,{x:E,y:0,duration:C,afterFinishInternal:function(F){new Effect.Move(F.element,{x:-E*2,y:0,duration:C*2,afterFinishInternal:function(G){new Effect.Move(G.element,{x:E*2,y:0,duration:C*2,afterFinishInternal:function(H){new Effect.Move(H.element,{x:-E*2,y:0,duration:C*2,afterFinishInternal:function(I){new Effect.Move(I.element,{x:E*2,y:0,duration:C*2,afterFinishInternal:function(J){new Effect.Move(J.element,{x:-E,y:0,duration:C,afterFinishInternal:function(K){K.element.undoPositioned().setStyle(A)}})}})}})}})}})}})};Effect.SlideDown=function(C){C=$(C).cleanWhitespace();var A=C.down().getStyle("bottom");var B=C.getDimensions();return new Effect.Scale(C,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:B.height,originalWidth:B.width},restoreAfterFinish:true,afterSetup:function(D){D.element.makePositioned();D.element.down().makePositioned();if(window.opera){D.element.setStyle({top:""})}D.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(D){D.element.down().setStyle({bottom:(D.dims[0]-D.element.clientHeight)+"px"})},afterFinishInternal:function(D){D.element.undoClipping().undoPositioned();D.element.down().undoPositioned().setStyle({bottom:A})}},arguments[1]||{}))};Effect.SlideUp=function(C){C=$(C).cleanWhitespace();var A=C.down().getStyle("bottom");var B=C.getDimensions();return new Effect.Scale(C,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:B.height,originalWidth:B.width},restoreAfterFinish:true,afterSetup:function(D){D.element.makePositioned();D.element.down().makePositioned();if(window.opera){D.element.setStyle({top:""})}D.element.makeClipping().show()},afterUpdateInternal:function(D){D.element.down().setStyle({bottom:(D.dims[0]-D.element.clientHeight)+"px"})},afterFinishInternal:function(D){D.element.hide().undoClipping().undoPositioned();D.element.down().undoPositioned().setStyle({bottom:A})}},arguments[1]||{}))};Effect.Squish=function(A){return new Effect.Scale(A,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(B){B.element.makeClipping()},afterFinishInternal:function(B){B.element.hide().undoClipping()}})};Effect.Grow=function(C){C=$(C);var B=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var A={top:C.style.top,left:C.style.left,height:C.style.height,width:C.style.width,opacity:C.getInlineOpacity()};var G=C.getDimensions();var H,F;var E,D;switch(B.direction){case"top-left":H=F=E=D=0;break;case"top-right":H=G.width;F=D=0;E=-G.width;break;case"bottom-left":H=E=0;F=G.height;D=-G.height;break;case"bottom-right":H=G.width;F=G.height;E=-G.width;D=-G.height;break;case"center":H=G.width/2;F=G.height/2;E=-G.width/2;D=-G.height/2;break}return new Effect.Move(C,{x:H,y:F,duration:0.01,beforeSetup:function(I){I.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(I){new Effect.Parallel([new Effect.Opacity(I.element,{sync:true,to:1,from:0,transition:B.opacityTransition}),new Effect.Move(I.element,{x:E,y:D,sync:true,transition:B.moveTransition}),new Effect.Scale(I.element,100,{scaleMode:{originalHeight:G.height,originalWidth:G.width},sync:true,scaleFrom:window.opera?1:0,transition:B.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(J){J.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(J){J.effects[0].element.undoClipping().undoPositioned().setStyle(A)}},B))}})};Effect.Shrink=function(C){C=$(C);var B=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var A={top:C.style.top,left:C.style.left,height:C.style.height,width:C.style.width,opacity:C.getInlineOpacity()};var F=C.getDimensions();var E,D;switch(B.direction){case"top-left":E=D=0;break;case"top-right":E=F.width;D=0;break;case"bottom-left":E=0;D=F.height;break;case"bottom-right":E=F.width;D=F.height;break;case"center":E=F.width/2;D=F.height/2;break}return new Effect.Parallel([new Effect.Opacity(C,{sync:true,to:0,from:1,transition:B.opacityTransition}),new Effect.Scale(C,window.opera?1:0,{sync:true,transition:B.scaleTransition,restoreAfterFinish:true}),new Effect.Move(C,{x:E,y:D,sync:true,transition:B.moveTransition})],Object.extend({beforeStartInternal:function(G){G.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(G){G.effects[0].element.hide().undoClipping().undoPositioned().setStyle(A)}},B))};Effect.Pulsate=function(C){C=$(C);var B=arguments[1]||{},A=C.getInlineOpacity(),E=B.transition||Effect.Transitions.linear,D=function(F){return 1-E((-Math.cos((F*(B.pulses||5)*2)*Math.PI)/2)+0.5)};return new Effect.Opacity(C,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(F){F.element.setStyle({opacity:A})}},B),{transition:D}))};Effect.Fold=function(B){B=$(B);var A={top:B.style.top,left:B.style.left,width:B.style.width,height:B.style.height};B.makeClipping();return new Effect.Scale(B,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(C){new Effect.Scale(B,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(D){D.element.hide().undoClipping().setStyle(A)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(C){this.element=$(C);if(!this.element){throw (Effect._elementDoesNotExistError)}var A=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(A.style)){this.style=$H(A.style)}else{if(A.style.include(":")){this.style=A.style.parseStyle()}else{this.element.addClassName(A.style);this.style=$H(this.element.getStyles());this.element.removeClassName(A.style);var B=this.element.getStyles();this.style=this.style.reject(function(D){return D.value==B[D.key]});A.afterFinishInternal=function(D){D.element.addClassName(D.options.style);D.transforms.each(function(E){D.element.style[E.style]=""})}}}this.start(A)},setup:function(){function A(B){if(!B||["rgba(0, 0, 0, 0)","transparent"].include(B)){B="#ffffff"}B=B.parseColor();return $R(0,2).map(function(C){return parseInt(B.slice(C*2+1,C*2+3),16)})}this.transforms=this.style.map(function(G){var F=G[0],E=G[1],D=null;if(E.parseColor("#zzzzzz")!="#zzzzzz"){E=E.parseColor();D="color"}else{if(F=="opacity"){E=parseFloat(E);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(E)){var C=E.match(/^([\+\-]?[0-9\.]+)(.*)$/);E=parseFloat(C[1]);D=(C.length==3)?C[2]:null}}}var B=this.element.getStyle(F);return{style:F.camelize(),originalValue:D=="color"?A(B):parseFloat(B||0),targetValue:D=="color"?A(E):E,unit:D}}.bind(this)).reject(function(B){return((B.originalValue==B.targetValue)||(B.unit!="color"&&(isNaN(B.originalValue)||isNaN(B.targetValue))))})},update:function(A){var D={},B,C=this.transforms.length;while(C--){D[(B=this.transforms[C]).style]=B.unit=="color"?"#"+(Math.round(B.originalValue[0]+(B.targetValue[0]-B.originalValue[0])*A)).toColorPart()+(Math.round(B.originalValue[1]+(B.targetValue[1]-B.originalValue[1])*A)).toColorPart()+(Math.round(B.originalValue[2]+(B.targetValue[2]-B.originalValue[2])*A)).toColorPart():(B.originalValue+(B.targetValue-B.originalValue)*A).toFixed(3)+(B.unit===null?"":B.unit)}this.element.setStyle(D,true)}});Effect.Transform=Class.create({initialize:function(A){this.tracks=[];this.options=arguments[1]||{};this.addTracks(A)},addTracks:function(A){A.each(function(B){B=$H(B);var C=B.values().first();this.tracks.push($H({ids:B.keys().first(),effect:Effect.Morph,options:{style:C}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(A){var D=A.get("ids"),C=A.get("effect"),B=A.get("options");var E=[$(D)||$$(D)].flatten();return E.map(function(F){return new C(F,Object.extend({sync:true},B))})}).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 B,A=$H();if(Prototype.Browser.WebKit){B=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';B=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(C){if(B[C]){A.set(C,B[C])}});if(Prototype.Browser.IE&&this.include("opacity")){A.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return A};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(B){var A=document.defaultView.getComputedStyle($(B),null);return Element.CSS_PROPERTIES.inject({},function(C,D){C[D]=A[D];return C})}}else{Element.getStyles=function(B){B=$(B);var A=B.currentStyle,C;C=Element.CSS_PROPERTIES.inject({},function(D,E){D[E]=A[E];return D});if(!C.opacity){C.opacity=B.getOpacity()}return C}}Effect.Methods={morph:function(A,B){A=$(A);new Effect.Morph(A,Object.extend({style:B},arguments[2]||{}));return A},visualEffect:function(C,E,B){C=$(C);var D=E.dasherize().camelize(),A=D.charAt(0).toUpperCase()+D.substring(1);new Effect[A](C,B);return C},highlight:function(B,A){B=$(B);new Effect.Highlight(B,A);return B}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(A){Effect.Methods[A]=function(C,B){C=$(C);Effect[A.charAt(0).toUpperCase()+A.substring(1)](C,B);return C}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(A){Effect.Methods[A]=Element[A]});Element.addMethods(Effect.Methods);var tagTableVisible=true;var stateTableVisible=new Array();var displayStatus=new Array();var regionCount=6;var city_hash=new Array();var member_hash=new Array();var previousCommentID="";var previousLinkID="";var emptyCount=0;var cities=new Array();var wick_default_values=new Array();var wick_default_value_variables=new Array();var busFrom=0;var busTo=0;var flightFrom="";var flightTo="";var hotelCity="";var trainFrom="";var trainTo="";var getinFrom="";var getinTo="";var directionFrom="";var directionTo="";var distanceFrom="";var distanceTo="";var msi_city="";var comments_tab_content_loaded=[];var review_reply_div_id="";var review_spam_div_id="";function City(){}City.prototype.initialize=function(){this.id=null;this.name=null;this.latitude=null;this.longitude=null;this.trip_id=null;this.trip_name=null;this.trip_url=null;this.trip_start_date=null;this.trip_end_date=null;this.trip_date_str=null;this.new_start_date=null;this.new_end_date=null;this.date_saved=false;return this};function Direction(){}Direction.prototype.initialize=function(){this.id=null;this.source_id=null;this.destination_id=null;this.points=null;this.levels=null;this.zoomFactor=null;this.numLevels=null;return this};for(i=1;i<=regionCount;i++){stateTableVisible[i]=true}function indexOfCI(A,D){for(var C=0,B=A.length;C<B;C++){if(A[C].toLowerCase()==D.toLowerCase()){return C}}return -1}function number_with_delimiter(C,A){C=C+"",A=A||",";var B=C.split(".");B[0]=B[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+A);return B.join(".")}function pluralize(B,A){if(A>1){B+="s"}return B}function register_onload(B){var A=window.onload;if(typeof window.onload!="function"){window.onload=B}else{window.onload=function(){A();B()}}}function show_dates_as_local_time(){var B=document.getElementsByTagName("span");for(var A=0;A<B.length;A++){if(B[A].className.match(/\btypo_date\b/i)){B[A].innerHTML=get_local_time_for_date(B[A].title)}}}function get_local_time_for_date(A){system_date=new Date(A);user_date=new Date();delta_minutes=Math.floor((user_date-system_date)/(60*1000));if(Math.abs(delta_minutes)<=(8*7*24*60)){distance=distance_of_time_in_words(delta_minutes);if(delta_minutes<0){return distance+" from now"}else{return distance+" ago"}}else{return"on "+system_date.toLocaleDateString()}}function distance_of_time_in_words(A){if(A.isNaN){return""}A=Math.abs(A);if(A<1){return("less than a minute")}if(A<50){return(A+" minute"+(A==1?"":"s"))}if(A<90){return("about one hour")}if(A<1080){return(Math.round(A/60)+" hours")}if(A<1440){return("one day")}if(A<2880){return("about one day")}else{return(Math.round(A/1440)+" days")}}function jump_to_destination(B){var D;var C;var A;if(window.event){B=window.event;D=B.keyCode}else{if(B.which){D=B.which}}C=String.fromCharCode(D);var E=findScroll(document.getElementById("dest_"+C));if(E>0){document.getElementById("destinations_menu").scrollTop=E}}function findScroll(C){var A=0;var D=0;var B=0;while(C!=null&&B<2){A+=C.offsetLeft;D+=C.offsetTop;C=C.offsetParent;B+=1}return D}function scrollRight(){window.scrollTo(100,0)}function display_menu(B,A){hide_all_menus();Element.show(B);A.cancelBubble=true;_gaq.push(["_trackEvent","MenuDisplay",B]);if(B=="destinations_menu"){document.onkeydown=function(C){return jump_to_destination(C)}}}var popups=["getaway_menu","theme_menu","destinations_menu","book_menu","home_menu","myhome_menu","trips_menu","more_link","more_link_src","more_link_dest","head_more"];var show_autocomplete_div=false;function hide_all_menus(){var C=popups.length;for(var B=0;B<C;B++){id=popups[B];if(document.getElementById(id)!=null){Element.hide(id)}}var A=document.getElementById("smartInputFloater");if((A!=null)&&(!show_autocomplete_div)){if(A.style.display!="none"){showSelects()}Element.hide("smartInputFloater")}document.onkeydown=nil;show_autocomplete_div=false;if(typeof (flights)!=="undefined"){hide_flight_book_popups()}}var slide_index=[];function hide_all_slides(E,C,D){for(var B=1;B<=E;B++){var A=C+B;if(document.getElementById(C+B)!=null){Element.hide(C+B)}if(document.getElementById(C+"text_"+B)!=null){Element.hide(C+"text_"+B)}if(document.getElementById(C+"link_"+B)!=null){cc(C+"link_"+B,D)}}}function show_slide(F,E,C,D,A,B){rotate_slide_bar(F,E,C,D,A,B);hide_all_slides(E,C,D);Element.show(C+F);cc(C+"link_"+F,D+"-current");if(document.getElementById(C+"text_"+F)!=null){Element.show(C+"text_"+F)}slide_index[D]=F}function move_slide_bar(F,C,D,A,B,E){if(E=="left"){start_index=(Math.floor(slide_index[D]/A)-1)*A+1}else{if(E=="right"){start_index=(Math.floor(slide_index[D]/A)+1)*A+1}}if(start_index>0&&start_index<=F){show_slide(start_index,F,C,D,A,B)}}function rotate_slide_bar(A,F,G,D,I,C){if(document.getElementById(G+"bar")!=null){if(A%I==1){var K=A;var B=document.getElementById(G+"bar");var H=document.getElementById(G+"imgs");B.innerHTML="";H.innerHTML="";var J=1;for(var E=K;E<K+I+J;E++){if(E<K+I){B.innerHTML+="<img src='"+C[E][0]+"' id='"+G+"link_"+E+"' class='photo-slide' onclick='show_slide("+E+", "+F+", \"cimg_\", \"photo-slide\");' width='40' height='40'>"}H.innerHTML+="<img src='"+C[E][0].replace("_s","")+"' id='"+G+E+"' alt='"+C[E][1]+"' style='display:none' "+C[E][2]+">";if(E>=F){break}}}}}function rotate_slides(G,E,F,D,A,C){if(A==null){A=G}var B=slide_index[F];if(B==null){B=1}B+=1;if(B>G){B=1}img_loaded=true;if(typeof (D)!=="undefined"&&document.getElementById(E+B)!=null){img_loaded=isImageOk(document.getElementById(E+B))}if(img_loaded){show_slide(B,G,E,F,A,C)}}var flight_has_filters=false;var flight_page_max=25;var flight_page_current=1;var flight_sort_criteria="price";var flight_sort_order="asc";var flight_sort_order_toggle=new Array();flight_sort_order_toggle.asc="desc";flight_sort_order_toggle.desc="asc";var flight_sort_icon=new Array();flight_sort_icon.asc="<img src='/images/sort_up.gif'>";flight_sort_icon.desc="<img src='/images/sort_down.gif'>";var flight_timings=[10,20,30,40,50];airports=new Array();airports.IXA="Agartala";airports.AGX="Agatti Island";airports.AGR="Agra";airports.AMD="Ahmedabad";airports.AJL="Aizwal";airports.IXD="Allahabad";airports.ATQ="Amritsar";airports.IXU="Aurangabad";airports.IXB="Baghdogra";airports.BL1="Baltal Helipad Amarnath";airports.IXG="Belgaum";airports.VDY="Bellary";airports.BLR="Bengalooru";airports.BHU="Bhavnagar";airports.BHO="Bhopal";airports.BBI="Bhubaneshwar";airports.BHJ="Bhuj";airports.IXC="Chandigarh";airports.MAA="Chennai";airports.CJB="Coimbatore";airports.DED="Dehradun";airports.DEL="Delhi";airports.DHM="Dharamsala";airports.DIB="Dibrugarh";airports.DMU="Dimapur";airports.DIU="Diu";airports.GAY="Gaya";airports.GOI="Goa";airports.GOP="Gorakhpur";airports.GAU="Guwahati";airports.GWL="Gwalior";airports.HC1="Holy Cave Amarnath";airports.HBX="Hubli";airports.HYD="Hyderabad";airports.IMF="Imphal";airports.IDR="Indore";airports.JLR="Jabalpur";airports.JAI="Jaipur";airports.JSA="Jaisalmer";airports.IXJ="Jammu";airports.JGA="Jamnagar";airports.IXW="Jamshedpur";airports.JDH="Jodhpur";airports.JRH="Jorhat";airports.IXY="Kandla";airports.KNU="Kanpur";airports.KAT="Katra";airports.HJR="Khajuraho";airports.COK="Kochi";airports.KLH="Kolhapur";airports.CCU="Kolkata";airports.CCJ="Kozhikode";airports.KUU="Kullu";airports.IXL="Leh";airports.IXI="Lilabari";airports.LKO="Lucknow";airports.IXM="Madurai";airports.IXE="Mangalore";airports.BOM="Mumbai";airports.NAG="Nagpur";airports.PGH="Pantnagar";airports.IXP="Pathankot";airports.PAT="Patna";airports.PBD="Porbandar";airports.IXZ="Portblair";airports.PNQ="Pune";airports.PUT="Puttaparthy";airports.RPR="Raipur";airports.RJA="Rajahmundry";airports.RAJ="Rajkot";airports.IXR="Ranchi";airports.SHL="Shillong";airports.SRD="Shirdi";airports.IXS="Silchar";airports.SLV="Simla";airports.SXR="Srinagar";airports.STV="Surat";airports.TEZ="Tezpur";airports.TRV="Thiruvananthapuram";airports.TRZ="Tiruchirapally";airports.TIR="Tirupati";airports.TCR="Tuticorin";airports.UDR="Udaipur";airports.BDQ="Vadodra";airports.SAN="Vaishnodevi";airports.VNS="Varanasi";airports.VGA="Vijayawada";airports.VTZ="Vizag";var airline_sites=new Array();airline_sites["airindia(ai)"]="airindia.com";airline_sites["airindia(ic)"]="airindia.com";airline_sites.airindia="airindia.com";airline_sites.airindiaexpress="airindiaexpress.in";airline_sites.goair="goair.in";airline_sites.indigo="goindigo.in";airline_sites.jetairways="jetairways.com";airline_sites.jetairwayskonnect="jetairways.com";airline_sites.jetlite="jetlite.com";airline_sites.kingfisher="flykingfisher.com";airline_sites.kingfisherred="flykingfisher.com";airline_sites.mdlr="mdlrairlines.in";airline_sites.paramountairways="paramountairways.com";airline_sites.spicejet="spicejet.com";var flight_fare_low=["airindiaexpress","goair","indigo","jetairwayskonnect","jetlite","kingfisherred","mdlr","spicejet"];var flight_fare_full=["airindia(ai)","airindia(ic)","airindia","jetairways","kingfisher","paramountairways"];function Flight(){}Flight.prototype.initialize=function(E,L,B,M,F,J,G,I,K,D,A,N,H,C){this.id=E;this.airlines=L;this.codes=B;this.start_date=M;this.end_date=F;this.start_date_str=J;this.end_date_str=G;this.duration=I;this.fare=K;this.url=D;this.hops=A;this.bookings=N;this.fid=H;this.timeid=C;return this};function airline_name_formatted(A){A=A.replace(/\s+/g,"");A=A.toLowerCase();return A}function airline_site(A){return airline_sites[airline_name_formatted(A)]}function airline_image(A){A=airline_name_formatted(A);return"/images/airlines/"+A+".gif"}function flight_sort_update(A){if(A==flight_sort_criteria){flight_sort_order=flight_sort_order_toggle[flight_sort_order]}else{flight_sort_order="asc"}flight_sort_criteria=A;flight_update();_gaq.push(["_trackEvent","Flight","FilterUse","sort_"+flight_sort_criteria+"_"+flight_sort_order])}function flight_sort(B,A){var C=0;if(flight_sort_criteria==null||flight_sort_criteria=="price"){C=B.fare-A.fare}else{if(flight_sort_criteria=="start_date"){C=(B.start_date_str>A.start_date_str)?1:-1}else{if(flight_sort_criteria=="end_date"){C=(B.end_date_str>A.end_date_str)?1:-1}}}if(flight_sort_order=="desc"){C=-C}return C}function flight_filters(A){flight_has_filters=true;flight_page_current=1;flight_update();_gaq.push(["_trackEvent","Flight","FilterUse",A])}function flight_filters_reset(){var C=flight_timings.length;for(var E=0;E<=C;E++){var A=document.getElementById("cb_time_"+flight_timings[E]);if(A!=null){A.checked=true}}var D=document.getElementById("dd_hops");if(D!=null){D.selectedIndex=D.options.length-1}for(var B in airline_sites){D=document.getElementById("cb_airline_"+airline_name_formatted(B));if(D!=null){D.checked=true}}document.getElementById("cb_airline_cat_low").checked=true;document.getElementById("cb_airline_cat_full").checked=true}function flight_filter_airline_toggle(B){var F=flight_fare_full;if(B=="low"){F=flight_fare_low}var E=document.getElementById("cb_airline_cat_"+B).checked;var C=F.length;for(var A=0;A<C;A++){var D=document.getElementById("cb_airline_"+F[A]);if(D!=null){D.checked=E}}flight_has_filters=true;flight_page_current=1;flight_update();_gaq.push(["_trackEvent","Flight","FilterUse","airline_"+B])}function flight_filters_remove(){flight_page_current=1;flight_has_filters=false;flight_filters_reset();flight_update();_gaq.push(["_trackEvent","Flight","FilterUse","reset"])}function flight_filters_toggle(){Element.toggle("flight_filters");Element.toggle("flight_filters_expand");Element.toggle("flight_filters_close");Element.toggle("flight_filters_reset")}function flight_page_show(A){flight_page_current=A;flight_update();_gaq.push(["_trackEvent","Flight","FilterUse","page_"+A])}function flight_update(){var AA="<table class='tab'><tr><td class='td-title-cen' width='100'>Airline</td><td class='td-title-lp' width='185'>Stops</td><td class='td-title-lp' width='70' onclick='flight_sort_update(\"start_date\")'><span class='sort'>Depart</span> ";if(flight_sort_criteria=="start_date"){AA+=flight_sort_icon[flight_sort_order]}AA+="</td><td class='td-title-lp' width='70' onclick='flight_sort_update(\"end_date\")'><span class='sort'>Arrives</span> ";if(flight_sort_criteria=="end_date"){AA+=flight_sort_icon[flight_sort_order]}AA+="</td><td class='td-title-lp' width='75'>Duration</td><td class='td-title-cen' colspan='2' onclick='flight_sort_update(\"price\")'><span class='sort'>Price</span> ";if(flight_sort_criteria=="price"){AA+=flight_sort_icon[flight_sort_order]}AA+="&nbsp;&nbsp;<span class='text-tiny2'>(per adult)</span></td></tr>";flights.sort(flight_sort);var g=0;var o=flights.length;var I=0;var AF=0;for(var AL=0;AL<o;AL++){var x=flights[AL];var P=x.id;var l=x.codes;var AK="";var q="";var T="";var AH="";var J="";var AJ="<span class='light3'>"+airline_site(x.airlines)+"</span><br>";var X="";var t="";Element.show("div_airline_"+airline_name_formatted(x.airlines));var R=true;if(flight_has_filters){var AD=flight_timings.length;for(var B=0;B<AD;B++){var K=flight_timings[B];var D=document.getElementById("cb_time_"+K);if(D!=null&&K==x.timeid&&!D.checked){R=false;break}}if(R){var AO=document.getElementById("dd_hops");if(AO!=null){var AM=AO.value;if(x.hops>AM){R=false}}}if(R){var k=airline_name_formatted(x.airlines);var A=document.getElementById("flight_ibibo_results");var AO=document.getElementById("cb_airline_"+k);if(AO!=null&&!AO.checked){R=false}}}if(R){I+=1;var v=true;if((I>flight_page_max*flight_page_current)||(I<=flight_page_max*(flight_page_current-1))){v=false}else{AF+=1}if(v){if(x.hops>0){l+=" <span class='light3'>("+x.hops+" hop)</span>"}if(x.bookings>1){AJ="<span class='light3'>("+Number(x.bookings)+" bookings)</span><br>";X="-dd";J="<div id='book_"+P+"' class='bookFlightBox' style='display:none'><table class='tab'><tr><td class='td-box-tl'></td><td class='td-box-ht'></td><td class='td-box-tr'></td></tr><tr><td class='td-box-vl'></td><td class='td-color-light-nb'><table class='tab'>"}AK="<a href='javascript:void(0)' onclick='Element.toggle(\"fd_"+P+'");Element.hide("dl_'+P+'");_gaq.push(["_trackEvent","Flight","DetailsOpen",'+AL+"]);'>+ details</a>";T="<div id='fd_"+P+"' style='display:none;'><table style='width:100%;border:1px solid #dddddd;margin:5px 0 5px 0;'>";var Q=flight_details[P];var AG=Q.length;var O="";var U=new Array();for(var AI=0;AI<AG;AI++){var s=Q[AI];var M=U[s[0]];if(M==null||M=="undefined"){U[s[0]]=s[0];O+="<img src='"+airline_image(s[0])+"'><br>"+s[0]+"<br>"}var p=airports[s[1]];if(p==null||p=="undefined"){p=""}var z=airports[s[2]];if(z==null||z=="undefined"){z=""}var V="";if(x.bookings>1){var Z="/flights_redirect/"+airline_site(s[0]);V="<input type='button' value='' class='button-book' onclick='_gaq.push([\"_trackPageview\",\""+Z+'"]);gotoURL("'+s[7]+'", "true");\'>'}var AQ="";if(Number(s[6])>0){AQ="Rs "+number_with_delimiter(s[6])}T+="<tr><td rowspan='2' class='td-cen-p'><img src='"+airline_image(s[0])+"'></td><td rowspan='2' class='td-pl-sm'>"+s[0]+"<br>"+s[8]+"</td><td class='td-pl-sm' width='30'><b>Dep:</b></td><td class='td-pl-sm'>"+s[3]+"</td><td class='td-pl-sm' width='30'>"+s[1]+"</td><td class='td-pl-sm'>"+p+"</td><td rowspan='2' class='td-cen-p'>"+AQ+"</td><td rowspan='2' class='td-cen-p'>"+V+"</td></tr>";T+="<tr><td class='td-pl-sm'><b>Arr:</b></td><td class='td-pl-sm'>"+s[4]+"</td><td class='td-pl-sm'>"+s[2]+"</td><td class='td-pl-sm'>"+z+"</td></tr>";if(AI<AG-1){T+="<tr><td colspan='8' style='background-color:#eeeeee;text-align:center'>Layover</td>"}if(x.bookings>1){var AQ="-";if(Number(s[6])>0){AQ=number_with_delimiter(s[6])}var Z="/flights_redirect/"+airline_site(s[0]);J+="<tr><td class='td-p'><img src='"+airline_image(s[0])+"'></td><td class='td-p'>"+s[1]+" â†’ "+s[2]+"</td><td class='td-p'>Rs "+AQ+"</td><td class='td-p'><input type='button' value='' class='button-book' onclick='_gaq.push([\"_trackPageview\",\""+Z+'"]);gotoURL("'+s[7]+'", "true");\'></td></tr>'}}T+="</table></div>";if(x.bookings>1){J+="</table></td><td class='td-box-vr'></td></tr><tr><td class='td-box-bl'></td><td class='td-box-hb'></td><td class='td-box-br'></td></tr></table></div>";t="display_flight_book_popup("+P+", event)"}else{var Z="/flights_redirect/"+airline_site(x.airlines);t='_gaq.push(["_trackPageview","'+Z+'"]);gotoURL("'+x.url+'", "true")'}AA+="<tr><td class='td-bb-cen-p' rowspan='5'>"+O+"</td><td class='td-p'>"+l+"</td><td class='td-p'>"+x.start_date+"</td><td class='td-p'>"+x.end_date+"</td><td class='td-p'>"+x.duration+"</td><td class='td-rt-p'><span class='light3'>Rs </span><h2>"+number_with_delimiter(x.fare)+"</h2></td><td class='td-bb-cen-p' rowspan='5'><input type='button' value='' class='button-book"+X+"' onclick='"+t+"'><div class='sep3'></div>"+AJ+J+"</td></tr>";AH="<div id='dl_"+P+"' style='display:none;'><table style='width:100%;border:1px solid #dddddd;margin:5px 0 5px 0;'>";var H=deals.length;for(var AP=0;AP<H;AP++){var n=deals[AP];deal_flight_names=" (all airlines)";if(n[5]!=""){var F=false;var AG=Q.length;deal_flight_names=" (";for(var AI=0;AI<AG&&!F;AI++){var s=Q[AI];if(n[5].indexOf(":"+airline_name_formatted(s[0])+":")>=0){if(F){deal_flight_names+=", "}deal_flight_names+=s[0];F=true}}if(!F){n=null}else{deal_flight_names+=")"}}if(n!=null){AH+="<tr><td class='td-p' width='150'><a href='"+n[3]+"' target='_blank'><img src='/images/partners/"+n[0]+"'></a></td><td class='td-mid'>"+n[1]+deal_flight_names+" - <a href='"+n[3]+"' target='_blank'>details</a></td><td class='td-mid'><input type='button' value='' class='button-book' onclick='checkPartners(\""+n[2]+'", true, "flight_deal");\'></td></tr>'}}var W=flights_ibibo.length;for(var AI=0;AI<W;AI++){f=flights_ibibo[AI];if(x.fid==f[10]){diff=x.fare-f[6];AH+="<tr><td class='td-p' width='150'><img src='/images/partners/s_goibibo.jpg'></td><td class='td-mid'>GoIbibo price: Rs "+number_with_delimiter(f[6])+"</td><td class='td-mid'><input type='button' value='' class='button-book' onclick='checkPartners(\"goibibo_flight\", true, \"flight_deal\");'></td></tr>"}}if(H>0){n=null;for(var L=0;L<H&&n==null;L++){var AP=deals[L];var AG=Q.length;for(var AI=0;AI<AG&&n==null;AI++){var s=Q[AI];if(AP[5]!=""&&AP[5].indexOf(":"+airline_name_formatted(s[0])+":")>=0){n=deals[L]}}}if(n==null){var Y=0;while(n==null&&Y<=H){var AP=deals[g];if(AP[5]==""){n=AP}g+=1;g=g%H;Y+=1}}if(n!=null){q+=n[1]+" at "+n[4];q+="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:void(0)' onclick='Element.toggle(\"dl_"+P+'");Element.hide("fd_'+P+'");_gaq.push(["_trackEvent","Flight","DealsOpen",'+AL+"]);'>+ see all deals</a>"}}AH+="</table></div>";AA+="<tr><td class='td-color-gr-psm'>"+AK+"</td><td colspan='4' class='td-color-gr-psm'><div class='rt'>";AA+=q;AA+="</div></td></tr>";AA+="<tr><td colspan='5'>";AA+=AH;AA+="</td></tr>";AA+="<tr><td colspan='5'>";AA+=T;AA+="</td></tr>";AA+="<tr><td class='td-bb-psm' colspan='5'></td></tr>"}}}AA+="</table>";var AC=""+I;if(I<o){AC+=" (of "+o+")"}AC="Displaying <b>"+AC+" results</b>";if(I>1){AC+=", sorted by price"}if(I<o){AC+=" <a href='javascript:void(0)' onclick='flight_filters_remove()'>(Show all)</a>"}var AN=document.getElementById("flight_result_count");AN.innerHTML=AC;var G="";if(I>flight_page_max){G+="<div>Page: &nbsp;";var N="class='pageno-dis'";if(flight_page_current>1){N="class='pageno2' onclick='flight_page_show("+(flight_page_current-1)+");'"}G+="<div "+N+">&#8249;</div>";var w=Math.ceil(I/flight_page_max);for(pi=1;pi<w+1;pi++){var E="pageno";if(flight_page_current==pi){E+="-sel"}G+="<div class='"+E+"' onclick='flight_page_show("+pi+");'>"+pi+"</div>"}var AB="class='pageno-dis'";if(flight_page_current<w){AB="class='pageno2' onclick='flight_page_show("+(flight_page_current+1)+");'"}G+="<div "+AB+">&#8250;</div>";var S=(flight_page_current-1)*flight_page_max+1;var u=flight_page_current*flight_page_max;if(I<u){u=I}G+="&nbsp;&nbsp;&nbsp;&nbsp;("+S+"-"+u+" of "+I+")";G+="</div>"}var AE=document.getElementById("flight_page_str");AE.innerHTML=G;if(I==0&&flight_has_filters){AA="<div class='sep20'></div><h2>Oops! No flights to display. <a href='javascript:void(0)' onclick='flight_filters_remove()'>Remove all filters.</a></h2><div class='sep20'></div>"}var C=document.getElementById("flight_results");C.innerHTML=AA;hide_flight_loading()}function hide_flight_book_popups(){var B=flights.length;for(var A=0;A<B;A++){id="book_"+flights[A][0];if(document.getElementById(id)!=null){Element.hide(id)}}}function display_flight_book_popup(B,A){hide_flight_book_popups();Element.show("book_"+B);A.cancelBubble=true}function hide_flight_loading(){if(ibibo_finished&&ndi_finished){Element.hide("flight_loading")}}var hotel_has_filters=false;var hotel_stars_present=new Array();var hotel_star_max=5;var hotel_page_max=25;var hotel_page_current=1;var hotel_category_default=0;var hotel_categories=[hotel_category_default,5,10,20,30,40,50];var hotel_category_names=new Array();var hotel_category_selected=0;var hotel_category_finished=false;var hotel_category_hash=new Array();hotel_category_names[hotel_category_default]="All";hotel_category_names[5]="Hostel";hotel_category_names[10]="Budget";hotel_category_names[20]="Medium";hotel_category_names[30]="Luxury";hotel_category_names[40]="Resort";hotel_category_names[50]="Homestay";function Hotel(){}Hotel.prototype.initialize=function(C,A,F,H,E,G,I,D,B){this.id=C;this.name=A;this.rating=F;this.min_price=H;this.photo_url=E;this.href_text=G;this.detail_text=I;this.partner=D;this.category=B;return this};function hotel_sort(B,A){return(B.min_price-A.min_price)}function hotel_filters(A){hotel_has_filters=true;hotel_page_current=1;hotel_update();_gaq.push(["_trackEvent","Hotel","FilterUse",A])}function hotel_filters_reset(){var C=document.getElementById("dd_min_price");var A=document.getElementById("dd_max_price");if(C!=null){C.selectedIndex=0}if(A!=null){A.selectedIndex=A.options.length-1}for(var D=0;D<=hotel_star_max;D++){var B=document.getElementById("cb_star_"+D);if(B!=null){B.checked=true}}}function hotel_filters_remove(){hotel_page_current=1;hotel_category_selected=0;hotel_has_filters=false;hotel_filters_reset();hotel_update();_gaq.push(["_trackEvent","Hotel","FilterUse","reset"])}function hotel_filters_toggle(){Element.toggle("hotel_filters");Element.toggle("hotel_filters_expand");Element.toggle("hotel_filters_close");Element.toggle("hotel_filters_reset")}function hotel_category_show(A){hotel_page_current=1;hotel_has_filters=true;hotel_category_selected=A;hotel_update();_gaq.push(["_trackEvent","Hotel","FilterCategory",hotel_category_names[A]])}function hotel_page_show(A){hotel_page_current=A;hotel_update();_gaq.push(["_trackEvent","Hotel","FilterUse","page_"+A])}function hotel_update(){if(hotels_finished_all){Element.show("hotel_updating")}var x="";var W=hotels.length;var AM=document.getElementById("hotel_day_count").value;var z=document.getElementById("inasra_rooms").value;var M=0;var Y=0;if(!hotel_category_finished){hotels.sort(hotel_sort);for(var AI=0;AI<hotel_categories.length;AI++){var n=hotel_categories[AI];hotel_category_hash[n]=new Array()}}for(var AI=0;AI<W;AI++){var T=hotels[AI];var p=T.id;var H=T.name;var AA=T.rating;var V=T.min_price;var v=T.photo_url;var q=T.href_text;var L=T.detail_text;var AF=T.partner;var D=T.category;if(!hotel_category_finished){var AL=hotel_category_hash[T.category];AL.push(T);AL=hotel_category_hash[hotel_category_default];AL.push(T)}var J=true;if(hotel_has_filters){if(hotel_category_selected!=0){if(D!=hotel_category_selected){J=false}}if(J){for(var Z=0;Z<=5;Z++){var k=document.getElementById("cb_star_"+Z);if(k!=null&&Z==AA&&!k.checked){J=false;break}}}if(J){var AK=document.getElementById("dd_min_price");var P=document.getElementById("dd_max_price");if(AK!=null&&P!=null){var AJ=AK.value;var O=P.value;if(AJ!=0&&T.min_price<AJ){J=false}if(O!=0&&T.min_price>O){J=false}}}}if(J){M+=1;var s=true;if((M>hotel_page_max*hotel_page_current)||(M<=hotel_page_max*(hotel_page_current-1))){s=false}else{Y+=1}if(s){var R="";for(var AC=0;AC<AA;AC++){R+="<div class='star'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>"}var l="Element.toggle('detail_"+p+"');Element.toggle('open"+p+"');Element.toggle('close"+p+"');return false;";var AE=v;if(AE.indexOf("default")>=0){AE=""}else{AE='<a href="'+q+'" onclick="'+l+"\"><img src='"+v+"' width='50' height='50'></a>"}x+="<div style='margin-bottom:10px;'><table class='tab'><tr><td class='td-box-tl'></td><td class='td-box-ht'></td><td class='td-box-tr'></td></tr> <tr><td class='td-box-vl'></td><td class='td-color-light-nb'>";x+="<table class='tab'><tr>";x+="<td class='td-expand'><a href=\""+q+'" onclick="'+l+"\"><img id='close"+p+"' src='/images/3/big-close.png' style='display:none1'><img id='open"+p+"' src='/images/3/big-open.png' style='display:none'></a></td>";x+="<td class='td-mid'><h2><a href=\""+q+'" onclick="'+l+'">'+H+"</a></h2> &nbsp;&nbsp;"+R+"</td>";x+="<td class='td-cen-mid' width='150'>"+AE+"</td>";x+="<td class='td-rt' width='200'><span class='light3'>from Rs </span><h2>"+number_with_delimiter(V)+"</h2><br><span class='tiny'><a href='#' onclick=\""+l+'">All rooms & rates</a></span></td>';x+="</tr></table>";x+="</td><td class='td-box-vr'></td></tr><tr><td class='td-box-bl'></td><td class='td-box-hb'></td><td class='td-box-br'></td></tr></table>";var w=hotel_details[p];var N=w.length;var X="room";if(AF=="hostelworld"){X="bed"}var I="for "+z+" "+pluralize(X,z)+", "+AM+" "+pluralize("night",AM);var A="<table class='tab-b2'><td class='td-title2'>Room Type</td>";A+="<td class='td-title2' width='100px'>Price<br><span class='tiny3'>per "+X+" per night</span></td>";A+="<td class='td-title2' width='120px'>Total<br><span class='tiny3'>"+I+"</span></td>";A+="<td class='td-title2' width='100px'></td></tr>";var t=1;for(var AG=0;AG<N;AG++){var S=w[AG];var g=S[1];if(g!=""&&g!="-"){g="Rs "+number_with_delimiter(g)}var h=S[2];if(h!=""&&h!="-"){h="Rs "+number_with_delimiter(h)}var F=S[4];if(F.length>0){F="<br><span class='tiny3'>"+S[4]+"</span>"}A+="<tr>";A+="<td class='td-"+t+"'>"+S[0]+"</td>";A+="<td class='td-"+t+"'>"+g+"</td>";A+="<td class='td-"+t+"'>"+h+"</td>";A+="<td class='td-cen-"+t+"'><input type='button' name='book' value='' onclick=\""+S[3]+"\" class='button-book'>"+F+"</td>";A+="</tr>";t+=1;if(t==3){t=1}}A+="</table><span class='tiny3'>Note: Prices inclusive of all taxes</span>";x+="<span id='detail_"+p+"' style='display:none'>";x+="<table class='tab'><tr>";x+="<td width='150px' class='td-cen'>";if(AF=="inasra"){x+=""}else{if(AF=="hostelworld"||AF=="expedia"){x+="<div class='sep5'></div>"}}x+='<a href="'+q+'" onclick="'+L+"\"><img src='"+v+"' class='photo-hotel-p'></a>";x+='<br><a href="'+q+'" onclick="'+L+'">Details</a></td>';x+="<td><div class='sep10'></div>"+A+"</td>";x+="</tr></table></span></div>"}}}var AD=""+M;if(M<W){AD+=" (of "+W+")"}AD="Displaying <b>"+AD+" results</b>";if(M>1){AD+=", sorted by price"}if(M<W){AD+=" <a href='javascript:void(0)' onclick='hotel_filters_remove()'>(Show all)</a>"}if(M==0&&hotel_has_filters){x="<div class='sep20'></div><h2>Oops! No hotels to display. <a href='javascript:void(0)' onclick='hotel_filters_remove()'>Remove all filters.</a></h2><div class='sep20'></div>"}var AH=0;var E="<table class='tab'><tr><td class='td-tab2-filler' width='10'>&nbsp;&nbsp;&nbsp;</td>";for(var U=0;U<hotel_categories.length;U++){var n=hotel_categories[U];var AL=hotel_category_hash[n];if(AL!=null){var Q=AL.length;if(hotels_finished_all&&n==hotel_category_default&&Q==W){hotel_category_finished=true}if(Q>0){var B="td-tab3";if(hotel_category_selected==n){B="td-tab3sel"}AH+=1;E+="<td class='"+B+"' id='hcat_"+n+"'><h2><a href='javascript:void(0)' onclick='hotel_category_show("+n+")'>"+hotel_category_names[n]+"&nbsp;("+Q+")</a></h2></td>"}}}E+="<td class='td-tab2-filler' width='80%'>&nbsp;</td></tr></table>";var C="";if(M>hotel_page_max){C+="<div class='sep10'></div><div>Page: &nbsp;";var G="class='pageno-dis'";if(hotel_page_current>1){G="class='pageno2' onclick='hotel_page_show("+(hotel_page_current-1)+");'"}C+="<div "+G+">&#8249;</div>";var u=Math.ceil(M/hotel_page_max);for(pi=1;pi<u+1;pi++){var B="pageno";if(hotel_page_current==pi){B+="-sel"}C+="<div class='"+B+"' onclick='hotel_page_show("+pi+");'>"+pi+"</div>"}var AB="class='pageno-dis'";if(hotel_page_current<u){AB="class='pageno2' onclick='hotel_page_show("+(hotel_page_current+1)+");'"}C+="<div "+AB+">&#8250;</div>";var K=(hotel_page_current-1)*hotel_page_max+1;var o=hotel_page_current*hotel_page_max;if(M<o){o=M}C+="&nbsp;&nbsp;&nbsp;&nbsp;("+K+"-"+o+" of "+M+")";C+="</div>"}if(AH>2&&W>5){x=E+C+"<div class='sep10'></div>"+x+C}document.getElementById("hotel_result_count").innerHTML=AD;document.getElementById("hotel_results").innerHTML=x;if(hotels_finished_all){Element.hide("hotel_updating")}}function hide_hotel_loading(){if(!hotels_finished_all){hotels_finished_all=true;for(var A in hotels_finished){if(!hotels_finished[A]){hotels_finished_all=false}}if(hotels_finished_all){Element.hide("hotel_loading")}}}var package_has_filters=false;function package_filters(B){package_has_filters=true;package_update();var A="";if(B=="city"){A=document.getElementById("dd_city").value}_gaq.push(["_trackEvent","Package","FilterUse",B,A])}function package_filters_reset(){var C=document.getElementById("dd_min_days");if(C!=null){C.selectedIndex=0}var A=document.getElementById("dd_max_days");if(A!=null){A.selectedIndex=A.options.length-1}var B=document.getElementById("dd_city");if(B!=null){B.selectedIndex=0}}function package_filters_remove(){package_has_filters=false;package_filters_reset();package_update();_gaq.push(["_trackEvent","Package","FilterUse","reset"])}function package_filters_toggle(){Element.toggle("package_filters");Element.toggle("package_filters_expand");Element.toggle("package_filters_close");Element.toggle("package_filters_reset")}function package_update(){var M=pkgs.length;var D=0;for(var G=0;G<M;G++){var K=pkgs[G];var B=K[0];var P=K[1];var Q=K[2];var L=K[3];var E=true;if(package_has_filters){var C=document.getElementById("dd_min_days");var H=document.getElementById("dd_max_days");if(C!=null&&H!=null){var F=C.value;var J=H.value;if(F!=0&&P<F){E=false}if(J!=0&&P>J){E=false}}if(E){var N=document.getElementById("dd_city");if(N!=null){var I=N.value;if(I!=0&&L.indexOf(":"+I+":")<0){E=false}}}}if(E){D+=1;Element.show("package_"+B)}else{Element.hide("package_"+B)}}var O=""+D;if(D<M){O+=" (of "+M+")"}O="Displaying <b>"+O+" packages</b>";if(D>1){O+=", sorted by days"}if(D<M){O+=" <a href='javascript:void(0)' onclick='package_filters_remove()'>(Show all)</a>"}document.getElementById("package_result_count").innerHTML=O;var A="";if(D==0&&package_has_filters){A="<div class='sep20'></div><h2>Oops! No packages to display. <a href='javascript:void(0)' onclick='package_filters_remove()'>Remove all filters.</a></h2><div class='sep20'></div>";document.getElementById("package_results").innerHTML=A}else{document.getElementById("package_results").innerHTML=""}}function photo_add(){Element.show("pic_submit_box");Element.show("pic_submit_title");Element.show("pic_submit_form_div");return false}var reachItems=["air","bus","train","cab","car","sea","getin","direction"];function showComment(D){var C=reachItems.length;for(var B=0;B<C;B++){var F="CommentBox"+reachItems[B];var A=document.getElementById(F);if((A!=null)&&(reachItems[B]!=D)){Element.hide(F)}}if(D!="none"){showWidget("none")}var E=document.getElementById("CommentBox"+D);if((E!=null)&&(E!="undefined")){Element.toggle("CommentBox"+D)}}function showWidget(C){var B=reachItems.length;for(var A=0;A<B;A++){if(reachItems[A]!=C){var E="book_"+reachItems[A];var D=document.getElementById(E);if((D!=null)&&(D!="undefined")){Element.hide(E)}}}if(C!="none"){showComment("none")}var D=document.getElementById("book_content_"+C);if((D!=null)&&(D!="undefined")){D.innerHTML=document.getElementById("book_widget_"+C).innerHTML;Element.show("book_"+C)}}function processFilter(A){processTags(A)}function processTags(E){var B=document.getElementById("tagsTable");var C=B.getElementsByTagName("input");var D="";var A=C.length;for(i=0;i<A;i++){e=C[i];if(E=="Single"){if(e.checked){}else{}}else{if(E=="All"){e.checked=true}else{if(E=="None"){e.checked=false}}}}}function processAllTags(){processFilter("All")}function clearAllTags(){processFilter("None")}function tagFilterSubmit(A){document.getElementById("tag_filter").value=A;processTags("Single");document.getElementById("filter_form").onsubmit()}function calendar_date(E,F,D,A,C,H,B){if((H==null)||(H=="undefined")){H=false}var G=new CalendarDateSelect(F,{embedded:H,buttons:false,year_range:[1980,D],onchange:function(J){if(E=="START_DATE"){date_vars[A+"_start_date_str"]=(this.calendar_date_select.selected_date.getMonth()+1)+"/"+this.calendar_date_select.selected_date.getDate()+"/"+(this.calendar_date_select.selected_date.getFullYear());var I=document.getElementById(A+"_end_date");if(I!=null){I.value=new Date(new Date(date_vars[A+"_start_date_str"]).getTime()+2*86400000).toFormattedString()}if(B=="package_calcprice()"){package_calcprice()}else{if(B=="cab_calcprice()"){cab_calcprice()}}}},valid_date_check:function(I){if(E=="START_DATE"){if(C){return(I>=(new Date(date_vars[A+"_today_str"])).stripTime())}else{return true}}else{if(E=="END_DATE"){if(C){return(I>(new Date(date_vars[A+"_start_date_str"])).stripTime())}else{return(I>=(new Date(date_vars[A+"_start_date_str"])).stripTime())}}}}})}function show_season_month(D){var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var C;for(var B=0;B<A.length;B++){Element.hide("season_"+A[B]);Element.hide("arrow_season_"+A[B]);C=document.getElementById("td_"+A[B]);C.className=C.className.sub("-sel","")}Element.show("season_"+D);Element.show("arrow_season_"+D);C=document.getElementById("td_"+D);C.className=C.className+"-sel"}function rb_filter_dest(){document.getElementById("rb_source_id").value=document.getElementById("rb_source").value;document.getElementById("bus_route_form").onsubmit()}function getin_filter_dest(){document.getElementById("getin_source_id").value=document.getElementById("getin_source").value;document.getElementById("getin_route_form").onsubmit()}function train_detail(A){Element.show("train_detail_box");Element.show("TranslucentLayer");document.getElementById("train_detail").innerHTML=document.getElementById("train_detail_loading_box").innerHTML;hideSelects();document.getElementById("train_id").value=A;document.getElementById("train_detail_form").onsubmit()}function HotelRoom(){}HotelRoom.prototype.initialize=function(C,B,H,E,A,D,G,F,I,J){this.id=C;this.name=B;this.price=H;this.total_price=H*A;this.quantity=E;this.sel_quantity=A;this.adult=D;this.child1=G;this.child2=F;this.extra_bed=I;this.nights=J;return this};var hotel_currency="Rs";var hotel_rooms=new Array();var hotel_req_rooms=0;var hotel_req_adults=0;var hotel_total_price=0;var hotel_sel_rooms=0;var hotel_sel_adults=0;var hotel_double_rooms=0;var hotel_extra_beds=0;function hotel_calcprice(){hotel_total_price=0;hotel_sel_rooms=0;hotel_sel_adults=0;hotel_double_rooms=0;hotel_extra_beds=0;for(var A in hotel_rooms){r=hotel_rooms[A];var B=document.getElementById("rq_"+r.id);if(B!=null){r.sel_quantity=parseInt(B.value);r.total_price=r.price*r.sel_quantity*r.nights;hotel_total_price+=r.total_price;hotel_sel_rooms+=1;hotel_sel_adults+=r.adult*r.sel_quantity;if(r.adult>1){hotel_double_rooms+=r.sel_quantity}if(r.extra_bed=="true"){hotel_extra_beds+=r.sel_quantity}var D="-";if(r.total_price>0){D=hotel_currency+" "+Number(r.total_price).toLocaleString().replace(".00","")}document.getElementById("rp_"+r.id).innerHTML=D}}document.getElementById("hotel_total_price").innerHTML=hotel_currency+" "+Number(hotel_total_price).toLocaleString().replace(".00","");document.getElementById("hotel_total_price_form").value=hotel_total_price;var C="";if(hotel_extra_beds>hotel_double_rooms){if(hotel_double_rooms>0){C="Only 1 extra bed can be requested per room. Please select another room instead of extra bed."}else{C="Single occupancy rooms cannot have extra bed. Please select a double room."}Element.show("hotel_book_detail_button_disabled");Element.hide("hotel_book_detail_button")}else{if(hotel_req_adults>hotel_sel_adults){var C="The current room selection can accomodate only "+hotel_sel_adults+" adult(s). Please select rooms/beds for "+(hotel_req_adults-hotel_sel_adults)+" more adult(s).";Element.show("hotel_book_detail_button_disabled");Element.hide("hotel_book_detail_button")}else{C="";Element.hide("hotel_book_detail_button_disabled");Element.show("hotel_book_detail_button")}}document.getElementById("hotel_book_detail_error").innerHTML=C;Element.show("hotel_book_detail_error")}var hotelItems=["rooms","location","amenities","cuisines","photos","map"];function hotel_tab(B,F){var D=hotelItems.length;for(var C=0;C<D;C++){var A="hotel_"+hotelItems[C]+"_"+F;var E=document.getElementById(A);if((E!=null)&&(E!="undefined")){Element.hide(A);cc(A+"_tab","td-tab2")}}var A="hotel_"+B+"_"+F;Element.show(A);cc(A+"_tab","td-tab2sel")}function hotel_detail(B,A){Element.show("inasra_hotel_detail_box");Element.show("TranslucentLayer");document.getElementById("inasra_hotel_detail").innerHTML=document.getElementById("inasra_hotel_detail_loading_box").innerHTML;hideSelects();document.getElementById("hotel_detail_id").value=B;document.getElementById("hotel_partner").value=A;document.getElementById("hotel_detail_form").onsubmit()}function hotel_select(C,E,B,D,A,F){document.getElementById("hotel_total_price").innerHTML=0;document.getElementById("hotel_book_button").innerHTML="";Element.show("hotel_book_box");Element.show("TranslucentLayer");document.getElementById("hotel_book_detail").innerHTML=document.getElementById("hotel_book_loading_box").innerHTML;hideSelects();document.getElementById("hotel_city_name").value=C;document.getElementById("hotel_id").value=E;document.getElementById("hotel_name").value=B;document.getElementById("hotel_room_id").value=D;document.getElementById("hotel_room_name").value=A;document.getElementById("hotel_room_price").value=F;document.getElementById("hotel_book_detail_form").onsubmit()}function hotel_confirm(){document.getElementById("hotel_book_button").innerHTML="";document.getElementById("hotel_book_confirm_form").onsubmit();document.getElementById("hotel_book_detail").innerHTML=document.getElementById("hotel_book_loading_box").innerHTML}function hotel_send_inasra(A){Element.hide("box_close");document.getElementById("hotel_book_detail_price").innerHTML=document.getElementById("hotel_blank").innerHTML;document.getElementById("hotel_confirm_box").innerHTML=document.getElementById("hotel_confirm_loading_box").innerHTML;document.getElementById("hotel_book_confirm_result_form").onsubmit()}function hotel_lead_email(B,A,F,H,D,C,G){A=A.capitalize();document.getElementById("hotel_lead_detail").innerHTML=document.getElementById("hotel_lead_form").innerHTML;document.getElementById("hotel_review_id").value=B;document.getElementById("hotel_email_name").value=A;document.getElementById("hotel_email_id").value=F;document.getElementById("hotel_email_subject").value="Re: "+H+" hotel request by "+A+": Must See India";var E=document.getElementById("hotel_email_text");var I=E.value;I=I.replace(/param_person_name/g,A).replace(/param_city_name/g,H).replace(/param_hotel_url/g,G).replace(/param_start_date/g,D).replace(/param_end_date/g,C);E.value=I;hotel_lead_preview();Element.show("hotel_lead_box");Element.show("TranslucentLayer")}function hotel_lead_close(){Element.hide("hotel_lead_box");Element.hide("TranslucentLayer");document.getElementById("hotel_lead_detail").innerHTML=""}function hotel_lead_preview(){document.getElementById("hotel_lead_preview").innerHTML=document.getElementById("hotel_email_text").value}var packageItems=["overview","itinerary","rates","hotels","terms"];var package_prices=[];function package_tab(B){var D=packageItems.length;for(var C=0;C<D;C++){var A="package_"+packageItems[C];var E=document.getElementById(A);if((E!=null)&&(E!="undefined")){Element.hide(A);cc(A+"_tab","td-tab2")}}var A="package_"+B;Element.show(A);cc(A+"_tab","td-tab2sel")}function package_book(D,E,A,C,B){Element.hide("package_total_price_label");Element.hide("package_total_price");document.getElementById("package_total_price").innerHTML=0;document.getElementById("package_book_button").innerHTML="";Element.show("package_book_box");Element.show("TranslucentLayer");document.getElementById("package_book_detail").innerHTML=document.getElementById("package_book_loading_box").innerHTML;hideSelects();document.getElementById("package_id").value=E;document.getElementById("package_category").value=A;document.getElementById("package_start_date").value=C;document.getElementById("package_adult_count").value=B;document.getElementById("package_book_form").onsubmit()}function package_calcprice(F){if(typeof (F)==="undefined"){F=true}var E=0;var H=1100;var D=document.getElementById("package_adult_count").value;var A=document.getElementById("package_category").value;var G=document.getElementById("package_start_date").value;var C=false;var B=package_prices["base_"+A];if((G!=null)&&(G!="")){arr=G.split("/");d=Number(arr[0]);m=Number(arr[1]);y=Number(arr[2]);if(d<10){d="0"+d}if(m<10){m="0"+m}package_start_date_str=d+"/"+m+"/"+y;H=package_prices[package_start_date_str+"_"+A];if(H==null){H=B}C=true;Element.hide("error_package_start_date")}else{H=B;if(F){Element.show("error_package_start_date")}}all_is_well=C&&checkFormInput("reviewInput_user_name","error_name")&&checkFormInput("reviewInput_email","error_email")&&checkFormInput("reviewInput_phone","error_phone");E=H*D;document.getElementById("package_per_person_price").innerHTML="Rs "+Number(H).toLocaleString();document.getElementById("package_total_price").innerHTML="Rs "+Number(E).toLocaleString();Element.show("package_per_person_price");return all_is_well}function package_confirm(A){all_is_well=package_calcprice();if(all_is_well){Element.hide("package_total_price_label");Element.hide("package_total_price");document.getElementById("package_book_button").innerHTML="";if(A==2){window.location="https://www.inasra.com/packages_result.php?pid=1&locid=286&curadperm=&pricur=INR&filter=&sortby=&sortorder=&continue=Continue&checkinday=23&checkinmonth=9&checkinyear=2009&checkoutday=23&checkoutmonth=9&checkoutyear=2009&city=Ooty&checkin=23%2F9%2F2009&checkout=23%2F9%2F2009&no_of_nights=2&continue=Continue"}else{document.getElementById("package_book_confirm_form").onsubmit()}document.getElementById("package_book_detail").innerHTML=document.getElementById("package_book_loading_box").innerHTML}}function package_send_payment(){document.getElementById("package_confirm_box").innerHTML=document.getElementById("package_confirm_loading_box").innerHTML;document.getElementById("package_book_payment_form").submit()}function cab_calcprice(){var K=new Date(getFlightDate(document.getElementById("reviewInput_start_date").value,"js"));var A=new Date(getFlightDate(document.getElementById("reviewInput_end_date").value,"js"));var L=2;if(K!=null&&A!=null){L=(A.getTime()-K.getTime())/86400000+1}var F=cab_rate_plan[document.getElementById("reviewInput_package_category").value];var I=250;var E=150;var J=route_distance*2;var H=I*L;var C="to and fro distance";if(J<H){J=H;C="min distance per day: "+I+" km"}var D=J*F;var G=E*L;var B=D+G;var M="<table class='tab'><tr><td width='150'><h2>Rs "+number_with_delimiter(B)+"</h2></td><td class='td-pl'>Total distance = "+number_with_delimiter(J)+" km ("+C+")<br>Cab charges = Rs "+number_with_delimiter(D)+" (per km rate of Rs "+F+")<br>Driver charges = Rs "+number_with_delimiter(G)+" (at Rs "+E+" per day)</td></tr></table>";document.getElementById("cab_total_price").innerHTML=M}function hideSelects(){var A=document.getElementById("hideSelectDiv");if(A!=null){A.className+=" hideSelects"}}function showSelects(){var A=document.getElementById("hideSelectDiv");if(A!=null){A.className=document.body.className.replace(" hideSelects","")}}function correctPNG(){var F=navigator.appVersion.split("MSIE");var G=parseFloat(F[1]);if((G>=5.5)&&(document.body.filters)){for(var C=0;C<document.images.length;C++){var D=document.images[C];if(D.msiName){var I=D.src.toUpperCase();var E=(D.id)?"id='"+D.id+"' ":"";var J=(D.className)?"class='"+D.className+"' ":"";var B=(D.title)?"title='"+D.title+"' ":"title='"+D.alt+"' ";var H="display:inline-block;"+D.style.cssText;if(D.align=="left"){H="float:left;"+H}if(D.align=="right"){H="float:right;"+H}if(D.parentElement.href){H="cursor:hand;"+H}var A="<span "+E+J+B+' style="width:'+D.width+"px;height:"+D.height+"px;"+H+";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+D.src+"');\"></span>";D.outerHTML=A;C=C-1}}}}var mainCities=["Delhi","Bangalore","Mumbai","Chennai","Pune","Hyderabad","Kolkata","Your-City"];var mainThemes=["hill","romantic","beach","adventure","historic","religious"];function showGetawayLab(A){showLabItem(A,mainCities)}function showThemeLab(A){showLabItem(A,mainThemes)}function showLabItem(B,A){var D=A.length;for(var C=0;C<D;C++){if(B==A[C]){cc("lab-"+A[C],"lab-open");Element.show("List-"+A[C])}else{cc("lab-"+A[C],"lab-close");Element.hide("List-"+A[C])}}}function go_to_places_around(A){if(A.value!=""&&A.value!=get_default_value_from_hash(A.id)){window.location="places-around-"+format_text(A.value)}}var urls=new Array();var show_urls=new Array();var captions=new Array();var image_index=0;function show_image_next(){if(image_index<(urls.length-1)){image_index++;show_image_index(image_index);if(image_index==(urls.length-1)){var A=document.getElementById("trip_right_image");A.innerHTML="<img src='/images/right_arrow_pic_small_disabled.png' title='This is the last pic'>"}if(image_index==1){var B=document.getElementById("trip_left_image");B.innerHTML="<img src='/images/left_arrow_pic_small.png' title='Previous thumbnail'>"}}}function show_image_previous(){if(image_index>0){image_index--;show_image_index(image_index);if(image_index==0){var B=document.getElementById("trip_left_image");B.innerHTML="<img src='/images/left_arrow_pic_small_disabled.png' title='This is the first pic'>"}if(image_index==(urls.length-2)){var A=document.getElementById("trip_right_image");A.innerHTML="<img src='/images/right_arrow_pic_small.png' title='Next thumbnail'>"}}}function show_image_index(D){var A=document.getElementById("trip_slide_image");if(D<urls.length){A.innerHTML="<a href='"+show_urls[D]+"' title='"+captions[D]+"'><img src='"+urls[D]+"' class='album-img'></a>";var F=document.getElementById("trip_image_index");F.innerHTML=(D+1)+" of "+urls.length;var C=10;var B=document.getElementById("pre_image");var E=D;for(var E=D-C/2;(E<=D+C/2)&&(E<urls.length);E++){if(E>=0){B.innerHTML+="<img src='"+urls[E]+"'>"}}}}var albums=new Array();var pics=new Array();function slideshow(){var A={startup:function(){A.cycle();new PeriodicalExecuter(A.cycle,8)},cycle:function(){if(image_index<urls.length){img=document.getElementById("slide"+(image_index-1));if((image_index==0)||(img&&isImageOk(img))){new Effect.Fade("slideshow",{duration:1,fps:50,afterFinish:function(){document.getElementById("slideshow").innerHTML=(image_index+1)+" of "+urls.length+"<br><br><img id='slide"+image_index+"' src='"+urls[image_index]+"'><br>"+captions[image_index];new Effect.Appear("slideshow",{duration:1,fps:50,queue:"end"});var C=4;var B=document.getElementById("slide_images");var D=image_index;if(image_index!=0){D+=C-1}for(;(D<image_index+C)&&(D<urls.length);D++){pic_url=pic_show_url.replace("id1",albums[D]).replace("id2",pics[D]);B.innerHTML+="<a href='"+pic_url+"'><img src='"+urls[D]+"'></a><br>"+captions[D]+"<br><br><br>"}image_index++}})}}else{Element.hide(document.getElementById("slideshow_container"));Element.show(document.getElementById("slide_images"))}}};A.startup()}function isImageOk(A){if(!A.complete){return false}if(typeof A.naturalWidth!="undefined"&&A.naturalWidth==0){return false}return true}function submitHaving(){var A=document.getElementById("having_user_id").value;if(A!="0"){document.getElementById("having_name").value=member_hash[A];document.getElementById("trip_album_having_form").submit()}}function removeTripMember(A){var B=document.getElementById("trip_member_remove_form_"+A);B.onsubmit()}function processBuddies(E){var B=document.getElementById("trip_invite_form");var C=B.getElementsByTagName("input");var D="";var A=C.length;for(i=0;i<A;i++){e=C[i];if(E=="Single"){if(e.checked){D+=e.getAttribute("name")+","}}else{if(E=="All"){e.checked=true;D+=e.getAttribute("name")+","}else{if(E=="None"){e.checked=false}}}}document.getElementById("buddylist").value=D}var pics=new Array();var pics_remove=new Array();var emptyPlaces=new Array();function updatePicsList(){pic_list_el=document.getElementById("pic_list");pic_list_el.setAttribute("value",pics.toString());pic_remove_list_el=document.getElementById("pic_remove_list");pic_remove_list_el.setAttribute("value",pics_remove.toString())}function addPic(B){element1=document.getElementById("pic_"+B);var C=0;for(var A=0;A<emptyCount;A++){if(emptyPlaces[A]==nil){C=A;break}}if(C==(emptyCount-1)){addEmptySpaces()}element2=document.getElementById("drop"+C);imgel=document.getElementById("pic_url_"+B);element2.innerHTML="<table> <tr> <td class='genericTable-TD-narrow-center' id='pic_url_remove_"+B+"'>"+imgel.innerHTML+"</td> <td class='genericTable-TD-narrow-center'><span class=\"link-pic-remove\" onClick=\"removePic('"+B+"', 'drop"+C+"', "+C+', false);"><img src="<?=SITE_URL?>/images/pic_remove.png" alt="Remove Pic" title="Remove this pic"></span></td> </tr> </table>';element1.innerHTML="";element2.className="picsTable-TD";element1.className="photo-drag-disabled";emptyPlaces[C]=B;pics.push(B);for(A=0;A<pics_remove.length;A++){if(pics_remove[A]==B){pics_remove.splice(A,1)}}}function removePic(B,D,A,C){for(i=0;i<pics.length;i++){if(pics[i]==B){pics.splice(i,1)}}element1=document.getElementById(D);element2=document.getElementById("pic_"+B);imgel=document.getElementById("pic_url_remove_"+B);element2.innerHTML="<table> <tr> <td class='genericTable-TD-narrow-center' id='pic_url_"+B+"'>"+imgel.innerHTML+"</td> <td class='genericTable-TD-narrow-center'><span class=\"link-pic-remove\" onClick=\"addPic('"+B+'\');"><img src="<?=SITE_URL?>/images/pic_add.png" alt="Add Pic" title="Add this pic"></span></td> </tr> </table>';if(C==true){pics_remove.push(B);element1.innerHTML="";element1.className="picsTable-TD-empty"}else{element1.innerHTML="";element1.className="picsTable-TD-border";emptyPlaces[A]=nil}}function addEmptySpaces(){var D=3;var A=3*D;var C=document.getElementById("trip_pics_empty");var E="";for(var B=0;B<A;B++){if(B%D==0){E+="\n<tr class='picsTable-TR'>\n"}E+="\t<td class='picsTable-TD-border' id='drop"+(emptyCount)+"'></td>\n";if((B+1)%D==0){E+="</tr>\n"}emptyCount++}C.innerHTML+=E}function deletePic(B){var A=document.getElementById("trip_pic_delete_form_"+B);A.onsubmit()}function removeFavorite(B){var A=document.getElementById("picFavorite_remove_form_"+B);A.onsubmit()}function addFavorite(B){var A=document.getElementById("picFavorite_add_form_"+B);A.onsubmit()}function citySelect(C,B,A){var E=document.getElementById(C);var D=E.value;if(D==0){Element.show(B)}else{Element.hide(B);if((A!=null)&&(A!="undefined")){Element.hide(A)}}if(D.toString()!="0"&&D.toString()!="-1"){enableButton("city_add_button")}}function addCity(C,E,B){var F=document.getElementById(C);var D=F.value;var A="0";if(D.replace(/^\s+|\s+$/g,"")){if(D==0){F=document.getElementById(E);A=F.value.replace(/^\s+|\s+$/g,"");if(A==""){return }}else{A=F.value}}addCityWithValues(A,B);disableButton("city_add_button")}function removeCity(F,B){var E=document.getElementById(F);E.innerHTML="";var C=document.getElementById("post_lived_cities_id");var D=C.value;D=D.replace(":"+B+":",":");C.value=D;var A=document.getElementById("option_"+B);if(A!=null){A.disabled=""}if(cities_lived_in[B.toLowerCase()]!=null){cities_lived_in[B.toLowerCase()]=null}}function processInterests(){var B=document.getElementById("travel_interests");var C=B.getElementsByTagName("input");var D=":";var A=C.length;for(i=0;i<A;i++){e=C[i];if(e.checked){D+=e.getAttribute("name")+":"}}document.getElementById("post_interests").value=D}var all_cities=new Array();var city_markers_past=new Array();var city_markers_wish=new Array();var place_markers=new Array();var place_htmls=new Array();function cityPast(C,B){var A=document.getElementById("city_past_"+C);if(B){A.checked=true;A.disabled=true;A.title="You already have a trip created to "+all_cities[C].name}if(A.checked){addMarker(C,"past",B)}else{removeMarker(C,"past")}}function cityWish(C,B){var A=document.getElementById("city_wish_"+C);if(B){A.checked=true}if(A.checked){addMarker(C,"wish",B)}else{removeMarker(C,"wish")}}function addMarker(A,F,I){var C=all_cities[A];var H=new GLatLng(C.latitude,C.longitude);var E="<b>"+C.name+"</b><br>";var G;if(F=="past"){G="CitySmall";if(I){E+=C.trip_url+"<br>"}if(!I||(C.trip_start_date==null)||(C.trip_start_date=="")||(C.trip_end_date==null)||(C.trip_end_date=="")){var B=document.getElementById("destination_date_"+A);date_html=B.innerHTML;E+=B.innerHTML}else{E+="("+C.trip_date_str+")"}}else{if(F=="wish"){G="WishlistCity";E+="(Destination I wish to go)"}}var D=createMarker(H,C.name,E,G,A,false,true);map.addOverlay(D);if(F=="past"){city_markers_past[A]=D}else{if(F=="wish"){city_markers_wish[A]=D}}if(!I){map.panTo(H);D.openInfoWindowHtml(E)}}function removeMarker(B,A){if((A=="past")&&(city_markers_past[B]!=null)){map.removeOverlay(city_markers_past[B])}else{if((A=="wish")&&(city_markers_wish[B]!=null)){map.removeOverlay(city_markers_wish[B])}}}function show_place(A){if(A!=null){if(place_markers[A]!=null&&place_htmls[A]!=null){place_markers[A].openInfoWindow(place_htmls[A])}}}function change_class(B,A){if(B==previousLinkID&&A=="false"){return }if(previousLinkID!=""){id_visible="map_view_link_span1_"+previousLinkID;id_invisible="map_view_link_span2_"+previousLinkID;if(swap_inner_htmls(id_visible,id_invisible)){previousLinkID=""}}if(A=="false"){id_visible="map_view_link_span1_"+B;id_invisible="map_view_link_span2_"+B;if(swap_inner_htmls(id_visible,id_invisible)){previousLinkID=B}else{previousLinkID=""}}}function travelMapSubmit(){var E="";var C=all_cities.length;for(var F=0;F<=C;F++){var A=document.getElementById("city_past_"+F);if((A!=null)&&(A!="undefined")){if(A.checked){var B,D;B="trip_"+F+"_start_date";D=all_cities[F].new_start_date;if(!all_cities[F].date_saved){D=document.getElementById(B).value}E+=B+"="+D+":";B="trip_"+F+"_end_date";D=all_cities[F].new_end_date;if(!all_cities[F].date_saved){D=document.getElementById(B).value}E+=B+"="+D+":"}}city=all_cities[F];if((city!=null)&&(city.trip_id!=null)&&(city.new_start_date!=null)&&(city.new_end_date!=null)&&(city.new_start_date!="")&&(city.new_end_date!="")){var B;B="oldtrip_"+city.trip_id+"_start_date";D=all_cities[F].new_start_date;if(!all_cities[F].date_saved){D=document.getElementById(B).value}E+=B+"="+D+":";B="oldtrip_"+city.trip_id+"_end_date";D=all_cities[F].new_end_date;if(!all_cities[F].date_saved){D=document.getElementById(B).value}E+=B+"="+D+":"}}document.getElementById("param_list").value=E;document.getElementById("user_travel_map_form").submit()}function date_month_change(F,B,D){var E=document.getElementById(F);var H=document.getElementById(B);var G=document.getElementById(D);var A=month_get_num_days(E.value,G.value);for(var C=H.options.length;C>A;C--){H.options[C]=null}for(var C=H.options.length;C<=A;C++){H.options[C]=new Option(C)}}function date_year_change(C,A,B){date_month_change(C,A,B)}function month_get_num_days(C,B){var A;A=new Date(B?B:1901,C,0);return A.getDate()}function tf_focus(A,B){if(A.value==B){A.value="";A.className=A.className.replace("-light","")}}function tf_blur(A,B){if(A.value==""){A.value=B;if(A.className.indexOf("-light")<0){A.className=A.className+"-light"}}}function toggleDisplay(E,D,A,B){var C=displayStatus[E];if((C==undefined)||(C==null)){C=D}if(C){Element.hide(E);Element.show(A);Element.hide(B)}else{Element.show(E);Element.hide(A);Element.show(B)}displayStatus[E]=!C}function disableButton(A){if((A!=undefined)&&(A!=null)){element=document.getElementById(A);if(element!=null){element.disabled=true}}}function enableButton(A){if((A!=undefined)&&(A!=null)){element=document.getElementById(A);if(element!=null){element.disabled=false}}}function formLoading(A){document.body.style.cursor="wait";disableButton(A)}function formComplete(A){document.body.style.cursor="default";enableButton(A)}function formFailure(A){document.body.style.cursor="default";enableButton(A)}function cursorWait(){document.body.style.cursor="wait"}function cursorDefault(){document.body.style.cursor="default"}function edit_comment(E,C,B,D,A){set_element_value("reviewInput_user_name",C);set_element_value("reviewInput_email",B);set_element_value("reviewInput_comment",D);set_element_value("reviewInput_phone",A);set_element_value("review_id",E);previousCommentID=E;Element.hide("review-title-add");Element.show("review-title-edit");Element.hide("review-button-add");Element.show("review-button-edit")}function edit_comment_cancel(A){Element.hide("review-title-edit");Element.show("review-title-add");Element.hide("review-button-edit");Element.show("review-button-add");comment_clear(A)}function comment_clear(B){if(B==null){B="reviewInput"}set_element_value(B+"_user_name","");set_element_value(B+"_email","");set_element_value(B+"_comment","");set_element_value(B+"_phone","");var A=$("no_comments");if(A!=undefined&&A!=null){Element.hide("no_comments")}}function value_clear(A){set_element_value(A,"")}function set_element_value(B,A){element=document.getElementById(B);if(element!=null){element.value=A}}function hidePreviousComment(){if(previousCommentID!=""){Element.hide("review_"+previousCommentID)}}function genericLoading(B,A){document.getElementById(B).innerHTML="<span class='text-small-light'>"+A+"</span>"}function genericComplete(B,A){document.getElementById(B).innerHTML="<span class='text-small-light'>"+A+"</span>"}function swap_inner_htmls(B,A){element_1=document.getElementById(B);element_2=document.getElementById(A);if(element_1!=null&&element_2!=null&&element_1!=undefined&&element_2!=undefined){html_temp=element_1.innerHTML;element_1.innerHTML=element_2.innerHTML;element_2.innerHTML=html_temp;return true}else{return false}}function captionShowForm(A,B){Element.show(A);Element.hide(B)}function showHideItems(B,A){Element.show(B);Element.hide(A)}function cc(B,A){hoverChangeClass(B,A)}function hoverChangeClass(B,A){element=document.getElementById(B);element.className=A}function sd(A){cc("mtd-"+A,"mtl-hover")}function sdd(A){cc("mtd-"+A,"mtl")}function menuSelected(A){cc(A,"mtl-hover")}function menuDeselected(A){cc(A,"mtl")}function autocompleteSubmit(A){if(A!=""){if(indexOfCI(collection,A)>=0){gotoCity(A)}else{window.location="/search?q="+A}}}function gotoCity(B){var A=format_text(B);gotoURL("/"+A)}function gotoURL(A,B){if(B=="true"){window.open(A,"_blank")}else{window.location=A}}function get_city_code(B){if(B.indexOf("(")>-1&&B.indexOf(")")>-1){var A=B.replace(/\([A-Z]+\)/,"");B=B.replace(A,"").replace("(","").replace(")","")}return B}function get_city_name(B){var A="";if(B.indexOf("(")>-1&&B.indexOf(")")>-1){A=B.replace(/\([A-Z]+\)/,"");A=A.replace("(","").replace(")","").replace(/\s+$/,"")}return A}function getFlightDate(G,D){var A=G.split("/");var B=A[0];var F=A[1];var C=A[2];var E="";if(B.length<2){B="0"+B}if(F.length<2){F="0"+F}if(D=="goibibo"){E=C+F+B}else{if(D=="yatra"||D=="akbar_flight"){E=B+"/"+F+"/"+C}else{if(D=="js"){E=F+"/"+B+"/"+C}else{if(D=="ezeego1"){C=C.replace(/20/,"");E=B+"/"+F+"/"+C}else{E=B+F+C}}}}return E}function checkPartners(B,C,A){if(B=="yatra_hotel"){e=document.getElementById("cb_yatra_hotel");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="hotel_search"}city=document.getElementById("input_hotel_city").value;if(city.toLowerCase() in hash_yatra_city_names){city=hash_yatra_city_names[city.toLowerCase()]}checkin=getFlightDate(document.getElementById("hotel_param_start_date").value,"yatra");checkout=getFlightDate(document.getElementById("hotel_param_end_date").value,"yatra");rooms=document.getElementById("inasra_rooms").value;J=document.getElementById("inasra_adults").value;D=document.getElementById("inasra_children").value;if(rooms>2){rooms=2}room_adults=[0,J,2,2,2,2];room_children=[0,D,0,0,0,0];if(rooms>1){adults_count=J;children_count=D;var G=1;for(G=1;G<rooms;G++){var K=Math.floor(adults_count/(rooms-G+1));room_adults[G]=K;adults_count-=K;K=Math.floor(children_count/(rooms-G+1));room_children[G]=K;children_count-=K}if(adults_count<=0){adults_count=0}room_adults[G]=adults_count;if(children_count<=0){children_count=0}room_children[G]=children_count}url="http://trackin.affiliserve.com/?PID=5746&AID=81615&CID=2911456&MID=35535&WID=23532&UID="+A+"&Redirect=http%3A//domestichotels.yatra.com/hotel/search%3FnumAdt_room_2%3D"+room_adults[2]+"%26numAdt_room_1%3D"+room_adults[1]+"%26codate%3D"+checkout+"%26ageChd_1_room_1%3D2%26ageChd_1_room_2%3D2%26ageChd_3_room_1%3D2%26ageChd_3_room_2%3D2%26numChd_room_2%3D"+room_children[2]+"%26cityname%3D"+city+"%26cidate%3D"+checkin+"%26ageChd_2_room_2%3D2%26ageChd_2_room_1%3D2%26room%3D"+rooms+"%26numChd_room_1%3D"+room_children[1]+"%26ci%3DO72";window.open(url,"_blank")}}else{if(B=="cleartrip_hotel"){e=document.getElementById("cb_cleartrip_hotel");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="hotel_search"}city=document.getElementById("input_hotel_city").value;checkin=document.getElementById("hotel_param_start_date").value;checkout=document.getElementById("hotel_param_end_date").value;rooms=document.getElementById("inasra_rooms").value;J=document.getElementById("inasra_adults").value;D=document.getElementById("inasra_children").value;adults_str=J;children_str=D;if(rooms>1){adults_str="";children_str="";adults_count=J;children_count=D;for(var G=1;G<rooms;G++){var K=Math.floor(adults_count/(rooms-G+1));adults_str+=K+",";adults_count-=K;var K=Math.floor(children_count/(rooms-G+1));children_str+=K+",";children_count-=K}if(adults_count<=0){adults_count=0}if(children_count<=0){children_count=0}adults_str+=adults_count;children_str+=children_count}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=982&affiliateid=54804&k="+A+"&t=http://www.cleartrip.com/hotels/results?city="+city+"&state=&country=IN&ckIn="+checkin+"&ckOut="+checkout+"&noOfRooms="+rooms+"&ad="+adults_str+"&cd="+children_str+"&nri=false";window.open(url,"_blank")}}else{if(B=="travelocity_hotel"){e=document.getElementById("cb_travelocity_hotel");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="hotel_search"}city=document.getElementById("input_hotel_city").value;checkin=document.getElementById("hotel_param_start_date").value;checkout=document.getElementById("hotel_param_end_date").value;rooms=document.getElementById("inasra_rooms").value;J=document.getElementById("inasra_adults").value;D=document.getElementById("inasra_children").value;arr=checkin.split("/");day1=arr[0];month1=arr[1];year1=arr[2];arr=checkout.split("/");day2=arr[0];month2=arr[1];year2=arr[2];d1=new Date(year1,month1-1,day1);d2=new Date(year2,month2-1,day2);one_day=1000*60*60*24;diff=Math.ceil((d2.getTime()-d1.getTime())/one_day);room_adults=[0,J,2,2];if(rooms>1){adults_count=J;children_count=D;var G=1;for(G=1;G<rooms;G++){var K=Math.floor(adults_count/(rooms-G+1));room_adults[G]=K;adults_count-=K}if(adults_count<=0){adults_count=0}room_adults[G]=adults_count}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=1386&affiliateid=54804&k="+A+"&t=http://www.travelocity.co.in/site/travel/hotels/hotels-results.html?skin=enin.travelocity.co.in&lmnRooms="+rooms+"&returnURL=http%3A%2F%2Fwww.travelocity.co.in%2Fsite%2Fmain%2Fhomepage_zuji_en_IN.html&preserveName-CATEGORY=hotels&preserveName-requestURL=%2Fsite%2Fmain%2Fhomepage_zuji_en_IN.html%3Fskin%3Denin.travelocity.co.in&lmnShowRestaurants=False&lmnCheckOutDay="+day2+"&lmnLengthOfStay="+diff+"&lmnRoom2ChildAge2=&lmnCheckInDay="+day1+"&lmnRoom2ChildAge1=&lmnRoom3ChildAge1=&lmnChildrenRoom3=0&lmnChildrenRoom2=0&lmnChildrenRoom1=0&preserveName-CATID=4&lmnRoom3ChildAge3=&lmnRoom2ChildAge3=&lmnCheckInMonth="+month1+"&method=hotelsFullSearch&lmnRoom2ChildAge4=&lmnCheckOutMonth="+month2+"&CATID=4&preserveName-SEARCH=basic&lmnRoom3ChildAge2=&errorURL=http%3A%2F%2Fwww.travelocity.co.in%2Fsite%2Ftravel%2Fhotels%2Ferror.html&filterResultsBy=all&searchTypeName=cityName&lmnCountry=IN|INDIA|INDIA&lmnAdultsRoom3="+room_adults[3]+"&lmnAdultsRoom2="+room_adults[2]+"&lmnAdultsRoom1="+room_adults[1]+"&lmnRoom1ChildAge3=&lmnRoom1ChildAge2=&lmnRoom1ChildAge1=&lmnLocation="+city+"&lmnRoom3ChildAge4=&lmnRoom1ChildAge4=&preserveName-skin=enin.travelocity.co.in";window.open(url,"_blank")}}else{if(B=="expedia_hotel"){e=document.getElementById("cb_expedia_hotel");if(C||(e!=null&&e.checked)){city=document.getElementById("input_hotel_city").value;checkin=document.getElementById("hotel_param_start_date").value;checkout=document.getElementById("hotel_param_end_date").value;rooms=document.getElementById("inasra_rooms").value;J=document.getElementById("inasra_adults").value;D=document.getElementById("inasra_children").value;room_adults=[0,J,2,2,2,2];room_children=[0,D,0,0,0,0];if(rooms>1){adults_count=J;children_count=D;var G=1;for(G=1;G<rooms;G++){var K=Math.floor(adults_count/(rooms-G+1));room_adults[G]=K;adults_count-=K;K=Math.floor(children_count/(rooms-G+1));room_children[G]=K;children_count-=K}if(adults_count<=0){adults_count=0}room_adults[G]=adults_count;if(children_count<=0){children_count=0}room_children[G]=children_count}url="http://www.expedia.co.in/pubspec/scripts/eap.asp?GOTO=HOTSEARCH&SearchType=Place&SearchArea=City&PlaceName="+city+"&InDate="+checkin+"&OutDate="+checkout+"&Class=0&mdpcid=expe.IN.024.004.005.002&rfrr=&NumRoom="+rooms+"&NumAdult1="+room_adults[1]+"&NumSenior1=0&NumChild1="+room_children[1]+"&Rm1Child1Age=12&NumAdult2="+room_adults[2]+"&NumSenior2=0&NumChild2="+room_children[2]+"&Rm2Child1Age=12&NumAdult3="+room_adults[3]+"&NumSenior3=0&NumChild3="+room_children[3]+"&Rm3Child1Age=12";window.open(url,"_blank")}}else{if(B=="travelguru_hotel"){e=document.getElementById("cb_travelguru_hotel");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="hotel_search"}city=document.getElementById("input_hotel_city").value;if(city.toLowerCase() in hash_travelguru_city_names){city=hash_travelguru_city_names[city.toLowerCase()]}checkin=getFlightDate(document.getElementById("hotel_param_start_date").value,"yatra");checkout=getFlightDate(document.getElementById("hotel_param_end_date").value,"yatra");rooms=document.getElementById("inasra_rooms").value;J=document.getElementById("inasra_adults").value;D=document.getElementById("inasra_children").value;arr=checkin.split("/");day1=arr[0];month1=arr[1];year1=arr[2];arr=checkout.split("/");day2=arr[0];month2=arr[1];year2=arr[2];room_adults=[0,J,2,2,2,2];room_children=[0,D,0,0,0,0];if(rooms>1){adults_count=J;children_count=D;var G=1;for(G=1;G<rooms;G++){var K=Math.floor(adults_count/(rooms-G+1));room_adults[G]=K;adults_count-=K;K=Math.floor(children_count/(rooms-G+1));room_children[G]=K;children_count-=K}if(adults_count<=0){adults_count=0}room_adults[G]=adults_count;if(children_count<=0){children_count=0}room_children[G]=children_count}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=907&affiliateid=54804&k="+A+"&t=http://hotels.travelguru.com/searchedhotelresult.do?modifySearch=N&strCity="+city+"&strRooms="+rooms+"&strAdultsRoom1="+room_adults[1]+"&strChildrenRoom1="+room_children[1]+"&strAdultsRoom2="+room_adults[2]+"&strChildrenRoom2="+room_children[2]+"&strAdultsRoom3="+room_adults[3]+"&strChildrenRoom3="+room_children[3]+"&strAdultsRoom4="+room_adults[4]+"&strChildrenRoom4="+room_children[4]+"&strAgeChild1Room1=0&strAgeChild2Room1=0&strAgeChild3Room1=0&strAgeChild4Room1=0&strAgeChild1Room2=0&strAgeChild2Room2=0&strAgeChild3Room2=0&strAgeChild4Room2=0&strAgeChild1Room3=0&strAgeChild2Room3=0&strAgeChild3Room3=0&strAgeChild4Room3=0&strAgeChild1Room4=0&strAgeChild2Room4=0&strAgeChild3Room4=0&strAgeChild4Room4=0&strGroupId=TGU&strBookingType=H&strCurrency=INR&strDestinationRatePlansTypeId=ALL&strDestinationType=WI&strAdultsRoom5="+room_adults[5]+"&strChildrenRoom5="+room_children[5]+"&strAdultsRoom6=1&strChildrenRoom6=0&strAdultsRoom7=1&strChildrenRoom7=0&strAdultsRoom8=1&strChildrenRoom8=0&strType=D&strCheckindate="+day1+"&strCheckinmonth="+month1+"&strCheckinyear="+year1+"&strCheckoutdate="+day2+"&strCheckoutmonth="+month2+"&strCheckoutyear="+year2+"&strAffiliateCode=00000080";window.open(url,"_blank")}}else{if(B=="ezeego1_hotel"){e=document.getElementById("cb_ezeego1_hotel");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="hotel_search"}city=document.getElementById("input_hotel_city").value;checkin=getFlightDate(document.getElementById("hotel_param_start_date").value,"ezeego1");checkout=getFlightDate(document.getElementById("hotel_param_end_date").value,"ezeego1");rooms=document.getElementById("inasra_rooms").value;J=document.getElementById("inasra_adults").value;D=document.getElementById("inasra_children").value;arr=checkin.split("/");day1=arr[0];month1=arr[1];year1=arr[2];arr=checkout.split("/");day2=arr[0];month2=arr[1];year2=arr[2];d1=new Date(year1,month1-1,day1);d2=new Date(year2,month2-1,day2);one_day=1000*60*60*24;diff=Math.ceil((d2.getTime()-d1.getTime())/one_day);room_adults=[0,J,2,2,2,2];room_children=[0,D,0,0,0,0];if(rooms>1){adults_count=J;children_count=D;var G=1;for(G=1;G<rooms;G++){var K=Math.floor(adults_count/(rooms-G+1));room_adults[G]=K;adults_count-=K;K=Math.floor(children_count/(rooms-G+1));room_children[G]=K;children_count-=K}if(adults_count<=0){adults_count=0}room_adults[G]=adults_count;if(children_count<=0){children_count=0}room_children[G]=children_count}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=1421&affiliateid=54804&k="+A+"&t=http://www.ezeego1.co.in/live/hotelsearchpage.screen?productType=HOT&clientId=499&engineType=OFB&alternateoffer=false&sglQty=0&dblQty="+rooms+"&twnQty=0&tplQty=0&quadQty=0&noOfChildren=0&noOfAdults=2&landingpage=&isTimeLimit=false&hdCanBookTimeLimit=false&timelimitforcallcentre=null&CutAndPayApplicable=false&isesmployeepersonaltravelallowed=&itenaryId=null&trans_xid=&trans_hotel_pid=&booking_no=&clienUserId=0&session_id=kpt3o9ngabqn3vja0sjhcqqat3&cust_name=&SERVERNO=BLADES_01&domint=domestic&isdomestic=null&country=India+-+IN&=&city="+city+"+-+***&budget=&toDate=26%2F09%2F08&depDate="+checkin+"&leaveDate="+checkout+"&noofnights="+diff+"&rooms="+rooms+"&roomtype1=DBL_2&adult1="+room_adults[1]+"&child1="+room_children[1]+"&extraBed1=Y&childAge11=0&childAge12=0&roomtype2=DBL_2&adult2="+room_adults[2]+"&child2="+room_children[2]+"&extraBed2=Y&childAge21=0&childAge22=0&roomtype3=DBL_2&adult3="+room_adults[3]+"&child3="+room_children[3]+"&extraBed3=Y&childAge31=0&childAge32=0&select=IND&hotelName=&rating=0&selectedhotelcategoryforuse=1&roomtype=";window.open(url,"_blank")}}else{if(B=="cleartrip_train"){e=document.getElementById("cb_cleartrip_train");if(C||(e!=null&&e.checked)){F=document.getElementById("train_from_city");city1=F.value.replace(/\s+\([A-Z]+\)$/,"");E=document.getElementById("train_to_city");city2=E.value.replace(/\s+\([A-Z]+\)$/,"");start_date=document.getElementById("train_start_date").value;ct_date=start_date.replace(/\//g,"-");url="http://www.s2d6.com/x/?x=c&z=s&campaignid=1491&affiliateid=54804&k=train_search&t=http://www.cleartrip.com/trains/results?from_city="+city1+"&to_city="+city2+"&class=SL&date="+ct_date+"&adults=1&children=0&male_seniors=0&female_seniors=0";window.open(url,"_blank")}}else{if(B=="yatra_train"){e=document.getElementById("cb_yatra_train");if(C||(e!=null&&e.checked)){F=document.getElementById("train_from_city");city1=F.value.replace(/\s+\([A-Z]+\)$/,"");if(city1.toLowerCase() in hash_yatra_rly_names){city1=hash_yatra_rly_names[city1.toLowerCase()]}E=document.getElementById("train_to_city");city2=E.value.replace(/\s+\([A-Z]+\)$/,"");if(city2.toLowerCase() in hash_yatra_rly_names){city2=hash_yatra_rly_names[city2.toLowerCase()]}start_date=document.getElementById("train_start_date").value;ct_date=start_date.replace(/\//g,"-");url="http://www.s2d6.com/x/?x=c&z=s&campaignid=772&affiliateid=54804&k=train_search&t=http%3A//www.yatra.com/indian-railways/resultV2.html%3Fquota%3DGN%26session_id%3D%26dest_stn_code%3D%26destination%3D"+city2+"%26submit%3DFind%20Trains%26origin%3D"+city1+"%26adt%3D1%26chd%3D0%26srctnw%3D0%26src_stn_code%3D%26ddate%3D"+ct_date+"%26Class%3DSL%26srctzn%3D0";window.open(url,"_blank")}}else{if(B=="yatra_bus"){e=document.getElementById("cb_yatra_bus");if(C||(e!=null&&e.checked)){F=document.getElementById("rb_source").value.toLowerCase();city1=hash_bus_stands[F];E=document.getElementById("rb_dest_cities").value.toLowerCase();city2=hash_bus_stands[E];start_date=document.getElementById("bus_start_date").value;url="http://trackin.affiliserve.com/?PID=6045&AID=81615&CID=2911459&MID=35535&WID=23532&UID=bus_search&Redirect=http%3A//www.yatra.com/RedBus/step2v2.html%3Fdestination%3D"+city2+"%26hidRound%3Done%26origin%3D"+city1+"%26x%3D32%26y%3D5%26ddate%3D"+start_date+"%26type%3DO%26hidDestination%3D%26ADT%3D1%26ci%3DO72";window.open(url,"_blank")}}else{if(B=="yatra_flight"){var F=document.getElementById("selorigin").value;var N=get_city_code(F);var E=document.getElementById("seldestination").value;var L=get_city_code(E);var O=false;var H=getFlightDate(document.getElementById("flight_start_date").value);var M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value)}var J=document.getElementById("selnoOfAdults").value;var D=document.getElementById("selnoOfChildren").value;var P=document.getElementById("selnoOfInfants").value;e=document.getElementById("cb_yatra");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="flight_search"}H=getFlightDate(document.getElementById("flight_start_date").value,"yatra");url="http://trackin.affiliserve.com/?PID=5742&AID=81615&CID=2911454&MID=35535&WID=23532&UID="+A+"&Redirect=http%3A//domesticflights.yatra.com/flight/dom%3Fdepart_city_1%3D"+N+"%26destination_city_1%3D"+L+"%26flight_depart_date_1%3D"+H+"%26class_1%3DE%26ADT%3D"+J+"%26CHD%3D"+D+"%26INF%3D"+P+"%26ci%3DO72";M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value,"yatra");url+="%26rdate%3D"+M+"%26type%3DR%26"}else{url+="%26type%3DO"}window.open(url,"_blank")}}else{if(B=="cleartrip_flight"){var F=document.getElementById("selorigin").value;var N=get_city_code(F);var E=document.getElementById("seldestination").value;var L=get_city_code(E);var O=false;var H=getFlightDate(document.getElementById("flight_start_date").value);var M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value)}var J=document.getElementById("selnoOfAdults").value;var D=document.getElementById("selnoOfChildren").value;var P=document.getElementById("selnoOfInfants").value;e=document.getElementById("cb_cleartrip");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="flight_search"}H=document.getElementById("flight_start_date").value;url="http://www.s2d6.com/x/?x=c&z=s&campaignid=982&affiliateid=54804&k="+A+"&t=http://www.cleartrip.com/flights/results?from="+N+"&to="+L+"&depart_date="+H+"&adults="+J+"&childs="+D+"&infants="+P+"&dep_time=0&ret_time=0&class=Economy&airline=Enter+a+preferred+airline&carrier=&x=23&y=7";M="";if(O){M=document.getElementById("flight_end_date").value;url+="&return_date="+M+"&rnd_one=R"}else{url+="&rnd_one=O"}window.open(url,"_blank")}}else{if(B=="travelocity_flight"){var F=document.getElementById("selorigin").value;var N=get_city_code(F);var E=document.getElementById("seldestination").value;var L=get_city_code(E);var O=false;var H=getFlightDate(document.getElementById("flight_start_date").value);var M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value)}var J=document.getElementById("selnoOfAdults").value;var D=document.getElementById("selnoOfChildren").value;var P=document.getElementById("selnoOfInfants").value;e=document.getElementById("cb_travelocity");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="flight_search"}var I=document.getElementById("flight_start_date").value;arr=I.split("/");day1=arr[0];month1=arr[1];year1=arr[2];day2=day1;month2=month1;year2=year1;url1="&DPSRT=FA&DPTTT=O&DPHEI=2";url2="&DP1WF=1";M="";if(O){I=document.getElementById("flight_end_date").value;arr=I.split("/");day2=arr[0];month2=arr[1];year2=arr[2];url1="&DPSRT=PA&DPTTT=R&DPHEI=7";url2="&DP1WF=0"}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=1386&affiliateid=54804&k="+A+"&t=http://www.travelocity.co.in/site/travel/flights/transport-results.html?skin=enin.travelocity.co.in&mondial_auto=true&DPNOC="+D+"&DPNOA="+J+"&DPNOI="+P+"&DPLOC=en_IN&DPNOS=0&DPHSI=0&date_in_month="+month2+"&DPXCP=F&DPFSI=0&DPCID=0&DPXAL=F&DPTRT=flights&DPSFT=&DPXTR=F&DPBFT=False&DPXCH=F&DPXMG=F"+url1+"&failureURL=http://www.travelocity.co.in/site/travel/flights/flights-search-error.html&DPDAP="+N+"&DPBFE=False&DPXIN=F&DPCLS=X&DPPID=5002&date_out_month="+month1+"&DPFEI=9&TRANS=ViewTransportationSearchBox%2CdoSearchForTransportation&DPSAC=Z01&date_out_day="+day1+"&DPDCC=INR&DPIDT=0001"+url2+"&DPFIT=&DPODT=0001&DPAAP="+L+"&DPAIR=NONE&date_in_day="+day2+"&DPDIR=";window.open(url,"_blank")}}else{if(B=="ezeego1_flight"){var F=document.getElementById("selorigin").value;var N=get_city_code(F);var E=document.getElementById("seldestination").value;var L=get_city_code(E);var O=false;var H=getFlightDate(document.getElementById("flight_start_date").value,"ezeego1");var M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value,"ezeego1")}var J=document.getElementById("selnoOfAdults").value;var D=document.getElementById("selnoOfChildren").value;var P=document.getElementById("selnoOfInfants").value;e=document.getElementById("cb_ezeego1");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="flight_search"}var I=H;arr=I.split("/");day1=arr[0];month1=arr[1];year1=arr[2].replace(/20/,"");day2=day1;month2=month1;year2=year1;M="";if(O){I=M;arr=I.split("/");day2=arr[0];month2=arr[1];year2=arr[2]}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=1421&affiliateid=54804&k="+A+"&t=http://www.ezeego1.co.in/live/airline.do?language=english&session_id=0tell4887i3k4pigfnmd5bpo42&cust_name=&SERVERNO=APPS2&airline=Any&goto=flight&dom=Y&itripType=0&fromIATA="+N+"&toIATA="+L+"&fromDate="+H+"&onTime=Any&returnDate=&returnTime=Any&noOfAdults="+J+"&noOfChild="+D+"&noOfInfantSeat="+P+"&noOfInfantLap=0&directFlightFlagTemp=Y&LowCostCarrier=Y&NightFlightsOnly=Y&IndianRes=I&airline_dom=Any&airline_int=Any&classType=Economy";window.open(url,"_blank")}}else{if(B=="ibibo_flight"||B=="goibibo_flight"){var F=document.getElementById("selorigin").value;var N=get_city_code(F);var E=document.getElementById("seldestination").value;var L=get_city_code(E);var O=false;var H=getFlightDate(document.getElementById("flight_start_date").value,"ezeego1");var M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value,"ezeego1")}var J=document.getElementById("selnoOfAdults").value;var D=document.getElementById("selnoOfChildren").value;var P=document.getElementById("selnoOfInfants").value;e=document.getElementById("cb_goibibo");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="flight_search"}H=getFlightDate(document.getElementById("flight_start_date").value,"goibibo");M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value,"goibibo")}url="http://ads.ibibo.com/ad/www/delivery/ck.php?oaparams=2__bannerid=502__zoneid=4482__cb=916a616e0a__oadest=http://goibibo.ibibo.com/flight-searchresult/%23air-"+N+"-"+L+"-"+H+"-"+M+"-"+J+"-"+D+"-"+P+"-0-E";window.open(url,"_blank")}}else{if(B=="akbar_flight"){var F=document.getElementById("selorigin").value;var N=get_city_name(F);if(N.toLowerCase() in hash_akbar_names){N=hash_akbar_names[N.toLowerCase()]}var E=document.getElementById("seldestination").value;var L=get_city_name(E);if(L.toLowerCase() in hash_akbar_names){L=hash_akbar_names[L.toLowerCase()]}var O=false;var J=document.getElementById("selnoOfAdults").value;var D=document.getElementById("selnoOfChildren").value;var P=document.getElementById("selnoOfInfants").value;e=document.getElementById("cb_akbar");if(C||(e!=null&&e.checked)){if(A==null||A=="undefined"){A="flight_search"}H=getFlightDate(document.getElementById("flight_start_date").value,"akbar_flight");M="";if(O){M=getFlightDate(document.getElementById("flight_end_date").value,"akbar_flight")}url="http://www.s2d6.com/x/?x=c&z=s&campaignid=1413&affiliateid=54804&k=flight_search&t=http://www.akbartravelsonline.com/FlightBooking/Pages/EmailSearch.aspx?curcode=INR&depfrom="+N+"&depto="+L+"&owdate="+H+"&rtdate=01/01/1900&owtime=A&rttime=dd/mm/yyyy&adt="+J+"&chd="+D+"&inf="+P+"&airline=&bc=A&ow_i=0&_rttime=0&aline_i=0&tt=0&optDOM=D";window.open(url,"_blank")}}}}}}}}}}}}}}}}return true}function sleep(C){var B=new Date();var A=null;do{A=new Date()}while(A-B<C)}function scrollDown(){clearInterval(Timer);Timer=setInterval("ScrollToLeft()",20)}function ScrollToLeft(){window.scrollBy(0,5)}function loadingComment(A){Element.show(A)}function completeComment(D,C,B,A){Element.hide("status_element_small");var E=document.getElementById(B);if(E!=null){E.setAttribute("value","")}E=document.getElementById(A);E.setAttribute("value","")}function failureComment(A){}function confirmUser(B){var A=confirm(B);if(A){return true}else{return false}}function get_default_value_from_hash(A){if(A in wick_default_values){return wick_default_values[A]}return""}function checkFormInput(B,D,A){var E,F;var C=false;E=document.getElementById(B);if(E!=null){F=E.value;if((F==null)||(F==A)||(F==get_default_value_from_hash(B))){C=true}else{F=F.replace(/^\s+|\s+$/g,"");if(F.length==0){C=true}}if(C){var E=document.getElementById(D);if(E!=null){Element.show(D)}}else{var E=document.getElementById(D);if(E!=null){Element.hide(D)}}}return !C}function checkFormDefault(B,A){var C,D;C=document.getElementById(B);if(C!=null){D=C.value;if(D==A){C.value=""}}return true}function deleteBuddy(B){var A=document.getElementById("buddy_remove_form_"+B);A.onsubmit()}function commentAdded(A){new Effect.BlindDown($("placeReviewList").lastChild)}function hotel_update_loading(A){Element.show("comment_loading"+A)}function hotel_update_complete(A,B){Element.hide("comment_loading"+B)}function complete_place(A){if(A.status==200){new Effect.BlindDown($("placeReviewList").lastChild)}$("placeReviewform").elements["placeReviewInput[user]"].value="";$("placeReviewform").elements["placeReviewInput[comment]"].value=""}function complete_restaurant(A){if(A.status==200){new Effect.BlindDown($("restaurantReviewList").lastChild)}$("restaurantReviewform").elements["restaurantReviewInput[user]"].value="";$("restaurantReviewform").elements["restaurantReviewInput[comment]"].value=""}function complete_hotel(A){if(A.status==200){new Effect.BlindDown($("hotelReviewList").lastChild)}$("hotelReviewform").elements["hotelReviewInput[user]"].value="";$("hotelReviewform").elements["hotelReviewInput[comment]"].value=""}function complete_restaurant_question(A){}function showConnectionRows(A,C){var B=new Number(C);var E=A.concat(B.toString());var D=document.getElementById(E);while(D!=null){Element.show(E);B+=1;E=A.concat(B.toString());D=document.getElementById(E)}}function hideConnectionRows(A,C){var B=new Number(C);var E=A.concat(B.toString());var D=document.getElementById(E);while(D!=null){Element.hide(E);B+=1;E=A.concat(B.toString());D=document.getElementById(E)}}function matchValues(A,C,B){e1=document.getElementById(A);e2=document.getElementById(C);if(e1!=null&&e2!=null&&e1.value!=e2.value){e3=document.getElementById(B);if(e3!=null){Element.show(e3);return false}else{return true}}}function uniqueValues(A,C,B){e1=document.getElementById(A);e2=document.getElementById(C);if(e1!=null&&e2!=null&&e1.value==e2.value){e3=document.getElementById(B);if(e3!=null){Element.show(e3);return false}else{return true}}}function vote(B,C,A){f=document.getElementById(B);if(f!=null){if(A!=null&&A!=undefined){set_value(A,C)}e=f.vote_value;if(e!=null){e.value=C;f.onsubmit()}}return false}function cancel_vote(B,A){f=document.getElementById(B);if(f!=null&&f!=undefined){set_value(A,"0");f.onsubmit()}}function set_value(B,A){e=document.getElementById(B);if(e!=null){e.value=A}}function reviewFormCompleteFromPopup(){Element.show("msg_displayed_in_a_popup");Element.show("latest_comment");e=document.getElementById("comments_outer_span");if(e!=null&&e!=undefined){e.innerHTML="";Element.hide(e.id)}e1=document.getElementById("ReviewList");e2=document.getElementById("latest_comment");e1.innerHTML=e2.innerHTML+e1.innerHTML}function setRating(B,A){for(i=1;i<=5;i++){e=document.getElementById(A+"e_"+i+"_s");d=document.getElementById(A+"d_"+i+"_s");b=document.getElementById(A+"b_"+i+"_s");m=document.getElementById(A+"m_"+i+"_s");if(i<=B){Element.show(e);Element.hide(d);Element.hide(b)}else{Element.hide(e);Element.show(d);Element.hide(b)}if(i==B){Element.show(m)}else{Element.hide(m)}}}function setRatingBlue(B,A){for(i=1;i<=5;i++){b=document.getElementById(A+"b_"+i+"_s");e=document.getElementById(A+"e_"+i+"_s");d=document.getElementById(A+"d_"+i+"_s");m=document.getElementById(A+"m_"+i+"_s");if(i<=B){Element.hide(e);Element.hide(d);Element.show(b)}else{Element.hide(e);Element.show(d);Element.hide(b)}if(i==B){Element.show(m)}else{Element.hide(m)}}}function ratingCancelFormComplete(B,C,D,E,A){Element.show(B);Element.show(C);Element.show(D);e1=document.getElementById(E);e2=document.getElementById(A);e1.innerHTML=e2.innerHTML}function ratingFormComplete(B,C,D,E,A){Element.hide(B);Element.hide(C);Element.hide(D);e1=document.getElementById(E);e2=document.getElementById(A);e1.innerHTML=e2.innerHTML}function flickrPhotos(){num_photos=10;str="";for(i=1;i<num_photos;i++){e=document.getElementById("flickr_badge_image"+i);if(e!=null&&e!=undefined){str+='<span class="flickr_img">'+e.innerHTML+"</span>";e.innerHTML=""}}e=document.getElementById("user_flickr_photos");e.innerHTML=str}function redirectToForum(A){var B=window.location.protocol+"//"+window.location.host+"/";if(A!=null&&A!=""){window.location=B+A}}function set_class(B,A){if(navigator.appName=="Microsoft Internet Explorer"){B.className=A}else{B.setAttribute("class",A)}}function user_select_tab(D,B,F,A){var E="td-tab-orange";var C="td-tab-orangesel";for(i=0;i<B.length;i++){e=document.getElementById(B[i]);if(e!=null){if(D==B[i]){set_class(e,C);Element.show(F[i])}else{set_class(e,E);Element.hide(F[i])}}}if(typeof (A)!=undefined&&A!=""&&!(A in comments_tab_content_loaded)){_onsubmit_form(A)}}function submit_widget(D){var G=false;if(window.location.hostname.indexOf("book.")>-1){G=true}if(D=="train"){var F=document.getElementById("train_from_city");var H="";if(F!=null){H=get_city_code(F.value)}F=document.getElementById("train_to_city");var I="";if(F!=null){I=get_city_code(F.value)}var F=document.getElementById("train_start_date");var C="";if(F!=null){C=F.value}var B="/trains?from="+H+"&to="+I+"&date="+C;if(!G){var E=window.location.hostname.replace(/www/,"book");var A="http://"+E+B;window.open(A,"_blank")}else{var A="http://"+window.location.hostname+B;window.location=A}return false}return false}var dd_values=new Array();function format_text(A){return A.replace(/\W/,"-").replace(/-{2,}/,"-")}function initDestinations(){c=collection;a="<table id='destinations_menu_table' class='genericTable-noborder-padding'>";for(d=0;d<c.length;d++){a+="<tr><td id='mtd-"+d+"' class='mtl' onMouseOver='sd("+d+");' onMouseOut='sdd("+d+");' onClick='gotoCity(collection["+d+"])'><span id='dest_"+c[d].charAt(0)+"'></span><a href='/"+format_text(c[d])+"'>"+c[d]+"</a></td></tr>"}a+="</table>";dd_values.destinations_menu=a}function renderDestinations(){var A=document.getElementById("destinations_menu");if(A!=null){initDestinations();A.innerHTML=dd_values.destinations_menu}}setTimeout("renderDestinations()",5000);function _onsubmit_form(A){var B=document.getElementById(A);if(B!=null&&B!=undefined){B.onsubmit()}}function _id_exists(B){var A=document.getElementById(B);if(A!=null&&A!=undefined){return true}return false}function _fetch_reply_form(A,B){f=$("_review_reply_form");if(f!=undefined&&f!=null){f.review_id.value=A;review_reply_div_id=B;f.onsubmit()}}function _fetch_reply_form_loading(A){$(review_reply_div_id).innerHTML=$("review_reply_load_div").innerHTML;$(A).innerHTML=""}function _fetch_reply_form_complete(A){$(review_reply_div_id).innerHTML=$(A).innerHTML;f=$("_review_reply_form");f.review_id.value="";review_reply_div_id=""}function _review_spam(B,C,A){f=$("comment_spam_form");if(f!=undefined&&f!=null){f.review_id.value=B;f.action_type.value=C;review_spam_div_id=A;f.onsubmit()}}function _review_spam_loading(A){$(review_spam_div_id).innerHTML="Submitting...";$(A).innerHTML=""}function _review_spam_complete(A){$(review_spam_div_id).innerHTML=$(A).innerHTML;f=$("review_spam_form");f.review_id.value="";f.action_type.value="";review_spam_div_id=""}function _form_failure(A){e=$("id_to_update");if(e!=undefined&&e!=null){e.innerHTML="<div class='td-p'>Sorry, there was an error.  Please try again.</div>"}}function reloacte_rating_elements(){var A=$("td_rating");var B=$("div_rating");A.innerHTML=B.innerHTML;B.innerHTML="";A=$("sep_1");B=$("comments_popup");A.parentNode.insertBefore(B,A)}function populate_slim_widget_headings(D,A,C,B){e=document.getElementById(C);if(e!=null&&e!=undefined){e.innerHTML=D+" to "+A+" "+B}};var smallMap=false;var uri_host="http://www.mustseeindia.com";var place_markers=new Array();var place_htmls=new Array();function createMap(A){if(A=="hybrid"){map=new GMap2(document.getElementById("map"),{mapTypes:[G_HYBRID_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]})}else{if(A=="satellite"){map=new GMap2(document.getElementById("map"),{mapTypes:[G_SATELLITE_MAP,G_NORMAL_MAP,G_HYBRID_MAP]})}else{if(A=="terrain"){map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP]})}else{map=new GMap2(document.getElementById("map"),{mapTypes:[G_NORMAL_MAP,G_PHYSICAL_MAP,G_HYBRID_MAP]})}}}map.setCenter(new GLatLng(22.233144,81.411728),6)}function addMapControl(A){smallMap=A;if(A){map.addControl(new GSmallZoomControl3D());map.enableDoubleClickZoom();map.enableContinuousZoom()}else{map.addControl(new GSmallZoomControl3D());map.addControl(new GMenuMapTypeControl());map.addControl(new GScaleControl());map.addControl(new GNavLabelControl());map.enableDoubleClickZoom();map.enableContinuousZoom()}}var select_attr='<select id="sel_attr" name="id" onChange="handleSelected(this)"><option selected> - Select a Attraction - </option>';var select_hotel='<select id="sel_hotel" name="hid" onChange="handleSelected(this)"><option selected> - Select a Hotel - </option>';var select_cityentity='<select id="sel_cityentity" name="hid" onChange="handleSelected(this)"><option selected> - Select an Entity - </option>';var select_end="</select>";var map=null;var mapLoaded=false;var gmarkers=[];var nmarker;var attrindex=0;var attrmark=false;var globid=-1;var markerimage=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];var click_count=0;var bkimage=new Array();bkimage.City="/images/marker.png";bkimage.CityTemp="/images/marker_blue.png";bkimage.CitySmall="/images/marker_red.png";bkimage.CitySmall2="/images/marker_blue.png";bkimage.SourceCitySmall="/images/marker_green.png";bkimage.DestinationCitySmall="/images/marker_red.png";bkimage.WishlistCity="/images/marker_blue.png";bkimage.StartCity="/images/marker_start.png";bkimage.EndCity="/images/marker_end.png";bkimage.Attraction="/images/marker.png";bkimage.AttractionSmall="/images/marker_red.png";bkimage.TrainSmall="/images/marker_red.png";bkimage.Hotel="/images/marker.png";bkimage.CityEntity="/images/marker.png";bkimage.CityTiny="/images/marker_small_red.gif";bkimage.PlannedCityTiny="/images/marker_small_green.gif";bkimage.WishlistCityTiny="/images/marker_small_blue.gif";var bkimage_small=new Array();function createMarker(K,A,G,C,B,M,F,H){var D=uri_host+bkimage[C];var I={url:D};var L=new GIcon(G_DEFAULT_ICON,D);var J=0;if(C.indexOf("Small")>=0){J=2}else{if(C.indexOf("Tiny")>=0){J=3}else{if((C.indexOf("Start")>=0)||(C.indexOf("End")>=0)){J=1}}}if(J==1){L.image=D;L.iconSize=new GSize(24,38);L.iconAnchor=new GPoint(12,38);L.infoWindowAnchor=new GPoint(12,1)}else{if(J==2){L.image=D;L.iconSize=new GSize(12,20);L.shadowSize=new GSize(0,0);L.iconAnchor=new GPoint(6,20);L.infoWindowAnchor=new GPoint(5,1)}else{if(J==3){L.image=D;L.iconSize=new GSize(6,6);L.shadowSize=new GSize(0,0);L.iconAnchor=new GPoint(3,3);L.infoWindowAnchor=new GPoint(5,1)}}}var E=new GMarker(K,{title:A,icon:L,clickable:!smallMap});if(M){E=new GMarker(K,{icon:L,draggable:true})}E.msiCategory=C;E.msiName=A;E.msiID=B;E.image=D;E.bindInfoWindowHtml(G);if(F){F(E)}if(!smallMap){GEvent.addListener(E,"mouseover",function(){if(H){if(E.msiCategory=="City"){G=E.msiName;G+='<form action="/admin/state/citymap_update?cid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/citymap_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude" name="city[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude" name="city[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}if(E.msiCategory=="CityTemp"){G=E.msiName;G+='<form action="/admin/state/citymap_update?cid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/citymap_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude2" name="city[latitude2]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude2" name="city[longitude2]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}if(E.msiCategory=="Attraction"){G=E.msiName;G+='<form action="/admin/state/placemap_update?id='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/placemap_update?id='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="place_latitude" name="place[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="place_longitude" name="place[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>';G+='<form action="/admin/state/placemap_update?id='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/placemap_update?id='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){deletemarker();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="place_latitude" name="place[latitude]" size="30" type="hidden" value=0 /> </p><p><input class="HiddenField" id="place_longitude" name="place[longitude]" size="30" type="hidden" value=0 /> </p><input name="commit" type="submit" value="Delete" /></form>'}if(E.msiCategory=="Hotel"){G=E.msiName;G+='<form action="/admin/state/hotelmap_update?hid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/hotelmap_update?hid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="hotel_latitude" name="hotel[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="hotel_longitude" name="hotel[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>';G+='<form action="/admin/state/hotelmap_update?hid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/hotelmap_update?hid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){deletemarker();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="hotel_latitude" name="hotel[latitude]" size="30" type="hidden" value=0 /> </p><p><input class="HiddenField" id="hotel_longitude" name="hotel[longitude]" size="30" type="hidden" value=0 /> </p><input name="commit" type="submit" value="Delete" /></form>'}if(E.msiCategory=="CityEntity"){G=E.msiName;G+='<form action="/admin/state/cityentity_update?ceid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/cityentity_update?ceid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_entity_latitude" name="city_entity[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_entity_longitude" name="city_entity[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>';G+='<form action="/admin/state/cityentity_update?ceid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/city_entity_update?ceid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){deletemarker();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_entity_latitude" name="city_entity[latitude]" size="30" type="hidden" value=0 /> </p><p><input class="HiddenField" id="city_entity_longitude" name="city_entity[longitude]" size="30" type="hidden" value=0 /> </p><input name="commit" type="submit" value="Delete" /></form>'}if(E.msiCategory=="CitySmall"){G=E.msiName;G+='<form action="/admin/state/citystop_update?cid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/citystop_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude" name="city[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude" name="city[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}if(E.msiCategory=="TrainSmall"){G=E.msiName;G+='<form action="/admin/state/trainstop_update?cid='+B+'" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/trainstop_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude" name="city[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude" name="city[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}}E.openInfoWindowHtml(G)});GEvent.addListener(E,"dragstart",function(){map.closeInfoWindow()});GEvent.addListener(E,"dragend",function(){GEvent.trigger(E,"click");map.closeInfoWindow()});GEvent.addListener(E,"click",function(){nmarker=E;if(H){if(E.msiCategory=="City"){G=E.msiName;G+='<form action="/admin/state/citymap_update?cid='+B+'" name="update_City_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/citymap_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude" name="city[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude" name="city[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}if(E.msiCategory=="CityTemp"){G=E.msiName;G+='<form action="/admin/state/citymap_update?cid='+B+'" name="update_CityTemp_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/citymap_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude2" name="city[latitude2]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude2" name="city[longitude2]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}if(E.msiCategory=="Attraction"){G=E.msiName;G+='<form action="/admin/state/placemap_update?id='+B+'" name="update_Attraction_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/placemap_update?id='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="place_latitude" name="place[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="place_longitude" name="place[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>';G+='<form action="/admin/state/placemap_update?id='+B+'" name="delete_Attraction_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/placemap_update?id='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){deletemarker();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="place_latitude" name="place[latitude]" size="30" type="hidden" value=0 /> </p><p><input class="HiddenField" id="place_longitude" name="place[longitude]" size="30" type="hidden" value=0 /> </p><input name="commit" type="submit" value="Delete" /></form>'}if(E.msiCategory=="Hotel"){G=E.msiName;G+='<form action="/admin/state/hotelmap_update?hid='+B+'" name="update_Attraction_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/hotelmap_update?hid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="hotel_latitude" name="hotel[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="hotel_longitude" name="hotel[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>';G+='<form action="/admin/state/hotelmap_update?hid='+B+'" name="delete_Attraction_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/hotelmap_update?hid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){deletemarker();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="hotel_latitude" name="hotel[latitude]" size="30" type="hidden" value=0 /> </p><p><input class="HiddenField" id="hotel_longitude" name="hotel[longitude]" size="30" type="hidden" value=0 /> </p><input name="commit" type="submit" value="Delete" /></form>'}if(E.msiCategory=="CityEntity"){G=E.msiName;G+='<form action="/admin/state/cityentity_update?ceid='+B+'" name="update_Attraction_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/cityentity_update?ceid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_entity_latitude" name="city_entity[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_entity_longitude" name="city_entity[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>';G+='<form action="/admin/state/cityentity_update?ceid='+B+'" name="delete_Attraction_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/city_entity_update?ceid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){deletemarker();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_entity_latitude" name="city_entity[latitude]" size="30" type="hidden" value=0 /> </p><p><input class="HiddenField" id="city_entity_longitude" name="city_entity[longitude]" size="30" type="hidden" value=0 /> </p><input name="commit" type="submit" value="Delete" /></form>'}if(E.msiCategory=="CitySmall"){G=E.msiName;G+='<form action="/admin/state/citystop_update?cid='+B+'" name="update_CitySmall_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/citystop_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude" name="city[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude" name="city[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}if(E.msiCategory=="TrainSmall"){G=E.msiName;G+='<form action="/admin/state/trainstop_update?cid='+B+'" name="update_TrainSmall_form" method="post" onsubmit="new Ajax.Updater({success:\'test\'}, \'/admin/state/trainstop_update?cid='+B+'\', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(){map.closeInfoWindow();}, parameters:Form.serialize(this)}); return false;"><p><input class="HiddenField" id="city_latitude" name="city[latitude]" size="30" type="hidden" value="'+E.getPoint().lat()+'"  /> </p><p><input class="HiddenField" id="city_longitude" name="city[longitude]" size="30" type="hidden" value="'+E.getPoint().lng()+'"  /> </p><input name="commit" type="submit" value="Save" /></form>'}}E.openInfoWindowHtml(G)})}gmarkers.push(E);return E}function travelMapMarkerProcess(A){GEvent.addListener(A,"infowindowbeforeclose",function(){if(A.msiCategory="CitySmall"){var B="trip_"+A.msiID+"_start_date";var D=document.getElementById(B);all_cities[A.msiID].new_start_date=D.value;var B="trip_"+A.msiID+"_end_date";var D=document.getElementById(B);all_cities[A.msiID].new_end_date=D.value;all_cities[A.msiID].date_saved=true;var E=all_cities.length;for(var C=0;C<E;C++){if((all_cities[C]!=null)&&(all_cities[C].trip_id!=null)&&(C!=A.msiID)&&(all_cities[C].trip_id==all_cities[A.msiID].trip_id)){all_cities[C].new_start_date=all_cities[A.msiID].new_start_date;all_cities[C].new_end_date=all_cities[A.msiID].new_end_date;all_cities[C].date_saved=true}}}});GEvent.addListener(A,"infowindowopen",function(){if(A.msiCategory="CitySmall"){var C="trip_"+A.msiID+"_start_date";var D=document.getElementById(C);var B=all_cities[A.msiID].new_start_date;if(B!=null){D.value=all_cities[A.msiID].new_start_date}var C="trip_"+A.msiID+"_end_date";var D=document.getElementById(C);var B=all_cities[A.msiID].new_end_date;if(B!=null){D.value=all_cities[A.msiID].new_end_date}all_cities[A.msiID].date_saved=false}})}function Objectadded(I){map.closeInfoWindow();var B=""+globid;var G="";if(I=="Attraction"){G=select_attr}else{if(I=="Hotel"){G=select_hotel}}var H='<option value="'+B+'">';var J=G.indexOf(H);var F=G.indexOf("</option>",J);var A=G.substring(J+H.length,F);var E=F+("</option>".length);var D=G.substring(E);G=G.substring(0,J);G+=D;if(I=="Attraction"){select_attr=G}else{if(I=="Hotel"){select_hotel=G}}var M=nmarker.getPoint().lat();var C=nmarker.getPoint().lng();var K=new GLatLng(M,C);var L=A;map.addOverlay(createMarker(K,L,L,I,B,true,false,true));map.removeOverlay(nmarker)}function mapCity(E,C,M,N,B,D,H,A,K,J,Q,G,L,P){if(typeof (P)!=="undefined"){uri_host=P}var O=new GLatLng(N,B);var I="<a href='"+D+"'>"+C+"</a><br>"+M;var F=createMarker(O,C,I,H,E,Q,G,L);map.addOverlay(F);place_markers[E]=F;place_htmls[E]=I;GEvent.addListener(F,"infowindowopen",function(){change_class(E,"false")});GEvent.addListener(F,"infowindowclose",function(){change_class(E,"true")});if((K==null)||(K=="undefined")){K=11}if(A){map.setCenter(new GLatLng(N,B),K)}if(J){F.openInfoWindowHtml(I)}}function mapPlace(E,C,J,K,B,D,G,A,M,I){var L=new GLatLng(K,B);var H="<a href='"+D+"'>"+C+"</a><br>"+J;var F=createMarker(L,C,H,G,E,M,false,I);map.addOverlay(F);place_markers[E]=F;place_htmls[E]=H;GEvent.addListener(F,"infowindowopen",function(){change_class(E,"false")});GEvent.addListener(F,"infowindowclose",function(){change_class(E,"true")});if(A){map.setCenter(new GLatLng(K,B),14)}}function mapHotel(E,C,J,K,B,D,G,A,M,I){var L=new GLatLng(K,B);var H="<a href='"+D+"'>"+C+"</a><br>"+J;var F=createMarker(L,C,H,G,E,M,false,I);map.addOverlay(F);GEvent.addListener(F,"infowindowopen",function(){change_class(E,"false")});GEvent.addListener(F,"infowindowclose",function(){change_class(E,"true")});if(A){map.setCenter(new GLatLng(K,B),14)}}function showDirectionInset(C,F,D,E,B,G){var A=new GLatLng(B,G);map.showMapBlowup(A)}function showLine(B,E,C,D){var A=new GPolyline.fromEncoded({color:"#FF0000",weight:6,opacity:0.5,points:B,levels:E,zoomFactor:C,numLevels:D});map.addOverlay(A)}function getBounds(J){var B=J.length;var A=new GLatLngBounds;if(B>0){var D=J[0][0];var F=D;var H=J[0][1];var I=H;for(var G=0;G<B;G++){A.extend(new GLatLng(J[G][0],J[G][1]));D=Math.min(D,J[G][0]);H=Math.min(H,J[G][1]);F=Math.max(F,J[G][0]);I=Math.max(I,J[G][1])}var K=(F-D)*0.2;var C=(I-H)*0.2;A.extend(new GLatLng(D-K,H-C));A.extend(new GLatLng(F+K,I+C))}var E=map.getBoundsZoomLevel(A);return[E,A.getCenter()]}function makeSidebar(){var B="";var C="/images/marker.png";B+="<table class='genericTable-noborder'><tr>";B+="<td class='genericTable-TD-top'>";B+="<div class='th-list'><div class='attr-bullet-indent'><b>Trip Destinations</b></div>";for(var A=0;A<gmarkers.length;A++){if(!gmarkers[A].isHidden()&&(gmarkers[A].msiCategory=="CitySmall")){B+="<div class='th-list'><div class='attr-bullet-indent'><img src='/images/2/bullet-red.png' class='th-bullet-image'></div> <div class='attr-list-text'><a href='javascript:myclick("+A+")' title='Click to see on map'>"+gmarkers[A].msiName+"</a></div></div>"}}B+="</td><td class='genericTable-TD-top'>";B+="<div class='th-list'><div class='attr-bullet-indent'><b>Wishlist</b></div>";for(var A=0;A<gmarkers.length;A++){if(!gmarkers[A].isHidden()&&(gmarkers[A].msiCategory=="WishlistCity")){B+="<div class='th-list'><div class='attr-bullet-indent'><img src='/images/2/bullet-blue.png' class='th-bullet-image'></div> <div class='attr-list-text'><a href='javascript:myclick("+A+")' title='Click to see on map'>"+gmarkers[A].msiName+"</a></div></div>"}}B+="</td></tr></table>";document.getElementById("side_bar").innerHTML=B}function show(B){for(var A=0;A<gmarkers.length;A++){if(gmarkers[A].msiCategory==B){gmarkers[A].show()}}document.getElementById(B+"box").checked=true}function hide(B){for(var A=0;A<gmarkers.length;A++){if(gmarkers[A].msiCategory==B){gmarkers[A].hide()}}document.getElementById(B+"box").checked=false;map.closeInfoWindow()}function boxclick(B,A){if(B.checked){show(A)}else{hide(A)}makeSidebar()}function handleSelected(A){globid=A.value}function myclick(A){GEvent.trigger(gmarkers[A],"click")}function cancelmarker(){map.closeInfoWindow();map.removeOverlay(nmarker)}function deletemarker(){select_attr+='<option value="'+nmarker.msiID+'">'+nmarker.msiName+"</option>";map.closeInfoWindow();map.removeOverlay(nmarker);var A=[];for(var B=0;B<gmarkers.length;B++){if(gmarkers[B]!=nmarker){A.push(gmarkers[B])}}gmarkers=A;makeSidebar()};var wick_show_all_items=false;wick_default_values={auto_city:"Goa",search_text:"",train_from_city:"Enter source city",train_to_city:"Enter destination city",rb_source:"Enter source city",rb_dest_cities:"Enter destination city",selorigin:"Enter source city",seldestination:"Enter destination city",getin_source:"Enter source city",getin_dest_cities:"Enter destination city",input_hotel_city:"Enter destination",gw_city:"Enter your city",distance_source:"Enter source city",distance_dest_cities:"Enter destination city",direction_source:"Enter source city",direction_dest_cities:"Enter destination city",_msi_city_2:"Enter forum city",_msi_city:"Enter forum city"};wick_default_value_variables={direction_source:"directionFrom",direction_dest_cities:"directionTo",getin_source:"getinFrom",getin_dest_cities:"getinTo",selorigin:"flightFrom",seldestination:"flightTo",train_from_city:"trainFrom",train_to_city:"trainTo",rb_source:"busFrom",rb_dest_cities:"busTo",distance_source:"distanceFrom",distance_dest_cities:"distanceTo",input_hotel_city:"getinTo",_msi_city_2:"getinTo"};mandatory_populated_ids={train_from_city:true,train_to_city:true,rb_source:true,rb_dest_cities:true,selorigin:true,seldestination:true};function wick_navigate_to_selected_city(){if(siw!=null&siw!=undefined){if(siw.inputBox.id=="auto_city"||siw.inputBox.id=="search_text"){return true}}return false}function wick_navigate_to_selected_city_forum(){if(siw!=null&siw!=undefined){if(siw.inputBox.id=="_msi_city_2"){return true}}return false}function wick_get_collection(){if(siw!=null&siw!=undefined){if(siw.inputBox.id=="auto_city"||siw.inputBox.id=="search_text"){return collection}if(siw.inputBox.id=="train_from_city"||siw.inputBox.id=="train_to_city"){return collection_rly_stations}if(siw.inputBox.id=="rb_source"||siw.inputBox.id=="rb_dest_cities"){return collection_bus_stands}if(siw.inputBox.id=="selorigin"||siw.inputBox.id=="seldestination"){return collection_airports}if(siw.inputBox.id=="getin_source"||siw.inputBox.id=="getin_dest_cities"||siw.inputBox.id=="direction_source"||siw.inputBox.id=="direction_dest_cities"||siw.inputBox.id=="distance_source"||siw.inputBox.id=="distance_dest_cities"||siw.inputBox.id=="_msi_city_2"||siw.inputBox.id=="_msi_city"){return collection_all_cities}if(siw.inputBox.id=="input_hotel_city"){return collection_hotel_cities}if(siw.inputBox.id=="gw_city"){return collection_getaway_cities}}return[]}function wick_floater_width(){if(siw!=null&siw!=undefined){if(siw.inputBox.id=="auto_city"){return"306px"}if(siw.inputBox.id=="search_text"){return"165px"}if(siw.inputBox.style.width!=""){return siw.inputBox.style.width}}return"206px"}function wick_floater_border(){if(siw!=null&siw!=undefined){if(siw.inputBox.id=="auto_city"||siw.inputBox.id=="search_text"){return"1px solid #000000"}else{return"1px solid #ffaf25"}}}function wick_get_default_values(element){if(element!=null&&element!=undefined){var default_val="";if(element.id in wick_default_value_variables){default_val=eval(wick_default_value_variables[element.id]);wick_default_value_variables[element.id]=null}if((default_val==undefined||default_val==null||default_val=="")&&(element.id in wick_default_values)){default_val=wick_default_values[element.id]}return default_val}return""}function wick_set_default_value(A){if(A.value==""||A.value.length==0){A.value=wick_get_default_values(A);if(A.value==""||((A.id in wick_default_values)&&A.value==wick_default_values[A.id])){A.style.color="#aaaaaa"}}}function freezeEvent(A){if(A.preventDefault){A.preventDefault()}A.returnValue=false;A.cancelBubble=true;if(A.stopPropagation){A.stopPropagation()}return false}function isWithinNode(D,B,E,A,C){answer=false;te=D;while(te&&!answer){if((te.id&&(te.id==B))||(te.className&&(te.className==B+"Class"))||(!A&&E&&te.className&&(te.className==E))||(!A&&E&&te.className&&(te.className.indexOf(E)!=-1))||(A&&te.tagName&&(te.tagName.toLowerCase()==A))||(C&&(te==C))){answer=te}else{te=te.parentNode}}return te}function getEvent(A){return(A?A:window.event)}function getEventElement(A){return(A.srcElement?A.srcElement:(A.target?A.target:A.currentTarget))}function findElementPosX(A){curleft=0;if(A.offsetParent){while(A.offsetParent){curleft+=A.offsetLeft;A=A.offsetParent}}else{if(A.x){curleft+=A.x}}return curleft}function findElementPosY(A){curtop=0;if(A.offsetParent){while(A.offsetParent){curtop+=A.offsetTop;A=A.offsetParent}}else{if(A.y){curtop+=A.y}}return curtop}function handleKeyPress(A){e=getEvent(A);eL=getEventElement(e);upEl=isWithinNode(eL,null,"wickEnabled",null,null);kc=e.keyCode;if(siw&&((kc==13)||(kc==9))){siw.selectingSomething=true;if(siw.isSafari){siw.inputBox.blur()}siw.inputBox.focus();siw.inputBox.value=siw.inputBox.value.replace(/[ \r\n\t\f\s]+$/gi," ");hideSmartInputFloater()}else{if(upEl&&(kc!=38)&&(kc!=40)&&(kc!=37)&&(kc!=39)&&(kc!=13)&&(kc!=27)){if(!siw||(siw&&!siw.selectingSomething)){processSmartInput(upEl)}}else{if(siw&&siw.inputBox){siw.inputBox.focus()}}}}function handleKeyDown(A){e=getEvent(A);eL=getEventElement(e);if(siw&&(kc=e.keyCode)){if(kc==40){siw.selectingSomething=true;freezeEvent(e);if(siw.isGecko){siw.inputBox.blur()}selectNextSmartInputMatchItem()}else{if(kc==38){siw.selectingSomething=true;freezeEvent(e);if(siw.isGecko){siw.inputBox.blur()}selectPreviousSmartInputMatchItem()}else{if((kc==13)||(kc==9)){siw.selectingSomething=true;activateCurrentSmartInputMatch();freezeEvent(e)}else{if(kc==27){hideSmartInputFloater();freezeEvent(e)}else{siw.selectingSomething=false}}}}}}function handleFocus(A){e=getEvent(A);eL=getEventElement(e);if(focEl=isWithinNode(eL,null,"wickEnabled",null,null)){if(!siw&&((eL.id in wick_default_values)&&eL.value==wick_default_values[eL.id])){eL.value=""}eL.style.color="#000000";if((!siw||(siw&&!siw.selectingSomething))){}}}function handleBlur(A){e=getEvent(A);eL=getEventElement(e);if(blurEl=isWithinNode(eL,null,"wickEnabled",null,null)){if(!siw&&eL.value==""){wick_set_default_value(eL)}}}function handleClick(A){e2=getEvent(A);eL2=getEventElement(e2);if(siw&&siw.selectingSomething){selectFromMouseClick()}}function handleMouseOver(A){e=getEvent(A);eL=getEventElement(e);if(siw&&(mEl=isWithinNode(eL,null,"matchedSmartInputItem",null,null))){siw.selectingSomething=true;selectFromMouseOver(mEl)}else{if(siw){siw.selectingSomething=false}}}function showSmartInputFloater(){if(!siw.customFloater){x=findElementPosX(siw.inputBox);y=findElementPosY(siw.inputBox)+siw.inputBox.offsetHeight;if(!siw.isGecko&&!siw.isWinIE){x+=8}if(!siw.isGecko&&!siw.isWinIE){y+=10}siw.floater.style.left=x.toString()+"px";siw.floater.style.top=y.toString()+"px";siw.floater.style.width=wick_floater_width();siw.floater.style.border=wick_floater_border();if(siw.inputBox.id=="search_text"){siw.floater.style.margin="-1px 0px";if(siw.isFirefox3_6){siw.floater.style.margin="-11px -8px"}else{if(siw.isChrome||siw.isSafari||siw.isOpera){siw.floater.style.margin="-10px -8px"}}}else{siw.floater.style.margin="-1px 0px";if(siw.isFirefox3_6){siw.floater.style.margin="-11px -8px"}else{if(siw.isChrome||siw.isSafari||siw.isOpera){siw.floater.style.margin="-11px -8px"}}if(siw.inputBox.id=="train_to_city"){if(siw.isFirefox3_6||siw.isChrome||siw.isSafari||siw.isOpera){siw.floater.style.margin="-12px -8px"}else{siw.floater.style.margin="-2px -0px"}}}}else{}siw.floater.style.display="block";siw.floater.style.visibility="visible";hideSelects()}function hideSmartInputFloater(){if(siw){siw.floater.style.display="none";siw.floater.style.visibility="hidden";siw=null;showSelects()}show_autocomplete_div=false}function processSmartInput(A){show_autocomplete_div=true;if(!siw){siw=new smartInputWindow()}siw.inputBox=A;classData=A.className.split(" ");siwDirectives=null;for(i=0;(!siwDirectives&&classData[i]);i++){if(classData[i].indexOf("wickEnabled")!=-1){siwDirectives=classData[i]}}if(siwDirectives&&(siwDirectives.indexOf(":")!=-1)){siw.customFloater=true;newFloaterId=siwDirectives.split(":")[1];siw.floater=document.getElementById(newFloaterId);siw.floaterContent=siw.floater.getElementsByTagName("div")[0]}setSmartInputData();if(siw.matchCollection&&(siw.matchCollection.length>0)){selectSmartInputMatchItem(0)}content=getSmartInputBoxContent();if(content){modifySmartInputBoxContent(content);showSmartInputFloater()}else{hideSmartInputFloater()}}function smartInputMatch(A,B){this.cleanValue=A;this.value=B;this.isSelected=false}function simplify(A){return A.toLowerCase().replace(/^[ \s\f\t\n\r]+/,"").replace(/[ \s\f\t\n\r]+$/,"")}function getUserInputToMatch(A){a=A;fields=A.split(",");if(fields.length>0){a=fields[fields.length-1]}return a}function getUserInputBase(){s=siw.inputBox.value;a=s;if((lastComma=s.lastIndexOf(","))!=-1){a=a.replace(/^(.*\,[ \r\n\t\f\s]*).*$/i,"$1")}else{a=""}return a}function runMatchingLogic(C,A){C=simplify(C);uifc=C.charAt(0).toLowerCase();if(uifc=='"'){uifc=(n=C.charAt(1))?n.toLowerCase():"z"}if(A){C=uifc}if(siw){siw.matchCollection=new Array()}var B=C+"__"+siw.inputBox.id;pointerToCollectionToUse=wick_get_collection();if(siw&&siw.revisedCollection&&(siw.revisedCollection.length>0)&&siw.lastUserInput&&(C.indexOf(siw.lastUserInput)==0)){pointerToCollectionToUse=siw.revisedCollection}else{if(collectionIndex[B]&&(collectionIndex[B].length>0)&&C.length>0){pointerToCollectionToUse=collectionIndex[B]}else{if(collectionIndex[B]&&(collectionIndex[B].length>0)&&C.length>0){pointerToCollectionToUse=collectionIndex[B]}else{if(siw&&(C.length==1)&&(!collectionIndex[B])){siw.buildIndex=true}else{if(siw){siw.buildIndex=false}}}}}tempCollection=new Array();re1m=new RegExp('^([ "><-]*)('+C+")","i");re2m=new RegExp('([ "><-]+)('+C+")","i");re1=new RegExp('^([ "}{-]*)('+C+")","gi");re2=new RegExp('([ "}{-]+)('+C+")","gi");for(i=0,j=0;(i<pointerToCollectionToUse.length);i++){displayMatches=((!A)&&(j<siw.MAX_MATCHES));entry=pointerToCollectionToUse[i];mEntry=simplify(entry);if(!A&&(mEntry.indexOf(C)==0)){C=C.replace(/\>/gi,"\\}").replace(/\< ?/gi,"\\{");re=new RegExp("("+C+")","i");if(displayMatches){siw.matchCollection[j]=new smartInputMatch(entry,entry.replace(/\>/gi,"}").replace(/\< ?/gi,"{").replace(re,"<b>$1</b>"))}tempCollection[j]=entry;j++}else{if(mEntry.match(re1m)||mEntry.match(re2m)){if(!A&&displayMatches){siw.matchCollection[j]=new smartInputMatch(entry,entry.replace(/\>/gi,"}").replace(/\</gi,"{").replace(re1,"$1<b>$2</b>").replace(re2,"$1<b>$2</b>"))}tempCollection[j]=entry;j++}}}if(siw){siw.lastUserInput=C;siw.revisedCollection=tempCollection.join(",").split(",");collectionIndex[B]=tempCollection.join(",").split(",")}if(A||siw.buildIndex){collectionIndex[B]=tempCollection.join(",").split(",");if(siw){siw.buildIndex=false}}}function setSmartInputData(){if(siw){orgUserInput=siw.inputBox.value;orgUserInput=getUserInputToMatch(orgUserInput);userInput=orgUserInput.toLowerCase().replace(/[\r\n\t\f\s]+/gi," ").replace(/^ +/gi,"").replace(/ +$/gi,"").replace(/ +/gi," ").replace(/\\/gi,"").replace(/\[/gi,"").replace(/\(/gi,"").replace(/\./gi,".").replace(/\?/gi,"");if(userInput&&(userInput!="")&&(userInput!='"')){runMatchingLogic(userInput)}else{siw.matchCollection=null}}}function getSmartInputBoxContent(){a=null;if(siw&&siw.matchCollection&&(siw.matchCollection.length>0)){a="";for(i=0;i<siw.matchCollection.length;i++){selectedString=siw.matchCollection[i].isSelected?" selectedSmartInputItem":"";a+='<div class="matchedSmartInputItem'+selectedString+'">'+siw.matchCollection[i].value.replace(/\{ */gi,"&lt;").replace(/\} */gi,"&gt;")+"</div>"}}return a}function modifySmartInputBoxContent(A){siw.floaterContent.innerHTML='<div id="smartInputResults">'+A+(siw.showCredit?('<p class="siwCredit">Powered By: <a target="PhrawgBlog" href="http://chrisholland.blogspot.com/?from=smartinput&ref='+escape(location.href)+'">Chris Holland</a></p>'):"")+"</div>";siw.matchListDisplay=document.getElementById("smartInputResults")}function selectFromMouseOver(A){currentIndex=getCurrentlySelectedSmartInputItem();if(currentIndex!=null){deSelectSmartInputMatchItem(currentIndex)}newIndex=getIndexFromElement(A);selectSmartInputMatchItem(newIndex);modifySmartInputBoxContent(getSmartInputBoxContent())}function selectFromMouseClick(){activateCurrentSmartInputMatch();siw.inputBox.focus();hideSmartInputFloater()}function getIndexFromElement(A){index=0;while(A=A.previousSibling){index++}return index}function getCurrentlySelectedSmartInputItem(){answer=null;for(i=0;((i<siw.matchCollection.length)&&!answer);i++){if(siw.matchCollection[i].isSelected){answer=i}}return answer}function selectSmartInputMatchItem(A){siw.matchCollection[A].isSelected=true}function deSelectSmartInputMatchItem(A){siw.matchCollection[A].isSelected=false}function selectNextSmartInputMatchItem(){currentIndex=getCurrentlySelectedSmartInputItem();if(currentIndex!=null){deSelectSmartInputMatchItem(currentIndex);if((currentIndex+1)<siw.matchCollection.length){selectSmartInputMatchItem(currentIndex+1)}else{selectSmartInputMatchItem(0)}}else{selectSmartInputMatchItem(0)}modifySmartInputBoxContent(getSmartInputBoxContent())}function selectPreviousSmartInputMatchItem(){currentIndex=getCurrentlySelectedSmartInputItem();if(currentIndex!=null){deSelectSmartInputMatchItem(currentIndex);if((currentIndex-1)>=0){selectSmartInputMatchItem(currentIndex-1)}else{selectSmartInputMatchItem(siw.matchCollection.length-1)}}else{selectSmartInputMatchItem(siw.matchCollection.length-1)}modifySmartInputBoxContent(getSmartInputBoxContent())}function activateCurrentSmartInputMatch(){baseValue=getUserInputBase();if((selIndex=getCurrentlySelectedSmartInputItem())!=null){addedValue=siw.matchCollection[selIndex].cleanValue;theString=(baseValue?baseValue:"")+addedValue;if(wick_navigate_to_selected_city()){gotoCity(theString);siw.inputBox.value="";document.body.style.cursor="wait"}else{if(wick_navigate_to_selected_city_forum()){redirectToForum(theString)}else{siw.inputBox.value=theString}}}}function smartInputWindow(){this.customFloater=false;this.floater=document.getElementById("smartInputFloater");this.floaterContent=document.getElementById("smartInputFloaterContent");this.selectedSmartInputItem=null;this.MAX_MATCHES=100;this.isGecko=(navigator.userAgent.indexOf("Gecko/200")!=-1);this.isSafari=(navigator.userAgent.indexOf("Safari")!=-1);this.isWinIE=((navigator.userAgent.indexOf("Win")!=-1)&&(navigator.userAgent.indexOf("MSIE")!=-1));this.isChrome=(navigator.userAgent.indexOf("Chrome")!=-1);this.isOpera=(navigator.userAgent.indexOf("Opera")!=-1);this.isFirefox3_6=(navigator.userAgent.indexOf("Firefox/3.6")!=-1);if(this.isChrome||this.isSafari||this.isOpera){this.floater.style.overflowY="hidden"}this.showCredit=false}function registerSmartInputListeners(){inputs=document.getElementsByTagName("input");texts=document.getElementsByTagName("textarea");allinputs=new Array();z=0;y=0;while(inputs[z]){allinputs[z]=inputs[z];z++}while(texts[y]){allinputs[z]=texts[y];z++;y++}for(i=0;i<allinputs.length;i++){if((c=allinputs[i].className)&&(c=="wickEnabled")){allinputs[i].setAttribute("autocomplete","OFF");allinputs[i].onfocus=handleFocus;allinputs[i].onblur=handleBlur;allinputs[i].onkeydown=handleKeyDown;allinputs[i].onkeyup=handleKeyPress;wick_set_default_value(allinputs[i])}else{if(allinputs[i].id in mandatory_populated_ids){wick_set_default_value(allinputs[i])}}}}siw=null;if(document.addEventListener){document.addEventListener("keydown",handleKeyDown,false);document.addEventListener("keyup",handleKeyPress,false);document.addEventListener("mouseup",handleClick,false);document.addEventListener("mouseover",handleMouseOver,false)}else{document.onkeydown=handleKeyDown;document.onkeyup=handleKeyPress;document.onmouseup=handleClick;document.onmouseover=handleMouseOver}collectionIndex=new Array();var bkExtend=function(){var C=arguments;if(C.length==1){C=[this,C[0]]}for(var D in C[1]){C[0][D]=C[1][D]}return C[0]};function bkClass(){}bkClass.prototype.construct=function(){};bkClass.extend=function(E){var D=function(){if(arguments[0]!==bkClass){return this.construct.apply(this,arguments)}};var F=new this(bkClass);bkExtend(F,E);D.prototype=F;D.extend=this.extend;return D};var bkElement=bkClass.extend({construct:function(D,C){if(typeof (D)=="string"){D=(C||document).createElement(D)}D=$BK(D);return D},appendTo:function(B){B.appendChild(this);return this},appendBefore:function(B){B.parentNode.insertBefore(this,B);return this},addEvent:function(D,C){bkLib.addEvent(this,D,C);return this},setContent:function(B){this.innerHTML=B;return this},pos:function(){var E=curtop=0;var F=obj=this;if(obj.offsetParent){do{E+=obj.offsetLeft;curtop+=obj.offsetTop}while(obj=obj.offsetParent)}var D=(!window.opera)?parseInt(this.getStyle("border-width")||this.style.border)||0:0;return[E+D,curtop+D+this.offsetHeight]},noSelect:function(){bkLib.noSelect(this);return this},parentTag:function(C){var D=this;do{if(D&&D.nodeName&&D.nodeName.toUpperCase()==C){return D}D=D.parentNode}while(D);return false},hasClass:function(B){return this.className.match(new RegExp("(\\s|^)nicEdit-"+B+"(\\s|$)"))},addClass:function(B){if(!this.hasClass(B)){this.className+=" nicEdit-"+B}return this},removeClass:function(B){if(this.hasClass(B)){this.className=this.className.replace(new RegExp("(\\s|^)nicEdit-"+B+"(\\s|$)")," ")}return this},setStyle:function(D){var F=this.style;for(var E in D){switch(E){case"float":F.cssFloat=F.styleFloat=D[E];break;case"opacity":F.opacity=D[E];F.filter="alpha(opacity="+Math.round(D[E]*100)+")";break;case"className":this.className=D[E];break;default:F[E]=D[E]}}return this},getStyle:function(D,E){var F=(!E)?document.defaultView:E;if(this.nodeType==1){return(F&&F.getComputedStyle)?F.getComputedStyle(this,null).getPropertyValue(D):this.currentStyle[bkLib.camelize(D)]}},remove:function(){this.parentNode.removeChild(this);return this},setAttributes:function(C){for(var D in C){this[D]=C[D]}return this}});var bkLib={isMSIE:(navigator.appVersion.indexOf("MSIE")!=-1),addEvent:function(E,F,D){(E.addEventListener)?E.addEventListener(F,D,false):E.attachEvent("on"+F,D)},toArray:function(E){var F=E.length,D=new Array(F);while(F--){D[F]=E[F]}return D},noSelect:function(D){if(D.setAttribute&&D.nodeName.toLowerCase()!="input"&&D.nodeName.toLowerCase()!="textarea"){D.setAttribute("unselectable","on")}for(var C=0;C<D.childNodes.length;C++){bkLib.noSelect(D.childNodes[C])}},camelize:function(B){return B.replace(/\-(.)/g,function(D,A){return A.toUpperCase()})},inArray:function(C,D){return(bkLib.search(C,D)!=null)},search:function(D,E){for(var F=0;F<D.length;F++){if(D[F]==E){return F}}return null},cancelEvent:function(B){B=B||window.event;if(B.preventDefault&&B.stopPropagation){B.preventDefault();B.stopPropagation()}return false},domLoad:[],domLoaded:function(){if(arguments.callee.done){return }arguments.callee.done=true;for(i=0;i<bkLib.domLoad.length;i++){bkLib.domLoad[i]()}},onDomLoaded:function(B){this.domLoad.push(B);if(document.addEventListener){document.addEventListener("DOMContentLoaded",bkLib.domLoaded,null)}else{if(bkLib.isMSIE){document.write("<style>.nicEdit-main p { margin: 0; }</style><script id=__ie_onload defer "+((location.protocol=="https:")?"src='javascript:void(0)'":"src=//0")+"><\/script>");$BK("__ie_onload").onreadystatechange=function(){if(this.readyState=="complete"){bkLib.domLoaded()}}}}window.onload=bkLib.domLoaded}};function $BK(B){if(typeof (B)=="string"){B=document.getElementById(B)}return(B&&!B.appendTo)?bkExtend(B,bkElement.prototype):B}var bkEvent={addEvent:function(C,D){if(D){this.eventList=this.eventList||{};this.eventList[C]=this.eventList[C]||[];this.eventList[C].push(D)}return this},fireEvent:function(){var D=bkLib.toArray(arguments),E=D.shift();if(this.eventList&&this.eventList[E]){for(var F=0;F<this.eventList[E].length;F++){this.eventList[E][F].apply(this,D)}}}};function __(B){return B}Function.prototype.closure=function(){var D=this,F=bkLib.toArray(arguments),E=F.shift();return function(){if(typeof (bkLib)!="undefined"){return D.apply(E,F.concat(bkLib.toArray(arguments)))}}};Function.prototype.closureListener=function(){var D=this,E=bkLib.toArray(arguments),F=E.shift();return function(A){A=A||window.event;if(A.target){var B=A.target}else{var B=A.srcElement}return D.apply(F,[A,B].concat(E))}};var nicEditorConfig=bkClass.extend({buttons:{bold:{name:__("Click to Bold"),command:"Bold",tags:["B","STRONG"],css:{"font-weight":"bold"},key:"b"},italic:{name:__("Click to Italic"),command:"Italic",tags:["EM","I"],css:{"font-style":"italic"},key:"i"},underline:{name:__("Click to Underline"),command:"Underline",tags:["U"],css:{"text-decoration":"underline"},key:"u"},left:{name:__("Left Align"),command:"justifyleft",noActive:true},center:{name:__("Center Align"),command:"justifycenter",noActive:true},right:{name:__("Right Align"),command:"justifyright",noActive:true},justify:{name:__("Justify Align"),command:"justifyfull",noActive:true},ol:{name:__("Insert Ordered List"),command:"insertorderedlist",tags:["OL"]},ul:{name:__("Insert Unordered List"),command:"insertunorderedlist",tags:["UL"]},subscript:{name:__("Click to Subscript"),command:"subscript",tags:["SUB"]},superscript:{name:__("Click to Superscript"),command:"superscript",tags:["SUP"]},strikethrough:{name:__("Click to Strike Through"),command:"strikeThrough",css:{"text-decoration":"line-through"}},removeformat:{name:__("Remove Formatting"),command:"removeformat",noActive:true},indent:{name:__("Indent Text"),command:"indent",noActive:true},outdent:{name:__("Remove Indent"),command:"outdent",noActive:true},hr:{name:__("Horizontal Rule"),command:"insertHorizontalRule",noActive:true}},iconsPath:"http://js.nicedit.com/nicEditIcons-latest.gif",buttonList:["save","bold","italic","underline","left","center","right","justify","ol","ul","fontSize","fontFamily","fontFormat","indent","outdent","image","upload","link","unlink","forecolor","bgcolor"],iconList:{xhtml:1,bgcolor:2,forecolor:3,bold:4,center:5,hr:6,indent:7,italic:8,justify:9,left:10,ol:11,outdent:12,removeformat:13,right:14,save:25,strikethrough:16,subscript:17,superscript:18,ul:19,underline:20,image:21,link:22,unlink:23,close:24,arrow:26,upload:27}});var nicEditors={nicPlugins:[],editors:[],registerPlugin:function(D,C){this.nicPlugins.push({p:D,o:C})},allTextAreas:function(E){var D=document.getElementsByTagName("textarea");for(var F=0;F<D.length;F++){nicEditors.editors.push(new nicEditor(E).panelInstance(D[F]))}return nicEditors.editors},findEditor:function(E){var F=nicEditors.editors;for(var D=0;D<F.length;D++){if(F[D].instanceById(E)){return F[D].instanceById(E)}}}};var nicEditor=bkClass.extend({construct:function(E){this.options=new nicEditorConfig();bkExtend(this.options,E);this.nicInstances=new Array();this.loadedPlugins=new Array();var D=nicEditors.nicPlugins;for(var F=0;F<D.length;F++){this.loadedPlugins.push(new D[F].p(this,D[F].o))}nicEditors.editors.push(this);bkLib.addEvent(document.body,"mousedown",this.selectCheck.closureListener(this))},panelInstance:function(F,E){F=this.checkReplace($BK(F));var D=new bkElement("DIV").setStyle({width:(F.clientWidth||parseInt(F.getStyle("width")))+"px"}).appendBefore(F);this.setPanel(D);return this.addInstance(F,E)},checkReplace:function(D){var C=nicEditors.findEditor(D);if(C){C.removeInstance(D);C.removePanel()}return D},addInstance:function(F,E){F=this.checkReplace($BK(F));if(F.contentEditable||!!window.opera){var D=new nicEditorInstance(F,E,this)}else{var D=new nicEditorIFrameInstance(F,E,this)}this.nicInstances.push(D);return this},removeInstance:function(E){E=$BK(E);var F=this.nicInstances;for(var D=0;D<F.length;D++){if(F[D].e==E){F[D].remove();this.nicInstances.splice(D,1)}}},removePanel:function(B){if(this.nicPanel){this.nicPanel.remove();this.nicPanel=null}},instanceById:function(E){E=$BK(E);var F=this.nicInstances;for(var D=0;D<F.length;D++){if(F[D].e==E){return F[D]}}},setPanel:function(B){this.nicPanel=new nicEditorPanel($BK(B),this.options,this);this.fireEvent("panel",this.nicPanel);return this},nicCommand:function(D,C){if(this.selectedInstance){this.selectedInstance.nicCommand(D,C)}},getIcon:function(F,E){var G=this.options.iconList[F];var H=(E.iconFiles)?E.iconFiles[F]:"";return{backgroundImage:"url('"+((G)?this.options.iconsPath:H)+"')",backgroundPosition:((G)?((G-1)*-18):0)+"px 0px"}},selectCheck:function(E,D){var F=false;do{if(D.className&&D.className.indexOf("nicEdit")!=-1){return false}}while(D=D.parentNode);this.fireEvent("blur",this.selectedInstance,D);this.lastSelectedInstance=this.selectedInstance;this.selectedInstance=null;return false}});nicEditor=nicEditor.extend(bkEvent);var nicEditorInstance=bkClass.extend({isSelected:false,construct:function(K,N,O){this.ne=O;this.elm=this.e=K;this.options=N||{};newX=K.clientWidth||parseInt(K.getStyle("width"));newY=parseInt(K.getStyle("height"))||K.clientHeight;this.initialHeight=newY-8;var J=(K.nodeName.toLowerCase()=="textarea");if(J||this.options.hasPanel){var P=(bkLib.isMSIE&&!((typeof document.body.style.maxHeight!="undefined")&&document.compatMode=="CSS1Compat"));var M={width:newX+"px",border:"1px solid #ccc",borderTop:0,overflowY:"auto",overflowX:"hidden"};M[(P)?"height":"maxHeight"]=(this.ne.options.maxHeight)?this.ne.options.maxHeight+"px":null;this.editorContain=new bkElement("DIV").setStyle(M).appendBefore(K);var I=new bkElement("DIV").setStyle({width:(newX-8)+"px",margin:"4px",minHeight:newY+"px"}).addClass("main").appendTo(this.editorContain);K.setStyle({display:"none"});I.innerHTML=K.innerHTML;if(J){I.setContent(K.value);this.copyElm=K;var L=K.parentTag("FORM");if(L){bkLib.addEvent(L,"submit",this.saveContent.closure(this))}}I.setStyle((P)?{height:newY+"px"}:{overflow:"hidden"});this.elm=I}this.ne.addEvent("blur",this.blur.closure(this));this.init();this.blur()},init:function(){this.elm.setAttribute("contentEditable","true");if(this.getContent()==""){this.setContent("<br />")}this.instanceDoc=document.defaultView;this.elm.addEvent("mousedown",this.selected.closureListener(this)).addEvent("keypress",this.keyDown.closureListener(this)).addEvent("focus",this.selected.closure(this)).addEvent("blur",this.blur.closure(this)).addEvent("keyup",this.selected.closure(this));this.ne.fireEvent("add",this)},remove:function(){this.saveContent();if(this.copyElm||this.options.hasPanel){this.editorContain.remove();this.e.setStyle({display:"block"});this.ne.removePanel()}this.disable();this.ne.fireEvent("remove",this)},disable:function(){this.elm.setAttribute("contentEditable","false")},getSel:function(){return(window.getSelection)?window.getSelection():document.selection},getRng:function(){var B=this.getSel();if(!B){return null}return(B.rangeCount>0)?B.getRangeAt(0):B.createRange()},selRng:function(C,D){if(window.getSelection){D.removeAllRanges();D.addRange(C)}else{C.select()}},selElm:function(){var G=this.getRng();if(G.startContainer){var F=G.startContainer;if(G.cloneContents().childNodes.length==1){for(var H=0;H<F.childNodes.length;H++){var E=F.childNodes[H].ownerDocument.createRange();E.selectNode(F.childNodes[H]);if(G.compareBoundaryPoints(Range.START_TO_START,E)!=1&&G.compareBoundaryPoints(Range.END_TO_END,E)!=-1){return $BK(F.childNodes[H])}}}return $BK(F)}else{return $BK((this.getSel().type=="Control")?G.item(0):G.parentElement())}},saveRng:function(){this.savedRange=this.getRng();this.savedSel=this.getSel()},restoreRng:function(){if(this.savedRange){this.selRng(this.savedRange,this.savedSel)}},keyDown:function(D,C){if(D.ctrlKey){this.ne.fireEvent("key",this,D)}},selected:function(E,D){if(!D){D=this.selElm()}if(!E.ctrlKey){var F=this.ne.selectedInstance;if(F!=this){if(F){this.ne.fireEvent("blur",F,D)}this.ne.selectedInstance=this;this.ne.fireEvent("focus",F,D)}this.ne.fireEvent("selected",F,D);this.isFocused=true;this.elm.addClass("selected")}return false},blur:function(){this.isFocused=false;this.elm.removeClass("selected")},saveContent:function(){if(this.copyElm||this.options.hasPanel){this.ne.fireEvent("save",this);(this.copyElm)?this.copyElm.value=this.getContent():this.e.innerHTML=this.getContent()}},getElm:function(){return this.elm},getContent:function(){this.content=this.getElm().innerHTML;this.ne.fireEvent("get",this);return this.content},setContent:function(B){this.content=B;this.ne.fireEvent("set",this);this.elm.innerHTML=this.content},nicCommand:function(D,C){document.execCommand(D,false,C)}});var nicEditorIFrameInstance=nicEditorInstance.extend({savedStyles:[],init:function(){var D=this.elm.innerHTML.replace(/^\s+|\s+$/g,"");this.elm.innerHTML="";(!D)?D="<br />":D;this.initialContent=D;this.elmFrame=new bkElement("iframe").setAttributes({src:"javascript:;",frameBorder:0,allowTransparency:"true",scrolling:"no"}).setStyle({height:"100px",width:"100%"}).addClass("frame").appendTo(this.elm);if(this.copyElm){this.elmFrame.setStyle({width:(this.elm.offsetWidth-4)+"px"})}var C=["font-size","font-family","font-weight","color"];for(itm in C){this.savedStyles[bkLib.camelize(itm)]=this.elm.getStyle(itm)}setTimeout(this.initFrame.closure(this),50)},disable:function(){this.elm.innerHTML=this.getContent()},initFrame:function(){var D=$BK(this.elmFrame.contentWindow.document);D.designMode="on";D.open();var C=this.ne.options.externalCSS;D.write("<html><head>"+((C)?'<link href="'+C+'" rel="stylesheet" type="text/css" />':"")+'</head><body id="nicEditContent" style="margin: 0 !important; background-color: transparent !important;">'+this.initialContent+"</body></html>");D.close();this.frameDoc=D;this.frameWin=$BK(this.elmFrame.contentWindow);this.frameContent=$BK(this.frameWin.document.body).setStyle(this.savedStyles);this.instanceDoc=this.frameWin.document.defaultView;this.heightUpdate();this.frameDoc.addEvent("mousedown",this.selected.closureListener(this)).addEvent("keyup",this.heightUpdate.closureListener(this)).addEvent("keydown",this.keyDown.closureListener(this)).addEvent("keyup",this.selected.closure(this));this.ne.fireEvent("add",this)},getElm:function(){return this.frameContent},setContent:function(B){this.content=B;this.ne.fireEvent("set",this);this.frameContent.innerHTML=this.content;this.heightUpdate()},getSel:function(){return(this.frameWin)?this.frameWin.getSelection():this.frameDoc.selection},heightUpdate:function(){this.elmFrame.style.height=Math.max(this.frameContent.offsetHeight,this.initialHeight)+"px"},nicCommand:function(D,C){this.frameDoc.execCommand(D,false,C);setTimeout(this.heightUpdate.closure(this),100)}});var nicEditorPanel=bkClass.extend({construct:function(G,J,F){this.elm=G;this.options=J;this.ne=F;this.panelButtons=new Array();this.buttonList=bkExtend([],this.ne.options.buttonList);this.panelContain=new bkElement("DIV").setStyle({overflow:"hidden",width:"100%",border:"1px solid #cccccc",backgroundColor:"#efefef"}).addClass("panelContain");this.panelElm=new bkElement("DIV").setStyle({margin:"2px",marginTop:"0px",zoom:1,overflow:"hidden"}).addClass("panel").appendTo(this.panelContain);this.panelContain.appendTo(G);var I=this.ne.options;var H=I.buttons;for(button in H){this.addButton(button,I,true)}this.reorder();G.noSelect()},addButton:function(buttonName,options,noOrder){var button=options.buttons[buttonName];var type=(button.type)?eval("(typeof("+button.type+') == "undefined") ? null : '+button.type+";"):nicEditorButton;var hasButton=bkLib.inArray(this.buttonList,buttonName);if(type&&(hasButton||this.ne.options.fullPanel)){this.panelButtons.push(new type(this.panelElm,buttonName,options,this.ne));if(!hasButton){this.buttonList.push(buttonName)}}},findButton:function(D){for(var C=0;C<this.panelButtons.length;C++){if(this.panelButtons[C].name==D){return this.panelButtons[C]}}},reorder:function(){var E=this.buttonList;for(var F=0;F<E.length;F++){var D=this.findButton(E[F]);if(D){this.panelElm.appendChild(D.margin)}}},remove:function(){this.elm.remove()}});var nicEditorButton=bkClass.extend({construct:function(F,E,G,H){this.options=G.buttons[E];this.name=E;this.ne=H;this.elm=F;this.margin=new bkElement("DIV").setStyle({"float":"left",marginTop:"2px"}).appendTo(F);this.contain=new bkElement("DIV").setStyle({width:"20px",height:"20px"}).addClass("buttonContain").appendTo(this.margin);this.border=new bkElement("DIV").setStyle({backgroundColor:"#efefef",border:"1px solid #efefef"}).appendTo(this.contain);this.button=new bkElement("DIV").setStyle({width:"18px",height:"18px",overflow:"hidden",zoom:1,cursor:"pointer"}).addClass("button").setStyle(this.ne.getIcon(E,G)).appendTo(this.border);this.button.addEvent("mouseover",this.hoverOn.closure(this)).addEvent("mouseout",this.hoverOff.closure(this)).addEvent("mousedown",this.mouseClick.closure(this)).noSelect();if(!window.opera){this.button.onmousedown=this.button.onclick=bkLib.cancelEvent}H.addEvent("selected",this.enable.closure(this)).addEvent("blur",this.disable.closure(this)).addEvent("key",this.key.closure(this));this.disable();this.init()},init:function(){},hide:function(){this.contain.setStyle({display:"none"})},updateState:function(){if(this.isDisabled){this.setBg()}else{if(this.isHover){this.setBg("hover")}else{if(this.isActive){this.setBg("active")}else{this.setBg()}}}},setBg:function(C){switch(C){case"hover":var D={border:"1px solid #666",backgroundColor:"#ddd"};break;case"active":var D={border:"1px solid #666",backgroundColor:"#ccc"};break;default:var D={border:"1px solid #efefef",backgroundColor:"#efefef"}}this.border.setStyle(D).addClass("button-"+C)},checkNodes:function(C){var D=C;do{if(this.options.tags&&bkLib.inArray(this.options.tags,D.nodeName)){this.activate();return true}}while(D=D.parentNode&&D.className!="nicEdit");D=$BK(C);while(D.nodeType==3){D=$BK(D.parentNode)}if(this.options.css){for(itm in this.options.css){if(D.getStyle(itm,this.ne.selectedInstance.instanceDoc)==this.options.css[itm]){this.activate();return true}}}this.deactivate();return false},activate:function(){if(!this.isDisabled){this.isActive=true;this.updateState();this.ne.fireEvent("buttonActivate",this)}},deactivate:function(){this.isActive=false;this.updateState();if(!this.isDisabled){this.ne.fireEvent("buttonDeactivate",this)}},enable:function(C,D){this.isDisabled=false;this.contain.setStyle({opacity:1}).addClass("buttonEnabled");this.updateState();this.checkNodes(D)},disable:function(C,D){this.isDisabled=true;this.contain.setStyle({opacity:0.6}).removeClass("buttonEnabled");this.updateState()},toggleActive:function(){(this.isActive)?this.deactivate():this.activate()},hoverOn:function(){if(!this.isDisabled){this.isHover=true;this.updateState();this.ne.fireEvent("buttonOver",this)}},hoverOff:function(){this.isHover=false;this.updateState();this.ne.fireEvent("buttonOut",this)},mouseClick:function(){if(this.options.command){this.ne.nicCommand(this.options.command,this.options.commandArgs);if(!this.options.noActive){this.toggleActive()}}this.ne.fireEvent("buttonClick",this)},key:function(C,D){if(this.options.key&&D.ctrlKey&&String.fromCharCode(D.keyCode||D.charCode).toLowerCase()==this.options.key){this.mouseClick();if(D.preventDefault){D.preventDefault()}}}});var nicPlugin=bkClass.extend({construct:function(D,C){this.options=C;this.ne=D;this.ne.addEvent("panel",this.loadPanel.closure(this));this.init()},loadPanel:function(E){var F=this.options.buttons;for(var D in F){E.addButton(D,this.options)}E.reorder()},init:function(){}});var nicPaneOptions={};var nicEditorPane=bkClass.extend({construct:function(F,G,H,E){this.ne=G;this.elm=F;this.pos=F.pos();this.contain=new bkElement("div").setStyle({zIndex:"99999",overflow:"hidden",position:"absolute",left:this.pos[0]+"px",top:this.pos[1]+"px"});this.pane=new bkElement("div").setStyle({fontSize:"12px",border:"1px solid #ccc",overflow:"hidden",padding:"4px",textAlign:"left",backgroundColor:"#ffffc9"}).addClass("pane").setStyle(H).appendTo(this.contain);if(E&&!E.options.noClose){this.close=new bkElement("div").setStyle({"float":"right",height:"16px",width:"16px",cursor:"pointer"}).setStyle(this.ne.getIcon("close",nicPaneOptions)).addEvent("mousedown",E.removePane.closure(this)).appendTo(this.pane)}this.contain.noSelect().appendTo(document.body);this.position();this.init()},init:function(){},position:function(){if(this.ne.nicPanel){var F=this.ne.nicPanel.elm;var D=F.pos();var E=D[0]+parseInt(F.getStyle("width"))-(parseInt(this.pane.getStyle("width"))+8);if(E<this.pos[0]){this.contain.setStyle({left:E+"px"})}}},toggle:function(){this.isVisible=!this.isVisible;this.contain.setStyle({display:((this.isVisible)?"block":"none")})},remove:function(){if(this.contain){this.contain.remove();this.contain=null}},append:function(B){B.appendTo(this.pane)},setContent:function(B){this.pane.setContent(B)}});var nicSelectOptions={buttons:{fontSize:{name:__("Select Font Size"),type:"nicEditorFontSizeSelect",command:"fontsize"},fontFamily:{name:__("Select Font Family"),type:"nicEditorFontFamilySelect",command:"fontname"},fontFormat:{name:__("Select Font Format"),type:"nicEditorFontFormatSelect",command:"formatBlock"}}};var nicEditorSelect=bkClass.extend({construct:function(F,E,G,H){this.options=G.buttons[E];this.elm=F;this.ne=H;this.name=E;this.selOptions=new Array();this.margin=new bkElement("div").setStyle({"float":"left",margin:"2px 1px 0 1px"}).appendTo(this.elm);this.contain=new bkElement("div").setStyle({width:"90px",height:"20px",cursor:"pointer",overflow:"hidden"}).addClass("selectContain").addEvent("click",this.toggle.closure(this)).appendTo(this.margin);this.items=new bkElement("div").setStyle({overflow:"hidden",zoom:1,border:"1px solid #ccc",paddingLeft:"3px",backgroundColor:"#fff"}).appendTo(this.contain);this.control=new bkElement("div").setStyle({overflow:"hidden","float":"right",height:"18px",width:"16px"}).addClass("selectControl").setStyle(this.ne.getIcon("arrow",G)).appendTo(this.items);this.txt=new bkElement("div").setStyle({overflow:"hidden","float":"left",width:"66px",height:"14px",marginTop:"1px",fontFamily:"sans-serif",textAlign:"center",fontSize:"12px"}).addClass("selectTxt").appendTo(this.items);if(!window.opera){this.contain.onmousedown=this.control.onmousedown=this.txt.onmousedown=bkLib.cancelEvent}this.margin.noSelect();this.ne.addEvent("selected",this.enable.closure(this)).addEvent("blur",this.disable.closure(this));this.disable();this.init()},disable:function(){this.isDisabled=true;this.close();this.contain.setStyle({opacity:0.6})},enable:function(B){this.isDisabled=false;this.close();this.contain.setStyle({opacity:1})},setDisplay:function(B){this.txt.setContent(B)},toggle:function(){if(!this.isDisabled){(this.pane)?this.close():this.open()}},open:function(){this.pane=new nicEditorPane(this.items,this.ne,{width:"88px",padding:"0px",borderTop:0,borderLeft:"1px solid #ccc",borderRight:"1px solid #ccc",borderBottom:"0px",backgroundColor:"#fff"});for(var G=0;G<this.selOptions.length;G++){var H=this.selOptions[G];var E=new bkElement("div").setStyle({overflow:"hidden",borderBottom:"1px solid #ccc",width:"88px",textAlign:"left",overflow:"hidden",cursor:"pointer"});var F=new bkElement("div").setStyle({padding:"0px 4px"}).setContent(H[1]).appendTo(E).noSelect();F.addEvent("click",this.update.closure(this,H[0])).addEvent("mouseover",this.over.closure(this,F)).addEvent("mouseout",this.out.closure(this,F)).setAttributes("id",H[0]);this.pane.append(E);if(!window.opera){F.onmousedown=bkLib.cancelEvent}}},close:function(){if(this.pane){this.pane=this.pane.remove()}},over:function(B){B.setStyle({backgroundColor:"#ccc"})},out:function(B){B.setStyle({backgroundColor:"#fff"})},add:function(D,C){this.selOptions.push(new Array(D,C))},update:function(B){this.ne.nicCommand(this.options.command,B);this.close()}});var nicEditorFontSizeSelect=nicEditorSelect.extend({sel:{1:"1&nbsp;(8pt)",2:"2&nbsp;(10pt)",3:"3&nbsp;(12pt)",4:"4&nbsp;(14pt)",5:"5&nbsp;(18pt)",6:"6&nbsp;(24pt)"},init:function(){this.setDisplay("Font&nbsp;Size...");for(itm in this.sel){this.add(itm,'<font size="'+itm+'">'+this.sel[itm]+"</font>")}}});var nicEditorFontFamilySelect=nicEditorSelect.extend({sel:{arial:"Arial","comic sans ms":"Comic Sans","courier new":"Courier New",georgia:"Georgia",helvetica:"Helvetica",impact:"Impact","times new roman":"Times","trebuchet ms":"Trebuchet",verdana:"Verdana"},init:function(){this.setDisplay("Font&nbsp;Family...");for(itm in this.sel){this.add(itm,'<font face="'+itm+'">'+this.sel[itm]+"</font>")}}});var nicEditorFontFormatSelect=nicEditorSelect.extend({sel:{p:"Paragraph",pre:"Pre",h6:"Heading&nbsp;6",h5:"Heading&nbsp;5",h4:"Heading&nbsp;4",h3:"Heading&nbsp;3",h2:"Heading&nbsp;2",h1:"Heading&nbsp;1"},init:function(){this.setDisplay("Font&nbsp;Format...");for(itm in this.sel){var B=itm.toUpperCase();this.add("<"+B+">","<"+itm+' style="padding: 0px; margin: 0px;">'+this.sel[itm]+"</"+B+">")}}});nicEditors.registerPlugin(nicPlugin,nicSelectOptions);var nicButtonTips=bkClass.extend({construct:function(B){this.ne=B;B.addEvent("buttonOver",this.show.closure(this)).addEvent("buttonOut",this.hide.closure(this))},show:function(B){this.timer=setTimeout(this.create.closure(this,B),400)},create:function(B){this.timer=null;if(!this.pane){this.pane=new nicEditorPane(B.button,this.ne,{fontSize:"12px",marginTop:"5px"});this.pane.setContent(B.options.name)}},hide:function(B){if(this.timer){clearTimeout(this.timer)}if(this.pane){this.pane=this.pane.remove()}}});nicEditors.registerPlugin(nicButtonTips);var nicEditorAdvancedButton=nicEditorButton.extend({init:function(){this.ne.addEvent("selected",this.removePane.closure(this)).addEvent("blur",this.removePane.closure(this))},mouseClick:function(){if(!this.isDisabled){if(this.pane&&this.pane.pane){this.removePane()}else{this.pane=new nicEditorPane(this.contain,this.ne,{width:(this.width||"270px"),backgroundColor:"#fff"},this);this.addPane();this.ne.selectedInstance.saveRng()}}},addForm:function(M,I){this.form=new bkElement("form").addEvent("submit",this.submit.closureListener(this));this.pane.append(this.form);this.inputs={};for(itm in M){var L=M[itm];var J="";if(I){J=I.getAttribute(itm)}if(!J){J=L.value||""}var H=M[itm].type;if(H=="title"){new bkElement("div").setContent(L.txt).setStyle({fontSize:"14px",fontWeight:"bold",padding:"0px",margin:"2px 0"}).appendTo(this.form)}else{var N=new bkElement("div").setStyle({overflow:"hidden",clear:"both"}).appendTo(this.form);if(L.txt){new bkElement("label").setAttributes({"for":itm}).setContent(L.txt).setStyle({margin:"2px 4px",fontSize:"13px",width:"50px",lineHeight:"20px",textAlign:"right","float":"left"}).appendTo(N)}switch(H){case"text":this.inputs[itm]=new bkElement("input").setAttributes({id:itm,value:J,type:"text"}).setStyle({margin:"2px 0",fontSize:"13px","float":"left",height:"20px",border:"1px solid #ccc",overflow:"hidden"}).setStyle(L.style).appendTo(N);break;case"select":this.inputs[itm]=new bkElement("select").setAttributes({id:itm}).setStyle({border:"1px solid #ccc","float":"left",margin:"2px 0"}).appendTo(N);for(opt in L.options){var K=new bkElement("option").setAttributes({value:opt,selected:(opt==J)?"selected":""}).setContent(L.options[opt]).appendTo(this.inputs[itm])}break;case"content":this.inputs[itm]=new bkElement("textarea").setAttributes({id:itm}).setStyle({border:"1px solid #ccc","float":"left"}).setStyle(L.style).appendTo(N);this.inputs[itm].value=J}}}new bkElement("input").setAttributes({type:"submit"}).setStyle({backgroundColor:"#efefef",border:"1px solid #ccc",margin:"3px 0","float":"left",clear:"both"}).appendTo(this.form);this.form.onsubmit=bkLib.cancelEvent},submit:function(){},findElm:function(J,F,G){var H=this.ne.selectedInstance.getElm().getElementsByTagName(J);for(var I=0;I<H.length;I++){if(H[I].getAttribute(F)==G){return $BK(H[I])}}},removePane:function(){if(this.pane){this.pane.remove();this.pane=null;this.ne.selectedInstance.restoreRng()}}});var nicLinkOptions={buttons:{link:{name:"Add Link",type:"nicLinkButton",tags:["A"]},unlink:{name:"Remove Link",command:"unlink",noActive:true}}};var nicLinkButton=nicEditorAdvancedButton.extend({addPane:function(){this.ln=this.ne.selectedInstance.selElm().parentTag("A");this.addForm({"":{type:"title",txt:"Add/Edit Link"},href:{type:"text",txt:"URL",value:"http://",style:{width:"150px"}},title:{type:"text",txt:"Title"},target:{type:"select",txt:"Open In",options:{"":"Current Window",_blank:"New Window"},style:{width:"100px"}}},this.ln)},submit:function(E){var D=this.inputs.href.value;if(D=="http://"||D==""){alert("You must enter a URL to Create a Link");return false}this.removePane();if(!this.ln){var F="javascript:nicTemp();";this.ne.nicCommand("createlink",F);this.ln=this.findElm("A","href",F)}if(this.ln){this.ln.setAttributes({href:this.inputs.href.value,title:this.inputs.title.value,target:this.inputs.target.options[this.inputs.target.selectedIndex].value})}}});nicEditors.registerPlugin(nicPlugin,nicLinkOptions);var nicColorOptions={buttons:{forecolor:{name:__("Change Text Color"),type:"nicEditorColorButton",noClose:true},bgcolor:{name:__("Change Background Color"),type:"nicEditorBgColorButton",noClose:true}}};var nicEditorColorButton=nicEditorAdvancedButton.extend({addPane:function(){var J={0:"00",1:"33",2:"66",3:"99",4:"CC",5:"FF"};var O=new bkElement("DIV").setStyle({width:"270px"});for(var M in J){for(var Q in J){for(var R in J){var N="#"+J[M]+J[R]+J[Q];var K=new bkElement("DIV").setStyle({cursor:"pointer",height:"15px","float":"left"}).appendTo(O);var P=new bkElement("DIV").setStyle({border:"2px solid "+N}).appendTo(K);var L=new bkElement("DIV").setStyle({backgroundColor:N,overflow:"hidden",width:"11px",height:"11px"}).addEvent("click",this.colorSelect.closure(this,N)).addEvent("mouseover",this.on.closure(this,P)).addEvent("mouseout",this.off.closure(this,P,N)).appendTo(P);if(!window.opera){K.onmousedown=L.onmousedown=bkLib.cancelEvent}}}}this.pane.append(O.noSelect())},colorSelect:function(B){this.ne.nicCommand("foreColor",B);this.removePane()},on:function(B){B.setStyle({border:"2px solid #000"})},off:function(C,D){C.setStyle({border:"2px solid "+D})}});var nicEditorBgColorButton=nicEditorColorButton.extend({colorSelect:function(B){this.ne.nicCommand("hiliteColor",B);this.removePane()}});nicEditors.registerPlugin(nicPlugin,nicColorOptions);var nicImageOptions={buttons:{image:{name:"Add Image",type:"nicImageButton",tags:["IMG"]}}};var nicImageButton=nicEditorAdvancedButton.extend({addPane:function(){this.im=this.ne.selectedInstance.selElm().parentTag("IMG");this.addForm({"":{type:"title",txt:"Add/Edit Image"},src:{type:"text",txt:"URL",value:"http://",style:{width:"150px"}},alt:{type:"text",txt:"Alt Text",style:{width:"100px"}},align:{type:"select",txt:"Align",options:{none:"Default",left:"Left",right:"Right"}}},this.im)},submit:function(F){var E=this.inputs.src.value;if(E==""||E=="http://"){alert("You must enter a Image URL to insert");return false}this.removePane();if(!this.im){var D="javascript:nicImTemp();";this.ne.nicCommand("insertImage",D);this.im=this.findElm("IMG","src",D)}if(this.im){this.im.setAttributes({src:this.inputs.src.value,alt:this.inputs.alt.value,align:this.inputs.align.value})}}});nicEditors.registerPlugin(nicPlugin,nicImageOptions);var nicSaveOptions={buttons:{save:{name:__("Save this content"),type:"nicEditorSaveButton"}}};var nicEditorSaveButton=nicEditorButton.extend({init:function(){if(!this.ne.options.onSave){this.margin.setStyle({display:"none"})}},mouseClick:function(){var D=this.ne.options.onSave;var C=this.ne.selectedInstance;D(C.getContent(),C.elm.id,C)}});nicEditors.registerPlugin(nicPlugin,nicSaveOptions);var nicXHTML=bkClass.extend({stripAttributes:["_moz_dirty","_moz_resizing","_extended"],noShort:["style","title","script","textarea","a"],cssReplace:{"font-weight:bold;":"strong","font-style:italic;":"em"},sizes:{1:"xx-small",2:"x-small",3:"small",4:"medium",5:"large",6:"x-large"},construct:function(B){this.ne=B;if(this.ne.options.xhtml){B.addEvent("get",this.cleanup.closure(this))}},cleanup:function(D){var F=D.getElm();var E=this.toXHTML(F);D.content=E},toXHTML:function(S,U,a){var f="";var X="";var W="";var d=S.nodeType;var V=S.nodeName.toLowerCase();var Y=S.hasChildNodes&&S.hasChildNodes();var T=new Array();switch(d){case 1:var e=S.attributes;switch(V){case"b":V="strong";break;case"i":V="em";break;case"font":V="span";break}if(U){for(var g=0;g<e.length;g++){var b=e[g];var Z=b.nodeName.toLowerCase();var R=b.nodeValue;if(!b.specified||!R||bkLib.inArray(this.stripAttributes,Z)||typeof (R)=="function"){continue}switch(Z){case"style":var c=R.replace(/ /g,"");for(itm in this.cssReplace){if(c.indexOf(itm)!=-1){T.push(this.cssReplace[itm]);c=c.replace(itm,"")}}W+=c;R="";break;case"class":R=R.replace("Apple-style-span","");break;case"size":W+="font-size:"+this.sizes[R]+";";R="";break}if(R){X+=" "+Z+'="'+R+'"'}}if(W){X+=' style="'+W+'"'}for(var g=0;g<T.length;g++){f+="<"+T[g]+">"}if(X==""&&V=="span"){U=false}if(U){f+="<"+V;if(V!="br"){f+=X}}}if(!Y&&!bkLib.inArray(this.noShort,Z)){if(U){f+=" />"}}else{if(U){f+=">"}for(var g=0;g<S.childNodes.length;g++){var h=this.toXHTML(S.childNodes[g],true,true);if(h){f+=h}}}if(U&&Y){f+="</"+V+">"}for(var g=0;g<T.length;g++){f+="</"+T[g]+">"}break;case 3:f+=S.nodeValue;break}return f}});nicEditors.registerPlugin(nicXHTML);var nicCodeOptions={buttons:{xhtml:{name:"Edit HTML",type:"nicCodeButton"}}};var nicCodeButton=nicEditorAdvancedButton.extend({width:"350px",addPane:function(){this.addForm({"":{type:"title",txt:"Edit HTML"},code:{type:"content",value:this.ne.selectedInstance.getContent(),style:{width:"340px",height:"200px"}}})},submit:function(D){var C=this.inputs.code.value;this.ne.selectedInstance.setContent(C);this.removePane()}});nicEditors.registerPlugin(nicPlugin,nicCodeOptions);var nicBBCode=bkClass.extend({construct:function(C){this.ne=C;if(this.ne.options.bbCode){C.addEvent("get",this.bbGet.closure(this));C.addEvent("set",this.bbSet.closure(this));var D=this.ne.loadedPlugins;for(itm in D){if(D[itm].toXHTML){this.xhtml=D[itm]}}}},bbGet:function(C){var D=this.xhtml.toXHTML(C.getElm());C.content=this.toBBCode(D)},bbSet:function(B){B.content=this.fromBBCode(B.content)},toBBCode:function(D){function C(A,B){D=D.replace(A,B)}C(/\n/gi,"");C(/<strong>(.*?)<\/strong>/gi,"[b]$1[/b]");C(/<em>(.*?)<\/em>/gi,"[i]$1[/i]");C(/<span.*?style="text-decoration:underline;">(.*?)<\/span>/gi,"[u]$1[/u]");C(/<ul>(.*?)<\/ul>/gi,"[list]$1[/list]");C(/<li>(.*?)<\/li>/gi,"[*]$1[]");C(/<ol>(.*?)<\/ol>/gi,"[list=1]$1[/list]");C(/<img.*?src="(.*?)".*?>/gi,"[img]$1[/img]");C(/<a.*?href="(.*?)".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");C(/<br.*?>/gi,"\n");C(/<.*?>.*?<\/.*?>/gi,"");return D},fromBBCode:function(C){function D(A,B){C=C.replace(A,B)}D(/\[b\](.*?)\[\/b\]/gi,"<strong>$1</strong>");D(/\[i\](.*?)\[\/i\]/gi,"<em>$1</em>");D(/\[u\](.*?)\[\/u\]/gi,'<span style="text-decoration:underline;">$1</span>');D(/\[list\](.*?)\[\/list\]/gi,"<ul>$1</ul>");D(/\[list=1\](.*?)\[\/list\]/gi,"<ol>$1</ol>");D(/\[\*\](.*?)\[\/\*\]/gi,"<li>$1</li>");D(/\[img\](.*?)\[\/img\]/gi,'<img src="<?=SITE_URL?>$1" />');D(/\[url=(.*?)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>');D(/\n/gi,"<br />");return C}});nicEditors.registerPlugin(nicBBCode);var nicUploadOptions={buttons:{upload:{name:"Upload Image",type:"nicUploadButton"}}};var nicUploadButton=nicEditorAdvancedButton.extend({nicURI:"http://files.nicedit.com/",addPane:function(){this.im=this.ne.selectedInstance.selElm().parentTag("IMG");this.myID=Math.round(Math.random()*Math.pow(10,15));this.requestInterval=1000;this.uri=this.ne.options.uploadURI||this.nicURI;nicUploadButton.lastPlugin=this;this.myFrame=new bkElement("iframe").setAttributes({width:"100%",height:"100px",frameBorder:0,scrolling:"no"}).setStyle({border:0}).appendTo(this.pane.pane);this.progressWrapper=new bkElement("div").setStyle({display:"none",width:"100%",height:"20px",border:"1px solid #ccc"}).appendTo(this.pane.pane);this.progress=new bkElement("div").setStyle({width:"0%",height:"20px",backgroundColor:"#ccc"}).setContent("&nbsp").appendTo(this.progressWrapper);setTimeout(this.addForm.closure(this),50)},addForm:function(){var B=this.myDoc=this.myFrame.contentWindow.document;B.open();B.write("<html><body>");B.write('<form method="post" action="'+this.uri+"?id="+this.myID+'" enctype="multipart/form-data">');B.write('<input type="hidden" name="APC_UPLOAD_PROGRESS" value="'+this.myID+'" />');if(this.uri==this.nicURI){B.write('<div style="position: absolute; margin-left: 160px;"><img src="<?=SITE_URL?>http://imageshack.us/img/imageshack.png" width="30" style="float: left;" /><div style="float: left; margin-left: 5px; font-size: 10px;">Hosted by<br /><a href="http://www.imageshack.us/" target="_blank">ImageShack</a></div></div>')}B.write('<div style="font-size: 14px; font-weight: bold; padding-top: 5px;">Insert an Image</div>');B.write('<input name="nicImage" type="file" style="margin-top: 10px;" />');B.write("</form>");B.write("</body></html>");B.close();this.myBody=B.body;this.myForm=$BK(this.myBody.getElementsByTagName("form")[0]);this.myInput=$BK(this.myBody.getElementsByTagName("input")[1]).addEvent("change",this.startUpload.closure(this));this.myStatus=new bkElement("div",this.myDoc).setStyle({textAlign:"center",fontSize:"14px"}).appendTo(this.myBody)},startUpload:function(){this.myForm.setStyle({display:"none"});this.myStatus.setContent('<img src="<?=SITE_URL?>http://files.nicedit.com/ajax-loader.gif" style="float: right; margin-right: 40px;" /><strong>Uploading...</strong><br />Please wait');this.myForm.submit();setTimeout(this.makeRequest.closure(this),this.requestInterval)},makeRequest:function(){if(this.pane&&this.pane.pane){nicUploadButton.lastPlugin=this;var B=new bkElement("script").setAttributes({type:"text/javascript",src:this.uri+"?check="+this.myID+"&rand="+Math.round(Math.random()*Math.pow(10,15))}).addEvent("load",function(){B.parentNode.removeChild(B)}).appendTo(document.getElementsByTagName("head")[0]);if(this.requestInterval){setTimeout(this.makeRequest.closure(this),this.requestInterval)}}},setProgress:function(B){this.progressWrapper.setStyle({display:"block"});this.progress.setStyle({width:B+"%"})},update:function(E){if(E==false){this.progressWrapper.setStyle({display:"none"})}else{if(E.url){this.setProgress(100);this.requestInterval=false;if(!this.im){this.ne.selectedInstance.restoreRng();var F="javascript:nicImTemp();";this.ne.nicCommand("insertImage",F);this.im=this.findElm("IMG","src",F)}var D=parseInt(this.ne.selectedInstance.elm.getStyle("width"));if(this.im){this.im.setAttributes({src:E.url,width:(D&&E.width)?Math.min(D,E.width):""})}this.removePane()}else{if(E.error){this.requestInterval=false;this.setProgress(100);alert("There was an error uploading your image ("+E.error+").");this.removePane()}else{if(E.noprogress){this.progressWrapper.setStyle({display:"none"});if(this.uri.indexOf("http:")==-1||this.uri.indexOf(window.location.host)!=-1){this.requestInterval=false}}else{this.setProgress(Math.round((E.current/E.total)*75));if(E.interval){this.requestInterval=E.interval}}}}}}});nicUploadButton.statusCb=function(B){nicUploadButton.lastPlugin.update(B)};nicEditors.registerPlugin(nicPlugin,nicUploadOptions);if(typeof Prototype=="undefined"){alert("CalendarDateSelect Error: Prototype could not be found. Please make sure that your application's layout includes prototype.js (.g. <%= javascript_include_tag :defaults %>) *before* it includes calendar_date_select.js (.g. <%= calendar_date_select_includes %>).")}if(Prototype.Version<"1.6"){alert("Prototype 1.6.0 is required.  If using earlier version of prototype, please use calendar_date_select version 1.8.3")}Element.addMethods({purgeChildren:function(A){$A(A.childNodes).each(function(B){$(B).remove()})},build:function(B,D,A,C){var E=Element.build(D,A,C);B.appendChild(E);return E}});Element.build=function(type,options,style){var e=$(document.createElement(type));$H(options).each(function(pair){eval("e."+pair.key+" = pair.value")});if(style){$H(style).each(function(pair){eval("e.style."+pair.key+" = pair.value")})}return e};nil=null;Date.one_day=24*60*60*1000;Date.weekdays=$w("M T W T F S S");Date.first_day_of_week=1;Date.months=$w("January February March April May June July August September October November December");Date.padded2=function(A){var B=parseInt(A,10);if(A<10){B="0"+B}return B};Date.prototype.getPaddedMinutes=function(){return Date.padded2(this.getMinutes())};Date.prototype.getAMPMHour=function(){var A=this.getHours();return(A==0)?12:(A>12?A-12:A)};Date.prototype.getAMPM=function(){return(this.getHours()<12)?"AM":"PM"};Date.prototype.stripTime=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDate())};Date.prototype.daysDistance=function(A){return Math.round((A-this)/Date.one_day)};Date.prototype.toFormattedString=function(B){var A,C;C=Date.months[this.getMonth()]+" "+this.getDate()+", "+this.getFullYear();if(B){A=this.getHours();C+=" "+this.getAMPMHour()+":"+this.getPaddedMinutes()+" "+this.getAMPM()}return C};Date.parseFormattedString=function(A){return new Date(A)};Math.floor_to_interval=function(B,A){return Math.floor(B/A)*A};window.f_height=function(){return([window.innerHeight?window.innerHeight:null,document.documentElement?document.documentElement.clientHeight:null,document.body?document.body.clientHeight:null].select(function(A){return A>0}).first()||0)};window.f_scrollTop=function(){return([window.pageYOffset?window.pageYOffset:null,document.documentElement?document.documentElement.scrollTop:null,document.body?document.body.scrollTop:null].select(function(A){return A>0}).first()||0)};_translations={OK:"OK",Now:"Now",Today:"Today"};SelectBox=Class.create();SelectBox.prototype={initialize:function(D,B,C,A){this.element=$(D).build("select",C,A);this.populate(B)},populate:function(A){this.element.purgeChildren();var B=this;$A(A).each(function(C){if(typeof (C)!="object"){C=[C,C]}B.element.build("option",{value:C[1],innerHTML:C[0]})})},setValue:function(B){var C=this.element;var A=false;$R(0,C.options.length-1).each(function(D){if(C.options[D].value==B.toString()){C.selectedIndex=D;A=true}});return A},getValue:function(){return $F(this.element)}};CalendarDateSelect=Class.create();CalendarDateSelect.prototype={initialize:function(B,A){this.target_element=$(B);if(!this.target_element){alert("Target element "+B+" not found!");return false}this.target_element.calendar_date_select=this;this.last_click_at=0;this.options=$H({embedded:false,popup:nil,time:false,buttons:true,year_range:10,calendar_div:nil,close_on_click:nil,minute_interval:5,popup_by:this.target_element,month_year:"dropdowns",onchange:this.target_element.onchange,valid_date_check:nil}).merge(A||{});this.selection_made=$F(this.target_element).strip()!=="";this.use_time=this.options.get("time");this.callback("before_show");this.calendar_div=$(this.options.get("calendar_div"));this.parseDate();if(this.calendar_div==nil){this.calendar_div=$(this.options.get("embedded")?this.target_element.parentNode:document.body).build("div")}if(!this.options.get("embedded")){this.calendar_div.setStyle({position:"absolute",visibility:"hidden",left:0,top:0})}this.calendar_div.addClassName("calendar_date_select");if(this.options.get("close_on_click")===nil){if(this.options.get("time")){this.options.set("close_on_click",false)}else{this.options.set("close_on_click",true)}}if(!this.options.get("embedded")){Event.observe(document,"mousedown",this.closeIfClickedOut_handler=this.closeIfClickedOut.bindAsEventListener(this));Event.observe(document,"keypress",this.keyPress_handler=this.keyPress.bindAsEventListener(this))}this.init();if(!this.options.get("embedded")){this.positionCalendarDiv()}this.callback("after_show")},positionCalendarDiv:function(){var M=false;var I=this.calendar_div.cumulativeOffset(),K=I[0],H=I[1],C=this.calendar_div.getDimensions(),N=C.height,B=C.width;var L=window.f_scrollTop(),D=window.f_height();var O=$(this.options.get("popup_by")).cumulativeOffset(),F=O[1],P=O[0],G=$(this.options.get("popup_by")).getDimensions().height,J=F+G;if(((J+N)>(L+D))&&(J-N>L)){M=true}var A=P.toString()+"px",E=(M?(F-N):(F+G)).toString()+"px";this.calendar_div.style.left=A;this.calendar_div.style.top=E;this.calendar_div.setStyle({visibility:""});if(navigator.appName=="Microsoft Internet Explorer"){this.iframe=$(document.body).build("iframe",{className:"ie6_blocker"},{left:A,top:E,height:N.toString()+"px",width:B.toString()+"px",border:"0px"})}},init:function(){var that=this;$w("top header body buttons bottom").each(function(name){eval("var "+name+"_div = that."+name+"_div = that.calendar_div.build('div', { className: 'cds_"+name+"' }, { clear: 'left'} ); ")});this.initHeaderDiv();this.initButtonsDiv();this.initCalendarGrid();this.updateFooter("&nbsp;");this.refresh();this.setUseTime(this.use_time)},initHeaderDiv:function(){var A=this.header_div;this.close_button=A.build("a",{innerHTML:"x",href:"#",onclick:function(){this.close();return false}.bindAsEventListener(this),className:"close"});this.next_month_button=A.build("a",{innerHTML:"&gt;",href:"#",onclick:function(){this.navMonth(this.date.getMonth()+1);return false}.bindAsEventListener(this),className:"next"});this.prev_month_button=A.build("a",{innerHTML:"&lt;",href:"#",onclick:function(){this.navMonth(this.date.getMonth()-1);return false}.bindAsEventListener(this),className:"prev"});if(this.options.get("month_year")=="dropdowns"){this.month_select=new SelectBox(A,$R(0,11).map(function(B){return[Date.months[B],B]}),{className:"month",onchange:function(){this.navMonth(this.month_select.getValue())}.bindAsEventListener(this)});this.year_select=new SelectBox(A,[],{className:"year",onchange:function(){this.navYear(this.year_select.getValue())}.bindAsEventListener(this)});this.populateYearRange()}else{this.month_year_label=A.build("span")}},initCalendarGrid:function(){var A=this.body_div;this.calendar_day_grid=[];var G=A.build("table",{cellPadding:"0px",cellSpacing:"0px",width:"100%"});var B=G.build("thead").build("tr");Date.weekdays.each(function(H){B.build("th",{innerHTML:H})});var E=G.build("tbody");var C=0,D;for(var F=0;F<42;F++){D=(F+Date.first_day_of_week)%7;if(F%7==0){days_row=E.build("tr",{className:"row_"+C++})}(this.calendar_day_grid[F]=days_row.build("td",{calendar_date_select:this,onmouseover:function(){this.calendar_date_select.dayHover(this)},onmouseout:function(){this.calendar_date_select.dayHoverOut(this)},onclick:function(){this.calendar_date_select.updateSelectedDate(this,true)},className:(D==6)||(D==0)?" weekend":""},{cursor:"pointer"})).build("div");this.calendar_day_grid[F]}},initButtonsDiv:function(){var D=this.buttons_div;if(this.options.get("time")){var B=$A(this.options.get("time")=="mixed"?[[" - ",""]]:[]);D.build("span",{innerHTML:"@",className:"at_sign"});var A=new Date();this.hour_select=new SelectBox(D,B.concat($R(0,23).map(function(E){A.setHours(E);return $A([A.getAMPMHour()+" "+A.getAMPM(),E])})),{calendar_date_select:this,onchange:function(){this.calendar_date_select.updateSelectedDate({hour:this.value})},className:"hour"});D.build("span",{innerHTML:":",className:"seperator"});var C=this;this.minute_select=new SelectBox(D,B.concat($R(0,59).select(function(E){return(E%C.options.get("minute_interval")==0)}).map(function(E){return $A([Date.padded2(E),E])})),{calendar_date_select:this,onchange:function(){this.calendar_date_select.updateSelectedDate({minute:this.value})},className:"minute"})}else{if(!this.options.get("buttons")){D.remove()}}if(this.options.get("buttons")){D.build("span",{innerHTML:"&nbsp;"});if(this.options.get("time")=="mixed"||!this.options.get("time")){b=D.build("a",{innerHTML:_translations.Today,href:"#",onclick:function(){this.today(false);return false}.bindAsEventListener(this)})}if(this.options.get("time")=="mixed"){D.build("span",{innerHTML:" | ",className:"button_seperator"})}if(this.options.get("time")){b=D.build("a",{innerHTML:_translations.Now,href:"#",onclick:function(){this.today(true);return false}.bindAsEventListener(this)})}if(!this.options.get("embedded")){D.build("span",{innerHTML:"&nbsp;"});D.build("a",{innerHTML:_translations.OK,href:"#",onclick:function(){this.close();return false}.bindAsEventListener(this)})}}},refresh:function(){this.refreshMonthYear();this.refreshCalendarGrid();this.setSelectedClass();this.updateFooter()},refreshCalendarGrid:function(){this.beginning_date=new Date(this.date).stripTime();this.beginning_date.setDate(1);this.beginning_date.setHours(12);var B=this.beginning_date.getDay();if(B<3){B+=7}this.beginning_date.setDate(1-B+Date.first_day_of_week);var D=new Date(this.beginning_date);var A=new Date().stripTime();var C=this.date.getMonth();vdc=this.options.get("valid_date_check");for(var E=0;E<42;E++){day=D.getDate();month=D.getMonth();cell=this.calendar_day_grid[E];Element.remove(cell.childNodes[0]);div=cell.build("div",{innerHTML:day});if(month!=C){div.className="other"}cell.day=day;cell.month=month;cell.year=D.getFullYear();if(vdc){if(vdc(D.stripTime())){cell.removeClassName("disabled")}else{cell.addClassName("disabled")}}D.setDate(day+1)}if(this.today_cell){this.today_cell.removeClassName("today")}if($R(0,42).include(days_until=this.beginning_date.daysDistance(A))){this.today_cell=this.calendar_day_grid[days_until];this.today_cell.addClassName("today")}},refreshMonthYear:function(){var A=this.date.getMonth();var C=this.date.getFullYear();if(this.options.get("month_year")=="dropdowns"){this.month_select.setValue(A,false);var B=this.year_select.element;if(this.flexibleYearRange()&&(!(this.year_select.setValue(C,false))||B.selectedIndex<=1||B.selectedIndex>=B.options.length-2)){this.populateYearRange()}this.year_select.setValue(C)}else{this.month_year_label.update(Date.months[A]+" "+C.toString())}},populateYearRange:function(){this.year_select.populate(this.yearRange().toArray().reverse())},yearRange:function(){if(!this.flexibleYearRange()){return $R(this.options.get("year_range")[0],this.options.get("year_range")[1])}var A=this.date.getFullYear();return $R(A-this.options.get("year_range"),A+this.options.get("year_range"))},flexibleYearRange:function(){return(typeof (this.options.get("year_range"))=="number")},validYear:function(A){if(this.flexibleYearRange()){return true}else{return this.yearRange().include(A)}},dayHover:function(A){var B=new Date(this.selected_date);B.setYear(A.year);B.setMonth(A.month);B.setDate(A.day);this.updateFooter(B.toFormattedString(this.use_time))},dayHoverOut:function(A){this.updateFooter()},setSelectedClass:function(){if(!this.selection_made){return }if(this.selected_cell){this.selected_cell.removeClassName("selected")}if($R(0,42).include(days_until=this.beginning_date.stripTime().daysDistance(this.selected_date.stripTime()))){this.selected_cell=this.calendar_day_grid[days_until];this.selected_cell.addClassName("selected")}},reparse:function(){this.parseDate();this.refresh()},dateString:function(){return(this.selection_made)?this.selected_date.toFormattedString(this.use_time):"&nbsp;"},parseDate:function(){var A=$F(this.target_element).strip();this.date=A==""?NaN:Date.parseFormattedString(this.options.get("date")||A);if(isNaN(this.date)){this.date=new Date()}if(!this.validYear(this.date.getFullYear())){this.date.setYear((this.date.getFullYear()<this.yearRange().start)?this.yearRange().start:this.yearRange().end)}this.selected_date=new Date(this.date);this.use_time=/[0-9]:[0-9]{2}/.exec(A)?true:false;this.date.setDate(1)},updateFooter:function(A){},updateSelectedDate:function(C,B){var F=$H(C);if((this.target_element.disabled||this.target_element.readOnly)&&this.options.get("popup")!="force"){return false}if(F.get("day")){var E=this.selected_date,D=this.options.get("valid_date_check");for(var A=0;A<=3;A++){E.setDate(F.get("day"))}E.setYear(F.get("year"));E.setMonth(F.get("month"));if(D&&!D(E.stripTime())){return false}this.selected_date=E;this.selection_made=true}if(!isNaN(F.get("hour"))){this.selected_date.setHours(F.get("hour"))}if(!isNaN(F.get("minute"))){this.selected_date.setMinutes(Math.floor_to_interval(F.get("minute"),this.options.get("minute_interval")))}if(F.get("hour")===""||F.get("minute")===""){this.setUseTime(false)}else{if(!isNaN(F.get("hour"))||!isNaN(F.get("minute"))){this.setUseTime(true)}}this.updateFooter();this.setSelectedClass();if(this.selection_made){this.updateValue()}if(this.options.get("close_on_click")){this.close()}if(B&&!this.options.get("embedded")){if((new Date()-this.last_click_at)<333){this.close()}this.last_click_at=new Date()}},navMonth:function(A){(target_date=new Date(this.date)).setMonth(A);return(this.navTo(target_date))},navYear:function(A){(target_date=new Date(this.date)).setYear(A);return(this.navTo(target_date))},navTo:function(A){if(!this.validYear(A.getFullYear())){return false}this.date=A;this.date.setDate(1);this.refresh();this.callback("after_navigate",this.date);return true},setUseTime:function(B){this.use_time=this.options.get("time")&&(this.options.get("time")=="mixed"?B:true);if(this.use_time&&this.selected_date){var C=Math.floor_to_interval(this.selected_date.getMinutes(),this.options.get("minute_interval"));var A=this.selected_date.getHours();this.hour_select.setValue(A);this.minute_select.setValue(C)}else{if(this.options.get("time")=="mixed"){this.hour_select.setValue("");this.minute_select.setValue("")}}},updateValue:function(){var A=this.target_element.value;this.target_element.value=this.dateString();if(A!=this.target_element.value){this.callback("onchange")}},today:function(A){var C=new Date();this.date=new Date();var B=$H({day:C.getDate(),month:C.getMonth(),year:C.getFullYear(),hour:C.getHours(),minute:C.getMinutes()});if(!A){B=B.merge({hour:"",minute:""})}this.updateSelectedDate(B,true);this.refresh()},close:function(){if(this.closed){return false}this.callback("before_close");this.target_element.calendar_date_select=nil;Event.stopObserving(document,"mousedown",this.closeIfClickedOut_handler);Event.stopObserving(document,"keypress",this.keyPress_handler);this.calendar_div.remove();this.closed=true;if(this.iframe){this.iframe.remove()}if(this.target_element.type!="hidden"){this.target_element.focus()}this.callback("after_close")},closeIfClickedOut:function(A){if(!$(Event.element(A)).descendantOf(this.calendar_div)){this.close()}},keyPress:function(A){if(A.keyCode==Event.KEY_ESC){this.close()}},callback:function(A,B){if(this.options.get(A)){this.options.get(A).bind(this.target_element)(B)}}};Date.prototype.toFormattedString=function(A){str=this.getDate()+"/"+(this.getMonth()+1)+"/"+this.getFullYear();if(A){hour=this.getHours();str+=" "+this.getAMPMHour()+":"+this.getPaddedMinutes()}return str};Date.parseFormattedString=function(B){var C="([0-9]{1,2})/(([0-9]{1,2})/(([0-9]{4})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?";var E=B.match(new RegExp(C,"i"));if(E==null){return Date.parse(B)}var D=0;var A=new Date(E[5],0,1);if(E[3]){A.setMonth(E[3]-1)}if(E[5]){A.setDate(E[1])}if(E[7]){A.setHours(parseInt(E[7],10))}if(E[8]){A.setMinutes(E[8])}if(E[10]){A.setSeconds(E[10])}return A};
