/*
FRAMEWORK_VERSION:19.1.3
*/
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(c){for(var b=0;b<this.length;b++){if(this[b]==c){return b}}return -1};registerNameSpace("FrameworkJS.Common");FrameworkJS.Common.AutocompleteGlobalCache=function(b){this.options=b||{};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(b){if(!FrameworkJS.Common.AutocompleteGlobalCache.cache[b]){FrameworkJS.Common.AutocompleteGlobalCache.cache[b]={data:{},preCache:{}}}};FrameworkJS.Common.AutocompleteGlobalCache.prototype.loadFromCache=function(n,l,d,k,o){if(o==undefined){o=FrameworkJS.Common.AutocompleteGlobalCache.options.type}if(!n){return null}if(FrameworkJS.Common.AutocompleteGlobalCache.cache[o].data[n]){return FrameworkJS.Common.AutocompleteGlobalCache.cache[o].data[n]}if(k){var p=false;var g=n.substr(0,l);var e=FrameworkJS.Common.AutocompleteGlobalCache.cache[o].data[g];if(!e&&FrameworkJS.Common.AutocompleteGlobalCache.cache[o].preCache.length>0){e=FrameworkJS.Common.AutocompleteGlobalCache.cache[o].preCache;p=true}if(e){var b=[];b.cachedBefore=p;var c=FrameworkJS.Common.AutocompleteGlobalCache.splitString(n,this.options.splitBy);for(var f=0;f<e.length;f++){var q=e[f];if(FrameworkJS.Common.AutocompleteGlobalCache.matchSubset(q.m+", "+q.n+", "+q.a,c,d)){b[b.length]=q}}return b.length>0||!b.cachedBefore?b:null}}return null};FrameworkJS.Common.AutocompleteGlobalCache.prototype.addToCache=function(d,c,b){if(b==undefined){b=FrameworkJS.Common.AutocompleteGlobalCache.options.type}if(!c||!d){return}FrameworkJS.Common.AutocompleteGlobalCache.cache[b].data[d]=c};FrameworkJS.Common.AutocompleteGlobalCache.prototype.accentInsentiveRegex=function(b){var d="";for(var c=0;c<b.length;c++){switch(b.charAt(c)){case"a":case"á":case"A":case"Á":case"ã":case"Ã":case"â":case"Â":d+="[aáãâ]";break;case"e":case"é":case"E":case"É":case"ê":case"Ê":d+="[eéê]";break;case"i":case"í":case"I":case"Í":d+="[ií]";break;case"o":case"ó":case"O":case"Ó":case"õ":case"Õ":case"ô":case"Ô":d+="[oóõô]";break;case"u":case"ú":case"U":case"Ú":d+="[uú]";break;default:d+=b.charAt(c);break}}return d};FrameworkJS.Common.AutocompleteGlobalCache.prototype.splitString=function(b,k){var d=new RegExp("["+k+"]","ig");var b=b.replace(d,"|");var g=b.split("|");var f=new Array();var c=0;for(var e=0;e<g.length;e++){if(jQuery.trim(g[e])!=""){f[c]=g[e];c++}}return f};FrameworkJS.Common.AutocompleteGlobalCache.prototype.matchSubset=function(d,g,k,f){var e=false;for(j=0;j<g.length;j++){var b=new RegExp(FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex(g[j]));if(!k){d=d.toLowerCase()}var c=d.search(b);if(c==-1){e=false}if(c>-1){e=true}if(e&&FrameworkJS.Common.AutocompleteGlobalCache.options.matchStartOnly){b=new RegExp(FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex("(^"+g[j]+")|(["+this.options.splitBy+"]"+g[j]+")"));c=d.search(b);if(c==-1){e=false}}if(!e){break}}return e};FrameworkJS.Common.AutocompleteGlobalCache.prototype.preCache=function(b,c){if(c==undefined){c=this.options.type}FrameworkJS.Common.AutocompleteGlobalCache.cache[c].preCache=b};registerNameSpace("FrameworkJS.Common");FrameworkJS.Common.Autocomplete=function(n,f){this.options=window._options||{};this.options.splitBy=this.options.splitBy||", ();:.";var t=f.minChars;var w;var b=true;var s;var x=0;var p;this.liData=[];setTimer=function(z){if(f.timeOut!=0){if(w!=undefined){clearTimeout(w)}w=setTimeout(function(){z()},f.timeOut)}};$.fn.autocomplete.initialValue=function(z,A){y.initialValue(z,A)};this.initialValue=function(C,E,z,B,D){var A=C;if(f.showValue&&E!=""&&E!=undefined&&!B){A=A+" ("+E+")"}$(n).val(A);$(n).data("dataValue",E);$(n).data("dataType",z);$(n).data("typeSelected",D)};this.hideResultsNow=function(){if(l){clearTimeout(l)}if(e.is(":visible")){e.html("");e.hide();if(o){o.hide()}}};this.trim=function(B){if(f.respMinChars){var B=B.replace(/^\s\s*/,""),z=/\s/,A=B.length;while(z.test(B.charAt(--A))){}return B.slice(0,A+1)}else{return B}};this.onChange=function(){timerReady=false;f.minChars=t;if(u==46||(u>8&&u<32)){if(o){o.hide()}return e.hide()}if(u>45&&u<112){c.data("dataValue","");c.data("dataType",f.initialType)}var D=y.trim(c.val());if(D==q){return}q=D;if(D.length>=f.minChars){var B=this;var C=D;B.requestData(C)}else{e.hide();if(o){o.hide()}if(f.minCharsLeyend){e.html("");var A=document.createElement("ul");var z=document.createElement("li");z.innerHTML=y.labels[f.languaje]["minCharsText1"]+f.minChars+y.labels[f.languaje]["minCharsText2"];A.appendChild(z);$(z).addClass("minCharsLeyend");e.append(A);this.showResults()}}c.removeClass("default")};this.moveSelect=function(A){var z=$("li:visible",e);if(!z){return}g+=A;if(g<0){g=0}else{if(g>=z.length){g=z.length-1}}z.removeClass(f.liOverClass);$(z[g]).addClass(f.liOverClass);if(g>f.maxItemsToShow-1||(this.scrollNum!=0)){if((this.scrollNum>=-1&&A>0)){z[g].scrollIntoView(false)}if(A==-1&&this.scrollNum>0){this.scrollNum=0}if(this.scrollNum>((-1)*(f.maxItemsToShow))||A==1){this.scrollNum=this.scrollNum+A}if(this.scrollNum<=((-1)*(f.maxItemsToShow))){z[g].scrollIntoView(true)}}};this.selectCurrent=function(){var A=false;var C=false;var z=$("li."+f.liOverClass,e)[0];if(!z){C=true;var B;if(f.selectOnly){B=$("li",e);if(B.length==1){z=B[0]}}else{if(f.selectFirst){B=$("li:first",e);z=B[0]}}}if(z){if($(z).hasClass("additionalOptions")){if(!C){$(z).click()}A=false}else{if($(z).hasClass("moreOptions")){A=true}else{if($(z).hasClass("minCharsLeyend")){A=false}else{this.selectItem(z);A=false}}}return A}else{return false}};this.selectItem=function(A){b=true;var z;var C;var B;if(!A){z="";C="";B=f.initialType}else{if($(A).hasClass("noSelectable")){if(b){k($(A).find("a"));b=false}}else{z=this.liData[A.id][0];C=this.liData[A.id][1];B=this.liData[A.id][2];a=this.liData[A.id][3]}}if(b){c.data("lastSelected",z);if(f.faceted){c.data("typeSelected",$(A).parent().attr("class").split("Lista")[1].substr(0,1))}q=z;c.val(z);if(f.showValue){c.val(c.val()+" ("+C+")")}c.data("dataValue",C);c.data("dataType",B);c.data("dataReference",a);if(C.length==3&&f.callBackFunction){f.callBackFunction()}}};this.createSelection=function(C,A){var B=c.get(0);if(B.createTextRange){var z=B.createTextRange();z.collapse(true);z.moveStart("character",C);z.moveEnd("character",A);z.select()}else{if(B.setSelectionRange){B.setSelectionRange(C,A)}else{if(B.selectionStart){B.selectionStart=C;B.selectionEnd=A}}}B.focus()};this.autoFill=function(z){if(u!=8){c.val(c.val()+z.substr(q.length));this.createSelection(q.length,z.length)}};this.showResults=function(){var B=this.findPos(n);var A=parseInt(c.width()+4)+"px";e.css({width:A}).children().css({width:100+"%"});e.css({top:(B.y+n.offsetHeight)+"px",left:B.x+"px"});e.show();if(o){var A=$("ul",e).width()-10+"px";var z=$("ul",e).height()+"px";o.css({width:A,height:z,top:(B.y+n.offsetHeight)+"px",left:B.x+"px",zIndex:"500",position:"absolute"}).show()}};this.hideResults=function(){if(l){clearTimeout(l)}l=setTimeout(this.hideResultsNow,0)};this.receiveData=function(F,E){if((!d&&(!E.cachedBefore||!f.showMoreResults))||(E==null&&f.additionalOptions.length==0)){return this.hideResultsNow()}if(E.getingCache){E.cachedBefore=false;E.getingCache=false}var D="";e.html("");if(f.faceted){var G=[];$.each(E,function(I,K){if(D!=K.c){if(D!=""&&I!=0){var H=document.createElement("ul");e.append(H);$(H).addClass("Lista"+E[I-1].c).addClass("facetedList");if(($(".ac_results ul").length/2)!=parseInt($(".ac_results ul").length/2)){$(H).addClass("evenList")}var J=s.type[f.languaje][E[I-1].c];y.dataToDom(G,F,H,J)}D=K.c;G=[]}G.push(K);if(K.s!=undefined){$.each(K.s,function(L,M){M.r=true;G.push(M)})}});var A=document.createElement("ul");e.append(A);var B;$.each(G,function(H,I){if(I.c!="s"){B=s.type[f.languaje][I.c];$(A).addClass("Lista"+I.c);if(($(".ac_results ul").length/2)!=parseInt($(".ac_results ul").length/2)){$(A).addClass("evenList");if(!$(A).hasClass("facetedList")){$(A).addClass("facetedList")}}}});y.dataToDom(G,F,A,B)}else{var A=document.createElement("ul");e.append(A);y.dataToDom(E,F,A)}if(f.autoFill&&(c.val().toLowerCase()==F.toLowerCase())){this.autoFill(E[0].n)}this.showResults();if(E!=null){if(E.length>f.maxItemsToShow){$li=e.children("ul").children("li:eq(0)");var C=$li.outerHeight();for(var z=1;z<f.maxItemsToShow;z++){$li=$li.next();C=C+$li.outerHeight()}e.children("ul").height(C).css("overflow-y","scroll").css("overflow-x","hidden");if(o){o.height(C+2)}}if(E.length==0){y.showNoResultsError()}}else{y.showNoResultsError()}$(".typeItem:first").addClass("itemFirst");$(".typeItem:last").addClass("itemLast");$(".evenList:first").addClass("evenFirst");if($(".evenList:last")==$(".ac_results ul:last")){$(".evenList:last").addClass("evenLast")}$(".ac_results li:visible:first").addClass("liFirst");$(".ac_results li:visible:last").addClass("liLast")};this.dataToDom=function(D,J,I,K){if(D){K=K||"";$(I).append('<div class="typeItem"><span>'+K+"</span></div>");if(f.respMinChars){J=J.replace(/-/gi," ")}var E=D.length;var H=0;var A=FrameworkJS.Common.AutocompleteGlobalCache.splitString(J,this.options.splitBy);var G="";for(j=0;j<A.length;j++){G+="("+FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex(A[j])+")";if(j<A.length-1){G+="|"}}var F=J.length;var N=new RegExp(G,"ig");var B="";var O="";var L=0;for(var C=x;C<(x+E);C++){L++;var P=D[C-x];if(!P){continue}if(P.r!=undefined){B=("<li id='"+n.id+C+"' class = 'subitem item"+O+"' style='display:none;'>")}else{O=C;if(P.s!=undefined){B=("<li id='"+n.id+C+"' class='noSelectable'><a class='more clossed'></a>")}else{B=("<li id='"+n.id+C+"'>")}}var z="";for(j=1;j<=A.length;j++){z+="$"+j}B+="<span>"+P.n.replace(N,"<b>"+z+"</b>");if(f.showValue){B+=" ("+P.m.toUpperCase()+")"}B+="</span>";B+="</li>";$(I).append(B);this.liData[n.id+C]=new Array(3);this.liData[(n.id+C)][0]=P.n;this.liData[(n.id+C)][1]=P.m;this.liData[(n.id+C)][2]=P.t;this.liData[(n.id+C)][3]=P.a}x+=L;$(I).children("li").hover(function(){$("li."+f.liOverClass,I).removeClass(f.liOverClass);$(this).addClass(f.liOverClass)},function(){$(this).removeClass(f.liOverClass)})}if(f.additionalOptions.length>0){for(var C=0;C<f.additionalOptions.length;C++){var M=document.createElement("li");M.innerHTML=f.additionalOptions[C].text;I.appendChild(M);$(M).addClass("additionalOptions").hover(function(){$("li",I).removeClass(f.liOverClass);$(this).addClass(f.liOverClass);g=$("li",I).indexOf($(this).get(0))},function(){$(this).removeClass(f.liOverClass)}).bind("click",f.additionalOptions[C].callbackFunction)}}if(D.cachedBefore&&f.showMoreResults){var M=document.createElement("li");M.innerHTML=y.labels[f.languaje]["seeMoreResultsText"];I.appendChild(M);$(M).addClass("moreOptions").hover(function(){$("li",I).removeClass(f.liOverClass);$(this).addClass(f.liOverClass);g=$("li",I).indexOf($(this).get(0))},function(){$(this).removeClass(f.liOverClass)})}};this.showMoreResults=function(){this.searchResults(c.val())};this.requestData=function(A){if(!f.matchCase){A=A.toLowerCase()}if(f.respMinChars){f.minChars=$(n).val().length}var z=FrameworkJS.Common.AutocompleteGlobalCache.loadFromCache(A,f.minChars,f.matchCase,f.matchSubset,f.type);if(z){y.receiveData(A,z)}else{if((typeof f.url=="string")&&(f.url.length>0)){if(f.timeOut!=0){setTimer(function(){y.searchResults(A)})}else{y.searchResults(A)}}}};this.convertXMLtoJSON=function(z){oJSON=new Array();$("option",z).each(function(A){oJSON.push({a:$(this).attr("a"),m:$(this).attr("m"),n:$(this).attr("n"),t:$(this).attr("t")})});return oJSON};this.searchResults=function(A){A=y.trim(A);if(f.noStrangeCharacters){A=A.toLowerCase().replace(/[á|à|ä|â|ã]/gi,"a").replace(/[é|è|ë|ê]/gi,"e").replace(/[í|ì|ï|î]/gi,"i").replace(/[ó|ò|ö|ô|õ]/gi,"o").replace(/[ú|ù|ü|û]/gi,"u").replace(/[ñ]/gi,"n").replace(/[^\w\s]/gi,"").replace(/ç/gi,"c").replace(/&/gi,"y")}if(!f.respMinChars){var z=this.makeUrl(A.substr(0,t).replace(/ /gi,"-"))}else{var z=this.makeUrl(A.replace(/ /gi,"-"))}if(A.length>=t){$.ajax({type:"GET",dataType:f.serviceType.toLowerCase(),url:z,success:function(B){if(f.serviceType=="XML"){B=y.convertXMLtoJSON(B)}else{if(f.serviceType=="JSON"){if(B.data){B=B.data}}}FrameworkJS.Common.AutocompleteGlobalCache.addToCache(A.substr(0,f.minChars),B,f.type);if(A.length>f.minChars&&!f.respMinChars){B=FrameworkJS.Common.AutocompleteGlobalCache.loadFromCache(A,f.minChars,f.matchCase,f.matchSubset,f.type)}B.cachedBefore=true;B.getingCache=true;y.receiveData(A,B)},error:function(B,D,C){$(n).data("dataValue","");y.showNoResultsError();if(window.console){console.error("Hubo un error en el servicio de AutoComplete ",B,D,C)}}})}};this.showNoResultsError=function(){e.hide();if(o){o.hide()}if(f.noResultsError){e.html("");var A=document.createElement("ul");var z=document.createElement("li");z.innerHTML=f.noResultsError+$(n).val();A.appendChild(z);$(z).addClass("minCharsLeyend");e.append(A);y.showResults()}};this.getExtraParamValue=function(z){if(typeof z!="function"){return z}else{return z()}};this.makeUrl=function(C){var A=f.url;if(!f.useQueryString){for(var B in f.extraParamsValue){var z=this.getExtraParamValue(f.extraParamsValue[B]);if(f.faceted){if(B==0){if(f.prodCode!=""){A+=f.prodCode+"/"}A+=encodeURI(z)}else{if(z==="es"){A+="/"+encodeURI(z)}else{A+=f.separatorFacetedParams+encodeURI(z)}}}else{A+="/"+encodeURI(z)}}A+="/"+encodeURI(C)}else{A=A+"?";for(var B in f.extraParamsValue){var z=this.getExtraParamValue(f.extraParamsValue[B]);var D=f.extraParamsName[B]?f.extraParamsName[B]:"param"+[B];A+=D+"="+encodeURI(z)+"&"}A+=f.extraParamSearchPatternName+"="+encodeURI(C)}return A};this.findPos=function(A){var B=A.offsetLeft||0;var z=A.offsetTop||0;while(A=A.offsetParent){B+=A.offsetLeft;z+=A.offsetTop}return{x:B,y:z}};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 aguarde para ver os resultados"}};f=f||{};f.languaje=f.languaje||"es";f.url=f.url||"";f.useQueryString=f.useQueryString||false;f.extraParams=f.extraParams||[];f.extraParamsName=f.extraParamsName||[];f.extraParamsValue=f.extraParamsValue||f.extraParams;f.extraParamSearchPatternName=f.extraParamSearchPatternName||"pattern";f.inputClass=f.inputClass||"ac_input";f.initialText=f.initialText||"";f.initialValue=f.initialValue||"";f.initialType=f.initialType||"1";f.initialTypeSelected=f.initialTypeSelected||"";f.noResultsError=f.noResultsError||this.labels[f.languaje]["noResultsError"];f.autoFill=f.autoFill||false;f.resultsClass=f.resultsClass||"ac_results";f.liOverClass=f.liOverClass||"ac_over";f.minChars=f.minChars||3;f.minCharsLeyend=f.minCharsLeyend||false;f.delay=f.delay||100;f.matchCase=f.matchCase||0;f.matchSubset=f.matchSubset||1;f.selectFirst=f.selectFirst||true;f.selectOnly=f.selectOnly||false;f.maxItemsToShow=f.maxItemsToShow||10;f.classListWidth=f.classListWidth||false;f.additionalOptions=f.additionalOptions||[];f.showValue=f.showValue||false;f.preCacheData=f.preCacheData||{};f.showMoreResults=f.showMoreResults||false;f.type=f.type||"general";f.serviceType=f.serviceType||"JSON";f.callBackFunction=f.callBackFunction||false;f.respMinChars=f.respMinChars||false;f.timeOut=f.timeOut||0;f.faceted=f.faceted||false;f.configUrl=f.configUrl||"";f.noStrangeCharacters=f.noStrangeCharacters||false;f.cityMaxRows=f.cityMaxRows||0;f.administrativeDivisionMaxRows=f.administrativeDivisionMaxRows||0;f.countryMaxRows=f.countryMaxRows||0;f.interestPointMaxRows=f.interestPointMaxRows||0;f.airportMaxRows=f.airportMaxRows||0;f.hotelMaxRows=f.hotelMaxRows||0;f.portMaxRows=f.portMaxRows||0;f.pierMaxRows=f.pierMaxRows||0;f.paramsInUrl=f.paramsInUrl||false;f.separatorFacetedParams=f.separatorFacetedParams||"-";f.prodCode=f.prodCode||"";if(f.configUrl!=""){$.ajax({url:f.configUrl,dataType:"json",async:"false",type:"GET",contentType:"application/json",success:function(z){s=z}})}else{if(f.faceted){s={type:{es:{c:"Ciudades",d:"Estado/Provincia",p:"Paises",h:"Hoteles",i:"Puntos de Interes",a:"Aeropuerto"},pt:{c:"Cidades",d:"Estado/Província",p:"Países",h:"Hotéis",i:"Pontos de Interesse",a:"Aeroporto"}}}}}if(f.faceted&&!f.paramsInUrl){if(f.extraParamsValue.length==1){var v=f.extraParamsValue.shift();f.extraParamsValue.push(f.cityMaxRows,f.administrativeDivisionMaxRows,f.countryMaxRows,f.interestPointMaxRows,f.airportMaxRows,f.hotelMaxRows,f.portMaxRows,f.pierMaxRows,v)}else{f.extraParamsValue.push(f.cityMaxRows,f.administrativeDivisionMaxRows,f.countryMaxRows,f.interestPointMaxRows,f.airportMaxRows,f.hotelMaxRows,f.portMaxRows,f.pierMaxRows)}}var y=this;if(typeof FrameworkJS.Common.AutocompleteGlobalCache!="object"){FrameworkJS.Common.AutocompleteGlobalCache=new FrameworkJS.Common.AutocompleteGlobalCache({type:f.type})}else{FrameworkJS.Common.AutocompleteGlobalCache.addType(f.type)}if(f.preCacheData.length>0){FrameworkJS.Common.AutocompleteGlobalCache.preCache(f.preCacheData,f.type)}var c=$(n);if(f.inputClass){c.addClass(f.inputClass)}var o=null;if(($.browser.msie)&&(parseInt($.browser.version)<7)){o=$("<iframe></iframe>").appendTo($("body"))}var r=document.createElement("div");r.id="results-"+c.attr("id");var e=$(r);e.hide().addClass(f.resultsClass).css({position:"absolute","z-index":1002});if(o){o.hide()}e.children("ul:last").children("li").live("click",function(z){z.preventDefault();z.stopPropagation();y.selectItem(this)});function k(z){if(b){z.parent().removeClass("liLast");b=false;if(z.hasClass("clossed")){z.removeClass("clossed").addClass("opened");$(".item"+z.parent().attr("id")).show()}else{z.removeClass("opened").addClass("clossed");$(".ac_results li:visible:last").addClass("liLast");$(".item"+z.parent().attr("id")).hide()}}}$(".more").live("click",function(){k($(this))});$("body").append(e);n.autocompleter=y;var l=null;var q="";var g=-1;var d=false;var u=null;this.initialValue(f.initialText,f.initialValue,f.initialType,false,f.initialTypeSelected);this.scrollNum=0;this.liData=[];c.keydown(function(z){u=z.keyCode;switch(z.keyCode){case 38:z.preventDefault();y.moveSelect(-1);break;case 40:z.preventDefault();y.moveSelect(1);break;case 13:c.get(0).blur();z.preventDefault();break;default:g=-1;if(l){clearTimeout(l)}l=setTimeout(function(){y.onChange()},f.delay);break}}).focus(function(){if(!$(this).attr("autocomplete")||$(this).attr("autocomplete")!="off"){$(this).attr("autocomplete","off")}var z=f.initialText;if(f.initialValue!=""){z+=" ("+f.initialValue+")"}if(!d&&y.trim($(n).val())==z){$(this).val("")}else{this.select()}d=true}).blur(function(I){if($(this).attr("autocomplete")&&$(this).attr("autocomplete")=="off"){$(this).removeAttr("autocomplete")}d=false;if(e.is(":visible")){var E=false;if(navigator.appName=="Microsoft Internet Explorer"){var D=I.clientX;var B=I.clientY;var C=18;var G=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;var z=r.clientLeft+r.offsetLeft+r.clientWidth-C;var K=z+C;var J=r.clientTop+r.offsetTop-G;var F=J+r.clientHeight;if(D>z&&D<K&&B>J&&B<F){E=true}else{E=false}}if(!E){var H=y.selectCurrent();if(b){y.hideResults()}else{c.focus()}if(H){d=true;y.showMoreResults();setTimeout(function(){$(n).focus()},1)}if(!b){d=true;setTimeout(function(){$(n).focus()},1)}}else{setTimeout(function(){$(n).focus()},1)}}var A=y.trim($(n).val());if(A==""){y.initialValue(f.initialText,f.initialValue,f.initialType,false,f.initialTypeSelected)}});this.hideResultsNow();if(f.initialValue==""){c.addClass("default")}$(window).resize(function(){$("#results-"+c.attr("id")).css("left",$("#"+c.attr("id")).offset().left+"px")})};registerNameSpace("Common.Utils");Common.Utils.Ajax=function(b){return($.ajax(b).responseText)};Common.Utils.Ajax.LoadScript=function(b,e){var c=document.getElementsByTagName("head")[0];var d;d=document.createElement("script");d.src=b;d.type="text/javascript";if(e!=undefined){d.onload=d.onreadystatechange=e}c.appendChild(d)};registerNameSpace("Common.Utils");Common.Utils.Cookie=function(){};Common.Utils.Cookie.prototype.CreateCookie=function(d,e,f){if(f>0){var c=new Date();c.setTime(c.getTime()+(f*24*60*60*1000));var b="; expires="+c.toGMTString()}else{var b=""}document.cookie=d+"="+e+b+"; path=/"};Common.Utils.Cookie.prototype.ReadCookie=function(d){var f=d+"=";var b=document.cookie.split(";");for(var e=0;e<b.length;e++){var g=b[e];while(g.charAt(0)==" "){g=g.substring(1,g.length)}if(g.indexOf(f)==0){return g.substring(f.length,g.length)}}return null};Common.Utils.Cookie.prototype.EraseCookie=function(b){this.CreateCookie(b,"",-1)};Common.Utils.Cookie=new Common.Utils.Cookie();registerNameSpace("Common.Utils");Common.Utils.GetUrlBrand=function(d,b){d=d.toLowerCase();b=b.toLowerCase();var c={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(c[d]){return c[d][b]?c[d][b]:c[d]["default"]}else{return null}};registerNameSpace("Common.Utils");Common.Utils.Mask=function(c,d){c=c.toString();d=d.toString();var b=null;if(d.length>=c.length){b=d}else{b=c.substr(0,c.length-d.length);b=b+d}return b};registerNameSpace("Common.Math");Common.Math.Random=function(c,b){range=b-c;rnd=Math.random()*range;rnd=Math.round(rnd);return parseInt(c)+rnd};registerNameSpace("Common");Common.ABTest=function(options){function getCookieValue(valueStr){var evalError=false;var value=null;try{eval("value = "+valueStr)}catch(e){evalError=true}if(!evalError){return value}else{return null}}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){oCookieSession=getCookieValue(ABTestCookie);if(oCookieSession&&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=options.cookieName||"ABTest";var defaultSessionId=Common.Math.Random(100000000,999999999);if(!options.SessionId){var ABTestCookie=Common.Utils.Cookie.ReadCookie(COOKIE_NAME);if(ABTestCookie&&ABTestCookie!=undefined){oCookieSession=getCookieValue(ABTestCookie);if(oCookieSession&&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(b){this.day;this.month;this.year;this.monthText;this.dayOfWeek;this.serverURL="ajaxTimeStamp.asp";this.test="aaaa";this.language=b||"es"};Despegar.Date.prototype.getDaysName=function(b){if(typeof this.daysName!="object"){this.daysName=new Array();if(this.language=="pt"){this.daysName[0]=!b?"Do":"Domingo".substr(0,b);this.daysName[1]=!b?"Se":"Segunda-feira".substr(0,b);this.daysName[2]=!b?"Te":"Terça-feira".substr(0,b);this.daysName[3]=!b?"Qu":"Quarta-feira".substr(0,b);this.daysName[4]=!b?"Qi":"Quinta-feira".substr(0,b);this.daysName[5]=!b?"Se":"Sexta-feira".substr(0,b);this.daysName[6]=!b?"Sa":"Sabado".substr(0,b)}else{this.daysName[0]=!b?"Domingo".substr(0,2):"Domingo".substr(0,b);this.daysName[1]=!b?"Lunes".substr(0,2):"Lunes".substr(0,b);this.daysName[2]=!b?"Martes".substr(0,2):"Martes".substr(0,b);this.daysName[3]=!b?"Miércoles".substr(0,2):"Miércoles".substr(0,b);this.daysName[4]=!b?"Jueves".substr(0,2):"Jueves".substr(0,b);this.daysName[5]=!b?"Viernes".substr(0,2):"Viernes".substr(0,b);this.daysName[6]=!b?"Sábado".substr(0,2):"Sábado".substr(0,b)}this.daysName[7]=this.daysName[0]}return this.daysName};Despegar.Date.prototype.getMonthsName=function(b){if(typeof this.monthsName!="object"){this.monthsName=new Array();if(this.language=="pt"){this.monthsName[1]=!b?"Janeiro":"Janeiro".substr(0,b);this.monthsName[2]=!b?"Fevereiro":"Fevereiro".substr(0,b);this.monthsName[3]=!b?"Março":"Março".substr(0,b);this.monthsName[4]=!b?"Abril":"Abril".substr(0,b);this.monthsName[5]=!b?"Maio":"Maio".substr(0,b);this.monthsName[6]=!b?"Junho":"Junho".substr(0,b);this.monthsName[7]=!b?"Julho":"Julho".substr(0,b);this.monthsName[8]=!b?"Agosto":"Agosto".substr(0,b);this.monthsName[9]=!b?"Setembro":"Setembro".substr(0,b);this.monthsName[10]=!b?"Outubro":"Outubro".substr(0,b);this.monthsName[11]=!b?"Novembro":"Novembro".substr(0,b);this.monthsName[12]=!b?"Dezembro":"Dezembro".substr(0,b)}else{this.monthsName[1]=!b?"Enero":"Enero".substr(0,b);this.monthsName[2]=!b?"Febrero":"Febrero".substr(0,b);this.monthsName[3]=!b?"Marzo":"Marzo".substr(0,b);this.monthsName[4]=!b?"Abril":"Abril".substr(0,b);this.monthsName[5]=!b?"Mayo":"Mayo".substr(0,b);this.monthsName[6]=!b?"Junio":"Junio".substr(0,b);this.monthsName[7]=!b?"Julio":"Julio".substr(0,b);this.monthsName[8]=!b?"Agosto":"Agosto".substr(0,b);this.monthsName[9]=!b?"Septiembre":"Septiembre".substr(0,b);this.monthsName[10]=!b?"Octubre":"Octubre".substr(0,b);this.monthsName[11]=!b?"Noviembre":"Noviembre".substr(0,b);this.monthsName[12]=!b?"Diciembre":"Diciembre".substr(0,b)}}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(b){jDate=this.getJSDate();jDate.setDate(jDate.getDate()+b);this.day=jDate.getDate();this.month=jDate.getMonth()+1;this.year=jDate.getFullYear()};Despegar.Date.prototype.addDays=function(c){for(var b=1;b<=c;b++){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(c){var b=this.month+c;this.year=this.year+Math.floor(b/12);if(!(b%12)){this.year--;this.month=12}else{this.month=b%12}};Despegar.Date.prototype.setddmmaaaa=function(b,c){if(c!=undefined){var d=b.split(c);this.day=parseInt(d[0],10);this.month=parseInt(d[1],10);this.year=parseInt(d[2],10)}else{this.day=parseInt(b.substr(0,2),10);this.month=parseInt(b.substr(2,2),10);this.year=parseInt(b.substr(4,4),10)}};Despegar.Date.prototype.setFullDate=function(c,d,b){this.day=parseInt(b,10);this.month=parseInt(d,10);this.year=parseInt(c,10)};Despegar.Date.prototype.setDateFromJSDate=function(b){this.day=b.getDate();this.month=b.getMonth()+1;this.year=b.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.setiso=function(b){this.year=parseInt(b.substr(0,4),10);this.month=parseInt(b.toString().substr(4,2),10);this.day=parseInt(b.toString().substr(6,2),10)};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(b){var c=this.getiso();if(c<b){return -1}else{if(c==b){return 0}else{return 1}}};Despegar.Date.prototype.compareToJSDate=function(c){var b=new Despegar.Date();b.setDateFromJSDate(c);return this.compareTo(b.getiso())};Despegar.Date.prototype.compareMonthAndYearTo=function(c){var b=this.getaaaamm();if(b<c){return -1}else{if(b==c){return 0}else{return 1}}};Despegar.Date.prototype.compareMonthAndYearToJSDate=function(c){var b=new Despegar.Date();b.setDateFromJSDate(c);return this.compareMonthAndYearTo(b.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 c=this.day;this.day=1;var b=this.getJSDate();var d=b.getDay()+6;d=d%7;this.day=c;return d};Despegar.Date.prototype.createJSonDate=function(b){var c=Date.UTC(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());return"/Date("+c+")/"};Despegar.Date.prototype.getAmericandDate=function(b){var c=b.split(new RegExp("/","gi"));return c[1]+"/"+c[0]+"/"+c[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 b;switch(this.month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:b=31;break;case 4:case 6:case 9:case 11:b=30;break;case 2:if(this.isLeapYear()){b=29}else{b=28}break;default:return false}if(this.day>b||this.day==0){return false}return true};Despegar.Date.prototype.convertDateToString=function(b){return this.getDaysName(3)[b.getUTCDay()]+" "+b.getUTCDate().toString()+" "+this.getMonthsName(3)[b.getUTCMonth()+1]+" "+b.getUTCFullYear().toString().substr(2,2)};Despegar.Date.prototype.convertDateToddMMmmaaaa=function(b){return b.getUTCDate().toString()+" "+this.getMonthsName(3)[b.getUTCMonth()+1]+" "+b.getUTCFullYear()};registerNameSpace("Common");Common.Calendar=function(){this.drawCalendar=function(){var q=$("<div class='monthsContainer'></div>");var o=$("<div></div>");var A=null;var y=null;var t=null;var s=null;var u=null;var p=new Despegar.Date(this.options.language);var g=null;if(this.calendarContainer.hasClass("created")){g=1}else{g=this.options.shownMonths}var k=new Despegar.Date(this.options.language);for(var e=0;e<g;e++){if(this.calendarContainer.hasClass("created")){e=$(".monthsContainer > div",$("#calendarContainer")).length}p.setddmmaaaa(1+"/"+this.today.month+"/"+this.today.year,"/");p.addMonths(e);k.setddmmaaaa(p.getddmmaaaa(),"/");var r=p.getFirstDayOfMonthInWeek();o=$("<div id="+p.getaaaamm()+"></div>");t=$("<div class='daysGrid'></div>");y=$("<div class='daysNameContainer'></div>");s=$("<p></p>");if(this.calendarContainer.hasClass("created")==false){if(g==1){this.firstMonth=parseInt(p.getaaaamm());this.lastMonth=parseInt(p.getaaaamm())}else{switch(e){case 0:this.firstMonth=parseInt(p.getaaaamm());break;case g-1:this.lastMonth=parseInt(p.getaaaamm());break}}}var w=p.getMonthsName();A=$("<div class='monthHeader'></div>");A.append($("<h3>"+w[k.month]+" "+k.year+"</h3>"));var z=$("<p class='monthsSwitchingArrows'></p>");var n=$("<p class='arrowContainer previous'></p>");var v=$("<a style='font-family: Arial;'>"+String.fromCharCode(9668)+"</a>");v.click(function(){b.showPreviousMonth()});n.append(v);z.append(n);n=$("<p class='arrowContainer next'></p>");v=$("<a style='font-family: Arial;'>"+String.fromCharCode(9658)+"</a>");v.click(function(){b.showNextMonth()});n.append(v);z.append(n);if(this.calendarContainer.hasClass("created")==false){if(g==1){o.addClass("firstMonth");z.addClass("noPrev");o.addClass("lastMonth")}else{switch(e){case 0:o.addClass("firstMonth");z.addClass("noPrev");break;case g-1:o.addClass("lastMonth");break}}}if(($(o).attr("id")>=b.lastAvailableDay.getaaaamm())&&(e>=g-1)){z.addClass("noNext")}A.append(z);o.append(A);var f=p.getDaysName();for(var d=1;d<=7;d++){y.append('<span class="dayName">'+f[d]+"</span>")}o.append(y);p.setddmmaaaa("1/"+(this.today.month)+"/"+this.today.year,"/");p.addMonths(e);p.addDaysJSDate(-r-1);var x=new Despegar.Date(this.options.language);for(var l=0;l<42;l++){p.addDays(1);x.day=p.day;x.month=p.month;x.year=p.year;if(x.month!=k.month){s.append($("<span class='noCurrentMonth'>"+x.day+"</span>"))}else{if(parseInt(x.getiso(),10)>=parseInt(this.today.getiso(),10)){u=$("<span id='"+p.getiso()+"'>"+x.day+"</span>").attr("id",p.getiso()).data("date",p.getddmmaaaa()).mouseup(function(){if($(this).hasClass("selectable")){var B;if($(".focused").attr("id")==b.inputGo.attr("id")){B=$(b.inputGo)}else{B=$(b.inputReturn)}B.val($(this).data("date").toString()).removeClass("settingDateError").data("isValid",true).data("firstMonthPosition",$(".calendarVisible",b.calendarContainer)[0].id).trigger("change")}}).click(function(){if($(this).hasClass("selectable")){b.hideCalendar();if($(".focused").attr("id")==b.inputGo.attr("id")){b.checkTextDefault($(b.inputGo))}else{b.checkTextDefault($(b.inputReturn))}}});u=this.setIEDaysHover(u);if(parseInt(x.getiso(),10)<parseInt(this.firstAvailableDay.getiso(),10)||parseInt(x.getiso(),10)>=parseInt(this.lastAvailableDay.getiso(),10)){u.addClass("nonSelectable")}else{u.addClass("selectable")}if(x.day==this.today.day&&parseInt(x.getiso(),10)<=parseInt(this.firstAvailableDay.getiso(),10)){u.addClass("today")}}else{u=$("<span class='pastDate'>"+x.day+"</span>")}s.append(u)}if(l%7==6){t.append(s);if((l+1)/7!=6){s=$("<p></p>")}}}t.append(s);o.append(t);$(o).addClass("calendarVisible");q.append(o)}return q};this.generateCalendar=function(){this.calendarContainer.appendTo("body");this.calendarContainer.append(this.drawCalendar());var d=null;if(this.options.language=="pt"){d="Fechar"}else{d="Cerrar"}this.calendarContainer.append($("<div class='closeCalendar'></div>").append($("<a>"+d+"</a>").click(function(){b.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(f){var g=(f.offset().top+f.outerHeight());var e=f.offset().left+"px";var p=f.offset().left+$(".calendarContainer").width();var k=f.offset().top+$(".calendarContainer").height();var n=0,l=0;if(typeof(window.pageYOffset)=="number"){l=window.pageYOffset;n=window.pageXOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){l=document.body.scrollTop;n=document.body.scrollLeft}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){l=document.documentElement.scrollTop;n=document.documentElement.scrollLeft}}}if(typeof window.innerWidth!="undefined"){var d=window.innerWidth+n;var o=window.innerHeight+l}else{var d=document.documentElement.clientWidth+n;var o=document.documentElement.clientHeight+l}if(p>d){e=f.offset().left-$(".calendarContainer").width()+f.width()+2+"px"}if(k>o){g=(g-$(".calendarContainer").height()-f.outerHeight())+"px"}this.calendarContainer.show().css("z-index",1001).css("top",g).css("left",e);if(b.isIE6){if($("#calendarIframe").length==0){$("<iframe id='calendarIframe'></iframe>").css("position","absolute").css("z-index",1000).css("width",b.calendarContainer.outerWidth()).css("height",b.calendarContainer.outerHeight()).appendTo("body")}$("#calendarIframe").show().css("top",g).css("left",e)}};this.hideCalendar=function(){this.calendarContainer.hide();$("#calendarIframe").hide()};this.setIEDaysHover=function(d){if(this.isIE6){$(d).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 d};this.showNextMonth=function(){if($(".lastMonth",$("#calendarContainer")).find(".noNext").length==0){this.firstMonth++;this.lastMonth++;var e=this.firstMonth.toString();var d=this.lastMonth.toString();if(e.substr(4,2)>"12"){this.firstMonth=this.firstMonth-12+parseInt(parseInt(e.substr(4,2))/12)*100}if(d.substr(4,2)>"12"){this.lastMonth=this.lastMonth-12+parseInt(parseInt(d.substr(4,2))/12)*100}this.setMonthsClasses()}};this.showPreviousMonth=function(){if($(".firstMonth",$("#calendarContainer")).find(".noPrev").length==0){this.firstMonth--;this.lastMonth--;var e=this.firstMonth.toString();var d=this.lastMonth.toString();if(e.substr(4,2)<"01"){this.firstMonth=this.firstMonth+12-100}if(d.substr(4,2)<"01"){this.lastMonth=this.lastMonth+12-100}this.setMonthsClasses()}};this.setMonthsClasses=function(){if(typeof b.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 e=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.firstMonth));var d=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.lastMonth));$(".hiddenMonth:lt("+d+"):gt("+e+")",$("#calendarContainer")).addClass("calendarVisible").removeClass("hiddenMonth");$("#"+this.lastMonth).addClass("lastMonth calendarVisible").removeClass("hiddenMonth");$("#"+this.firstMonth).addClass("firstMonth calendarVisible").removeClass("hiddenMonth")};var c=function(k,l){var d=new Despegar.Date();var e=$("#"+k.data("relatedID"));var f;if(k.data("tripType")=="go"){b.inputGo=k;b.inputReturn=e;f=true}else{b.inputGo=e;b.inputReturn=k;f=false}if(f){d.setddmmaaaa(l.getddmmaaaa(),"/");d.addMonths(b.options.shownMonths);if(d.compareMonthAndYearTo(b.lastAvailableDay.getaaaamm())!=1){k.data("firstMonthPosition",l.getaaaamm())}else{d.setFullDate(b.lastAvailableDay.getYear(),b.lastAvailableDay.getMonth(),1);d.addMonths(1-b.options.shownMonths);k.data("firstMonthPosition",d.getaaaamm())}if(e.data("isValid")){d.setddmmaaaa(e.val(),"/");if(d.compareMonthAndYearTo(l.getaaaamm())==0){e.data("firstMonthPosition",k.data("firstMonthPosition"))}}}else{var g=true;if(e.data("isValid")){d.setddmmaaaa(e.val(),"/");if(d.compareMonthAndYearTo(l.getaaaamm())==0){k.data("firstMonthPosition",e.data("firstMonthPosition"));g=false}}if(g){if(l.getaaaamm()==b.inputGo.data("firstMonthPosition")){k.data(b.inputGo.data("firstMonthPosition"))}else{d.setddmmaaaa(l.getddmmaaaa(),"/");d.addMonths(1-b.options.shownMonths);if(d.compareMonthAndYearTo(b.today.getaaaamm())!=-1){k.data("firstMonthPosition",d.getaaaamm())}else{d.day=b.today.day;d.month=b.today.month;d.year=b.today.year;k.data("firstMonthPosition",d.getaaaamm())}}}}};this.getConfigAndProcess=function(){this.processConfiguration(this.getConfigurationFromServer())};this.getConfigurationFromServer=function(){var d=null;$.ajax({url:b.options.serverURL,async:false,success:function(f){d=f},error:function(f,k,g){},dataType:"json"});if(d==null){var e=new Date();d={};d.today={day:e.getDate(),month:(e.getMonth()+1),year:e.getFullYear()};d.products={cod:"default",data:{anticipationDays:3,availableDays:330}}}return d};this.processConfiguration=function(e){b.configuration=new Array();b.today=new Despegar.Date(this.options.language);b.today.day=e.today.day;b.today.month=e.today.month;b.today.year=e.today.year;var d=null;if($(e.products).length==1){b.configuration[e.products.cod]=e.products.data}else{for(i=0;i<$(e.products).length;i++){d=e.products[i];b.configuration[d.cod]=d.data}}};this.setProduct=function(e){if(typeof this.productData[e]=="undefined"){var d=null;if(typeof this.configuration[e]=="undefined"){d="default"}else{d=e}this.productData[e]=new Object();this.productData[e].availableDays=this.configuration[d].availableDays;this.productData[e].anticipationDays=this.configuration[d].anticipationDays;this.productData[e].firstAvailableDay=new Despegar.Date();this.productData[e].firstAvailableDay.setddmmaaaa(this.today.day+"/"+(this.today.month)+"/"+this.today.year,"/");this.productData[e].firstAvailableDay.addDays(this.productData[e].anticipationDays);this.productData[e].lastAvailableDay=new Despegar.Date();this.productData[e].lastAvailableDay.setddmmaaaa(this.productData[e].firstAvailableDay.getddmmaaaa(),"/");this.productData[e].lastAvailableDay.addDays(this.productData[e].availableDays)}this.anticipationDays=this.productData[e].anticipationDays;this.availableDays=this.productData[e].availableDays;this.firstAvailableDay=this.productData[e].firstAvailableDay;this.lastAvailableDay=this.productData[e].lastAvailableDay;if(this.calendarContainer.hasClass("created")){this.setAvailableDays(e)}};this.setAvailableDays=function(){$(".nonSelectable",$("#calendarContainer")).removeClass("nonSelectable").addClass("selectable");$(".selectable:lt("+b.anticipationDays+"),.selectable:gt("+(b.availableDays+b.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(k){if(this.options.language=="pt"){closeLinkText="Fechar"}else{closeLinkText="Cerrar"}$(".closeCalendar > a",$("#calendarContainer")).text(closeLinkText);var e=new Despegar.Date(k);var d=e.getDaysName();$(".dayName",$("#calendarContainer")).each(function(l){this.innerHTML=d[(l%7)+1]});var g=e.getMonthsName();var f=$(".monthsContainer > div:first").attr("id");e.setFullDate(f.substr(0,4),f.substr(4,2),1);$(".monthHeader > h3",$("#calendarContainer")).each(function(l){this.innerHTML=g[e.month]+" "+e.getYear();e.addMonths(1)})};this.setInputEvents=function(e){var f=$(e);var d=false;e.setValue=function(n){this.value=n;$(this).blur()};var l=false;if(b.options.defaultDate!="dd/mm/aaaa"){l=true}else{f.addClass("default")}f.val(b.options.defaultDate).data("relatedID",b.options.inputRelatedID).data("tripType",b.options.tripType).data("product",b.options.product).data("shownMonths",b.options.shownMonths).data("language",b.options.language).data("isValid",l).addClass("isCalendar");if(b.options.defaultDate!="dd/mm/aaaa"&&l){var k=new Despegar.Date();k.setddmmaaaa(b.options.defaultDate,"/");c(f,k)}f.blur(function(){b.IsHoverFocus=false;f.data("isValid",false);if(b.calendarContainer.hasClass("active")==false){b.hideCalendar()}var o=/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$/;var n=f.val();if(n.match(o)){var p=new Despegar.Date();p.setddmmaaaa(f.val(),"/");if(!(p.isValidDate())||p.compareTo(b.lastAvailableDay.getiso())==1||p.compareTo(b.firstAvailableDay.getiso())==-1||p.month==0||p.day==0){f.addClass("settingDateError").data("isValid",false)}else{if($("#"+p.getiso()).length==1&&$("#"+p.getiso()).hasClass("selectable")){f.val(p.getddmmaaaa());f.removeClass("settingDateError");f.data("isValid",true);if(d){c(f,p);d=false}}else{f.removeClass("settingDateError");if(typeof b.anticipationDays!="undefined"){while($("#"+p.getiso()).length==0){$(".monthsContainer",$("#calendarContainer")).append($(b.drawCalendar()).children(".calendarVisible"))}}else{alert("There was a failure in the calendar configuration")}if($("#"+p.getiso()).hasClass("selectable")==false){f.addClass("settingDateError").data("isValid",false)}else{f.data("isValid",true);if(d){c(f,p);d=false}}}}}else{if(n==""||n=="dd/mm/aaaa"){f.val("dd/mm/aaaa").removeClass("settingDateError").removeData("firstMonthPosition")}else{f.addClass("settingDateError").data("isValid",false)}}f.trigger("change");b.checkTextDefault(f)}).keypress(function(n){b.checkTextDefault(f);switch(n.keyCode){case 13:f.blur();case 27:f.blur();break;default:f.removeClass("settingDateError");d=true}}).focus(function(){if(!b.IsHoverFocus){if(b.options.shownMonths!=f.data("shownMonths")){b.options.shownMonths=f.data("shownMonths")}if(b.calendarContainer.hasClass("created")==false){b.setProduct(f.data("product"));b.generateCalendar()}if(b.calendarContainer.data("language")!=f.data("language")||b.calendarContainer.data("language")!=b.options.language){b.options.language=f.data("language");b.calendarContainer.data("language",b.options.language);b.changeLanguage(b.options.language)}$(".focused").removeClass("focused");f.addClass("focused").select();if(f.data("tripType")=="go"){b.inputGo=f;b.inputReturn=$("#"+f.data("relatedID"))}else{b.inputReturn=f;b.inputGo=$("#"+f.data("relatedID"))}if(b.options.product!=f.data("product")){b.setProduct(f.data("product"));b.options.product=f.data("product")}var o=new Despegar.Date();o.day=b.today.day;o.month=b.today.month;o.year=b.today.year;var n;var q;var p;if(f.data("firstMonthPosition")==undefined){if($("#"+f.data("relatedID")).data("firstMonthPosition")==undefined){b.firstMonth=o.getaaaamm()}else{n=$("#"+f.data("relatedID")).data("firstMonthPosition");q=parseInt(n.substring(0,4));if(n.substring(4,5)=="0"){p=parseInt(n.substring(5,6))}else{p=parseInt(n.substring(4,6))}if(((p+1)<b.today.month)&&(q<=b.today.year)){b.firstMonth=o.getaaaamm()}else{b.firstMonth=n}}}else{n=f.data("firstMonthPosition");q=parseInt(n.substring(0,4));if(n.substring(4,5)=="0"){p=parseInt(n.substring(5,6))}else{p=parseInt(n.substring(4,6))}if(((p+1)<b.today.month)&&(q<=b.today.year)){b.firstMonth=o.getaaaamm()}else{b.firstMonth=n}}o.setFullDate(b.firstMonth.substr(0,4),b.firstMonth.substr(4,2),1);o.addMonths(b.options.shownMonths-1);b.lastMonth=o.getaaaamm();b.setMonthsClasses();$(".selected",$("#calendarContainer")).removeClass("selected");var r=new Despegar.Date();if($(b.inputGo).hasClass("isCalendar")){r.setddmmaaaa($(b.inputGo).val(),"/");if($("#"+r.getiso()).length==1&&$("#"+r.getiso()).hasClass("selectable")){$("#"+r.getiso()).addClass("selected")}}if($(b.inputReturn).hasClass("isCalendar")){r.setddmmaaaa($(b.inputReturn).val(),"/");if($("#"+r.getiso()).length==1&&$("#"+r.getiso()).hasClass("selectable")){$("#"+r.getiso()).addClass("selected")}}b.showCalendar(f)}else{b.IsHoverFocus=false}});var g=$("<div class='mainSprite commonSprite buttonCalendarOn calendarImage'></div>").hover(function(){b.calendarContainer.addClass("active")},function(){b.calendarContainer.removeClass("active")});f.after(g);g.click(function(){if(b.calendarContainer.css("display")=="block"&&$(this).parent().find("input").hasClass("focused")){b.hideCalendar();f.trigger("blur")}else{if(!b.firstClick){f.trigger("blur").trigger("focus")}else{f.trigger("focus").trigger("blur").trigger("focus");b.firstClick=false}}})};this.checkTextDefault=function(d){if(d.val()=="dd/mm/aaaa"){d.addClass("default")}else{d.removeClass("default")}};this.setOptions=function(d){this.options=d||{};this.options.tripType=d.tripType||"go";this.options.inputRelatedID=d.inputRelatedID||"";this.options.defaultDate=d.defaultDate||"dd/mm/aaaa";this.options.product=d.product||"vue";this.options.shownMonths=d.shownMonths||2;if(this.options.shownMonths>12){this.options.shownMonths=12}this.options.language=d.language||"es";this.options.configuration=d.configuration||false;if(this.options.configuration==false){if(typeof this.configuration=="undefined"||(this.options.serverURL!=d.serverURL&&d.serverURL!=null)){this.options.serverURL=d.serverURL||"/Contents/Servicies/CalendarService.ashx";this.getConfigAndProcess();this.productData=new Array()}}else{this.processConfiguration(this.options.configuration);this.productData=new Array()}};this.initializeInput=function(d,e){this.setOptions(e);this.setProduct(this.options.product);this.setInputEvents(d)};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(){b.calendarContainer.addClass("active")},function(){b.calendarContainer.removeClass("active")});this.calendarContainer.mouseleave(function(){if(b.calendarContainer.css("display")=="block"){b.IsHoverFocus=true;$(".focused").select()}});this.firstClick=true;this.IsHoverFocus=false;var b=this};Common.Calendar=new Common.Calendar();jQuery.fn.calendar=function(b){this.each(function(){Common.Calendar.initializeInput(this,b)});return this};jQuery.fn.autocomplete=function(b){this.each(function(d,e){var c=this;e.obj=new FrameworkJS.Common.Autocomplete(c,b)});return this};registerNameSpace("Common");Common.Domain=function(b){this.getCountryCodeFromDomain=function(c){var f="";var d=document.domain;var e=d.match(/\b(AR|BO|BR|CL|CO|CR|EC|SV|ES|GT|HN|MX|NI|PA|PY|PE|PR|DO|UY|US|VE|decolar)\b/ig);if(e!=null&&e.length>0){f=e[0].toUpperCase();if(f=="DECOLAR"){f="BR"}return f}}};registerNameSpace("Despegar.Hotels");Despegar.Hotels.SearchBoxHotels=function(target,options){this.render=function(){if(options.remembersearch==1){try{var parametersCookie=Common.Utils.Cookie.ReadCookie("hotel-"+options.searchflow);if(parametersCookie){var parametersObj=JSON.parse(unescape(parametersCookie));options.returnDate=parametersObj.checkout;options.departureDate=parametersObj.checkin;options.defaultdestination=parametersObj.destination;options.defaultdestinationdesc=parametersObj.destinationDesc.replace(" ("+parametersObj.destination+")","");options.autocompleteTypeSelected=parametersObj.typeSelected}}catch(e){if(window.console){console.error("Despegar remembers the search parameters in a cookie, but somehow the cookie was corrputed and we can't retrieve those parameters. We hope that reentering your search doesn't cause you to leave.",e)}}}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"]);if(options.isGeoAutocomplete){$("#destination",searchboxHotelBox).autocomplete({url:options.autocompleteUrl,faceted:true,cityMaxRows:6,administrativeDivisionMaxRows:3,countryMaxRows:0,interestPointMaxRows:0,airportMaxRows:0,hotelMaxRows:4,minChars:3,initialValue:options.defaultdestination,respMinChars:true,initialText:options.defaultdestinationdesc,languaje:options.language.toString().toLowerCase(),showMoreResults:true,noStrangeCharacters:true,type:"city",minCharsLeyend:true,timeOut:50,extraParams:["es"],initialTypeSelected:options.autocompleteTypeSelected})}else{$("#destination",searchboxHotelBox).autocomplete({url:options.autocompleteUrl,minChars:3,initialValue:options.defaultdestination,initialText:options.defaultdestinationdesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,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)){$(this).addClass("btnDisabled");me.searchHotels()}});$("#destination",searchboxHotelBox).blur(function(e){var destination=$(this,searchboxHotelBox);var checkin=$("#checkin",searchboxHotelBox);var checkout=$("#checkout",searchboxHotelBox);if((checkin.val()!="dd/mm/aaaa")&&(checkout.val()!="dd/mm/aaaa")){me.validate(searchboxHotelBox)}});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).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();var hideSelects=$("select",$(obj).parent().next());hideSelects.hide();hideSelects.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());var hideErrorIcon=thisSelects.next();thisSelects.hide();hideErrorIcon.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.getBrandFromUrl=function(){var brands={despegar:"despegar",decolar:"despegar",viajeros:"viajeros",ciudades:"ciudades",viajo:"viajo"};var host=location.host.toLowerCase();for(var i in brands){if(host.indexOf(i)>-1){return brands[i]}}return brands.despegar};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}switch(inputDestination.data("typeSelected")){case"h":if(!parseInt(inputDestination.data("dataValue"))){inputDestination.parent().addClass("errorLabel");if(inputDestination.val()!=options.defaultdestinationdesc){inputDestination.parent().find(".errorText").html(me.labels[options.language]["errorCity"])}valid=false}break;default:if(inputDestination.data("dataValue").length==3){inputDestination.parent().removeClass("errorLabel");inputDestination.parent().find(".errorText").html("")}else{if($("#results-destination li").length<=1){inputDestination.parent().addClass("errorLabel");if(inputDestination.val()!=options.defaultdestinationdesc){inputDestination.parent().find(".errorText").html(me.labels[options.language]["errorCity"])}valid=false}}break}$(".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.after('<span class="mainSprite errorIcon"></span>');valid=false}else{selectedAge.removeClass("errorLabel");selectedAge.parent().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=null;switch($("#destination",$(target)).data("typeSelected")){case"h":parameters={country:options.country,roomsDetails:me.getRoomsDetails(),checkin:$("#checkin",$(target)).val(),checkout:$("#checkout",$(target)).val(),destination:$("#destination",$(target)).data("dataValue"),destinationDesc:$("#destination",$(target)).val(),hotel:hotel,referenceCountry:options.referenceCountry||$("#whLive").val(),brand:options.brand,qstring:options.qstring,typeSelected:$("#destination",$(target)).data("typeSelected")};break;default:parameters={country:options.country,roomsDetails:me.getRoomsDetails(),checkin:$("#checkin",$(target)).val(),checkout:$("#checkout",$(target)).val(),destination:$("#destination",$(target)).data("dataValue"),destinationDesc:$("#destination",$(target)).val(),hotel:hotel,referenceCountry:options.referenceCountry||$("#whLive").val(),brand:options.brand,qstring:options.qstring,typeSelected:$("#destination",$(target)).data("typeSelected")};break}if(eval("Despegar.Hotels.HotelFlows."+flow)!=undefined){eval("var searchObject = new Despegar.Hotels.HotelFlows."+flow);if(options.remembersearch==1){Common.Utils.Cookie.CreateCookie("tabSelected",options.idTab,options.daysToExpireCookies);searchObject.saveSearchOnCookie(parameters,options.daysToExpireCookies)}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+options.brand.toLowerCase()+".txt",dataType:"json",success:function(data){dataABTest=data},async:false,error:function(error,textStatus,errorThrown){$.ajax({url:"/js/FrameworkJS/Despegar/Hotels/ABTestInfo.txt",dataType:"json",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",ageLabelMessage:"años",whLiveLabel:"País de residencia:",destinationLabel:"Destino",checkindateLabel:"Entrada",checkoutdateLabel:"Salida",checkSearchLabel:"Buscar por nombre de hotel",defaultDestinationDesc:"Escriba donde hospedarse",defaultDestination:"",roomslabel:"Cantidad",ageselect:"- ? -",oneSmallRoom:"Hab.",oneRoom:"Habitación",singleRoom:"Huéspedes",rooms:"Habitaciones",btnLabel:"Buscar",errorCity:"El destino ingresado no es válido",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",ageLabelMessage:"anos",destinationLabel:"Destino",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",errorCity:"O destino informado não é válido",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.notShowValueAutoComplete=options.notShowValueAutoComplete||false;options.trackingCod=options.trackingCod||"cob";options.trackingId=options.trackingId||null;options.trackingBrand=options.trackingBrand||"despegar";options.remembersearch=options.remembersearch||0;options.daysToExpireCookies=options.daysToExpireCookies||30;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||"/Hotels.Services/Commons/AutoComplete.svc/";options.isGeoAutocomplete=options.isGeoAutocomplete||false;options.baseServicesUrl=options.baseServicesUrl||"";options.calendarServiceUrl=options.calendarServiceUrl||options.baseServicesUrl+"/Contents/Servicies/CalendarService.ashx";options.brand=options.brand||this.getBrandFromUrl();options.qstring=options.qstring||"";options.autocompleteTypeSelected=options.autocompleteTypeSelected||"";options.referenceCountry=options.referenceCountry||false;if(typeof(options.abTesting)=="undefined"){options.abTesting=false}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="version29";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='										<!--[if lte IE 8 ]>											<span class="commonSprite topRightCorner searchBoxCornerTR"></span>										<![endif]-->											<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> 											<div class="checkinAndChekoutContainer"> 												<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> 											</div> 											<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><!--[if lte IE 8 ]><span class="commonSprite roundCornerBR searchBoxCornerBR"></span><span class="commonSprite roundCornerBL searchBoxCornerBL"></span><![endif]-->';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 b=this;this.searchHotels=function(d,c,f){var e="";if(d.referenceCountry){e=this.getUrl(d.brand,d.referenceCountry)}if($.trim(d.hotel)==""){e+="/search/Hotels/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize}else{e+="/search/Hotels/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize+"/#n="+d.hotel}if(f.id!=null){window.open(b.getUrl(d.brand,d.country)+b.trackingParameters(f)+escape(e)+"?"+d.qstring);$(".btnDisabled",$(".searchBoxHotels")).removeClass("btnDisabled")}else{location.href=e}};this.trackingParameters=function(c){return"/Contents/Tracking/"+c.cod+"/"+c.id+"?url2post="};this.saveSearchOnCookie=function(d,c){Common.Utils.Cookie.CreateCookie("hotel-Revancha",escape(JSON.stringify(d)),c)};this.reportLog=function(g){var e=new Despegar.HotelsReportLogData();var d=new b.FlowStage();var f=new Despegar.Date();e.CheckIn=f.createJSonDate(new Date(f.getAmericandDate(g.checkin)));e.CheckOut=f.createJSonDate(new Date(f.getAmericandDate(g.checkout)));e.Distribution=g.roomsDetails.roomsSerialize;e.Destination=g.destination;e.Stage=d.Home;var c=new Despegar.Logger();c.LogReport(e)};this.dateTransform=function(c){var d=c.split("/");return d[2]+"-"+d[1]+"-"+d[0]};this.urlTransform=function(d){var c=d.split(".");var f="http://";if(c.length==3&&c[1]!="decolar"){var e=Common.Utils.Ajax({url:"http://"+d+"/IpService/IPWatcher.ashx",async:false});if(!e){e="mx"}f+=(Common.Utils.GetUrlBrand(c[1],e))}else{if(c[c.length-1].indexOf("it")>=0){f+=d}else{if(c[c.length-1].indexOf("com")>=0){f+=d}else{f+=(Common.Utils.GetUrlBrand(c[1],c[3]))}}}return f};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(d,c){if(d=="viajeros"){return"http://"+c+"."+d+".com"}switch(c){case"ar":return"http://www."+d+".com.ar";break;case"bo":return"http://www."+d+".com.bo";break;case"br":if(d=="despegar"||d=="decolar"){return"http://www.decolar.com"}else{if(d=="viajo"){return"http://www.viajo.com.br"}else{if(d=="previaje"||d=="previagem"){return"http://www.previagem.com"}else{if(d=="carrefour"){return"http://www.carrefourviagens.com.br"}}}}break;case"cl":return"http://www."+d+".cl";break;case"co":return"http://www."+d+".com.co";break;case"cr":return"http://www."+d+".co.cr";break;case"ec":return"http://www."+d+".com.ec";break;case"sv":return"http://www."+d+".com.sv";break;case"es":return"http://www.es."+d+".com";break;case"gt":return"http://www."+d+".com.gt";break;case"hn":return"http://www."+d+".hn";break;case"mx":return"http://www.mx."+d+".com";break;case"ni":return"http://www."+d+".com.ni";break;case"pa":return"http://www."+d+".com.pa";break;case"py":return"http://www."+d+".com.py";break;case"pe":return"http://www."+d+".com.pe";break;case"pr":return"http://www."+d+".com.pr";break;case"do":return"http://www."+d+".com.do";break;case"uy":return"http://www."+d+".com.uy";break;case"us":return"http://www.us."+d+".com";break;case"ve":return"http://www."+d+".com.ve";break;default:return"";break}}};registerNameSpace("Despegar.Hotels.HotelFlows");Despegar.Hotels.HotelFlows.version29=function(){var b=this;this.searchHotels=function(d,c,f){var e="";if(d.referenceCountry){e=this.getUrl(d.brand,d.referenceCountry)}switch(d.typeSelected){case"h":e+="/Search/Hotel/Details/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize;break;default:if($.trim(d.hotel)==""){e+="/search/Hotel/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize}else{e+="/search/Hotel/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize+"/#n="+d.hotel}break}if(f.id!=null){window.open(b.trackingParameters(f)+escape(e))}else{location.href=e}};this.trackingParameters=function(c){return"http://www."+c.brand+".com/Contents/Tracking/"+c.cod+"/"+c.id+"?url2post="};this.saveSearchOnCookie=function(d,c){Common.Utils.Cookie.CreateCookie("hotel-version29",escape(JSON.stringify(d)),c)};this.reportLog=function(g){var e=new Despegar.HotelsReportLogData();var d=new b.FlowStage();var f=new Despegar.Date();e.CheckIn=f.createJSonDate(new Date(f.getAmericandDate(g.checkin)));e.CheckOut=f.createJSonDate(new Date(f.getAmericandDate(g.checkout)));e.Distribution=g.roomsDetails.roomsSerialize;e.Destination=g.destination;e.Stage=d.Home;var c=new Despegar.Logger();c.LogReport(e)};this.dateTransform=function(c){var d=c.split("/");return d[2]+"-"+d[1]+"-"+d[0]};this.urlTransform=function(d){var c=d.split(".");var f="http://";if(c.length==3&&c[1]!="decolar"){var e=Common.Utils.Ajax({url:"http://"+d+"/IpService/IPWatcher.ashx",async:false});if(!e){e="mx"}f+=(Common.Utils.GetUrlBrand(c[1],e))}else{if(c[c.length-1].indexOf("it")>=0){f+=d}else{if(c[c.length-1].indexOf("com")>=0){f+=d}else{f+=(Common.Utils.GetUrlBrand(c[1],c[3]))}}}return f};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(d,c){switch(c){case"ar":return"http://www."+d+".com.ar";break;case"bo":return"http://www."+d+".com.bo";break;case"br":if(d=="despegar"||d=="decolar"){return"http://www.decolar.com"}else{if(d=="viajo"){return"http://www.viajo.com.br"}else{if(d=="previaje"||d=="previagem"){return"http://www.previagem.com"}else{if(d=="carrefour"){return"http://hoteis.carrefourviajens.com"}}}}break;case"cl":return"http://www."+d+".com.cl";break;case"co":return"http://www."+d+".com.co";break;case"cr":return"http://www."+d+".co.cr";break;case"ec":return"http://www."+d+".com.ec";break;case"sv":return"http://www."+d+".com.sv";break;case"es":return"http://www.es."+d+".com";break;case"gt":return"http://www."+d+".com.gt";break;case"hn":return"http://www."+d+".com.hn";break;case"mx":return"http://www.mx."+d+".com";break;case"ni":return"http://www."+d+".com.ni";break;case"pa":return"http://www."+d+".com.pa";break;case"py":return"http://www."+d+".com.py";break;case"pe":return"http://www."+d+".com.pe";break;case"pr":return"http://www."+d+".com.pr";break;case"do":return"http://www."+d+".com.do";break;case"uy":return"http://www.uy."+d+".com";break;case"us":return"http://www.us."+d+".com";break;case"ve":return"http://www."+d+".com.ve";break;default:return"";break}}};jQuery.fn.searchBoxHotels=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.Hotels.SearchBoxHotels(e,b)});return this};registerNameSpace("Despegar");Despegar.HotelsReportLogData=function(){var c=new Despegar.Date();var b=new Despegar.Logger();this.__type="HotelsReportLogData:#Hotels.Core.Business.Logging";this.Category=15;this.ClientTime=c.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=b.getClientId()};registerNameSpace("Despegar");Despegar.Logger=function(){var b=this;this.LogReport=function(e){var c="/Hotels.Services/Commons/Logging.svc/LogReport";var d=JSON.stringify(e);$.ajax({url:c,type:"POST",data:d,contentType:"application/json"})};this.getClientId=function(){var c;var d=new Date();var e=Common.Utils.Cookie.ReadCookie("revClientId");if(e==null){c=Math.floor(1000*(Math.random()));c=b.md5(c.toString().concat(d.getTime().toString()));Common.Utils.Cookie.CreateCookie("revClientId",c.toString(),1);e=c}return e};this.md5=function(G){var H;var B=function(d,c){return(d<<c)|(d>>>(32-c))};var L=function(Z,d){var ab,c,x,aa,k;x=(Z&2147483648);aa=(d&2147483648);ab=(Z&1073741824);c=(d&1073741824);k=(Z&1073741823)+(d&1073741823);if(ab&c){return(k^2147483648^x^aa)}if(ab|c){if(k&1073741824){return(k^3221225472^x^aa)}else{return(k^1073741824^x^aa)}}else{return(k^x^aa)}};var v=function(c,k,d){return(c&k)|((~c)&d)};var u=function(c,k,d){return(c&d)|(k&(~d))};var t=function(c,k,d){return(c^k^d)};var r=function(c,k,d){return(k^(c|(~d)))};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(ab){var ac;var x=ab.length;var k=x+8;var d=(k-(k%64))/64;var aa=(d+1)*16;var ad=new Array(aa-1);var c=0;var Z=0;while(Z<x){ac=(Z-(Z%4))/4;c=(Z%4)*8;ad[ac]=(ad[ac]|(ab.charCodeAt(Z)<<c));Z++}ac=(Z-(Z%4))/4;c=(Z%4)*8;ad[ac]=ad[ac]|(128<<c);ad[aa-2]=x<<3;ad[aa-1]=x>>>29;return ad};var w=function(x){var c="",d="",Z,k;for(k=0;k<=3;k++){Z=(x>>>(k*8))&255;d="0"+Z.toString(16);c=c+d.substr(d.length-2,2)}return c};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=b.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(c){var o=(c+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");var p="";var d,g;var e=0;d=g=0;e=o.length;for(var f=0;f<e;f++){var l=o.charCodeAt(f);var k=null;if(l<128){g++}else{if((l>127)&&(l<2048)){k=String.fromCharCode((l>>6)|192)+String.fromCharCode((l&63)|128)}else{k=String.fromCharCode((l>>12)|224)+String.fromCharCode(((l>>6)&63)|128)+String.fromCharCode((l&63)|128)}}if(k!==null){if(g>d){p+=o.substring(d,g)}p+=k;d=g=f+1}}if(g>d){p+=o.substring(d,o.length)}return p}};
