/*
FRAMEWORK_VERSION:2.10.0
*/
if(!this.JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}})();jQuery.fn.indexOf=function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return a}}return -1};registerNameSpace("FrameworkJS.Common");FrameworkJS.Common.AutocompleteGlobalCache=function(a){this.options=a||{};this.options.matchStartOnly=this.options.matchStartOnly||true;this.options.type=this.options.type||"general";this.options.splitBy=this.options.splitBy||", -();:.";this.cache=new Array();this.cache[this.options.type]={data:{},preCache:{}}};FrameworkJS.Common.AutocompleteGlobalCache.prototype.addType=function(a){if(!FrameworkJS.Common.AutocompleteGlobalCache.cache[a]){FrameworkJS.Common.AutocompleteGlobalCache.cache[a]={data:{},preCache:{}}}};FrameworkJS.Common.AutocompleteGlobalCache.prototype.loadFromCache=function(l,k,c,g,n){if(n==undefined){n=FrameworkJS.Common.AutocompleteGlobalCache.options.type}if(!l){return null}if(FrameworkJS.Common.AutocompleteGlobalCache.cache[n].data[l]){return FrameworkJS.Common.AutocompleteGlobalCache.cache[n].data[l]}if(g){var o=false;var f=l.substr(0,k);var d=FrameworkJS.Common.AutocompleteGlobalCache.cache[n].data[f];if(!d&&FrameworkJS.Common.AutocompleteGlobalCache.cache[n].preCache.length>0){d=FrameworkJS.Common.AutocompleteGlobalCache.cache[n].preCache;o=true}if(d){var a=[];a.cachedBefore=o;var b=FrameworkJS.Common.AutocompleteGlobalCache.splitString(l,this.options.splitBy);for(var e=0;e<d.length;e++){var p=d[e];if(FrameworkJS.Common.AutocompleteGlobalCache.matchSubset(p.m+", "+p.n+", "+p.a,b,c)){a[a.length]=p}}return a.length>0||!a.cachedBefore?a:null}}return null};FrameworkJS.Common.AutocompleteGlobalCache.prototype.addToCache=function(c,b,a){if(a==undefined){a=FrameworkJS.Common.AutocompleteGlobalCache.options.type}if(!b||!c){return}FrameworkJS.Common.AutocompleteGlobalCache.cache[a].data[c]=b};FrameworkJS.Common.AutocompleteGlobalCache.prototype.accentInsentiveRegex=function(a){var c="";for(var b=0;b<a.length;b++){switch(a.charAt(b)){case"a":case"á":case"A":case"Á":case"ã":case"Ã":case"â":case"Â":c+="[aáãâ]";break;case"e":case"é":case"E":case"É":case"ê":case"Ê":c+="[eéê]";break;case"i":case"í":case"I":case"Í":c+="[ií]";break;case"o":case"ó":case"O":case"Ó":case"õ":case"Õ":case"ô":case"Ô":c+="[oóõô]";break;case"u":case"ú":case"U":case"Ú":c+="[uú]";break;default:c+=a.charAt(b);break}}return c};FrameworkJS.Common.AutocompleteGlobalCache.prototype.splitString=function(a,g){var c=new RegExp("["+g+"]","ig");var a=a.replace(c,"|");var f=a.split("|");var e=new Array();var b=0;for(var d=0;d<f.length;d++){if(jQuery.trim(f[d])!=""){e[b]=f[d];b++}}return e};FrameworkJS.Common.AutocompleteGlobalCache.prototype.matchSubset=function(c,f,g,e){var d=false;for(j=0;j<f.length;j++){var a=new RegExp(FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex(f[j]));if(!g){c=c.toLowerCase()}var b=c.search(a);if(b==-1){d=false}if(b>-1){d=true}if(d&&FrameworkJS.Common.AutocompleteGlobalCache.options.matchStartOnly){a=new RegExp(FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex("(^"+f[j]+")|(["+this.options.splitBy+"]"+f[j]+")"));b=c.search(a);if(b==-1){d=false}}if(!d){break}}return d};FrameworkJS.Common.AutocompleteGlobalCache.prototype.preCache=function(a,b){if(b==undefined){b=this.options.type}FrameworkJS.Common.AutocompleteGlobalCache.cache[b].preCache=a};registerNameSpace("FrameworkJS.Common");FrameworkJS.Common.Autocomplete=function(l,p){this.options=window._options||{};this.options.splitBy=this.options.splitBy||", ();:.";$.fn.autocomplete.initialValue=function(q,r){f.initialValue(q,r)};this.initialValue=function(t,u,q,s){var r=t;if(p.showValue&&u!=""&&u!=undefined&&!s){r=r+" ("+u+")"}$(l).val(r);$(l).data("dataValue",u);$(l).data("dataType",q)};this.hideResultsNow=function(){if(k){clearTimeout(k)}if(n.is(":visible")){d.innerHTML="";n.hide();if(o){o.hide()}}};this.trim=function(s){var s=s.replace(/^\s\s*/,""),q=/\s/,r=s.length;while(q.test(s.charAt(--r))){}return s.slice(0,r+1)};this.onChange=function(){if(e==46||(e>8&&e<32)){if(o){o.hide()}return n.hide()}if(e>45&&e<112){g.data("dataValue","");g.data("dataType",p.initialType)}var s=f.trim(g.val());if(s==c){return}c=s;if(s.length>=p.minChars){this.requestData(s)}else{n.hide();if(o){o.hide()}if(p.minCharsLeyend){n.html("");var r=document.createElement("ul");var q=document.createElement("li");q.innerHTML=f.labels[p.languaje]["minCharsText1"]+p.minChars+f.labels[p.languaje]["minCharsText2"];r.appendChild(q);$(q).addClass("minCharsLeyend");d.appendChild(r);this.showResults()}}g.removeClass("default")};this.moveSelect=function(r){var q=$("li",d);if(!q){return}b+=r;if(b<0){b=0}else{if(b>=q.length){b=q.length-1}}q.removeClass(p.liOverClass);$(q[b]).addClass(p.liOverClass);if(b>p.maxItemsToShow-1||(this.scrollNum!=0)){if((this.scrollNum>=-1&&r>0)){q[b].scrollIntoView(false)}if(r==-1&&this.scrollNum>0){this.scrollNum=0}if(this.scrollNum>((-1)*(p.maxItemsToShow))||r==1){this.scrollNum=this.scrollNum+r}if(this.scrollNum<=((-1)*(p.maxItemsToShow))){q[b].scrollIntoView(true)}}};this.selectCurrent=function(){var r=false;var t=false;var q=$("li."+p.liOverClass,d)[0];if(!q){t=true;var s;if(p.selectOnly){s=$("li",d);if(s.length==1){q=s[0]}}else{if(p.selectFirst){s=$("li:first",d);q=s[0]}}}if(q){if($(q).hasClass("additionalOptions")){if(!t){$(q).click()}r=false}else{if($(q).hasClass("moreOptions")){r=true}else{if($(q).hasClass("minCharsLeyend")){r=false}else{this.selectItem(q);r=false}}}return r}else{return false}};this.selectItem=function(r){var q;var u;var s;if(!r){q="";u="";s=p.initialType}else{q=this.liData[r.id][0];u=this.liData[r.id][1];s=this.liData[r.id][2]}g.data("lastSelected",q);c=q;g.val(q);if(p.showValue){g.val(g.val()+" ("+u+")")}g.data("dataValue",u);g.data("dataType",s);if(u.length==3&&p.callBackFunction){p.callBackFunction()}};this.createSelection=function(t,r){var s=g.get(0);if(s.createTextRange){var q=s.createTextRange();q.collapse(true);q.moveStart("character",t);q.moveEnd("character",r);q.select()}else{if(s.setSelectionRange){s.setSelectionRange(t,r)}else{if(s.selectionStart){s.selectionStart=t;s.selectionEnd=r}}}s.focus()};this.autoFill=function(q){if(e!=8){g.val(g.val()+q.substr(c.length));this.createSelection(c.length,q.length)}};this.showResults=function(){var s=this.findPos(l);if(p.classListWidth){var r=parseInt(g.width())+"px";n.css({width:r}).children().css({width:100+"%"})}n.css({top:(s.y+l.offsetHeight)+"px",left:s.x+"px"}).show();if(o){var r=$("ul",d).width()-10+"px";var q=$("ul",d).height()+"px";o.css({width:r,height:q,top:(s.y+l.offsetHeight)+"px",left:s.x+"px",zIndex:"500",position:"absolute"}).show()}};this.hideResults=function(){if(k){clearTimeout(k)}k=setTimeout(this.hideResultsNow,0)};this.receiveData=function(u,t){if((!a&&(!t.cachedBefore||!p.showMoreResults))||(t==null&&p.additionalOptions.length==0)){return this.hideResultsNow()}if(t.getingCache){t.cachedBefore=false;t.getingCache=false}var r=document.createElement("ul");n.html("").append(r);this.dataToDom(t,u,r);if(p.autoFill&&(g.val().toLowerCase()==u.toLowerCase())){this.autoFill(t[0].n)}this.showResults();if(t!=null){if(t.length>p.maxItemsToShow){$li=n.children("ul").children("li:eq(0)");var s=$li.outerHeight();for(var q=1;q<p.maxItemsToShow;q++){$li=$li.next();s=s+$li.outerHeight()}n.children("ul").height(s).css("overflow-y","auto").css("overflow-x","hidden");if(o){o.height(s+2)}}if(t.length==0){f.showNoResultsError()}}else{f.showNoResultsError()}};this.dataToDom=function(u,A,z){if(u){var v=u.length;var y=0;var r=FrameworkJS.Common.AutocompleteGlobalCache.splitString(A,this.options.splitBy);var x="";for(j=0;j<r.length;j++){x+="("+FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex(r[j])+")";if(j<r.length-1){x+="|"}}var w=A.length;var C=new RegExp(x,"ig");var s="";this.liData=[];for(var t=0;t<v;t++){var D=u[t];if(!D){continue}s=("<li id='"+l.id+t+"'>");var q="";for(j=1;j<=r.length;j++){q+="$"+j}s+=D.n.replace(C,"<b>"+q+"</b>");if(p.showValue){s+=" ("+D.m.toUpperCase()+")"}s+="</li>";$(z).append(s);this.liData[(l.id+t)]=new Array(2);this.liData[(l.id+t)][0]=D.n;this.liData[(l.id+t)][1]=D.m;this.liData[(l.id+t)][2]=D.t}$(z).children("li").hover(function(){$("li."+p.liOverClass,z).removeClass(p.liOverClass);$(this).addClass(p.liOverClass);b=$("li",z).indexOf($(this).get(0))},function(){$(this).removeClass(p.liOverClass)})}if(p.additionalOptions.length>0){for(var t=0;t<p.additionalOptions.length;t++){var B=document.createElement("li");B.innerHTML=p.additionalOptions[t].text;z.appendChild(B);$(B).addClass("additionalOptions").hover(function(){$("li",z).removeClass(p.liOverClass);$(this).addClass(p.liOverClass);b=$("li",z).indexOf($(this).get(0))},function(){$(this).removeClass(p.liOverClass)}).bind("click",p.additionalOptions[t].callbackFunction)}}if(u.cachedBefore&&p.showMoreResults){var B=document.createElement("li");B.innerHTML=f.labels[p.languaje]["seeMoreResultsText"];z.appendChild(B);$(B).addClass("moreOptions").hover(function(){$("li",z).removeClass(p.liOverClass);$(this).addClass(p.liOverClass);b=$("li",z).indexOf($(this).get(0))},function(){$(this).removeClass(p.liOverClass)})}};this.showMoreResults=function(){this.searchResults(g.val())};this.requestData=function(r){if(!p.matchCase){r=r.toLowerCase()}var q=FrameworkJS.Common.AutocompleteGlobalCache.loadFromCache(r,p.minChars,p.matchCase,p.matchSubset,p.type);if(q){this.receiveData(r,q)}else{if((typeof p.url=="string")&&(p.url.length>0)){f.searchResults(r)}}};this.convertXMLtoJSON=function(q){oJSON=new Array();$("option",q).each(function(r){oJSON.push({a:$(this).attr("a"),m:$(this).attr("m"),n:$(this).attr("n"),t:$(this).attr("t")})});return oJSON};this.searchResults=function(q){q=f.trim(q);$.ajax({type:"GET",dataType:p.serviceType.toLowerCase(),url:this.makeUrl(q.substr(0,p.minChars)),success:function(r){if(p.serviceType=="XML"){r=f.convertXMLtoJSON(r)}else{if(p.serviceType=="JSON"){if(r.data){r=r.data}}}FrameworkJS.Common.AutocompleteGlobalCache.addToCache(q.substr(0,p.minChars),r,p.type);if(q.length>p.minChars){r=FrameworkJS.Common.AutocompleteGlobalCache.loadFromCache(q,p.minChars,p.matchCase,p.matchSubset,p.type)}r.cachedBefore=true;r.getingCache=true;f.receiveData(q,r)},error:function(r,t,s){$(l).data("dataValue","");f.showNoResultsError();if(window.console){console.error("Hubo un error en el servicio de AutoComplete ",r,t,s)}}})};this.showNoResultsError=function(){n.hide();if(o){o.hide()}if(p.noResultsError){n.html("");var r=document.createElement("ul");var q=document.createElement("li");q.innerHTML=p.noResultsError+$(l).val();r.appendChild(q);$(q).addClass("minCharsLeyend");d.appendChild(r);f.showResults()}};this.getExtraParamValue=function(q){if(typeof q!="function"){return q}else{return q()}};this.makeUrl=function(t){var r=p.url;if(!p.useQueryString){for(var s in p.extraParamsValue){var q=this.getExtraParamValue(p.extraParamsValue[s]);r+="/"+encodeURI(q)}r+="/"+encodeURI(t)}else{r=r+"?";for(var s in p.extraParamsValue){var q=this.getExtraParamValue(p.extraParamsValue[s]);var u=p.extraParamsName[s]?p.extraParamsName[s]:"param"+[s];r+=u+"="+encodeURI(q)+"&"}r+=p.extraParamSearchPatternName+"="+encodeURI(t)}return r};this.findPos=function(r){var s=r.offsetLeft||0;var q=r.offsetTop||0;while(r=r.offsetParent){s+=r.offsetLeft;q+=r.offsetTop}return{x:s,y:q}};this.labels={es:{seeMoreResultsText:"Ver más resultados...",noResultsError:"No se encontraron ciudades que coincidan con: ",minCharsText1:"Ingrese al menos las primeras ",minCharsText2:" letras, y aguarde a ver los resultados"},pt:{seeMoreResultsText:"Ver mais resultados...",noResultsError:"Não foram encontradas cidades que contenham ",minCharsText1:"Por favor insira as primeiras ",minCharsText2:" letras  e aguardo para ver os resultados"}};p=p||{};p.languaje=p.languaje||"es";p.url=p.url||"";p.useQueryString=p.useQueryString||false;p.extraParams=p.extraParams||[];p.extraParamsName=p.extraParamsName||[];p.extraParamsValue=p.extraParamsValue||p.extraParams;p.extraParamSearchPatternName=p.extraParamSearchPatternName||"pattern";p.inputClass=p.inputClass||"ac_input";p.initialText=p.initialText||"";p.initialValue=p.initialValue||"";p.initialType=p.initialType||"1";p.noResultsError=p.noResultsError||this.labels[p.languaje]["noResultsError"];p.autoFill=p.autoFill||false;p.resultsClass=p.resultsClass||"ac_results";p.liOverClass=p.liOverClass||"ac_over";p.minChars=p.minChars||3;p.minCharsLeyend=p.minCharsLeyend||false;p.delay=p.delay||100;p.matchCase=p.matchCase||0;p.matchSubset=p.matchSubset||1;p.selectFirst=p.selectFirst||true;p.selectOnly=p.selectOnly||false;p.maxItemsToShow=p.maxItemsToShow||10;p.classListWidth=p.classListWidth||false;p.additionalOptions=p.additionalOptions||[];p.showValue=p.showValue||false;p.preCacheData=p.preCacheData||{};p.showMoreResults=p.showMoreResults||false;p.type=p.type||"general";p.serviceType=p.serviceType||"JSON";p.callBackFunction=p.callBackFunction||false;var f=this;if(typeof FrameworkJS.Common.AutocompleteGlobalCache!="object"){FrameworkJS.Common.AutocompleteGlobalCache=new FrameworkJS.Common.AutocompleteGlobalCache({type:p.type})}else{FrameworkJS.Common.AutocompleteGlobalCache.addType(p.type)}if(p.preCacheData.length>0){FrameworkJS.Common.AutocompleteGlobalCache.preCache(p.preCacheData,p.type)}var g=$(l).attr("autocomplete","off");if(p.inputClass){g.addClass(p.inputClass)}var o=null;if(($.browser.msie)&&(parseInt($.browser.version)<7)){o=$("<iframe></iframe>").appendTo($("body"))}var d=document.createElement("div");d.id="results-"+g.attr("id");var n=$(d);n.hide().addClass(p.resultsClass).css({position:"absolute","z-index":1001});if(o){o.hide()}n.children("ul").children("li").live("click",function(q){q.preventDefault();q.stopPropagation();f.selectItem(this)});$("body").append(d);l.autocompleter=f;var k=null;var c="";var b=-1;var a=false;var e=null;this.initialValue(p.initialText,p.initialValue,p.initialType);this.scrollNum=0;this.liData=[];g.keydown(function(q){e=q.keyCode;switch(q.keyCode){case 38:q.preventDefault();f.moveSelect(-1);break;case 40:q.preventDefault();f.moveSelect(1);break;case 13:g.get(0).blur();q.preventDefault();break;default:b=-1;if(k){clearTimeout(k)}k=setTimeout(function(){f.onChange()},p.delay);break}}).focus(function(){var q=p.initialText;if(p.initialValue!=""){q+=" ("+p.initialValue+")"}if(!a&&f.trim($(l).val())==q){$(this).val("")}else{this.select()}a=true}).blur(function(z){a=false;if(n.is(":visible")){var v=false;if(navigator.appName=="Microsoft Internet Explorer"){var u=z.clientX;var s=z.clientY;var t=18;var x=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;var q=d.clientLeft+d.offsetLeft+d.clientWidth-t;var B=q+t;var A=d.clientTop+d.offsetTop-x;var w=A+d.clientHeight;if(u>q&&u<B&&s>A&&s<w){v=true}else{v=false}}if(!v){var y=f.selectCurrent();f.hideResults();if(y){a=true;f.showMoreResults();setTimeout("document.getElementById('"+l.id+"').focus()",1)}}else{setTimeout("document.getElementById('"+l.id+"').focus()",1)}}var r=f.trim($(l).val());if(r==""){f.initialValue(p.initialText,p.initialValue,p.initialType)}});this.hideResultsNow();if(p.initialValue==""){g.addClass("default")}$(window).resize(function(){$("#results-"+g.attr("id")).css("left",$("#"+g.attr("id")).offset().left+"px")})};registerNameSpace("Common.Utils");Common.Utils.Ajax=function(a){return($.ajax(a).responseText)};Common.Utils.Ajax.LoadScript=function(a,d){var b=document.getElementsByTagName("head")[0];var c;c=document.createElement("script");c.src=a;c.type="text/javascript";if(d!=undefined){c.onload=c.onreadystatechange=d}b.appendChild(c)};registerNameSpace("Common.Utils");Common.Utils.Cookie=function(){};Common.Utils.Cookie.prototype.CreateCookie=function(c,d,e){if(e){var b=new Date();b.setTime(b.getTime()+(e*24*60*60*1000));var a="; expires="+b.toGMTString()}else{var a=""}document.cookie=c+"="+d+a+"; path=/"};Common.Utils.Cookie.prototype.ReadCookie=function(b){var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return f.substring(e.length,f.length)}}return null};Common.Utils.Cookie.prototype.EraseCookie=function(a){this.CreateCookie(a,"",-1)};Common.Utils.Cookie=new Common.Utils.Cookie();registerNameSpace("Common.Utils");Common.Utils.GetUrlBrand=function(c,a){c=c.toLowerCase();a=a.toLowerCase();var b={decolar:{br:"www.decolar.com"},despegar:{ar:"www.despegar.com.ar",br:"www.decolar.com",cl:"www.cl.despegar.com",co:"www.co.despegar.com",ec:"www.ec.despegar.com",mx:"www.mx.despegar.com",pe:"www.pe.despegar.com",us:"www.us.despegar.com",uy:"www.uy.despegar.com",ve:"www.ve.despegar.com","default":"www.mx.despegar.com"},viajo:{ar:"www.viajo.com.ar",br:"www.viajo.com.br",mx:"www.viajo.com.mx","default":"www.viajo.com.mx"},previaje:{br:"www.previagem.com","default":"www.previaje.com"}};if(b[c]){return b[c][a]?b[c][a]:b[c]["default"]}else{return null}};registerNameSpace("Common.Utils");Common.Utils.Mask=function(b,c){b=b.toString();c=c.toString();var a=null;if(c.length>=b.length){a=c}else{a=b.substr(0,b.length-c.length);a=a+c}return a};registerNameSpace("Common.Math");Common.Math.Random=function(b,a){range=a-b;rnd=Math.random()*range;rnd=Math.round(rnd);return parseInt(b)+rnd};registerNameSpace("Common");Common.ABTest=function(options){this.getCase=function(){var handled=false;var ptrId=0;var oSession={SessionId:options.SessionId,ABTestData:[]};if(options.resetSession){Common.Utils.Cookie.EraseCookie(COOKIE_NAME)}if(!options.sessionless){var ABTestCookie=Common.Utils.Cookie.ReadCookie(COOKIE_NAME);if(ABTestCookie&&ABTestCookie!=undefined){eval("oCookieSession = "+ABTestCookie);if(oCookieSession.SessionId==options.SessionId&&oCookieSession.ABTestData&&oCookieSession.ABTestData.length>0){for(var i=0;i<oCookieSession.ABTestData.length;i++){oSession.ABTestData.push({ABTestId:oCookieSession.ABTestData[i].ABTestId,ABPtrId:oCookieSession.ABTestData[i].ABPtrId});if(oCookieSession.ABTestData[i].ABTestId==options.ABTestId){ptrId=oSession.ABTestData[i].ABPtrId;handled=true}}}}}if(!handled){ptrId=this.toss();oSession.ABTestData.push({ABTestId:options.ABTestId,ABPtrId:ptrId});if(!options.sessionless){Common.Utils.Cookie.CreateCookie(COOKIE_NAME,JSON.stringify(oSession),options.sessionKeepAliveDays)}}return ptrId};this.toss=function(){var rangeAcum=0;var ranges=new Array();for(var i=0;i<options.alternatives.length;i++){if(options.alternatives[i]!=null){var currPercentage=parseInt(options.alternatives[i].percentage,10);if(currPercentage>0){rangeAcum+=currPercentage;ranges.push({callBackIndex:i,TopRange:rangeAcum})}}}var rnd=Common.Math.Random(1,rangeAcum);for(var i=0;i<ranges.length;i++){if(rnd<=ranges[i].TopRange){return ranges[i].callBackIndex}}return 0};this.executeCallBack=function(ptrId){return options.alternatives[ptrId].callBack(options.alternatives[ptrId].params)};var COOKIE_NAME="ABTest";var defaultSessionId=Common.Math.Random(100000000,999999999);if(!options.SessionId){var ABTestCookie=Common.Utils.Cookie.ReadCookie(COOKIE_NAME);if(ABTestCookie&&ABTestCookie!=undefined){eval("oCookieSession = "+ABTestCookie);if(oCookieSession.SessionId){defaultSessionId=oCookieSession.SessionId}}}options.SessionId=options.SessionId||defaultSessionId;options.ABTestId=options.ABTestId||"Undefined ABTest";options.alternatives=options.alternatives||new Array();options.resetSession=options.resetSession||false;options.sessionless=options.sessionless||false;options.sessionKeepAliveDays=options.sessionKeepAliveDays||0;var currentCase=this.getCase();return this.executeCallBack(currentCase)};registerNameSpace("Despegar");Despegar.Date=function(a){this.day;this.month;this.year;this.monthText;this.dayOfWeek;this.serverURL="ajaxTimeStamp.asp";this.test="aaaa";this.language=a||"es"};Despegar.Date.prototype.getDaysName=function(a){if(typeof this.daysName!="object"){this.daysName=new Array();if(this.language=="pt"){this.daysName[0]=!a?"Do":"Domingo".substr(0,a);this.daysName[1]=!a?"Se":"Segunda-feira".substr(0,a);this.daysName[2]=!a?"Te":"Terça-feira".substr(0,a);this.daysName[3]=!a?"Qu":"Quarta-feira".substr(0,a);this.daysName[4]=!a?"Qi":"Quinta-feira".substr(0,a);this.daysName[5]=!a?"Se":"Sexta-feira".substr(0,a);this.daysName[6]=!a?"Sa":"Sabado".substr(0,a)}else{this.daysName[0]=!a?"Domingo".substr(0,2):"Domingo".substr(0,a);this.daysName[1]=!a?"Lunes".substr(0,2):"Lunes".substr(0,a);this.daysName[2]=!a?"Martes".substr(0,2):"Martes".substr(0,a);this.daysName[3]=!a?"Miércoles".substr(0,2):"Miércoles".substr(0,a);this.daysName[4]=!a?"Jueves".substr(0,2):"Jueves".substr(0,a);this.daysName[5]=!a?"Viernes".substr(0,2):"Viernes".substr(0,a);this.daysName[6]=!a?"Sábado".substr(0,2):"Sábado".substr(0,a)}this.daysName[7]=this.daysName[0]}return this.daysName};Despegar.Date.prototype.getMonthsName=function(a){if(typeof this.monthsName!="object"){this.monthsName=new Array();if(this.language=="pt"){this.monthsName[1]=!a?"Janeiro":"Janeiro".substr(0,a);this.monthsName[2]=!a?"Fevereiro":"Fevereiro".substr(0,a);this.monthsName[3]=!a?"Março":"Março".substr(0,a);this.monthsName[4]=!a?"Abril":"Abril".substr(0,a);this.monthsName[5]=!a?"Maio":"Maio".substr(0,a);this.monthsName[6]=!a?"Junho":"Junho".substr(0,a);this.monthsName[7]=!a?"Julho":"Julho".substr(0,a);this.monthsName[8]=!a?"Agosto":"Agosto".substr(0,a);this.monthsName[9]=!a?"Setembro":"Setembro".substr(0,a);this.monthsName[10]=!a?"Outubro":"Outubro".substr(0,a);this.monthsName[11]=!a?"Novembro":"Novembro".substr(0,a);this.monthsName[12]=!a?"Dezembro":"Dezembro".substr(0,a)}else{this.monthsName[1]=!a?"Enero":"Enero".substr(0,a);this.monthsName[2]=!a?"Febrero":"Febrero".substr(0,a);this.monthsName[3]=!a?"Marzo":"Marzo".substr(0,a);this.monthsName[4]=!a?"Abril":"Abril".substr(0,a);this.monthsName[5]=!a?"Mayo":"Mayo".substr(0,a);this.monthsName[6]=!a?"Junio":"Junio".substr(0,a);this.monthsName[7]=!a?"Julio":"Julio".substr(0,a);this.monthsName[8]=!a?"Agosto":"Agosto".substr(0,a);this.monthsName[9]=!a?"Septiembre":"Septiembre".substr(0,a);this.monthsName[10]=!a?"Octubre":"Octubre".substr(0,a);this.monthsName[11]=!a?"Noviembre":"Noviembre".substr(0,a);this.monthsName[12]=!a?"Diciembre":"Diciembre".substr(0,a)}}return this.monthsName};Despegar.Date.prototype.setEmpty=function(){this.day=undefined;this.month=undefined;this.year=undefined};Despegar.Date.prototype.isEmpty=function(){if(this.day==undefined||this.month==undefined||this.year==undefined){return true}else{return false}};Despegar.Date.prototype.addDaysJSDate=function(a){jDate=this.getJSDate();jDate.setDate(jDate.getDate()+a);this.day=jDate.getDate();this.month=jDate.getMonth()+1;this.year=jDate.getFullYear()};Despegar.Date.prototype.addDays=function(b){for(var a=1;a<=b;a++){switch(this.month){case 4:case 6:case 9:case 11:if(this.day>=30){this.day=1;this.month++}else{this.day++}break;case 2:if((this.day==28&&!this.isLeapYear())||(this.day>=29&&this.isLeapYear())){this.day=1;this.month++}else{this.day++}break;default:if(this.day>=31){this.day=1;this.month++}else{this.day++}}if(this.month>12){this.month=1;this.year++}}};Despegar.Date.prototype.addMonths=function(b){var a=this.month+b;this.year=this.year+Math.floor(a/12);if(!(a%12)){this.year--;this.month=12}else{this.month=a%12}};Despegar.Date.prototype.setddmmaaaa=function(a,b){if(b!=undefined){var c=a.split(b);this.day=parseInt(c[0],10);this.month=parseInt(c[1],10);this.year=parseInt(c[2],10)}else{this.day=parseInt(a.substr(0,2),10);this.month=parseInt(a.substr(2,2),10);this.year=parseInt(a.substr(4,4),10)}};Despegar.Date.prototype.setFullDate=function(b,c,a){this.day=parseInt(a,10);this.month=parseInt(c,10);this.year=parseInt(b,10)};Despegar.Date.prototype.setDateFromJSDate=function(a){this.day=a.getDate();this.month=a.getMonth()+1;this.year=a.getFullYear()};Despegar.Date.prototype.getDate=function(){return Common.Utils.Mask("00",this.day.toString())};Despegar.Date.prototype.getMonth=function(){return Common.Utils.Mask("00",this.month.toString())};Despegar.Date.prototype.getYear=function(){return Common.Utils.Mask("2000",this.year.toString())};Despegar.Date.prototype.getddmmaaaa=function(){return Common.Utils.Mask("00",this.day.toString())+"/"+Common.Utils.Mask("00",this.month.toString())+"/"+Common.Utils.Mask("2000",this.year.toString())};Despegar.Date.prototype.getddmm=function(){return Common.Utils.Mask("00",this.day.toString())+"/"+Common.Utils.Mask("00",this.month.toString())};Despegar.Date.prototype.getaaaamm=function(){return Common.Utils.Mask("2000",this.year.toString())+Common.Utils.Mask("00",this.month.toString())};Despegar.Date.prototype.getmmaaaa=function(){return Common.Utils.Mask("00",this.month.toString())+"/"+Common.Utils.Mask("2000",this.year.toString())};Despegar.Date.prototype.getiso=function(){return Common.Utils.Mask("2000",this.year.toString())+Common.Utils.Mask("00",this.month.toString())+Common.Utils.Mask("00",this.day.toString())};Despegar.Date.prototype.getServerDate=function(boolAsync,URLServer,callBackFunction){if(URLServer+"X"!="X"){this.serverURL=URLServer}oDate=this;var JSON=$.ajax({url:this.serverURL,async:boolAsync,success:function(data){sJSON=data;var oJson=eval("("+sJSON+")");this.parentObj.year=oJson.year;this.parentObj.month=oJson.month;this.parentObj.day=oJson.day;this.callBack()},parentObj:oDate,callBack:callBackFunction})};Despegar.Date.prototype.compareTo=function(a){var b=this.getiso();if(b<a){return -1}else{if(b==a){return 0}else{return 1}}};Despegar.Date.prototype.compareToJSDate=function(b){var a=new Despegar.Date();a.setDateFromJSDate(b);return this.compareTo(a.getiso())};Despegar.Date.prototype.compareMonthAndYearTo=function(b){var a=this.getaaaamm();if(a<b){return -1}else{if(a==b){return 0}else{return 1}}};Despegar.Date.prototype.compareMonthAndYearToJSDate=function(b){var a=new Despegar.Date();a.setDateFromJSDate(b);return this.compareMonthAndYearTo(a.getaaaamm())};Despegar.Date.prototype.getota=function(){return Common.Utils.Mask("2000",this.year.toString())+"-"+Common.Utils.Mask("00",this.month.toString())+"-"+Common.Utils.Mask("00",this.day.toString())};Despegar.Date.prototype.getJSDate=function(){return new Date(this.year,this.month-1,this.day)};Despegar.Date.prototype.getFirstDayOfMonthInWeek=function(){var b=this.day;this.day=1;var a=this.getJSDate();var c=a.getDay()+6;c=c%7;this.day=b;return c};Despegar.Date.prototype.createJSonDate=function(a){var b=Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds());return"/Date("+b+")/"};Despegar.Date.prototype.getAmericandDate=function(a){var b=a.split(new RegExp("/","gi"));return b[1]+"/"+b[0]+"/"+b[2]};Despegar.Date.prototype.isLeapYear=function(){return(this.year%4==0&&this.year%100!=0)||this.year%400==0};Despegar.Date.prototype.isValidDate=function(){var a;switch(this.month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:a=31;break;case 4:case 6:case 9:case 11:a=30;break;case 2:if(this.isLeapYear()){a=29}else{a=28}break;default:return false}if(this.day>a||this.day==0){return false}return true};Despegar.Date.prototype.convertDateToString=function(a){return this.getDaysName(3)[a.getUTCDay()]+" "+a.getUTCDate().toString()+" "+this.getMonthsName(3)[a.getUTCMonth()+1]+" "+a.getUTCFullYear().toString().substr(2,2)};registerNameSpace("Common");Common.Calendar=function(){this.drawCalendar=function(){var p=$("<div class='monthsContainer'></div>");var n=$("<div></div>");var z=null;var x=null;var s=null;var r=null;var t=null;var o=new Despegar.Date(this.options.language);var f=null;if(this.calendarContainer.hasClass("created")){f=1}else{f=this.options.shownMonths}var g=new Despegar.Date(this.options.language);for(var d=0;d<f;d++){if(this.calendarContainer.hasClass("created")){d=$(".monthsContainer > div",$("#calendarContainer")).length}o.setddmmaaaa(1+"/"+this.today.month+"/"+this.today.year,"/");o.addMonths(d);g.setddmmaaaa(o.getddmmaaaa(),"/");var q=o.getFirstDayOfMonthInWeek();n=$("<div id="+o.getaaaamm()+"></div>");s=$("<div class='daysGrid'></div>");x=$("<div class='daysNameContainer'></div>");r=$("<p></p>");if(this.calendarContainer.hasClass("created")==false){if(f==1){this.firstMonth=parseInt(o.getaaaamm());this.lastMonth=parseInt(o.getaaaamm())}else{switch(d){case 0:this.firstMonth=parseInt(o.getaaaamm());break;case f-1:this.lastMonth=parseInt(o.getaaaamm());break}}}var v=o.getMonthsName();z=$("<div class='monthHeader'></div>");z.append($("<h3>"+v[g.month]+" "+g.year+"</h3>"));var y=$("<p class='monthsSwitchingArrows'></p>");var l=$("<p class='arrowContainer previous'></p>");var u=$("<a style='font-family: Arial;'>"+String.fromCharCode(9668)+"</a>");u.click(function(){a.showPreviousMonth()});l.append(u);y.append(l);l=$("<p class='arrowContainer next'></p>");u=$("<a style='font-family: Arial;'>"+String.fromCharCode(9658)+"</a>");u.click(function(){a.showNextMonth()});l.append(u);y.append(l);if(this.calendarContainer.hasClass("created")==false){if(f==1){n.addClass("firstMonth");y.addClass("noPrev");n.addClass("lastMonth")}else{switch(d){case 0:n.addClass("firstMonth");y.addClass("noPrev");break;case f-1:n.addClass("lastMonth");break}}}if(($(n).attr("id")>=a.lastAvailableDay.getaaaamm())&&(d>=f-1)){y.addClass("noNext")}z.append(y);n.append(z);var e=o.getDaysName();for(var c=1;c<=7;c++){x.append('<span class="dayName">'+e[c]+"</span>")}n.append(x);o.setddmmaaaa("1/"+(this.today.month)+"/"+this.today.year,"/");o.addMonths(d);o.addDaysJSDate(-q-1);var w=new Despegar.Date(this.options.language);for(var k=0;k<42;k++){o.addDays(1);w.day=o.day;w.month=o.month;w.year=o.year;if(w.month!=g.month){r.append($("<span class='noCurrentMonth'>"+w.day+"</span>"))}else{if(parseInt(w.getiso(),10)>=parseInt(this.today.getiso(),10)){t=$("<span id='"+o.getiso()+"'>"+w.day+"</span>").attr("id",o.getiso()).data("date",o.getddmmaaaa()).mouseup(function(){if($(this).hasClass("selectable")){var A;if($(".focused").attr("id")==a.inputGo.attr("id")){A=$(a.inputGo)}else{A=$(a.inputReturn)}A.val($(this).data("date").toString()).removeClass("settingDateError").data("isValid",true).data("firstMonthPosition",$(".calendarVisible",a.calendarContainer)[0].id).trigger("change")}}).click(function(){if($(this).hasClass("selectable")){a.hideCalendar();if($(".focused").attr("id")==a.inputGo.attr("id")){a.checkTextDefault($(a.inputGo))}else{a.checkTextDefault($(a.inputReturn))}}});t=this.setIEDaysHover(t);if(parseInt(w.getiso(),10)<parseInt(this.firstAvailableDay.getiso(),10)||parseInt(w.getiso(),10)>=parseInt(this.lastAvailableDay.getiso(),10)){t.addClass("nonSelectable")}else{t.addClass("selectable")}if(w.day==this.today.day&&parseInt(w.getiso(),10)<=parseInt(this.firstAvailableDay.getiso(),10)){t.addClass("today")}}else{t=$("<span class='pastDate'>"+w.day+"</span>")}r.append(t)}if(k%7==6){s.append(r);if((k+1)/7!=6){r=$("<p></p>")}}}s.append(r);n.append(s);$(n).addClass("calendarVisible");p.append(n)}return p};this.generateCalendar=function(){this.calendarContainer.appendTo("body");this.calendarContainer.append(this.drawCalendar());var c=null;if(this.options.language=="pt"){c="Fechar"}else{c="Cerrar"}this.calendarContainer.append($("<div class='closeCalendar'></div>").append($("<a>"+c+"</a>").click(function(){a.hideCalendar()})));if(this.isIE6){$(".closeCalendar > a",$("#calendarContainer")).hover(function(){$(this).css("color","aqua").css("cursor","pointer")},function(){$(this).css("color","#0066CC").css("cursor","default")})}this.calendarContainer.addClass("created");this.calendarContainer.css("position","absolute");this.calendarContainer.data("language",this.options.language)};this.showCalendar=function(e){var f=(e.offset().top+e.outerHeight());var d=e.offset().left+"px";var o=e.offset().left+$(".calendarContainer").width();var g=e.offset().top+$(".calendarContainer").height();var l=0,k=0;if(typeof(window.pageYOffset)=="number"){k=window.pageYOffset;l=window.pageXOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){k=document.body.scrollTop;l=document.body.scrollLeft}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){k=document.documentElement.scrollTop;l=document.documentElement.scrollLeft}}}if(typeof window.innerWidth!="undefined"){var c=window.innerWidth+l;var n=window.innerHeight+k}else{var c=document.documentElement.clientWidth+l;var n=document.documentElement.clientHeight+k}if(o>c){d=e.offset().left-$(".calendarContainer").width()+e.width()+2+"px"}if(g>n){f=(f-$(".calendarContainer").height()-e.outerHeight())+"px"}this.calendarContainer.show().css("z-index",1001).css("top",f).css("left",d);if(a.isIE6){if($("#calendarIframe").length==0){$("<iframe id='calendarIframe'></iframe>").css("position","absolute").css("z-index",1000).css("top",f).css("left",d).appendTo("body")}}};this.hideCalendar=function(){this.calendarContainer.hide();$("#calendarIframe").hide()};this.setIEDaysHover=function(c){if(this.isIE6){$(c).hover(function(){if($(this).hasClass("selectable")&&$(this).hasClass("selected")==false){$(this).css("border-bottom-color","black").css("border-right-color","black").css("background-color","#CCD9B8")}},function(){if($(this).hasClass("selectable")&&$(this).hasClass("selected")==false){$(this).css("border-bottom-color","white").css("border-right-color","white").css("background-color","white")}})}return c};this.showNextMonth=function(){if($(".lastMonth",$("#calendarContainer")).find(".noNext").length==0){this.firstMonth++;this.lastMonth++;var d=this.firstMonth.toString();var c=this.lastMonth.toString();if(d.substr(4,2)>"12"){this.firstMonth=this.firstMonth-12+parseInt(parseInt(d.substr(4,2))/12)*100}if(c.substr(4,2)>"12"){this.lastMonth=this.lastMonth-12+parseInt(parseInt(c.substr(4,2))/12)*100}this.setMonthsClasses()}};this.showPreviousMonth=function(){if($(".firstMonth",$("#calendarContainer")).find(".noPrev").length==0){this.firstMonth--;this.lastMonth--;var d=this.firstMonth.toString();var c=this.lastMonth.toString();if(d.substr(4,2)<"01"){this.firstMonth=this.firstMonth+12-100}if(c.substr(4,2)<"01"){this.lastMonth=this.lastMonth+12-100}this.setMonthsClasses()}};this.setMonthsClasses=function(){if(typeof a.anticipationDays!="undefined"){while($("#"+this.lastMonth).length==0){$(".monthsContainer",$("#calendarContainer")).append($(this.drawCalendar()).children(".calendarVisible"))}}else{alert("There was a failure in the calendar configuration")}$(".calendarVisible",$("#calendarContainer")).addClass("hiddenMonth").removeClass("calendarVisible firstMonth lastMonth");var d=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.firstMonth));var c=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.lastMonth));$(".hiddenMonth:lt("+c+"):gt("+d+")",$("#calendarContainer")).addClass("calendarVisible").removeClass("hiddenMonth");$("#"+this.lastMonth).addClass("lastMonth calendarVisible").removeClass("hiddenMonth");$("#"+this.firstMonth).addClass("firstMonth calendarVisible").removeClass("hiddenMonth")};var b=function(g,k){var c=new Despegar.Date();var d=$("#"+g.data("relatedID"));var e;if(g.data("tripType")=="go"){a.inputGo=g;a.inputReturn=d;e=true}else{a.inputGo=d;a.inputReturn=g;e=false}if(e){c.setddmmaaaa(k.getddmmaaaa(),"/");c.addMonths(a.options.shownMonths);if(c.compareMonthAndYearTo(a.lastAvailableDay.getiso())!=1){g.data("firstMonthPosition",k.getaaaamm())}else{c.setFullDate(a.lastAvailableDay.getYear(),a.lastAvailableDay.getMonth(),1);c.addMonths(1-a.options.shownMonths);g.data("firstMonthPosition",c.getaaaamm())}if(d.data("isValid")){c.setddmmaaaa(d.val(),"/");if(c.compareMonthAndYearTo(k.getaaaamm())==0){d.data("firstMonthPosition",g.data("firstMonthPosition"))}}}else{var f=true;if(d.data("isValid")){c.setddmmaaaa(d.val(),"/");if(c.compareMonthAndYearTo(k.getaaaamm())==0){g.data("firstMonthPosition",d.data("firstMonthPosition"));f=false}}if(f){if(k.getaaaamm()==a.inputGo.data("firstMonthPosition")){g.data(a.inputGo.data("firstMonthPosition"))}else{c.setddmmaaaa(k.getddmmaaaa(),"/");c.addMonths(1-a.options.shownMonths);if(c.compareMonthAndYearTo(a.today.getaaaamm())!=-1){g.data("firstMonthPosition",c.getaaaamm())}else{c.day=a.today.day;c.month=a.today.month;c.year=a.today.year;g.data("firstMonthPosition",c.getaaaamm())}}}}};this.getConfigAndProcess=function(){this.processConfiguration(this.getConfigurationFromServer())};this.getConfigurationFromServer=function(){var c=null;$.ajax({url:a.options.serverURL,async:false,success:function(e){c=e},error:function(e,g,f){},dataType:"json"});if(c==null){var d=new Date();c={};c.today={day:d.getDate(),month:(d.getMonth()+1),year:d.getFullYear()};c.products={cod:"default",data:{anticipationDays:3,availableDays:330}}}return c};this.processConfiguration=function(d){a.configuration=new Array();a.today=new Despegar.Date(this.options.language);a.today.day=d.today.day;a.today.month=d.today.month;a.today.year=d.today.year;var c=null;if($(d.products).length==1){a.configuration[d.products.cod]=d.products.data}else{for(i=0;i<$(d.products).length;i++){c=d.products[i];a.configuration[c.cod]=c.data}}};this.setProduct=function(d){if(typeof this.productData[d]=="undefined"){var c=null;if(typeof this.configuration[d]=="undefined"){c="default"}else{c=d}this.productData[d]=new Object();this.productData[d].availableDays=this.configuration[c].availableDays;this.productData[d].anticipationDays=this.configuration[c].anticipationDays;this.productData[d].firstAvailableDay=new Despegar.Date();this.productData[d].firstAvailableDay.setddmmaaaa(this.today.day+"/"+(this.today.month)+"/"+this.today.year,"/");this.productData[d].firstAvailableDay.addDays(this.productData[d].anticipationDays);this.productData[d].lastAvailableDay=new Despegar.Date();this.productData[d].lastAvailableDay.setddmmaaaa(this.productData[d].firstAvailableDay.getddmmaaaa(),"/");this.productData[d].lastAvailableDay.addDays(this.productData[d].availableDays)}this.anticipationDays=this.productData[d].anticipationDays;this.availableDays=this.productData[d].availableDays;this.firstAvailableDay=this.productData[d].firstAvailableDay;this.lastAvailableDay=this.productData[d].lastAvailableDay;if(this.calendarContainer.hasClass("created")){this.setAvailableDays(d)}};this.setAvailableDays=function(){$(".nonSelectable",$("#calendarContainer")).removeClass("nonSelectable").addClass("selectable");$(".selectable:lt("+a.anticipationDays+"),.selectable:gt("+(a.availableDays+a.anticipationDays-1)+")",$("#calendarContainer")).addClass("nonSelectable").removeClass("selectable");$(".noNext",$("#calendarContainer")).removeClass("noNext");if($("#"+this.lastAvailableDay.getaaaamm()).length==1){if(this.lastAvailableDay.getaaaamm()<=$(".monthsContainer",$("#calendarContainer")).children().eq(this.options.shownMonths-1).attr("id")){$(".monthsContainer",$("#calendarContainer")).children().eq(this.options.shownMonths-1).find(".monthsSwitchingArrows").addClass("noNext")}else{$("#"+this.lastAvailableDay.getaaaamm()).find(".monthsSwitchingArrows").addClass("noNext")}}};this.changeLanguage=function(g){if(this.options.language=="pt"){closeLinkText="Fechar"}else{closeLinkText="Cerrar"}$(".closeCalendar > a",$("#calendarContainer")).text(closeLinkText);var d=new Despegar.Date(g);var c=d.getDaysName();$(".dayName",$("#calendarContainer")).each(function(k){this.innerHTML=c[(k%7)+1]});var f=d.getMonthsName();var e=$(".monthsContainer > div:first").attr("id");d.setFullDate(e.substr(0,4),e.substr(4,2),1);$(".monthHeader > h3",$("#calendarContainer")).each(function(k){this.innerHTML=f[d.month]+" "+d.getYear();d.addMonths(1)})};this.setInputEvents=function(d){var e=$(d);var c=false;d.setValue=function(l){this.value=l;$(this).blur()};var k=false;if(a.options.defaultDate!="dd/mm/aaaa"){k=true}else{e.addClass("default")}e.val(a.options.defaultDate).data("relatedID",a.options.inputRelatedID).data("tripType",a.options.tripType).data("product",a.options.product).data("shownMonths",a.options.shownMonths).data("language",a.options.language).data("isValid",k).addClass("isCalendar");if(a.options.defaultDate!="dd/mm/aaaa"&&k){var g=new Despegar.Date();g.setddmmaaaa(a.options.defaultDate,"/");b(e,g)}e.blur(function(){a.IsHoverFocus=false;e.data("isValid",false);if(a.calendarContainer.hasClass("active")==false){a.hideCalendar()}var n=/[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}/;var l=e.val();if(l.match(n)){var o=new Despegar.Date();o.setddmmaaaa(e.val(),"/");if(!(o.isValidDate())||o.compareTo(a.lastAvailableDay.getiso())==1||o.compareTo(a.firstAvailableDay.getiso())==-1||o.month==0||o.day==0){e.addClass("settingDateError").data("isValid",false)}else{if($("#"+o.getiso()).length==1&&$("#"+o.getiso()).hasClass("selectable")){e.val(o.getddmmaaaa());e.removeClass("settingDateError");e.data("isValid",true);if(c){b(e,o);c=false}}else{e.removeClass("settingDateError");if(typeof a.anticipationDays!="undefined"){while($("#"+o.getiso()).length==0){$(".monthsContainer",$("#calendarContainer")).append($(a.drawCalendar()).children(".calendarVisible"))}}else{alert("There was a failure in the calendar configuration")}if($("#"+o.getiso()).hasClass("selectable")==false){e.addClass("settingDateError").data("isValid",false)}else{e.data("isValid",true);if(c){b(e,o);c=false}}}}}else{if(l==""||l=="dd/mm/aaaa"){e.val("dd/mm/aaaa").removeClass("settingDateError").removeData("firstMonthPosition")}else{e.addClass("settingDateError").data("isValid",false)}}e.trigger("change");a.checkTextDefault(e)}).keypress(function(l){a.checkTextDefault(e);switch(l.keyCode){case 13:e.blur();case 27:e.blur();break;default:e.removeClass("settingDateError");c=true}}).focus(function(){if(!a.IsHoverFocus){if(a.options.shownMonths!=e.data("shownMonths")){a.options.shownMonths=e.data("shownMonths")}if(a.calendarContainer.hasClass("created")==false){a.setProduct(e.data("product"));a.generateCalendar()}if(a.calendarContainer.data("language")!=e.data("language")||a.calendarContainer.data("language")!=a.options.language){a.options.language=e.data("language");a.calendarContainer.data("language",a.options.language);a.changeLanguage(a.options.language)}$(".focused").removeClass("focused");e.addClass("focused").select();if(e.data("tripType")=="go"){a.inputGo=e;a.inputReturn=$("#"+e.data("relatedID"))}else{a.inputReturn=e;a.inputGo=$("#"+e.data("relatedID"))}if(a.options.product!=e.data("product")){a.setProduct(e.data("product"));a.options.product=e.data("product")}var l=new Despegar.Date();if(e.data("firstMonthPosition")==undefined){if($("#"+e.data("relatedID")).data("firstMonthPosition")==undefined){l.day=a.today.day;l.month=a.today.month;l.year=a.today.year;a.firstMonth=l.getaaaamm()}else{a.firstMonth=$("#"+e.data("relatedID")).data("firstMonthPosition")}}else{a.firstMonth=e.data("firstMonthPosition")}l.setFullDate(a.firstMonth.substr(0,4),a.firstMonth.substr(4,2),1);l.addMonths(a.options.shownMonths-1);a.lastMonth=l.getaaaamm();a.setMonthsClasses();$(".selected",$("#calendarContainer")).removeClass("selected");var n=new Despegar.Date();if($(a.inputGo).hasClass("isCalendar")){n.setddmmaaaa($(a.inputGo).val(),"/");if($("#"+n.getiso()).length==1&&$("#"+n.getiso()).hasClass("selectable")){$("#"+n.getiso()).addClass("selected")}}if($(a.inputReturn).hasClass("isCalendar")){n.setddmmaaaa($(a.inputReturn).val(),"/");if($("#"+n.getiso()).length==1&&$("#"+n.getiso()).hasClass("selectable")){$("#"+n.getiso()).addClass("selected")}}a.showCalendar(e)}else{a.IsHoverFocus=false}});var f=$("<div class='mainSprite buttonCalendarOn calendarImage'></div>").hover(function(){a.calendarContainer.addClass("active")},function(){a.calendarContainer.removeClass("active")});e.after(f);f.click(function(){if(a.calendarContainer.css("display")=="block"&&$(this).parent().find("input").hasClass("focused")){a.hideCalendar();e.trigger("blur")}else{if(!a.firstClick){e.trigger("blur").trigger("focus")}else{e.trigger("focus").trigger("blur").trigger("focus");a.firstClick=false}}})};this.checkTextDefault=function(c){if(c.val()=="dd/mm/aaaa"){c.addClass("default")}else{c.removeClass("default")}};this.setOptions=function(c){this.options=c||{};this.options.tripType=c.tripType||"go";this.options.inputRelatedID=c.inputRelatedID||"";this.options.defaultDate=c.defaultDate||"dd/mm/aaaa";this.options.product=c.product||"vue";this.options.shownMonths=c.shownMonths||2;if(this.options.shownMonths>12){this.options.shownMonths=12}this.options.language=c.language||"es";this.options.configuration=c.configuration||false;if(this.options.configuration==false){if(typeof this.configuration=="undefined"||(this.options.serverURL!=c.serverURL&&c.serverURL!=null)){this.options.serverURL=c.serverURL||"/Contents/Servicies/CalendarService.ashx";this.getConfigAndProcess();this.productData=new Array()}}else{this.processConfiguration(this.options.configuration);this.productData=new Array()}};this.initializeInput=function(c,d){this.setOptions(d);this.setProduct(this.options.product);this.setInputEvents(c)};this.isIE6=false;if($.browser.msie){if($.browser.version=="6.0"){this.isIE6=true}}this.inputGo=null;this.inputReturn=null;this.firstMonth=null;this.lastMonth=null;this.productData=new Array();this.anticipationDays=null;this.availableDays=null;this.firstAvailableDay=null;this.lastAvailableDay=null;this.calendarContainer=$('<div id="calendarContainer" class="calendarContainer"></div>');this.calendarContainer.hover(function(){a.calendarContainer.addClass("active")},function(){a.calendarContainer.removeClass("active")});this.calendarContainer.mouseleave(function(){if(a.calendarContainer.css("display")=="block"){a.IsHoverFocus=true;$(".focused").select()}});this.firstClick=true;this.IsHoverFocus=false;var a=this};Common.Calendar=new Common.Calendar();jQuery.fn.calendar=function(a){this.each(function(){Common.Calendar.initializeInput(this,a)});return this};jQuery.fn.autocomplete=function(a){this.each(function(c,d){var b=this;d.obj=new FrameworkJS.Common.Autocomplete(b,a)});return this};registerNameSpace("Common");Common.Domain=function(a){this.getCountryCodeFromDomain=function(c){var d=document.domain;var f=d.match(/\b(.{2}|decolar)\b/ig);if(f!=null&&f.length>0){var e=f[0].toUpperCase();if(e=="DECOLAR"){e="BR"}if(b.indexOf(e)>-1){return e}else{return""}}};var b="AR|BO|BR|CL|CO|CR|EC|SV|ES|GT|HN|MX|NI|PA|PY|PE|PR|DO|UY|US|VE"};registerNameSpace("Despegar.Hotels");Despegar.Hotels.SearchBoxHotels=function(target,options){this.render=function(){var searchboxHotelBox=$(document.createElement("div")).html(this.boxtemplate);$("#labelWhLive",searchboxHotelBox).html(this.labels[options.language]["whLiveLabel"]);$("#labeldestination",searchboxHotelBox).html(this.labels[options.language]["destinationLabel"]);$("#labelcheckin",searchboxHotelBox).html(this.labels[options.language]["checkindateLabel"]);$("#labelcheckout",searchboxHotelBox).html(this.labels[options.language]["checkoutdateLabel"]);$("#labelrooms",searchboxHotelBox).html(this.labels[options.language]["roomslabel"]);$("#checksearchlabel",searchboxHotelBox).html(this.labels[options.language]["checkSearchLabel"]);$("#labeladt",searchboxHotelBox).html(this.labels[options.language]["adtLabel"]);$("#labelcnn",searchboxHotelBox).html(this.labels[options.language]["cnnLabel"]);$("#labelagehotels",searchboxHotelBox).html(this.labels[options.language]["ageLabel"]).hide();$("#btnLabel",searchboxHotelBox).html(this.labels[options.language]["btnLabel"]);$("#destination",searchboxHotelBox).autocomplete({url:options.autocompleteUrl,minChars:3,initialValue:options.defaultdestination,initialText:options.defaultdestinationdesc,maxItemsToShow:5,showValue:true,showMoreResults:true,type:"hoteles",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$("#checkout",searchboxHotelBox).calendar({tripType:"return",inputRelatedID:"checkin",shownMonths:2,language:options.language,product:"hot",configuration:options.configuration,defaultDate:options.returnDate,serverURL:options.calendarServiceUrl});$("#checkin",searchboxHotelBox).calendar({tripType:"go",inputRelatedID:"checkout",shownMonths:2,language:options.language,product:"hot",configuration:options.configuration,defaultDate:options.departureDate,serverURL:options.calendarServiceUrl});$(".buscarBtn",searchboxHotelBox).click(function(e){if(me.validate(searchboxHotelBox)){me.searchHotels()}});if(!options.showYearOld){$(".yearOldLabel",searchboxHotelBox).hide()}this.createRoomsDropdown($("#rooms",searchboxHotelBox));this.createRoomsRows($("#roomsdetails",searchboxHotelBox));$("#checksearchinput",searchboxHotelBox).click(function(e){$("#sHotelInput",searchboxHotelBox).toggle()});$(target).append(searchboxHotelBox);me.setInitialDistribution(searchboxHotelBox)};this.setInitialDistribution=function(searchboxHotelBox){if(options.distribution){if(options.distribution.substr(options.distribution.length-1,1)=="!"){options.distribution=options.distribution.substr(0,options.distribution.length-1)}var roomsDist=options.distribution.split("!");$("#rooms",searchboxHotelBox).val(roomsDist.length).trigger("change");for(var i=0;i<roomsDist.length;i++){var oPassengers=roomsDist[i].split("-");var actualRoom=$(".rowPaxsHotel:eq("+i+")",searchboxHotelBox);var actualAdt=$(".selectAdt",actualRoom).val(oPassengers[0]);actualAdt.trigger("change");var actualCnn=$(".selectCnn",actualRoom).val(oPassengers.length-1);actualCnn.trigger("change");for(var j=1;j<oPassengers.length;j++){$(".selectCnnAge:eq("+(j-1)+")",actualRoom).val(oPassengers[j]).trigger("change")}}}};this.setDestination=function(name,value){$("#destination",target)[0].obj.initialValue(name,value)};this.createRoomsDropdown=function(obj){var htmlOptions="";for(i=0;i<options.maxroomsquantity;i++){if(i==0){currentText=this.labels[options.language]["oneRoom"]}else{currentText=this.labels[options.language]["rooms"]}htmlOptions+='<option value="'+(i+1)+'">'+(i+1)+" "+currentText+"</option>"}obj.append(htmlOptions);obj.val(options.defaultrooms);obj.change(function(e){me.changeRooms(this)})};this.createRoomsRows=function(obj){for(m=1;m<=options.maxroomsquantity;m++){var row=$(document.createElement("div")).html(this.roomtemplate).addClass("rowPaxsHotel");if(m==1){$(".singleLabel",row).html(this.labels[options.language]["singleRoom"])}if(options.smallRooms==0){$(".roomnumberlabel",row).html(this.labels[options.language]["oneRoom"]+" "+(m)+":")}else{$(".roomnumberlabel",row).html(this.labels[options.language]["oneSmallRoom"]+" "+(m)+":")}var selectAdt=$(document.createElement("select")).attr("id","selectAdtHotels").addClass("selectAdt").html(this.createOptionsDropdown(options.maxpaxroom,options.defaultpaxs,1)).change(function(e){me.changeAdt(this)});$(".adtselectline",row).append(selectAdt);var maxCnnInitial=options.maxpaxroom-options.defaultpaxs;if(maxCnnInitial>options.maxcnnroom){maxCnnInitial=options.maxcnnroom}var selectCnn=$(document.createElement("select")).attr("id","selectCnnHotels").html(this.createOptionsDropdown(maxCnnInitial,options.defaultpaxscnn,0)).addClass("selectCnn").change(function(e){me.changeCnn(this)});$(".childselectsbox",row).append(selectCnn);for(h=1;h<=options.maxcnnroom;h++){var selectCnnAge=$(document.createElement("select")).attr("id","selectCnnAge"+m+h).css("display","block").addClass("selectCnnAge").html('<option selected="selected" id="ageselectdescription" value="NA">'+this.labels[options.language]["ageselect"]+"</option>"+this.createOptionsDropdown(options.maxcnnage,null,0));$(".ageselectsbox",row).append(selectCnnAge);selectCnnAge.hide()}obj.append(row);if(m>options.defaultrooms){row.hide()}}};this.createOptionsDropdown=function(options,defaultOption,minvalue){var returnValue="";for(i=0;i<=options;i++){if(i>=minvalue){if(i==defaultOption){returnValue+='<option value="'+i+'" selected="selected">'+i+"</option>"}else{returnValue+='<option value="'+i+'">'+i+"</option>"}}}return returnValue};this.changeRooms=function(obj){if($(obj).val()==1){$(".singleLabel",$(".rowPaxsHotel:eq(0)")).show();$(".roomnumberlabel",$(".rowPaxsHotel:eq(0)")).hide()}else{$(".singleLabel",$(".rowPaxsHotel")).hide();$(".roomnumberlabel",$(".rowPaxsHotel")).show()}$(".rowPaxsHotel").hide();$(".rowPaxsHotel:lt("+$(obj).val()+")").show()};this.changeAdt=function(obj){var selectCnn=$(".selectCnn",$(obj).parent().next());var valueCnnSelected=selectCnn.val();var valueAdtSelected=$(obj).val();var maxCnns=options.maxpaxroom-valueAdtSelected;if(maxCnns>options.maxcnnroom){maxCnns=options.maxcnnroom}selectCnn.html(this.createOptionsDropdown(maxCnns,0,0));selectCnn.val(valueCnnSelected);if(valueAdtSelected==options.maxpaxroom){selectCnn.attr("disabled","disabled")}else{selectCnn.attr("disabled","")}};this.changeCnn=function(obj){var lblAge=$("#labelagehotels",$(".roomsdetails"));var qty=$(obj).val();var selectAdt=$(".selectAdt",$(obj).parent().prev());var valueSelectedAdt=selectAdt.val();var maxAdts=options.maxpaxroom-$(obj).val();selectAdt.html(this.createOptionsDropdown(maxAdts,options.defaultpaxs,1));selectAdt.val(valueSelectedAdt);if(qty>0){lblAge.show();$("select",$(obj).parent().next()).hide();var selectsAge=$(".selectCnnAge:lt("+qty+")",$(obj).parent().next());selectsAge.parent().show();selectsAge.show()}else{var visibleSelectsAge=$(".selectCnnAge:visible",$(".ageselectsbox"));var thisSelects=$(".selectCnnAge:visible",$(obj).parent().next());thisSelects.hide();if(visibleSelectsAge.length==thisSelects.length){lblAge.hide()}}};this.getRoomsDetails=function(){var rooms=$("#rooms").val();var adtVisible=$(".selectAdt",$(".rowPaxsHotel:visible"));var qtyPax=0;var qtyAdt=0;var actualQty=0;var roomsSerialize="";$.each(adtVisible,function(e){var meRooms=$(this);actualQty=parseInt(meRooms.val());qtyAdt+=actualQty;qtyPax+=actualQty;roomsSerialize+=meRooms.val();var ageCnnCombos=$(this).parent().next().next().find(".selectCnnAge:visible");$.each(ageCnnCombos,function(i){qtyPax++;roomsSerialize+="-"+$(this).val()});roomsSerialize+="!"});roomsSerialize=roomsSerialize.substr(0,roomsSerialize.length-1);var objReturn=new Object();objReturn.qtyAdt=qtyAdt;objReturn.qtyPax=qtyPax;objReturn.roomsSerialize=roomsSerialize;objReturn.rooms=rooms;return objReturn};this.validate=function(searchboxHotelBox){var valid=true;var checkin=$("#checkin",searchboxHotelBox);var checkout=$("#checkout",searchboxHotelBox);var inputDestination=$("#destination",searchboxHotelBox);if(checkin.data("isValid")&&checkin.val()!="dd/mm/aaaa"){checkin.parent().removeClass("errorLabel")}else{checkin.parent().addClass("errorLabel");valid=false}checkout.parent().find(".errorText").html("");if(checkout.data("isValid")&&checkout.val()!="dd/mm/aaaa"){checkout.parent().removeClass("errorLabel");if(valid){var datein=new Despegar.Date();datein.setddmmaaaa(checkin.val(),"/");var dateout=new Despegar.Date();dateout.setddmmaaaa(checkout.val(),"/");if(datein.compareTo(dateout.getiso())==1){checkout.parent().addClass("errorLabel");checkout.parent().find(".errorText").html(this.labels[options.language]["errorPreviousDate"]);valid=false}}}else{checkout.parent().addClass("errorLabel");valid=false}if(inputDestination.data("dataValue").length==3){inputDestination.parent().removeClass("errorLabel");inputDestination.parent().find(".errorText").html("")}else{inputDestination.parent().addClass("errorLabel");if(inputDestination.val()!=options.defaultdestinationdesc){inputDestination.parent().find(".errorText").html(me.labels[options.language]["errorCity"])}valid=false}$(".errorIcon",$(".roomline")).remove();if($("#whLive").val()=="none"){$("#whLive").parent().find(".errorText").html(this.labels[options.language]["errorWhLive"]);$(".whLiveLine").addClass("errorLabel")}else{$("#whLive").parent().find(".errorText").html("");$(".whLiveLine").removeClass("errorLabel")}for(m=1;m<=options.maxroomsquantity;m++){for(h=1;h<=options.maxcnnroom;h++){var selectedAge=$("#selectCnnAge"+m+h);if($(selectedAge).is(":visible")){if(selectedAge.val()=="NA"){selectedAge.addClass("errorLabel");selectedAge.parent().addClass("errorLabel");selectedAge.after('<span class="mainSprite errorIcon"></span>');valid=false}else{selectedAge.removeClass("errorLabel");$("#errorText"+m+h).html("")}}}}if($("#whLive").val()=="none"&&$("#whLive").is(":visible")){valid=false}return valid};this.pickFlow=function(flow){var hotel="";if($("#checksearchinput",$(target)).attr("checked")==true){hotel=$("#sHotelInput",$(target)).val()}var tracking={cod:options.trackingCod,id:options.trackingId,brand:options.trackingBrand};var parameters={country:options.country,roomsDetails:me.getRoomsDetails(),checkin:$("#checkin",$(target)).val(),checkout:$("#checkout",$(target)).val(),destination:$("#destination",$(target)).data("dataValue"),hotel:hotel,country:$("#whLive").val(),brand:options.brand};if(eval("Despegar.Hotels.HotelFlows."+flow)!=undefined){eval("var searchObject = new Despegar.Hotels.HotelFlows."+flow);searchObject.searchHotels(parameters,location.host,tracking)}else{eval("var searchObject = new Despegar.Hotels.HotelFlows."+this.defaultsearchflow);searchObject.searchHotels(parameters,location.host,tracking)}};this.setFlow=function(flow){flowVersion=flow};this.searchHotels=function(){var today=new Date(options.configuration.today.year,options.configuration.today.month-1,options.configuration.today.day);var arrayCheckin=$("#checkin").val().split("/");var selectedCheckin=new Date(arrayCheckin[2],arrayCheckin[1]-1,arrayCheckin[0]);var offset=(selectedCheckin-today)/1000/60/60/24;var product;for(i=0;i<options.configuration.products.length;i++){if(options.configuration.products[i].cod=="hot"){product=options.configuration.products[i]}}if(options.abTesting||offset<product.data.defaultAnticipationDays){var dataABTest={ABTestId:"Hotels",sessionKeepAliveDays:"1",alternatives:[{percentage:"0",params:"version29"},{percentage:"100",params:"version29"}],resetSession:true};if(offset>=product.data.defaultAnticipationDays){var country="";if(Common.Domain){var oDomain=new Common.Domain();country=oDomain.getCountryCodeFromDomain()}$.ajax({url:"/js/FrameworkJS/Despegar/Hotels/ABTestInfo"+country+".txt",dataType:"json",cache:false,success:function(data){dataABTest=data},async:false,error:function(error,textStatus,errorThrown){}})}$.each(dataABTest.alternatives,function(i,e){dataABTest.alternatives[i].callBack=me.setFlow});abTestObj=new Common.ABTest(dataABTest)}else{flowVersion=options.searchflow}this.pickFlow(flowVersion)};this.labels={es:{adtLabel:"Adultos <span class='passengerAge'>(12+)</span>",cnnLabel:"Menores <span class='passengerAge'>(0-11)</span>",ageLabel:"Edad <span class='yearOldLabel'>(años)</span>",ageLabelMessage:"años",whLiveLabel:"País de residencia:",destinationLabel:"Ciudad:",checkindateLabel:"Entrada:",checkoutdateLabel:"Salida:",checkSearchLabel:"Buscar por nombre de hotel",defaultDestinationDesc:"Escriba donde hospedarse",defaultDestination:"",roomslabel:"Cantidad:",ageselect:"- ? -",oneSmallRoom:"Hab.",oneRoom:"Habitación",singleRoom:"Huespedes:",rooms:"Habitaciones",btnLabel:"Buscar hoteles",errorCity:"La ciudad ingresada no es valida",errorPreviousDate:"La salida debe ser posterior a la entrada",errorDestination:"Ingrese una ciudad de destino",errorDate:"La fecha no es válida",errorSelectAge:"Elija una edad",minCharsText1:"Ingrese al menos las primeras ",minCharsText2:" letras, y aguarde a ver los resultados",seeMoreResultsText:"Ver más resultados...",bestPriceLogo:"logoMejorPrecioSpanish"},pt:{adtLabel:"Adultos <span class='passengerAge'>(12+)</span>",cnnLabel:"Crianças  <span class='passengerAge'>(0-11)</span>",ageLabel:"Idade <span class='yearOldLabel'>(anos)</span>",ageLabelMessage:"anos",destinationLabel:"Cidade:",checkindateLabel:"Entrada:",checkoutdateLabel:"Saída:",whLiveLabel:"Onde reside:",checkSearchLabel:"Procurar hotel por nome",defaultDestinationDesc:"Escreva onde se hospedar",defaultDestination:"",roomslabel:"Quantidade:",ageselect:"- ? -",oneSmallRoom:"Qua.",oneRoom:"Quarto",singleRoom:"Hóspedes:",rooms:"Quartos",btnLabel:"Procurar hotéis",errorCity:"A cidade informada não é valida",errorPreviousDate:"A saída deve ser depois da entrada",errorDestination:"Digite a cidade de destino",errorDate:"Digite a data",errorSelectAge:"Escolha a idade",minCharsText1:"Por favor insira as primeiras ",minCharsText2:" letras  e aguardo para ver os resultados",seeMoreResultsText:"Ver mais resultados...",bestPriceLogo:"logoMejorPrecioPortuguesse"}};var options=options||{};options.country=options.country||"mx";options.language=options.language.toLowerCase()||"es";options.maxroomsquantity=options.maxroomsquantity||4;options.defaultrooms=options.defaultrooms||1;options.searchflow=options.searchflow||this.defaultsearchflow;options.maxpaxroom=options.maxpaxroom||6;options.defaultpaxs=options.defaultpaxs||2;options.defaultpaxscnn=options.defaultpaxscnn||0;options.maxcnnroom=options.maxcnnroom||3;options.maxcnnage=options.maxcnnage||11;options.defaultdestination=options.defaultdestination||this.labels[options.language]["defaultDestination"];options.defaultdestinationdesc=options.defaultdestinationdesc||this.labels[options.language]["defaultDestinationDesc"];options.smallRooms=options.smallRooms||0;options.trackingCod=options.trackingCod||"cob";options.trackingId=options.trackingId||null;options.trackingBrand=options.trackingBrand||"despegar";options.showYearOld=options.showYearOld||false;options.TC=options.TC||(typeof(TC)!="undefined"?TC:{});options.showBestPrice=options.showBestPrice||false;options.btnClass=options.btnClass||"btnRed";options.searchByName=options.searchByName||false;options.departureDate=options.departureDate||"dd/mm/aaaa";options.returnDate=options.returnDate||"dd/mm/aaaa";options.distribution=options.distribution||false;options.customUrl=options.customUrl||false;options.autocompleteUrl=options.autocompleteUrl||"/Despegar.Business.Services/Commons/AutoComplete.svc";options.baseServicesUrl=options.baseServicesUrl||"";options.calendarServiceUrl=options.calendarServiceUrl||options.baseServicesUrl+"/Contents/Servicies/CalendarService.ashx";if(typeof(options.abTesting)=="undefined"){options.abTesting=true}if(!options.configuration){$.ajax({url:options.calendarServiceUrl,async:false,success:function(data){options.configuration=data},dataType:"json"})}this.exists=false;this.target=target;this.defaultsearchflow="Revancha";var dataABTest;var abTestObj;var me=this;var flowVersion="";this.labelCountries={es:{argentina:"Argentina",bolivia:"Bolivia",brasil:"Brasil",chile:"Chile",colombia:"Colombia",costaRica:"Costa Rica",ecuador:"Ecuador",elSalvador:"El Salvador",espana:"España",guatemala:"Guatemala",honduras:"Honduras",mexico:"Mexico",nicaragua:"Nicaragua",panama:"Panama",paraguay:"Paraguay",peru:"Peru",pRico:"Puerto Rico",rDominicana:"Rep. Dominicana",uruguay:"Uruguay",usa:"USA",venezuela:"Venezuela"},pt:{argentina:"Argentina",bolivia:"Bolivia",brasil:"Brasil",chile:"Chile",colombia:"Col&ocirc;mbia",costaRica:"Costa Rica",ecuador:"Ecuador",elSalvador:"El Salvador",espana:"Espanha",guatemala:"Guatemala",honduras:"Honduras",mexico:"Mexico",nicaragua:"Nicaragua",panama:"Panama",paraguay:"Paraguai",peru:"Peru",pRico:"Porto Rico",rDominicana:"Rep. Dominicana",uruguay:"Uruguai",usa:"EUA",venezuela:"Venezuela"}};this.boxtemplate='											<p id="destinationline" class="destinationline"> 												<label id="labeldestination" for="destination"></label> 												<input type="text" id="destination" class="autocompleteInput"/> 												<span class="mainSprite errorIcon"></span> 												<span class="errorText"></span> 											</p> 											<p id="checkinline" class="checkinline"> 													<label id="labelcheckin" for="checkin"></label> 													<input type="text" id="checkin" class="dateInput"/> 													<span class="mainSprite errorIcon"></span> 													<span class="errorText"></span> 											</p> 											<p id="checkoutline" class="checkoutline"> 													<label id="labelcheckout" for="checkout"></label> 													<input type="text" id="checkout" class="dateInput"/> 													<span class="mainSprite errorIcon"></span> 													<span class="errorText"></span> 											</p> 																<p id="whLiveLine" class="whLiveLine"> 												<label id="labelWhLive" for="whLive"></label> 												<select id="whLive"> 													<option value="none"> </option> 													<option value="ar">'+this.labelCountries[options.language].argentina+'</option> 													<option value="bo">'+this.labelCountries[options.language].bolivia+'</option> 													<option value="br">'+this.labelCountries[options.language].brasil+'</option> 													<option value="cl">'+this.labelCountries[options.language].chile+'</option> 													<option value="co">'+this.labelCountries[options.language].colombia+'</option> 													<option value="cr">'+this.labelCountries[options.language].costaRica+'</option> 													<option value="ec">'+this.labelCountries[options.language].ecuador+'</option> 													<option value="sv">'+this.labelCountries[options.language].elSalvador+'</option> 													<option value="es">'+this.labelCountries[options.language].espana+'</option> 													<option value="gt">'+this.labelCountries[options.language].guatemala+'</option> 													<option value="hn">'+this.labelCountries[options.language].honduras+'</option> 													<option value="mx">'+this.labelCountries[options.language].mexico+'</option> 													<option value="ni">'+this.labelCountries[options.language].nicaragua+'</option> 													<option value="pa">'+this.labelCountries[options.language].panama+'</option> 													<option value="py">'+this.labelCountries[options.language].paraguay+'</option> 													<option value="pe">'+this.labelCountries[options.language].peru+'</option> 													<option value="pr">'+this.labelCountries[options.language].pRico+'</option> 													<option value="do">'+this.labelCountries[options.language].rDominicana+'</option> 													<option value="uy">'+this.labelCountries[options.language].uruguay+'</option> 													<option value="us">'+this.labelCountries[options.language].usa+'</option> 													<option value="ve">'+this.labelCountries[options.language].venezuela+'</option> 												</select> 												<span class="mainSprite errorIcon"></span> 												<span class="errorText"></span> 											</p> 											<div id="paxselection" class="paxselection"> 													<label id="labelrooms" for="rooms"></label> 													<select id="rooms" class="roomselect"></select> 													<div id="roomsdetails" class="roomsdetails"> 														<div class="labels">															<label id="labeladt" class="labeladt" for="selectAdtHotels"></label> 															<label id="labelcnn" class="labelcnn" for="selectCnnHotels"></label> 															<label id="labelagehotels" class="labelage"></label> 														</div>													</div> 											</div> 											'+(options.searchByName?'<p id="checksearch" class="checksearch"> 													<input type="checkbox" id="checksearchinput" class="checksearchInput"/> 													<label id="checksearchlabel" class="checksearchLabel" for="checksearchinput"></label>  													<input type="text" id="sHotelInput" class="sHotelInput"/> 											</p>':"")+' 											<div class="btnLine"> 												<button class="'+options.btnClass+' btnHome buscarBtn" type="button"> 													<span> 														<em id="btnLabel"></em> 													</span> 												</button> 											</div>';this.roomtemplate='											<div class="roomline"> 												<label class="roomnumberlabel"></label> 												<label class="singleLabel"></label> 												<p class="adtselectline"></p> 												<p class="childselectsbox"></p> 												<p class="ageselectsbox"></p> 												<div class="clearBox"></div> 											</div>';if(options.showBestPrice){this.boxtemplate+='<div class="betterPriceIcon"> 									<a class="bestPriceIcon openBestPrice"> 										<span class="mainSprite '+this.labels[options.language]["bestPriceLogo"]+'"></span> 									</a> 								</div>'}this.render();if(options.whLive!=1){$(".whLiveLine").hide()}};registerNameSpace("Despegar.Hotels.HotelFlows");Despegar.Hotels.HotelFlows.Revancha=function(){var a=this;this.searchHotels=function(c,b,e){a.reportLog(c);var d="";if(c.country){d=this.getUrl(c.brand,c.country)}if($.trim(c.hotel)==""){d+="/search/Hotels/"+c.destination+"/"+a.dateTransform(c.checkin)+"/"+a.dateTransform(c.checkout)+"/"+c.roomsDetails.roomsSerialize}else{d+="/search/Hotels/"+c.destination+"/"+a.dateTransform(c.checkin)+"/"+a.dateTransform(c.checkout)+"/"+c.roomsDetails.roomsSerialize+"/#n="+c.hotel}if(e.id!=null){window.open(a.trackingParameters(e)+escape(d))}else{location.href=d}};this.trackingParameters=function(b){return"http://www."+b.brand+".com/Contents/Tracking/"+b.cod+"/"+b.id+"?url2post="};this.reportLog=function(f){var d=new Despegar.HotelsReportLogData();var c=new a.FlowStage();var e=new Despegar.Date();d.CheckIn=e.createJSonDate(new Date(e.getAmericandDate(f.checkin)));d.CheckOut=e.createJSonDate(new Date(e.getAmericandDate(f.checkout)));d.Distribution=f.roomsDetails.roomsSerialize;d.Destination=f.destination;d.Stage=c.Home;var b=new Despegar.Logger();b.LogReport(d)};this.dateTransform=function(b){var c=b.split("/");return c[2]+"-"+c[1]+"-"+c[0]};this.urlTransform=function(c){var b=c.split(".");var e="http://";if(b.length==3&&b[1]!="decolar"){var d=Common.Utils.Ajax({url:"http://"+c+"/IpService/IPWatcher.ashx",async:false});if(!d){d="mx"}e+=(Common.Utils.GetUrlBrand(b[1],d))}else{if(b[b.length-1].indexOf("it")>=0){e+=c}else{if(b[b.length-1].indexOf("com")>=0){e+=c}else{e+=(Common.Utils.GetUrlBrand(b[1],b[3]))}}}return e};this.FlowStage=function(){this.Home=0;this.FlightAdvSearch=1;this.FlightMultidestination=2;this.FlightNewSearch=3;this.FlightResults=4;this.Checkout=5;this.Thanks=6;this.Booking=7;this.HotelSearch=8;this.HotelDetails=9;this.HotelServiceDetails=10;this.HotelServiceSearch=11;this.HotelLanding=12};this.getUrl=function(c,b){if(c=="viajeros"){return"http://"+b+"."+c+".com"}switch(b){case"ar":return"http://www."+c+".com.ar";break;case"bo":return"http://www."+c+".com.bo";break;case"br":if(c=="despegar"||c=="decolar"){return"http://www.decolar.com"}else{if(c=="viajo"){return"http://www.viajo.com.br"}else{if(c=="previaje"||bran=="previagem"){return"http://www.previagem.com"}}}break;case"cl":return"http://www."+c+".com.cl";break;case"co":return"http://www."+c+".com.co";break;case"cr":return"http://www."+c+".co.cr";break;case"ec":return"http://www."+c+".com.ec";break;case"sv":return"http://www."+c+".com.sv";break;case"es":return"http://www.es."+c+".com";break;case"gt":return"http://www."+c+".com.gt";break;case"hn":return"http://www."+c+".com.hn";break;case"mx":return"http://www.mx."+c+".com";break;case"ni":return"http://www."+c+".com.ni";break;case"pa":return"http://www."+c+".com.pa";break;case"py":return"http://www."+c+".com.py";break;case"pe":return"http://www."+c+".com.pe";break;case"pr":return"http://www."+c+".com.pr";break;case"do":return"http://www."+c+".com.do";break;case"uy":return"http://www.uy."+c+".com";break;case"us":return"http://www.us."+c+".com";break;case"ve":return"http://www."+c+".com.ve";break;default:return"";break}}};registerNameSpace("Despegar.Hotels.HotelFlows");Despegar.Hotels.HotelFlows.version29=function(){var a=this;this.searchHotels=function(c,b,e){a.reportLog(c);var d="";if(c.country){d=this.getUrl(c.brand,c.country)}if($.trim(c.hotel)==""){d+="/search/Hotel/"+c.destination+"/"+a.dateTransform(c.checkin)+"/"+a.dateTransform(c.checkout)+"/"+c.roomsDetails.roomsSerialize}else{d+="/search/Hotel/"+c.destination+"/"+a.dateTransform(c.checkin)+"/"+a.dateTransform(c.checkout)+"/"+c.roomsDetails.roomsSerialize+"/#n="+c.hotel}if(e.id!=null){window.open(a.trackingParameters(e)+escape(d))}else{location.href=d}};this.trackingParameters=function(b){return"http://www."+b.brand+".com/Contents/Tracking/"+b.cod+"/"+b.id+"?url2post="};this.reportLog=function(f){var d=new Despegar.HotelsReportLogData();var c=new a.FlowStage();var e=new Despegar.Date();d.CheckIn=e.createJSonDate(new Date(e.getAmericandDate(f.checkin)));d.CheckOut=e.createJSonDate(new Date(e.getAmericandDate(f.checkout)));d.Distribution=f.roomsDetails.roomsSerialize;d.Destination=f.destination;d.Stage=c.Home;var b=new Despegar.Logger();b.LogReport(d)};this.dateTransform=function(b){var c=b.split("/");return c[2]+"-"+c[1]+"-"+c[0]};this.urlTransform=function(c){var b=c.split(".");var e="http://";if(b.length==3&&b[1]!="decolar"){var d=Common.Utils.Ajax({url:"http://"+c+"/IpService/IPWatcher.ashx",async:false});if(!d){d="mx"}e+=(Common.Utils.GetUrlBrand(b[1],d))}else{if(b[b.length-1].indexOf("it")>=0){e+=c}else{if(b[b.length-1].indexOf("com")>=0){e+=c}else{e+=(Common.Utils.GetUrlBrand(b[1],b[3]))}}}return e};this.FlowStage=function(){this.Home=0;this.FlightAdvSearch=1;this.FlightMultidestination=2;this.FlightNewSearch=3;this.FlightResults=4;this.Checkout=5;this.Thanks=6;this.Booking=7;this.HotelSearch=8;this.HotelDetails=9;this.HotelServiceDetails=10;this.HotelServiceSearch=11;this.HotelLanding=12};this.getUrl=function(c,b){if(c=="viajeros"){return"http://"+b+"."+c+".com"}switch(b){case"ar":return"http://www."+c+".com.ar";break;case"bo":return"http://www."+c+".com.bo";break;case"br":if(c=="despegar"||c=="decolar"){return"http://www.decolar.com"}else{if(c=="viajo"){return"http://www.viajo.com.br"}else{if(c=="previaje"||bran=="previagem"){return"http://www.previagem.com"}}}break;case"cl":return"http://www."+c+".com.cl";break;case"co":return"http://www."+c+".com.co";break;case"cr":return"http://www."+c+".co.cr";break;case"ec":return"http://www."+c+".com.ec";break;case"sv":return"http://www."+c+".com.sv";break;case"es":return"http://www.es."+c+".com";break;case"gt":return"http://www."+c+".com.gt";break;case"hn":return"http://www."+c+".com.hn";break;case"mx":return"http://www.mx."+c+".com";break;case"ni":return"http://www."+c+".com.ni";break;case"pa":return"http://www."+c+".com.pa";break;case"py":return"http://www."+c+".com.py";break;case"pe":return"http://www."+c+".com.pe";break;case"pr":return"http://www."+c+".com.pr";break;case"do":return"http://www."+c+".com.do";break;case"uy":return"http://www.uy."+c+".com";break;case"us":return"http://www.us."+c+".com";break;case"ve":return"http://www."+c+".com.ve";break;default:return"";break}}};jQuery.fn.searchBoxHotels=function(a){this.each(function(b,c){var d=this;c.obj=new Despegar.Hotels.SearchBoxHotels(d,a)});return this};registerNameSpace("Despegar");Despegar.HotelsReportLogData=function(){var b=new Despegar.Date();var a=new Despegar.Logger();this.__type="HotelsReportLogData:#Despegar.Common.Logging";this.Category=15;this.ClientTime=b.createJSonDate(new Date());this.CheckIn;this.CheckOut;this.Distribution;this.Destination;this.Stage;this.ResultCount;this.ResultDelay;this.DetailDisponibility;this.PriceVariation;this.IsCache;this.IsPromotion;this.HotelOrder;this.Provider;this.ClientId=a.getClientId()};registerNameSpace("Despegar");Despegar.Logger=function(){var a=this;this.LogReport=function(d){var b="/Despegar.Infraestructure.Services/Logging.svc/LogReport";var c=JSON.stringify(d);$.ajax({url:b,type:"POST",data:c,contentType:"application/json"})};this.getClientId=function(){var b;var c=new Date();var d=Common.Utils.Cookie.ReadCookie("revClientId");if(d==null){b=Math.floor(1000*(Math.random()));b=a.md5(b.toString().concat(c.getTime().toString()));Common.Utils.Cookie.CreateCookie("revClientId",b.toString(),1);d=b}return d};this.md5=function(G){var H;var B=function(c,b){return(c<<b)|(c>>>(32-b))};var L=function(x,c){var aa,b,k,Z,d;k=(x&2147483648);Z=(c&2147483648);aa=(x&1073741824);b=(c&1073741824);d=(x&1073741823)+(c&1073741823);if(aa&b){return(d^2147483648^k^Z)}if(aa|b){if(d&1073741824){return(d^3221225472^k^Z)}else{return(d^1073741824^k^Z)}}else{return(d^k^Z)}};var v=function(b,d,c){return(b&d)|((~b)&c)};var u=function(b,d,c){return(b&c)|(d&(~c))};var t=function(b,d,c){return(b^d^c)};var r=function(b,d,c){return(d^(b|(~c)))};var z=function(aa,Z,af,ae,k,ab,ad){aa=L(aa,L(L(v(Z,af,ae),k),ad));return L(B(aa,ab),Z)};var f=function(aa,Z,af,ae,k,ab,ad){aa=L(aa,L(L(u(Z,af,ae),k),ad));return L(B(aa,ab),Z)};var J=function(aa,Z,af,ae,k,ab,ad){aa=L(aa,L(L(t(Z,af,ae),k),ad));return L(B(aa,ab),Z)};var y=function(aa,Z,af,ae,k,ab,ad){aa=L(aa,L(L(r(Z,af,ae),k),ad));return L(B(aa,ab),Z)};var e=function(aa){var ab;var k=aa.length;var d=k+8;var c=(d-(d%64))/64;var Z=(c+1)*16;var ac=new Array(Z-1);var b=0;var x=0;while(x<k){ab=(x-(x%4))/4;b=(x%4)*8;ac[ab]=(ac[ab]|(aa.charCodeAt(x)<<b));x++}ab=(x-(x%4))/4;b=(x%4)*8;ac[ab]=ac[ab]|(128<<b);ac[Z-2]=k<<3;ac[Z-1]=k>>>29;return ac};var w=function(k){var b="",c="",x,d;for(d=0;d<=3;d++){x=(k>>>(d*8))&255;c="0"+x.toString(16);b=b+c.substr(c.length-2,2)}return b};var I=[],P,l,K,A,g,Y,X,W,V,S=7,Q=12,N=17,M=22,F=5,E=9,D=14,C=20,s=4,q=11,p=16,o=23,U=6,T=10,R=15,O=21;G=a.utf8_encode(G);I=e(G);Y=1732584193;X=4023233417;W=2562383102;V=271733878;H=I.length;for(P=0;P<H;P+=16){l=Y;K=X;A=W;g=V;Y=z(Y,X,W,V,I[P+0],S,3614090360);V=z(V,Y,X,W,I[P+1],Q,3905402710);W=z(W,V,Y,X,I[P+2],N,606105819);X=z(X,W,V,Y,I[P+3],M,3250441966);Y=z(Y,X,W,V,I[P+4],S,4118548399);V=z(V,Y,X,W,I[P+5],Q,1200080426);W=z(W,V,Y,X,I[P+6],N,2821735955);X=z(X,W,V,Y,I[P+7],M,4249261313);Y=z(Y,X,W,V,I[P+8],S,1770035416);V=z(V,Y,X,W,I[P+9],Q,2336552879);W=z(W,V,Y,X,I[P+10],N,4294925233);X=z(X,W,V,Y,I[P+11],M,2304563134);Y=z(Y,X,W,V,I[P+12],S,1804603682);V=z(V,Y,X,W,I[P+13],Q,4254626195);W=z(W,V,Y,X,I[P+14],N,2792965006);X=z(X,W,V,Y,I[P+15],M,1236535329);Y=f(Y,X,W,V,I[P+1],F,4129170786);V=f(V,Y,X,W,I[P+6],E,3225465664);W=f(W,V,Y,X,I[P+11],D,643717713);X=f(X,W,V,Y,I[P+0],C,3921069994);Y=f(Y,X,W,V,I[P+5],F,3593408605);V=f(V,Y,X,W,I[P+10],E,38016083);W=f(W,V,Y,X,I[P+15],D,3634488961);X=f(X,W,V,Y,I[P+4],C,3889429448);Y=f(Y,X,W,V,I[P+9],F,568446438);V=f(V,Y,X,W,I[P+14],E,3275163606);W=f(W,V,Y,X,I[P+3],D,4107603335);X=f(X,W,V,Y,I[P+8],C,1163531501);Y=f(Y,X,W,V,I[P+13],F,2850285829);V=f(V,Y,X,W,I[P+2],E,4243563512);W=f(W,V,Y,X,I[P+7],D,1735328473);X=f(X,W,V,Y,I[P+12],C,2368359562);Y=J(Y,X,W,V,I[P+5],s,4294588738);V=J(V,Y,X,W,I[P+8],q,2272392833);W=J(W,V,Y,X,I[P+11],p,1839030562);X=J(X,W,V,Y,I[P+14],o,4259657740);Y=J(Y,X,W,V,I[P+1],s,2763975236);V=J(V,Y,X,W,I[P+4],q,1272893353);W=J(W,V,Y,X,I[P+7],p,4139469664);X=J(X,W,V,Y,I[P+10],o,3200236656);Y=J(Y,X,W,V,I[P+13],s,681279174);V=J(V,Y,X,W,I[P+0],q,3936430074);W=J(W,V,Y,X,I[P+3],p,3572445317);X=J(X,W,V,Y,I[P+6],o,76029189);Y=J(Y,X,W,V,I[P+9],s,3654602809);V=J(V,Y,X,W,I[P+12],q,3873151461);W=J(W,V,Y,X,I[P+15],p,530742520);X=J(X,W,V,Y,I[P+2],o,3299628645);Y=y(Y,X,W,V,I[P+0],U,4096336452);V=y(V,Y,X,W,I[P+7],T,1126891415);W=y(W,V,Y,X,I[P+14],R,2878612391);X=y(X,W,V,Y,I[P+5],O,4237533241);Y=y(Y,X,W,V,I[P+12],U,1700485571);V=y(V,Y,X,W,I[P+3],T,2399980690);W=y(W,V,Y,X,I[P+10],R,4293915773);X=y(X,W,V,Y,I[P+1],O,2240044497);Y=y(Y,X,W,V,I[P+8],U,1873313359);V=y(V,Y,X,W,I[P+15],T,4264355552);W=y(W,V,Y,X,I[P+6],R,2734768916);X=y(X,W,V,Y,I[P+13],O,1309151649);Y=y(Y,X,W,V,I[P+4],U,4149444226);V=y(V,Y,X,W,I[P+11],T,3174756917);W=y(W,V,Y,X,I[P+2],R,718787259);X=y(X,W,V,Y,I[P+9],O,3951481745);Y=L(Y,l);X=L(X,K);W=L(W,A);V=L(V,g)}var n=w(Y)+w(X)+w(W)+w(V);return n.toLowerCase()};this.utf8_encode=function(b){var l=(b+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");var o="";var c,f;var d=0;c=f=0;d=l.length;for(var e=0;e<d;e++){var k=l.charCodeAt(e);var g=null;if(k<128){f++}else{if((k>127)&&(k<2048)){g=String.fromCharCode((k>>6)|192)+String.fromCharCode((k&63)|128)}else{g=String.fromCharCode((k>>12)|224)+String.fromCharCode(((k>>6)&63)|128)+String.fromCharCode((k&63)|128)}}if(g!==null){if(f>c){o+=l.substring(c,f)}o+=g;c=f=e+1}}if(f>c){o+=l.substring(c,l.length)}return o}};