/*
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("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}};registerNameSpace("Despegar");Despegar.Form=function(b,d,e,c){this.action=b;this.method=d.toString().toUpperCase();this.id=e;this.name=c;this.oForm=document.createElement("form");this.oForm.name=c;this.oForm.action=b;this.oForm.method=d.toString().toUpperCase();this.oElements=new Array();switch(this.method){case"POST":case"GET":this.oForm.method=this.method;break;case"REST":this.oForm.method="GET";break;default:this.oForm.method="POST"}};Despegar.Form.prototype.addInput=function(c,e,d){var b=document.createElement("input");b.id=e;b.name=c;b.value=d;b.type="hidden";this.oForm.appendChild(b)};Despegar.Form.prototype.post=function(){if(this.method!="REST"){document.body.appendChild(this.oForm);this.oForm.submit()}else{window.location.href=this.action}};registerNameSpace("Despegar.Cars");Despegar.Cars.SearchBoxCars=function(target,options){this.exists=false;this.target=target;this.defaultsearchflow="Amadeus";var me=this;options.notShowValueAutoComplete=options.notShowValueAutoComplete||false;this.boxtemplate='										<!--[if lte IE 8 ]><span class="commonSprite topRightCorner searchBoxCornerTR"></span><![endif]-->										<p id="cityget" class="cityget"> 											<label id="labelcityget" for="citygetcar"></label> 											<input type="text" id="citygetcar" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="cityreturn" class="cityreturn"> 											<label id="labelcityreturn" for="cityreturncar"></label> 											<input type="text" id="cityreturncar" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="dategetline" class="dategetline"> 												<label id="labeldateget" for="dateget"></label> 												<input type="text" id="dateget" class="dateInput"/> 											    	<select id="timeget">														<option>12:00</option>														<option>13:00</option>														<option>14:00</option>														<option>15:00</option>														<option>16:00</option>														<option>17:00</option>														<option>18:00</option>														<option>19:00</option>														<option>20:00</option>														<option>21:00</option>														<option>22:00</option>														<option>23:00</option>														<option>24:00</option>														<option>1:00</option>														<option>2:00</option>														<option>3:00</option>														<option>4:00</option>														<option>5:00</option>														<option>6:00</option>														<option>7:00</option>														<option>8:00</option>														<option>9:00</option>														<option>10:00</option>														<option>11:00</option>													</select>												<span class="mainSprite errorIcon"></span> 										</p> 										<p id="datereturnline" class="datereturnline"> 												<label id="labeldatereturn" for="datereturn"></label> 												<input type="text" id="datereturn" class="dateInput"/> 										    	<select id="timereturn">													<option>12:00</option>													<option>13:00</option>													<option>14:00</option>													<option>15:00</option>													<option>16:00</option>													<option>17:00</option>													<option>18:00</option>													<option>19:00</option>													<option>20:00</option>													<option>21:00</option>													<option>22:00</option>													<option>23:00</option>													<option>24:00</option>													<option>1:00</option>													<option>2:00</option>													<option>3:00</option>													<option>4:00</option>													<option>5:00</option>													<option>6:00</option>													<option>7:00</option>													<option>8:00</option>													<option>9:00</option>													<option>10:00</option>													<option>11:00</option>												</select>     											<span class="mainSprite errorIcon"></span> 												<span class="errorText"></span> 										</p> 										<div class="btnLine"> 										<button class="btnRed 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.labels={es:{citygetLabel:"Ciudad de Alquiler",cityreturnLabel:"Ciudad de Devolución",btnLabel:"Buscar",dategetdateLabel:"Inicio",datereturndateLabel:"Finalización",defaultDescGet:"Ingrese donde desea recibir el vehículo",defaultDescReturn:"Ingrese donde desea entregar el vehículo",minCharsText1:"Ingrese al menos las primeras ",minCharsText2:" letras, y aguarde a ver los resultados",errorGet:"La ciudad de alquiler no es válida",errorReturn:"La ciudad de devolución no es válida",errorPreviousDate:"La finalización debe ser posterior al inicio"},pt:{citygetLabel:"Retirada",cityreturnLabel:"Devolução",btnLabel:"Procurar",dategetdateLabel:"Início",datereturndateLabel:"Término",defaultDescGet:"Escreva onde deseja retirar o veículo",defaultDescReturn:"Escreva onde deseja entregar o veículo",minCharsText1:"Por favor insira as primeiras ",minCharsText2:" letras  e aguardo para ver os resultados",errorGet:"A cidade de retirada não é valida",errorReturn:"A cidade de devolução não é valida",errorPreviousDate:"A data de entrega deve ser depois da data de retirada"}};this.render=function(){options.defaultReturnValue=options.defaultGetValue;if(options.remembersearch==1){try{var parametersCookie=Common.Utils.Cookie.ReadCookie("cars-"+options.searchflow);if(parametersCookie){var parametersObj=JSON.parse(unescape(parametersCookie));if(me.validateCookieDate(parametersObj.dateget)){options.getDate=parametersObj.dateget}if(me.validateCookieDate(parametersObj.datereturn)){options.returnDate=parametersObj.datereturn}options.defaultReturnValue=parametersObj.cityreturncar;options.defaultGetValue=parametersObj.citygetcar;options.defaultDescGet=parametersObj.citygetcardescription.replace(" ("+parametersObj.citygetcar+")","");options.defaultDescReturn=parametersObj.cityreturncardescription.replace(" ("+parametersObj.cityreturncar+")","")}}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 searchboxCarsBox=$(document.createElement("div")).html(this.boxtemplate);$("#labelcityget",searchboxCarsBox).html(this.labels[options.language]["citygetLabel"]);$("#labelcityreturn",searchboxCarsBox).html(this.labels[options.language]["cityreturnLabel"]);$("#labeldateget",searchboxCarsBox).html(this.labels[options.language]["dategetdateLabel"]);$("#labeldatereturn",searchboxCarsBox).html(this.labels[options.language]["datereturndateLabel"]);$("#btnLabel",searchboxCarsBox).html(this.labels[options.language]["btnLabel"]);$("#citygetcar",searchboxCarsBox).autocomplete({url:"/Flights.Services/Commons/AutoComplete.svc",minChars:3,initialValue:options.defaultGetValue,initialText:options.defaultDescGet,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"autos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,callBackFunction:me.sameCityAutocomplete,languaje:options.language});$("#cityreturncar",searchboxCarsBox).autocomplete({url:"/Flights.Services/Commons/AutoComplete.svc",minChars:3,initialValue:options.defaultReturnValue,initialText:options.defaultDescReturn,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"autos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$("#datereturn",searchboxCarsBox).calendar({tripType:"return",inputRelatedID:"dateget",shownMonths:2,defaultDate:options.returnDate,language:options.language,product:"default"});$("#dateget",searchboxCarsBox).calendar({tripType:"go",inputRelatedID:"datereturn",defaultDate:options.getDate,language:options.language,shownMonths:2,product:"default"});$(".buscarBtn",searchboxCarsBox).click(function(e){if(me.validate(searchboxCarsBox)){$(this).addClass("btnDisabled");me.searchCars()}});$(target).append(searchboxCarsBox)};this.setCity=function(name,value){$("#citygetcar",target)[0].obj.initialValue(name,value)};this.sameCityAutocomplete=function(){var cityGet=$("#citygetcar",target);var cityReturn=$("#cityreturncar",target);if(cityReturn.val()==options.defaultDescReturn){cityReturn[0].obj.initialValue(cityGet.val(),cityGet.data("dataValue"),cityGet.data("dataType"),true);cityReturn.removeClass("default")}};this.setVisibility=function(visibility){if(visibility==1){$("#cityreturn").addClass("hidereturn")}else{$("#cityreturn").removeClass("hidereturn")}};this.validate=function(searchboxCarsBox){var valid=true;var cityget=$("#citygetcar",searchboxCarsBox);var cityreturn=$("#cityreturncar",searchboxCarsBox);var dateget=$("#dateget",searchboxCarsBox);var datereturn=$("#datereturn",searchboxCarsBox);if(cityget.val()!=this.labels[options.language]["defaultText"]){cityget.parent()}if(cityreturn.val()!=this.labels[options.language]["defaultText"]){cityreturn.parent()}if(cityget.data("dataValue").length==3){cityget.parent().removeClass("errorLabel");cityget.parent().find(".errorText").html("")}else{cityget.parent().addClass("errorLabel");if(cityget.val()!=options.defaultDescGet){cityget.parent().find(".errorText").html(me.labels[options.language]["errorGet"])}valid=false}cityreturn.parent().find(".errorText").html("");if(cityreturn.data("dataValue").length==3){cityreturn.parent().removeClass("errorLabel")}else{cityreturn.parent().addClass("errorLabel");if(cityreturn.val()!=options.defaultDescReturn){cityreturn.parent().find(".errorText").html(me.labels[options.language]["errorReturn"])}valid=false}if(dateget.data("isValid")&&dateget.val()!="dd/mm/aaaa"){dateget.parent().removeClass("errorLabel")}else{dateget.parent().addClass("errorLabel");valid=false}if(datereturn.data("isValid")&&datereturn.val()!="dd/mm/aaaa"){datereturn.parent().removeClass("errorLabel");datereturn.parent().find(".errorText").html("");var datein=new Despegar.Date();datein.setddmmaaaa(dateget.val(),"/");var dateout=new Despegar.Date();dateout.setddmmaaaa(datereturn.val(),"/");if(datein.compareTo(dateout.getiso())==1){datereturn.parent().addClass("errorLabel");datereturn.parent().find(".errorText").html(this.labels[options.language]["errorPreviousDate"]);valid=false}}else{datereturn.parent().addClass("errorLabel");datereturn.parent().find(".errorText");valid=false}return valid};this.searchCars=function(){var cityreturn=$("#cityreturncar",$(target)).data("dataValue");var cityreturndescript=$("#cityreturncar",$(target)).val();if(cityreturn==$("#citygetcar",$(target)).data("dataValue")){var samecity="S"}else{var samecity="N"}var parameters={samecity:samecity,country:options.country,searchpage:options.searchpage,citygetcar:$("#citygetcar",$(target)).data("dataValue"),citygetcardescription:$("#citygetcar",$(target)).val(),cityreturncar:cityreturn,cityreturncardescription:cityreturndescript,dateget:$("#dateget",$(target)).val(),datereturn:$("#datereturn",$(target)).val(),timeget:$("#timeget",$(target)).val(),timereturn:$("#timereturn",$(target)).val(),language:options.language};if(eval("Despegar.Cars.CarsFlows."+options.searchflow)!=undefined){eval("var searchObject = new Despegar.Cars.CarsFlows."+options.searchflow);if(options.remembersearch==1){Common.Utils.Cookie.CreateCookie("tabSelected",options.idTab,options.daysToExpireCookies);searchObject.saveSearchOnCookie(parameters,options.daysToExpireCookies)}searchObject.searchCars(parameters)}else{eval("var searchObject = new Despegar.Cars.CarsFlows."+this.defaultsearchflow);searchObject.searchCars(parameters)}};this.validateCookieDate=function(date){var today=new Date();var stringToDate=date.split("/");var dateToValidate=new Date(stringToDate[2],stringToDate[1]-1,stringToDate[0]);if(dateToValidate>today){return true}else{return false}};var options=options||{};options.country=options.country||"mx";options.language=options.language||"es";options.searchpage=options.searchpage||"homepagev3";options.searchflow=options.searchflow||this.defaultsearchflow;options.remembersearch=options.remembersearch||0;options.daysToExpireCookies=options.daysToExpireCookies||30;options.defaultDescGet=options.defaultDescGet||this.labels[options.language]["defaultDescGet"];options.defaultDescReturn=options.defaultDescReturn||this.labels[options.language]["defaultDescReturn"];options.TC=options.TC||(typeof(TC)!="undefined"?TC:{});options.returnDate=options.returnDate||"dd/mm/aaaa";options.getDate=options.getDate||"dd/mm/aaaa";this.render()};registerNameSpace("Despegar.Cars.CarsFlows");Despegar.Cars.CarsFlows.Asp=function(){var b=this;this.getCodeCountry=function(d){var c={ar:"1",br:"10",mx:"86",ve:"82",us:"2",cl:"6",uy:"5",ec:"8",pe:"7",co:"9"};return(c[d])};this.searchCars=function(d){var c=new Despegar.Form("/paginas/autos/resultadoBusquedaAutos.asp","POST","FormSearchCars","FormSearchCars");c.addInput("sMismaCiudad","sMismaCiudad",d.samecity);c.addInput("sCiudadHasta","sCiudadHasta",d.cityreturncar);c.addInput("sCiudadHastaAutos","sCiudadHastaAutos",d.cityreturncar);c.addInput("descripcionDestinationLocation1","descripcionDestinationLocation1",d.cityreturncardescription);c.addInput("sPaginaBuscador","sPaginaBuscador",d.searchpage);c.addInput("sCiudadDesde","sCiudadDesde",d.citygetcar);c.addInput("sCiudadDesdeAutos","sCiudadDesdeAutos",d.citygetcar);c.addInput("DescripcionOriginLocation1","DescripcionOriginLocation1",d.citygetcardescription);c.addInput("sFlowType","sFlowType","a");c.addInput("sFlow","sFlow","a");c.addInput("vPais","vPais",b.getCodeCountry(d.country));c.addInput("DepartureDate1","DepartureDate1",d.dateget);c.addInput("DepartureDate2","DepartureDate2",d.datereturn);c.addInput("FechaSalidaAuto","FechaSalidaAuto",d.dateget);c.addInput("FechaRegresoAuto","FechaRegresoAuto",d.datereturn);c.addInput("dFechaRetiro","dFechaRetiro",d.dateget.substr(0,5));c.addInput("dFechaDevolucion","dFechaDevolucion",d.datereturn.substr(0,5));c.post()};this.saveSearchOnCookie=function(d,c){Common.Utils.Cookie.CreateCookie("cars-Asp",escape(JSON.stringify(d)),c)}};registerNameSpace("Despegar.Cars.CarsFlows");Despegar.Cars.CarsFlows.Amadeus=function(){var b=this;this.getCodeCountry=function(d){var c={ar:"1",br:"10",mx:"86",ve:"82",us:"2",cl:"6",uy:"5",ec:"8",pe:"7",co:"9"};return(c[d])};this.searchCars=function(q){var G={PT:"SAOB2215F",ES:"BUEG1215B"};var H={PT:"SAO1D28AA",ES:"BUEG128FB"};var s={PT:"SAO",ES:"BUE"};var o={PT:"BR",ES:"ES"};var k={PT:"carros@decolar.com",ES:"autos@despegar.com"};var I={PT:"http://wftc1.e-travel.com",ES:"http://wftc1.e-travel.com"};var n={PT:"BRL",ES:"USD"};var f={AVIS:"ZI",BUDGET:"ZB",HERTZ:"ZE",ALAMO:"AL"};var l={MIA:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZB:"B9"}},ORL:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZB:"B9"}},LAX:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZB:"B9"}},LAS:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZB:"B9"}},SFO:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZB:"B9"}},CUN:{"01":{ZE:"BEST"},"03":{ZI:"PW"}},MEX:{"01":{ZE:"BEST"},"03":{ZI:"PW"}},AUA:{"03":{ZI:"PW",ZB:"SJ"}},MVD:{"01":{ZE:"BEST",ZI:"UY"},"03":{ZB:"SJ"}},PDP:{"01":{ZE:"BEST",ZI:"UY"},"03":{ZB:"SJ"}},BUE:{"01":{ZE:"MER"},"03":{ZB:"SJ"}},BRC:{"01":{ZE:"MER"},"03":{ZB:"SJ"}},FTE:{"01":{ZE:"MER"},"03":{ZB:"SJ"}},PTY:{"01":{ZE:"BEST",ZI:"PM"},"03":{ZB:"SJ"}},RIO:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},FLN:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},SSA:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},SAO:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},POA:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},REC:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},FOR:{"01":{ZE:"BEST"},"03":{ZB:"SJ"}},SCL:{"01":{ZE:"BEST"},"03":{ZI:"TS"}},MAD:{"01":{ZE:"AEX"},"03":{ZI:"9O"}},ROM:{"01":{ZE:"AEX"},"03":{ZI:"P7"}}};var D=I[q.language.toUpperCase()]+"/plnext/despegar/CarShopperStart.action?";var B=q.dateget.split("/");var A=q.datereturn.split("/");var F=q.timeget.replace(":","");var c=q.timereturn.replace(":","");var r=o[q.language.toUpperCase()];var t=k[q.language.toUpperCase()];var z="DESPEGAR";var u=s[q.language.toUpperCase()];var C=G[q.language.toUpperCase()];var v=H[q.language.toUpperCase()];var E=n[q.language.toUpperCase()];var e="										TRIPFLOW=YES										&ARRANGE_BY=N										&REFRESH=0										&PLTG_FROMPAGE=CARSEARCH										&DIRECT_LOGIN=NO										&SITE=ADHHADHH										&SO_SITE_OFFICE_ID="+v+"										&SO_SITE_QUEUE_OFFICE_ID="+C+"										&SO_FAILURE_QUEUE_OFFICE_ID="+C+"										&SO_SITE_MOD_PICKUP_OFFICE="+C+"										&SO_SITE_TK_ARRANGEMENT=OK										&SO_SITE_TK_OFFICE_ID="+C+"										&SO_SITE_MAIL_FROM="+t+"										&SO_LANG_SITE_EMAIL_ADDRESS="+t+"										&SO_SITE_POINT_OF_SALE="+u+"										&SO_SITE_POINT_OF_TICKETING="+u+"										&SO_SITE_MINIMAL_TIME=H24										&SO_LANG_SITE_AGENCY_LINE1="+z+"										&PRIMARY_CURRENCY="+E+"										&USER_CURRENCY_CODE="+E+"										&SO_SITE_PRIMARY_CURRENCY="+E+"										&PREF_CURRENCY="+E+"										&SO_SITE_USER_CURRENCY_CODE="+E+"										&SO_SITE_MAIL_REPLY_TO="+t+"										&LANGUAGE="+r+"										&B_LOCATION="+q.citygetcar+"										&E_LOCATION="+q.cityreturncar+"										&B_DATE="+B[2].toString()+B[1].toString()+B[0].toString()+F.toString()+"										&E_DATE="+A[2].toString()+A[1].toString()+A[0].toString()+c.toString()+"										&CLASS=*										&USE_CAR_SHOPPER=TRUE										&AUTO_SEARCH=TRUE";var p=new Date(B[2].toString(),B[1].toString()-1,B[0].toString());var d=new Date(A[2].toString(),A[1].toString()-1,A[0].toString());var y=1000*60*60*24;var g=Math.ceil((d-p)/y);var w="&SO_GL=";var x="";$.each(l[q.citygetcar],function(J,K){if(parseInt(J)<=g){$.each(K,function(L,M){carRentalCode=L;carRentalRateCode=M;if(x!=""){x=x+"&"}x=x+"<SO_GL><GLOBAL_LIST><NAME>SITE_CAR_CORPORATE_RATES_LIST</NAME><LIST_ELEMENT><CODE>"+carRentalCode+"</CODE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>"+carRentalRateCode+"</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>"})}});if(x!=""){e=e+w+x}window.location.href=D+e};this.saveSearchOnCookie=function(d,c){Common.Utils.Cookie.CreateCookie("cars-Amadeus",escape(JSON.stringify(d)),c)}};jQuery.fn.searchBoxCars=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.Cars.SearchBoxCars(e,b)});return this};registerNameSpace("Despegar.Packages");Despegar.Packages.SearchBoxPackages=function(target,options){this.exists=false;this.target=target;this.defaultsearchflow="Revancha";var me=this;var searchboxFlightsAndHotelBox;this.boxtemplate='			   <p id="originline" class="originline"> 											<label id="labelorigin" for="origin"></label> 											<input type="text" id="origin" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="destinationline" class="destinationline"> 											<label id="labeldestination" for="destination"></label> 											<input type="text" id="destination" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="checkinline" class="checkinline"> 											<label id="labelcheckin" for="checkin"></label> 											<input type="text" id="checkin" class="dateInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="checkoutline" class="checkoutline"> 											<label id="labelcheckout" for="checkout"></label> 											<input type="text" id="checkout" class="dateInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<div id="paxselection" class="paxselection"> 											<label id="labelrooms" for="rooms"></label> 											<select id="rooms" class="roomselect"></select> 											<div id="roomsdetails" class="roomsdetails"> 											</div> 											<span class="errorText" id="errorTextAdt"></span> 											<span class="errorText" id="errorTextChld"></span> 										</div>';if(options.searchCarsTooBox){this.boxtemplate='<ul class="tripType">													<li>														<input id="flightshotels" type="radio" checked="checked" name="tripType" value="FlightsHotels"/>														<label for="flightshotels" id="flightshotelslbl"></label>													</li>													<li>														<input id="flightshotelscars" type="radio" name="tripType" value="FlightsHotelsCars"/>														<label for="flightshotelscars" id="flightshotelscarslbl"></label>													</li>												</ul>'+this.boxtemplate}if(!options.useLinkButton){this.boxtemplate+='<div class="btnLine"> 													<button class="btnRed buscarBtn" type="button"> 														<span> 															<em id="btnLabel"></em> 														</span> 													</button> 												</div>'}else{this.boxtemplate+='<div class="btnLine"> 													<a class="buscarBtn buttonSprite '+(options.btnCls?options.btnCls:"globalSmallBlueButton")+'"> 														<span id="btnLabel"></span> 													</a> 												</div>'}if(options.showBetterPriceLink){this.boxtemplate+='<div class="linkBetterPrice"> 													<a class="betterPriceLink"></a> 												 </div>'}this.roomtemplate='										<div class="roomline"> 											<label class="roomnumberlabel"></label> 											<label class="singleLabel"></label> 											<div class="adtselectline"></div> 											<div class="childselectsbox"></div>     										<div class="ageselectsbox"></div> 											<div class="ageselectsboxinfs"></div> 											<div class="clearBox"></div>     									</div> ';this.labels={es:{adtLabel:"Adultos",cnnLabel:"Menores",ageLabel:"Edad",ageLabelMessage:"años",ageCnnLabel:"Edad {0}° menor",originLabel:"Origen",destinationLabel:"Destino",checkindateLabel:"Partida",checkoutdateLabel:"Regreso",defaultDestinationDesc:"Ingrese una ciudad de destino",defaultDestination:"",defaultOriginDesc:"Ingrese una ciudad de origen",defaultOrigin:"",roomslabel:"Cantidad",flightshotelsLabel:"Vuelo y Hotel",flightshotelscarsLabel:"Vuelo, Hotel y Auto",ageselect:"Elija edad del niño",ageselectShort:"?",oneSmallRoom:"Hab.",oneRoom:"Habitación",singleRoom:"Huéspedes",rooms:"Habitaciones",btnLabel:"Buscar",errorNumAdt:"El número de adultos debe ser menor que 8",errorNumChld:"El número de niños debe ser menor que 4",errorNumInf:"No puede ingresar mas bebés que adultos",errorNumTot:"Por favor, seleccione hasta ocho pasajeros",errorPreviousDate:"El regreso debe ser posterior a la partida",errorOrigin:"El origen ingresado no es valido",errorDestination:"El destino ingresado no es valido",errorDestinationEqualOrigin:"El destino debe ser diferente del origen",howTravel:"Como viaja?",onSeat:"En asiento",onArms:"En brazos",minCharsText1:"Ingrese al menos las primeras ",minCharsText2:" letras, y aguarde a ver los resultados",seeMoreResultsText:"Ver más resultados...",betterPrice:"¡Mejor precio garantizado!"},pt:{adtLabel:"Adultos",cnnLabel:"Crianças",ageLabel:"Idade",ageLabelMessage:"anos",ageCnnLabel:"Idade criança {0}",originLabel:"Origem",destinationLabel:"Destino",checkindateLabel:"Ida",checkoutdateLabel:"Volta",defaultDestinationDesc:"Digite a cidade de destino",defaultDestination:"",defaultOriginDesc:"Digite a cidade de partida",defaultOrigin:"",roomslabel:"Acomodação",ageselect:"Escolha a idade da criança",ageselectShort:"?",oneSmallRoom:"Qua.",oneRoom:"Quarto",singleRoom:"Hóspedes",rooms:"Quartos",btnLabel:"Procurar",errorNumAdt:"",errorNumChld:"",errorNumInf:"Não podem viajar mais bebês que adultos",errorNumTot:"Por favor, selecione até oito passageiros",errorPreviousDate:"A volta deve ser depois da data de ida",errorOrigin:"A origem informada não é válida",errorDestination:"O destino informado não é válido",errorDestinationEqualOrigin:"O destino deve ser diferente da origem",howTravel:"Como viaja?",onSeat:"No assento",onArms:"Nos braços",minCharsText1:"Por favor insira as primeiras ",minCharsText2:" letras  e aguardo para ver os resultados",seeMoreResultsText:"Ver mais resultados...",betterPrice:"Melhor preço garantido!"}};this.render=function(){if(options.remembersearch==1){try{var parametersCookie=Common.Utils.Cookie.ReadCookie("flightHotel-"+options.searchflow);if(parametersCookie){var parametersObj=JSON.parse(unescape(parametersCookie));options.returnDate=parametersObj.checkout;options.departureDate=parametersObj.checkin;options.defaultdestination=parametersObj.destination;options.defaultOrigin=parametersObj.origin;options.defaultOriginDesc=parametersObj.originDesc.replace(" ("+parametersObj.origin+")","");options.defaultdestinationdesc=parametersObj.destinationDesc.replace(" ("+parametersObj.destination+")","")}}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)}}}searchboxFlightsAndHotelBox=$(document.createElement("div")).html(this.boxtemplate);$("#labelorigin",searchboxFlightsAndHotelBox).html(this.labels[options.language]["originLabel"]);$("#labeldestination",searchboxFlightsAndHotelBox).html(this.labels[options.language]["destinationLabel"]);$("#labelcheckin",searchboxFlightsAndHotelBox).html(this.labels[options.language]["checkindateLabel"]);$("#labelcheckout",searchboxFlightsAndHotelBox).html(this.labels[options.language]["checkoutdateLabel"]);$("#labelrooms",searchboxFlightsAndHotelBox).html(this.labels[options.language]["roomslabel"]);if(options.searchCarsTooBox){$("#flightshotelslbl",searchboxFlightsAndHotelBox).html(this.labels[options.language]["flightshotelsLabel"]).addClass("lblRadioSelected")}$("#flightshotelscarslbl",searchboxFlightsAndHotelBox).html(this.labels[options.language]["flightshotelscarsLabel"]);$("#labeladt",searchboxFlightsAndHotelBox).html(this.labels[options.language]["adtLabel"]);$("#labelcnn",searchboxFlightsAndHotelBox).html(this.labels[options.language]["cnnLabel"]);$("#labelage",searchboxFlightsAndHotelBox).html(this.labels[options.language]["ageLabel"]).hide();$("#btnLabel",searchboxFlightsAndHotelBox).html(this.labels[options.language]["btnLabel"]);$("#labelageinfs",searchboxFlightsAndHotelBox).html(this.labels[options.language]["howTravel"]).hide();if(options.showBetterPriceLink){$(".betterPriceLink",searchboxFlightsAndHotelBox).html(this.labels[options.language]["betterPrice"]).click(function(){var linkBetterPrice=$(this);$("#BestPriceWarPop").css({top:(linkBetterPrice.offset().top+linkBetterPrice.height()+10),left:(linkBetterPrice.offset().left-15)}).fadeIn()})}$("#origin",searchboxFlightsAndHotelBox).autocomplete({url:options.url,minChars:3,initialValue:options.defaultOrigin,initialText:options.defaultOriginDesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$("#destination",searchboxFlightsAndHotelBox).autocomplete({url:options.url,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});$("#checkin",searchboxFlightsAndHotelBox).calendar({tripType:"go",inputRelatedID:"checkout",shownMonths:2,product:"paq",defaultDate:options.departureDate,language:options.language,configuration:options.configuration});$("#checkout",searchboxFlightsAndHotelBox).calendar({tripType:"return",inputRelatedID:"checkin",shownMonths:2,product:"paq",defaultDate:options.returnDate,language:options.language,configuration:options.configuration});if(options.searchCarsTooBox){$("#flightshotels",searchboxFlightsAndHotelBox).click(function(e){$("#flightshotelslbl").addClass("lblRadioSelected");$("#flightshotelscarslbl").removeClass("lblRadioSelected")});$("#flightshotelscars",searchboxFlightsAndHotelBox).click(function(e){$("#flightshotelscarslbl").addClass("lblRadioSelected");$("#flightshotelslbl").removeClass("lblRadioSelected")})}$(".buscarBtn",searchboxFlightsAndHotelBox).click(function(e){if(me.validate(searchboxFlightsAndHotelBox)){$(this).addClass("btnDisabled");me.searchFlightsAndHotels()}});if(!options.showYearOld){$(".yearOldLabel",searchboxFlightsAndHotelBox).hide()}this.createRoomsDropdown($("#rooms",searchboxFlightsAndHotelBox));this.createRoomsRows($("#roomsdetails",searchboxFlightsAndHotelBox));$(target).append(searchboxFlightsAndHotelBox);me.setInitialDistribution();if(options.noPassengerAge){$(".passengerAge",searchboxFlightsAndHotelBox).hide()}if(options.validateOnRender){me.validate(searchboxFlightsAndHotelBox)}};this.setInitialDistribution=function(){if(options.distribution){var roomsDist=options.distribution.split("!");$("#rooms",searchboxFlightsAndHotelBox).val(roomsDist.length).trigger("change");for(var i=0;i<roomsDist.length;i++){var oPassengers=roomsDist[i].split("-");var actualRoom=$(".rowPaxs:eq("+i+")",searchboxFlightsAndHotelBox);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")}}if(options.defaultInfants>0){$(".selectCnnInfs:not(.HideDiv):lt("+options.defaultInfants+")",searchboxFlightsAndHotelBox).val(1)}}};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("rowPaxs");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")).addClass("selectAdt").attr("id","selectAdt"+m).html(this.createOptionsDropdown(options.maxpaxroom,options.defaultpaxs,1)).change(function(e){me.changeAdt(this)});var labelAdt=$(document.createElement("label")).html(this.labels[options.language]["adtLabel"]);$(".adtselectline",row).append(labelAdt).append(selectAdt);var maxCnnInitial=options.maxpaxroom-options.defaultpaxs;if(maxCnnInitial>options.maxcnnroom){maxCnnInitial=options.maxcnnroom}var selectCnn=$(document.createElement("select")).attr("id","selectCnn"+m).html(this.createOptionsDropdown(maxCnnInitial,options.defaultpaxscnn,0)).addClass("selectCnn").change(function(e){me.changeCnn(this)});var labelCnn=$(document.createElement("label")).html(this.labels[options.language]["cnnLabel"]);$(".childselectsbox",row).append(labelCnn).append(selectCnn);for(h=1;h<=options.maxcnnroom;h++){var labelTxt=$.format(this.labels[options.language]["ageCnnLabel"],h);var selectCnnAge=$(document.createElement("select")).attr("id","selectCnnAge"+m+h).addClass("selectCnnAge line line"+h).html('<option selected="selected" id="ageselectdescription" value="NA">'+(options.ageselectShort?this.labels[options.language]["ageselectShort"]:this.labels[options.language]["ageselect"]+" "+h)+"</option>"+this.createOptionsDropdown(options.maxcnnage,null,0));var label=$("<label></label>").html(labelTxt).attr("id","labelCnnAge"+m+h).addClass("labelCnnAge line line"+h);$(".ageselectsbox",row).append(label).append(selectCnnAge);if(options.requestCnnAge){selectCnnAge.data("index",""+m+h);var selectCnnInfs=$(document.createElement("span")).attr("id","selectCnnInfs"+m+h+"Cont").addClass("selectCnnInfsCont HideDiv line line"+h).html('<select id="selectCnnInfs'+m+h+'" class="selectCnnInfs HideDiv"><option selected="selected" value="0">'+this.labels[options.language]["onSeat"]+'</option><option value="1">'+this.labels[options.language]["onArms"]+"</option></select>");$(".ageselectsboxinfs",row).append(selectCnnInfs);selectCnnInfs.addClass("HideDiv");$(selectCnnAge).change(function(){if($(this).val()>=0&&$(this).val()<=2){$("#selectCnnInfs"+$(this).data("index")+"Cont.HideDiv",searchboxFlightsAndHotelBox).removeClass("HideDiv");$("#selectCnnInfs"+$(this).data("index")+".HideDiv",searchboxFlightsAndHotelBox).removeClass("HideDiv");$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).show()}else{$("#selectCnnInfs"+$(this).data("index")+":not(.HideDiv)",searchboxFlightsAndHotelBox).addClass("HideDiv");$("#selectCnnInfs"+$(this).data("index")+"Cont:not(.HideDiv)",searchboxFlightsAndHotelBox).addClass("HideDiv");if($(".selectCnnInfs:not(.HideDiv)",$(".roomsdetails",searchboxFlightsAndHotelBox)).length==0){$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).hide()}}var index=$(".selectCnnInfs",searchboxFlightsAndHotelBox).index($(".selectCnnInfs:not(.HideDiv):last",searchboxFlightsAndHotelBox));$(".selectCnnInfsCont",searchboxFlightsAndHotelBox).addClass("HideDiv");$(".selectCnnAge:lt("+(index+1)+"):not(.HideDiv)",searchboxFlightsAndHotelBox).each(function(){if($(this).is(":visible")){$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).removeClass("HideDiv")}else{$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).addClass("HideDiv")}})});$(".selectCnnInfs",$(selectCnnInfs)).change(function(){if($(this).val()==1){$(this).addClass("Inf")}else{$(this).removeClass("Inf")}})}selectCnnAge.hide();$(".line",row).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",$(".rowPaxs:eq(0)")).show();$(".roomnumberlabel",$(".rowPaxs:eq(0)")).hide()}else{$(".singleLabel",$(".rowPaxs")).hide();$(".roomnumberlabel",$(".rowPaxs")).show()}var lblAge=$("#labelage",$(".roomsdetails"));$(".rowPaxs",searchboxFlightsAndHotelBox).hide();$(".rowPaxs:lt("+$(obj).val()+")",searchboxFlightsAndHotelBox).show();var visibleSelectsAge=$(".selectCnnAge:visible",searchboxFlightsAndHotelBox);if(visibleSelectsAge.length==0){lblAge.hide()}else{lblAge.show()}if($(".selectCnnInfs:visible",$(".roomsdetails",searchboxFlightsAndHotelBox)).length==0){$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).hide()}else{$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).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=$("#labelage",$(".roomsdetails",searchboxFlightsAndHotelBox));var lblAgeInfs=$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox));var qty=parseInt($(obj).val());var selectAdt=$(".selectAdt",$(obj).parent().prev());var valueSelectedAdt=selectAdt.val();var maxAdts=options.maxpaxroom-$(obj).val();var roomline=$(obj).parents(".roomline");var maxCnn=options.maxcnnroom;selectAdt.html(this.createOptionsDropdown(maxAdts,options.defaultpaxs,1));selectAdt.val(valueSelectedAdt);$("select",$(obj).parent().next()).hide();$("span",$(obj).parent().next()).hide();if(qty>0){$(".ageselectsbox, .ageselectsboxinfs",roomline).show();lblAge.show();$("select",$(obj).parent().next().next()).addClass("HideDiv");var selectsAge=$(".selectCnnAge:lt("+qty+")",$(obj).parent().next());var spanAge=$(".errorText:lt("+qty+")",$(obj).parent().next());selectsAge.parent().show();selectsAge.show();spanAge.show();selectsAge.change();$(".errorText:lt("+qty+")",$(obj).parent().next()).show();$(".errorText:gt("+(qty-1)+")",$(obj).parent().next()).hide();if($(".selectCnnInfs:not(.HideDiv)",$(".ageselectsboxinfs",searchboxFlightsAndHotelBox)).length>0){lblAgeInfs.show()}else{lblAgeInfs.hide()}$(".line",roomline).css("display","block");for(var i=maxCnn;i>qty;i--){$(".line"+i,roomline).hide()}}else{var visibleSelectsAge=$(".selectCnnAge:visible",$(".ageselectsbox",searchboxFlightsAndHotelBox));var visibleSelectsAgeInfs=$(".selectCnnInfs:visible",$(".ageselectsboxinfs",searchboxFlightsAndHotelBox));var thisSelects=$(".selectCnnAge:visible",$(obj).parent().next());var thisSelectsInfs=$(".selectCnnInfs:visible",$(obj).parent().next().next());$(".errorText",$(obj).parent().next()).hide();thisSelects.hide();thisSelectsInfs.addClass("HideDiv");$(".ageselectsbox, .ageselectsboxinfs",roomline).hide();if(visibleSelectsAge.length==thisSelects.length){lblAge.hide()}else{lblAge.show()}if($(".selectCnnInfs:visible",$(".ageselectsboxinfs",searchboxFlightsAndHotelBox)).length>0){lblAgeInfs.show()}else{lblAgeInfs.hide()}}var index=$(".selectCnnInfs").index($(".selectCnnInfs:visible:last",searchboxFlightsAndHotelBox));$(".selectCnnInfsCont",searchboxFlightsAndHotelBox).addClass("HideDiv");$(".selectCnnAge:lt("+(index+1)+"):not(.HideDiv)",searchboxFlightsAndHotelBox).each(function(){if($(this).is(":visible")){$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).removeClass("HideDiv")}else{$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).addClass("HideDiv")}})};this.getRoomsDetails=function(){var rooms=$("#rooms").val();var adtVisible=$(".selectAdt",$(".rowPaxs:visible"));var qtyPax=0;var qtyAdt=0;var actualQty=0;var roomsSerialize="";$.each(adtVisible,function(e){var meRooms=$(this);actualQty=parseInt(meRooms.val());qtyAdt+=actualQty;qtyPax+=actualQty;roomsSerialize+=meRooms.val();var ageCnnCombos=$(this).parent().next().next().find(".selectCnnAge:visible");$.each(ageCnnCombos,function(i){qtyPax++;roomsSerialize+="-"+$(this).val()});roomsSerialize+="!"});roomsSerialize=roomsSerialize.substr(0,roomsSerialize.length-1);var objReturn=new Object();objReturn.qtyAdt=qtyAdt;objReturn.qtyPax=qtyPax;objReturn.roomsSerialize=roomsSerialize;objReturn.rooms=rooms;return objReturn};this.validate=function(searchboxFlightsAndHotelBox){var valid=true;var checkin=$("#checkin",searchboxFlightsAndHotelBox);var checkout=$("#checkout",searchboxFlightsAndHotelBox);var inputOrigin=$("#origin",searchboxFlightsAndHotelBox);var inputDestination=$("#destination",searchboxFlightsAndHotelBox);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())>=0){checkout.parent().addClass("errorLabel");checkout.parent().find(".errorIcon").show();valid=false}}}else{checkout.parent().addClass("errorLabel");valid=false}if(inputOrigin.data("dataValue").length==3){inputOrigin.parent().removeClass("errorLabel");inputOrigin.parent().find(".errorText").html("")}else{inputOrigin.parent().addClass("errorLabel");if(inputOrigin.val()!=options.defaultOriginDesc){inputOrigin.parent().find(".errorIcon").show()}valid=false}if(inputDestination.data("dataValue").length==3){inputDestination.parent().removeClass("errorLabel");inputDestination.parent().find(".errorText").html("");if(inputDestination.val()==inputOrigin.val()){inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorIcon").show();valid=false}if(inputDestination.data("dataValue").length==3&&inputDestination.data("dataValue").length==3){if(inputDestination.data("dataValue")==inputOrigin.data("dataValue")){inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorIcon").show();valid=false}}}else{inputDestination.parent().addClass("errorLabel");if(inputDestination.val()!=options.defaultdestinationdesc){inputDestination.parent().find(".errorIcon").show()}valid=false}$(".errorIcon",$(".rowPaxs")).remove();$(".ageselectsbox",$(".rowPaxs")).removeClass("error");$(".labelage",$("#paxselection")).removeClass("error");for(m=1;m<=options.maxroomsquantity;m++){for(h=1;h<=options.maxcnnroom;h++){var selectedAge=$("#selectCnnAge"+m+h,searchboxFlightsAndHotelBox);if($(selectedAge).is(":visible")){if(selectedAge.val()=="NA"){selectedAge.addClass("errorLabel");selectedAge.after('<span class="mainSprite errorIcon"></span>');selectedAge.parent().addClass("error");$(".labelage",$("#paxselection")).addClass("error");valid=false}else{selectedAge.removeClass("errorLabel")}}}}var numHab=$("#rooms",searchboxFlightsAndHotelBox).val();var qHabAdt=0;var qHabCnn=0;for(m=1;m<=numHab;m++){qHabAdt+=parseInt($("#selectAdt"+m+" option:selected",searchboxFlightsAndHotelBox).val());qHabCnn+=parseInt($("#selectCnn"+m+" option:selected",searchboxFlightsAndHotelBox).val())}if((options.searchflow=="Revancha"&&(qHabAdt+qHabCnn)>8)||((options.searchflow=="ezrez")&&qHabAdt>7)){$(".selectAdt:visible",searchboxFlightsAndHotelBox).addClass("errorLabelSelect");if(options.searchflow=="ezrez"){$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextAdt").html(this.labels[options.language]["errorNumAdt"])}else{$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextAdt").html(this.labels[options.language]["errorNumTot"])}valid=false}else{$(".selectAdt",searchboxFlightsAndHotelBox).removeClass("errorLabelSelect");$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextAdt").html("")}if(options.searchflow=="Revancha"){if(qHabAdt<($(".Inf:visible",$(".ageselectsboxinfs")).length)){$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html(this.labels[options.language]["errorNumInf"]);$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").css("display","inline");valid=false}else{$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html("")}}if(options.searchflow=="ezrez"){if(qHabCnn>3){for(m=1;m<=numHab;m++){$("#selectCnn"+m,searchboxFlightsAndHotelBox).addClass("errorLabelSelect")}$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html(this.labels[options.language]["errorNumChld"]);valid=false}else{for(m=1;m<=numHab;m++){$("#selectCnn"+m,searchboxFlightsAndHotelBox).removeClass("errorLabelSelect")}$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html("")}}return valid};this.searchFlightsAndHotels=function(){var searchCars=false;if($("#flightshotelscars:checked",$(target)).length>0){searchCars=true}var parameters={origin:$("#origin",$(target)).data("dataValue"),originDesc:$("#origin",$(target)).val(),country:options.country,roomsDetails:me.getRoomsDetails(),checkin:$("#checkin",$(target)).val(),checkout:$("#checkout",$(target)).val(),destination:$("#destination",$(target)).data("dataValue"),destinationDesc:$("#destination",$(target)).val(),searchCarsToo:searchCars};var tracking={cod:options.trackingCod,id:options.trackingId,brand:options.trackingBrand};if(eval("Despegar.Packages.PackageFlows."+options.searchflow)!=undefined){eval("var searchObject = new Despegar.Packages.PackageFlows."+options.searchflow);if(options.remembersearch==1){Common.Utils.Cookie.CreateCookie("tabSelected",options.idTab,options.daysToExpireCookies);searchObject.saveSearchOnCookie(parameters,options.daysToExpireCookies)}searchObject.searchFlightsAndHotels(parameters,location.host,tracking)}else{eval("var searchObject = new Despegar.Packages.PackageFlows."+this.defaultsearchflow);searchObject.searchFlightsAndHotels(parameters,location.host,tracking)}};var options=options||{};options.country=options.country||"mx";options.language=options.language||"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.defaultOrigin=options.defaultOrigin||this.labels[options.language]["defaultOrigin"];options.defaultOriginDesc=options.defaultOriginDesc||this.labels[options.language]["defaultOriginDesc"];options.notShowValueAutoComplete=options.notShowValueAutoComplete||false;options.smallRooms=options.smallRooms||0;options.trackingCod=options.trackingCod||"cob";options.trackingId=options.trackingId||null;options.remembersearch=options.remembersearch||0;options.daysToExpireCookies=options.daysToExpireCookies||30;options.trackingBrand=options.trackingBrand||"despegar";options.TC=options.TC||(typeof(TC)!="undefined"?TC:{});options.searchCarsTooBox=options.searchCarsTooBox||false;options.ageselectShort=options.ageselectShort||false;options.requestCnnAge=options.requestCnnAge||false;options.departureDate=options.departureDate||"dd/mm/aaaa";options.returnDate=options.returnDate||"dd/mm/aaaa";options.distribution=options.distribution||false;options.noPassengerAge=options.noPassengerAge||false;options.showYearOld=options.showYearOld||false;options.defaultInfants=options.defaultInfants||0;options.url=options.url||"/Flights.Services/Commons/AutoComplete.svc";this.render()};registerNameSpace("Despegar.Packages.PackageFlows");Despegar.Packages.PackageFlows.ASPPackage=function(){var b=this;this.getCodeCountry=function(d){var c={ar:"1",br:"10",mx:"86",ve:"82",us:"2",cl:"6",uy:"5",ec:"8",pe:"7",co:"9"};return(c[d])};this.searchPackages=function(d){var c=new Despegar.Form("http://www.ar.despegar.com/paginas/paquetes/resultadobusquedapaquetes.asp","POST","FormSearchPackages","FormSearchPackages");c.addInput("sPaginaBuscador","sPaginaBuscador",d.searchpage);c.addInput("OriginLocation1","OriginLocation1",d.origin);c.addInput("DestinationLocation2Hidden","DestinationLocation2Hidden",d.destination);c.addInput("DestinationLocation1","DestinationLocation1",d.destination);c.addInput("DestinationLocation2","DestinationLocation2",d.destinationDesc);c.addInput("sFlowType","sFlowType","P");c.addInput("DescripcionOriginLocation1","DescripcionOriginLocation1","");c.addInput("DescripcionDestinationLocation1","DescripcionDestinationLocation1","");c.addInput("sFlow","sFlow","p");c.addInput("FechaSalida1","FechaSalida1",d.checkin);c.addInput("FechaSalida2","FechaSalida2",d.checkout);c.addInput("idPais","idPais",b.getCodeCountry(d.country));c.addInput("TipoDestino","TipoDestino",d.destinationType);c.addInput("MultipleDestino","MultipleDestino","");c.addInput("ComboDuracion","ComboDuracion",d.daysRange);c.addInput("ADT","ADT",d.adtPax);c.addInput("CNN","CNN",d.cnnPax);c.addInput("INF","INF",d.infPax);c.addInput("sBusqFiltro","sBusqFiltro","N");c.addInput("TipoBuscador","TipoBuscador",d.searchBoxType);c.addInput("sRegionDesc","sRegionDesc","");c.addInput("sMesSalidaDesc","sMesSalidaDesc","");c.addInput("FechaRegreso2","FechaRegreso2","");c.addInput("FechaRegreso1","FechaRegreso1","");c.post()}};jQuery.fn.searchBoxPackages=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.Packages.SearchBoxPackages(e,b)});return this};registerNameSpace("Despegar.Flights");Despegar.Flights.SearchBoxFlights=function(target,options){this.exists=false;this.target=target;this.defaultsearchflow="Revancha";var flowVersion="";var dataABTest;var abTestObj;var me=this;var cookieSearch=false;options.notShowValueAutoComplete=options.notShowValueAutoComplete||false;this.boxtemplate='									<!--[if lte IE 8 ]>										<span class="commonSprite topRightCorner searchBoxCornerTR"></span>									<![endif]-->									<ul class="tripType">											<li>												<input id="roundtrip" type="radio" checked="checked" name="tripType" value="RoundTrip"/>												<label for="roundtrip" id="roundtriplbl" class="lblRadio"></label>											</li>											<li>												<input id="oneway" type="radio" name="tripType" value="oneWay"/>												<label for="oneway" id="onewaylbl" class="lblRadio"></label>											</li>											<li>												<input id="multipleDestinations" type="radio" name="tripType" value="MultipleDestinations"/>												<label for="multipleDestinations" id="multipleDestinationslbl" class="lblRadio"></label>											</li>										</ul>										<div class="roundtripContainer">    									<p id="originline" class="originline"> 											<label id="labelorigin" for="origin"></label> 											<input type="text" id="origin" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 										</p> 										<p id="destinationline" class="destinationline"> 											<label id="labeldestination" for="destination"></label> 											<input type="text" id="destination" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="departuredateline" class="departuredateline"> 												<label id="labeldeparture" for="departure"></label> 												<input type="text" id="departure" class="dateInput"/> 												<span class="mainSprite errorIcon"></span> 										</p> 										<p id="returndateline" class="returnline"> 												<label id="labelreturn" for="return"></label> 												<input type="text" id="return" class="dateInput"/> 												<span class="mainSprite errorIcon"></span> 												<span class="errorText"></span> 										</p> 										</div>										<div id="paxselection" class="paxselection"> 												<div id="roomsdetails" class="roomsdetails"> 													<div class="adtselectline">														<label id="labeladt" class="labeladt" for="selectAdtFlights"></label> 													</div>													<div class="childselectsbox">														<label id="labelcnn" class="labelcnn" for="selectCnnFlights"></label> 													</div>													<div class="ageselectsbox">														<label id="labelageflights" class="labelage"></label> 													</div>												</div> 												<div style="clear:both"></div>										</div>										<div class="otherOptions">											<p class="seeFinancingOptions">												<input type="checkbox" class="seeFinancingOptionsChkBox" id="seeFinancingOptionsChkBox" checked="true" />												<label for="seeFinancingOptionsChkBox" class="seeFinancingOptionsChkBoxLbl"></label>											</p>											<p class="searchHotelsToo">												<input type="checkbox" class="searchHotelsTooChkBox" id="searchHotelsTooChkBox"/>												<label for="searchHotelsTooChkBox" class="searchHotelsTooChkBoxLbl"></label>											</p>										</div>										<p class="advOptionsContainer">											<a class="advOptionsLink"></a>										</p>										<div class="btnLine"> 											<button class="btnHome btnRed 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.searchBusinessOnly='								<p class="searchBusinessOnly">									<input type="checkbox" class="searchBusinessOnlyChkBox" id="searchBusinessOnlyChkBox"/>									<label for="searchBusinessOnlyChkBox" class="searchBusinessOnlyChkBoxLbl"></label>								</p>								';this.selectAgeTemplate='									<p class="selectAgeLine">									 <select class="selectAge">										<option value="-1"></option>										<option value="0"></option>										<option value="3"></option>										<option value="4"></option>										<option value="12"></option>										</select>									 <span class="ageMsg"></span>									 </p>';this.labels={es:{adtLabel:'Adultos <span class="passengerAge">(12+)</span>',cnnLabel:'Menores <span class="passengerAge">(0-11)</span>',ageLabelMessage:"años",destinationLabel:"Destino",originLabel:"Origen",checkindateLabel:"Partida",checkoutdateLabel:"Regreso",defaultDestinationDesc:"Ingrese una ciudad de destino",defaultDestination:"",defaultOriginDesc:"Ingrese una ciudad de origen",defaultOrigin:"",advOptionsLink:"Opciones avanzadas",advancedOptionsAlert:"Atención: El uso de opciones avanzadas limita la capacidad de encontrar las tarifas más económicas.",btnLabel:"Buscar",errorDestinationEqualOrigin:"El destino debe ser diferente del origen",errorInfQuantity:"No puede ingresar mas bebés que adultos",errorAgeQuantity:"Debe ingresar la edad de los niños.",errorPreviousDate:"El regreso debe ser posterior a la partida",errorPreviousDateMD:"La partida de este tramo, debe ser posterior a la del tramo anterior",optionAgeDefault:"Elija edad niño ",optionAgeOne:"0 a 24 meses (en brazos)",optionAgeTwo:"0 a 24 meses (en asiento)",optionAgeThree:"2 a 11 años",optionAgeFour:"12 años o más",labelAgeStart:"Edad al",labelPriceInf:"Tarifa Bebé",labelPriceCnn:"Tarifa Niño",labelPriceAdt:"Tarifa Adulto",labelOneWay:"Sólo ida",labelRoundTrip:"Ida y vuelta",labelMultipleDestinations:"Múltiples destinos",ageTitle1:"Edad al ",ageTitle2:"finalizar el viaje",Tract:"Tramo ",lblAddTract:"Agregar nuevo Tramo",labelSearchHotelsToo:'También quiero ver hoteles. <div class="message">(se abrirá una ventana nueva)</div>',labelSearchBusinessOnly:"Sólo Ejecutiva/Business.",labelSeeFinancingOptions:"Mostrar opciones de financiación"},pt:{adtLabel:'Adultos <span class="passengerAge">(12+)</span>',cnnLabel:'Crianças <span class="passengerAge">(0-11)</span>',ageLabelMessage:"anos",destinationLabel:"Destino",originLabel:"Origem",checkindateLabel:"Ida",checkoutdateLabel:"Volta",defaultDestinationDesc:"Digite a cidade de destino",defaultDestination:"",defaultOriginDesc:"Digite a cidade de partida",defaultOrigin:"",advOptionsLink:"Opções avançadas",advancedOptionsAlert:"Atenção: O uso das opções avançadas limita a capacidade de encontrar as tarifas mais econômicas.",btnLabel:"Procurar",errorDestinationEqualOrigin:"O destino deve ser diferente da origem",errorInfQuantity:"Não podem viajar mais bebês que adultos",errorAgeQuantity:"Debe ingresar la edad de los niños.",errorPreviousDate:"A volta deve ser depois da data de ida",errorPreviousDateMD:"A partida deste trajeto deverá ser posterior a do trajeto anterior.",optionAgeDefault:"Selecione a idade da criança ",optionAgeOne:"0 a 24 meses (nos braços)",optionAgeTwo:"0 a 24 meses (no assento)",optionAgeThree:"Até 11 anos",optionAgeFour:"12 anos ou mais",labelAgeStart:"Idade ao",labelPriceInf:"Tarifa Bebê",labelPriceCnn:"Tarifa Criança",labelPriceAdt:"Tarifa Adulto",labelOneWay:"Só ida",labelRoundTrip:"Ida e volta",labelMultipleDestinations:"Múltiplos destinos",ageTitle1:"Idade ao ",ageTitle2:"finalizar a viagem ",Tract:"Trajeto ",lblAddTract:"Agregar novo trajeto",labelSearchHotelsToo:"Pesquisar também hotéis",labelSearchBusinessOnly:"apenas Executiva/Business",labelSeeFinancingOptions:"Mostrar opções de financiamento"}};this.render=function(){if(options.remembersearch==1){try{var parametersCookie=Common.Utils.Cookie.ReadCookie("flight-"+options.searchflow);cookieSearch=true;if(parametersCookie){var parametersObj=JSON.parse(unescape(parametersCookie));options.datedeparture=parametersObj.departure;options.datereturn=parametersObj.returnDate;options.datedeparture=parametersObj.departureDate;options.defaultdestination=parametersObj.destination;options.defaultorigin=parametersObj.origin;options.defaultorigindesc=parametersObj.originDesc.replace(" ("+parametersObj.origin+")","");options.defaultdestinationdesc=parametersObj.destinationDesc.replace(" ("+parametersObj.destination+")","");options.defaultClassPref=parametersObj.classPref}}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 searchboxFlightBox=$(document.createElement("div")).html(this.boxtemplate);if(options.optionBusinessOnly){$(".otherOptions",searchboxFlightBox).append(this.searchBusinessOnly);$(".otherOptions .searchBusinessOnlyChkBox",searchboxFlightBox).attr("checked",(options.defaultClassPref=="C"))}$("#labeldestination",searchboxFlightBox).html(this.labels[options.language]["destinationLabel"]);$("#labelorigin",searchboxFlightBox).html(this.labels[options.language]["originLabel"]);$("#labeldeparture",searchboxFlightBox).html(this.labels[options.language]["checkindateLabel"]);$("#labelreturn",searchboxFlightBox).html(this.labels[options.language]["checkoutdateLabel"]);$("#labeladt",searchboxFlightBox).html(this.labels[options.language]["adtLabel"]);$("#labelcnn",searchboxFlightBox).html(this.labels[options.language]["cnnLabel"]);$("#labelageflights",searchboxFlightBox).html(this.labels[options.language]["ageTitle1"]+this.labels[options.language]["ageTitle2"]).hide();$("#btnLabel",searchboxFlightBox).html(this.labels[options.language]["btnLabel"]);$(".advOptionsLink",searchboxFlightBox).html('<span class="mainSprite littleArrowBlackRight floatLeft advOptionsArrow"></span> <span class="floatLeft advancedOptionsText">'+this.labels[options.language]["advOptionsLink"]+"</span>");$("#onewaylbl",searchboxFlightBox).html(this.labels[options.language]["labelOneWay"]);$("#roundtriplbl",searchboxFlightBox).html(this.labels[options.language]["labelRoundTrip"]).addClass("lblRadioSelected");$("#multipleDestinationslbl",searchboxFlightBox).html(this.labels[options.language]["labelMultipleDestinations"]);$(".searchHotelsTooChkBoxLbl",searchboxFlightBox).html(this.labels[options.language]["labelSearchHotelsToo"]);$(".searchBusinessOnlyChkBoxLbl",searchboxFlightBox).html(this.labels[options.language]["labelSearchBusinessOnly"]);$(".seeFinancingOptionsChkBoxLbl",searchboxFlightBox).html(this.labels[options.language]["labelSeeFinancingOptions"]);if(options.searchflow=="FlightsWeb"&&options.defaultSearchType=="multipledestinations"){var defaultorigin=(options.defaultorigin).split(",");var defaultorigindesc=(options.defaultorigindesc).split(",");var defaultdestination=(options.defaultdestination).split(",");var defaultdestinationdesc=(options.defaultdestinationdesc).split(",");var datedeparture=(options.datedeparture).split(",");defaultorigin=defaultorigin[0];defaultorigindesc=defaultorigindesc[0];defaultdestination=defaultdestination[0];defaultdestinationdesc=defaultdestinationdesc[0];datedeparture=datedeparture[0]}else{var defaultorigin=options.defaultorigin;var defaultorigindesc=options.defaultorigindesc;var defaultdestination=options.defaultdestination;var defaultdestinationdesc=options.defaultdestinationdesc;var datedeparture=options.datedeparture}$("#origin",searchboxFlightBox).autocomplete({url:options.url,minChars:3,initialValue:defaultorigin,initialText:defaultorigindesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$("#destination",searchboxFlightBox).autocomplete({url:options.url,minChars:3,initialValue:defaultdestination,initialText:defaultdestinationdesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$("#departure",searchboxFlightBox).calendar({tripType:"go",inputRelatedID:"return",defaultDate:datedeparture,shownMonths:2,language:options.language,product:"vue",configuration:options.configuration});$("#return",searchboxFlightBox).calendar({tripType:"return",inputRelatedID:"departure",language:options.language,defaultDate:options.datereturn,shownMonths:2,product:"vue",configuration:options.configuration});if(options.optionBusinessOnly){Common.Utils.Cookie.EraseCookie("OMNITURE_SEARCH_FLIGHTS_CLASS");$(".searchBusinessOnlyChkBox",searchboxFlightBox).click(function(e){if($(".classPref",searchboxFlightBox).find("option[value='C']")){$(".classPref",searchboxFlightBox).find("option[value='"+(($(this).is(":checked"))?"C":"NA")+"']").attr("selected",true)}if($(".searchBusinessOnlyChkBox",searchboxFlightBox).is(":checked")){Common.Utils.Cookie.CreateCookie("OMNITURE_SEARCH_FLIGHTS_CLASS","C")}})}$(".advOptionsLink",searchboxFlightBox).click(function(e){me.renderAdvancedOptions($(this));$(this).html('<span class="mainSprite littleArrowBlackDown floatLeft advOptionsArrow"></span> <span class="floatLeft advancedOptionsText">'+me.labels[options.language]["advOptionsLink"]+"</span>")});$(".buscarBtn",searchboxFlightBox).click(function(e){if(me.validate(searchboxFlightBox)){$(this).addClass("btnDisabled");me.searchFlights()}});$("#return",searchboxFlightBox).change(updateLabelAge);function updateLabelAge(e,clear){if($("#return",searchboxFlightBox).data("isValid")&&!clear){$("#labelageflights",$(".roomsdetails")).html(me.labels[options.language]["ageTitle1"]+$("#return",searchboxFlightBox).val())}else{$("#labelageflights",$(".roomsdetails")).html(me.labels[options.language]["ageTitle1"]+me.labels[options.language]["ageTitle2"])}}$("#multipleDestinations",searchboxFlightBox).click(function(e){me.multipleDestinations(this);updateLabelAge(null,true);$("#paxselection",searchboxFlightBox).addClass("paxselectionMargin")});$("#roundtrip",searchboxFlightBox).click(function(e){$(".roundtripContainer").slideDown("slow");$(".multipleDestinationContainer").slideUp("fast");$("#roundtriplbl").addClass("lblRadioSelected");$("#multipleDestinationslbl").removeClass("lblRadioSelected");$("#onewaylbl").removeClass("lblRadioSelected");$(".returnline",$(".roundtripContainer")).slideDown();$(".returnTimeLine",$(".advancedOptions")).show();$(".advOptionsContainer",$(".roundtripContainer").parent()).fadeIn("slow");$(".searchBusinessOnly",$(".roundtripContainer").parent()).fadeIn("slow");updateLabelAge();$("#paxselection",searchboxFlightBox).removeClass("paxselectionMargin")});$("#oneway",searchboxFlightBox).click(function(e){$(".roundtripContainer").slideDown("slow");$(".multipleDestinationContainer").slideUp("fast");$("#roundtriplbl").removeClass("lblRadioSelected");$("#multipleDestinationslbl").removeClass("lblRadioSelected");$("#onewaylbl").addClass("lblRadioSelected");$(".returnline",$(".roundtripContainer")).slideUp();$(".returnTimeLine",$(".advancedOptions")).hide();updateLabelAge(null,true);$(".advOptionsContainer",$(".roundtripContainer").parent()).fadeIn("slow");$(".searchBusinessOnly",$(".roundtripContainer").parent()).fadeIn("slow");$("#paxselection",searchboxFlightBox).removeClass("paxselectionMargin")});this.createPassangers(searchboxFlightBox);$(target).append(searchboxFlightBox);updateLabelAge();if(options.openAdvancedOptions){$(".advOptionsLink").trigger("click").die("click").unbind("click").after('<div class="advertencia">					<p>						<span class="mainSprite circuleExclamationMarkLittle iconoAdvertencia"></span>						<span class="warningAdvancedOption">'+this.labels[options.language]["advancedOptionsAlert"]+'</span>					</p>					<div class="clearBox"></div>	            </div>')}if(options.defaultSearchType!="roundtrip"){me.setSearchType(options.defaultSearchType)}};this.createPassangers=function(obj){var maxPassangers=options.maxpax;maxPassangers=maxPassangers-options.defaultpaxscnn;var selectAdt=$(document.createElement("select")).attr("id","selectAdtFlights").addClass("selectAdt").html(this.createOptionsDropdown(maxPassangers,options.defaultpaxs,1)).change(function(e){me.changeAdt(this)});$(".adtselectline",obj).append(selectAdt);var maxCnnInitial=options.maxpax-options.defaultpaxs;if(maxCnnInitial>options.maxcnn){maxCnnInitial=options.maxcnn}var selectCnn=$(document.createElement("select")).attr("id","selectCnnFlights").html(this.createOptionsDropdown(maxCnnInitial,options.defaultpaxscnn,0)).addClass("selectCnn").change(function(e){me.changeCnn(this);$(this).removeClass("errorCustom");$(".ageselectsbox").find(".errorText").hide()});$(".childselectsbox",obj).append(selectCnn);this.createCnnAgeSelect(obj,options.defaultpaxscnn,options.defaultpaxsinf)};this.createCnnAgeSelect=function(obj,defaultCnn,defaultInf){for(h=1;h<=options.maxcnn;h++){var objSelects=$(this.selectAgeTemplate);$("select",objSelects).change(function(e){me.setLabelAge($(this))});$("option:eq(0)",$("select",objSelects)).html(this.labels[options.language]["optionAgeDefault"]+h);$(".ageselectsbox",obj).append(objSelects);objSelects.hide()}var selectsAges=$("select",$(".ageselectsbox",obj));$("option:eq(1)",selectsAges).html(this.labels[options.language]["optionAgeOne"]);$("option:eq(2)",selectsAges).html(this.labels[options.language]["optionAgeTwo"]);$("option:eq(3)",selectsAges).html(this.labels[options.language]["optionAgeThree"]);$("option:eq(4)",selectsAges).html(this.labels[options.language]["optionAgeFour"]);if(defaultCnn>0){if(options.datereturn!="dd/mm/aaaa"){$("#labelageflights",$(".roomsdetails",obj)).html(this.labels[options.language]["ageTitle1"]+options.datereturn);$("#labelageflights",$(".roomsdetails",obj)).show()}$(".selectAgeLine:lt("+defaultCnn+")",$(".ageselectsbox",obj)).show();if(defaultInf>0){var selectInf=$(".selectAgeLine:lt("+defaultInf+") select",$(".ageselectsbox",obj));selectInf.each(function(){$(this).val(0);me.setLabelAge($(this))})}}};this.setLabelAge=function(obj){var labelSpan=obj.next();if(labelSpan.hasClass("errorIcon")){var errorIcon=labelSpan;labelSpan=labelSpan.next();errorIcon.remove()}labelSpan.hide();switch(obj.val()){case"-1":labelSpan.html("");break;case"0":labelSpan.html(this.labels[options.language]["labelPriceInf"]).removeClass("adultPriceWarning");break;case"3":labelSpan.html(this.labels[options.language]["labelPriceCnn"]).removeClass("adultPriceWarning");break;case"4":labelSpan.html(this.labels[options.language]["labelPriceCnn"]).removeClass("adultPriceWarning");break;case"12":labelSpan.html(this.labels[options.language]["labelPriceAdt"]).addClass("adultPriceWarning");break}labelSpan.fadeIn("slow")};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.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.removeAttr("disabled")}};this.changeCnn=function(obj){var lblAge=$("#labelageflights",$(".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){$(".ageselectsbox").addClass("ageselectsboxMargin");lblAge.show();$(".selectAgeLine",$(".ageselectsbox")).hide();var selectsAge=$(".selectAgeLine:lt("+qty+")",$(".ageselectsbox"));selectsAge.show()}else{$(".ageselectsbox").removeClass("ageselectsboxMargin");var visibleSelectsAge=$(".selectAgeLine:visible",$(".ageselectsbox"));var thisSelects=$(".selectAgeLine:visible",$(".ageselectsbox"));thisSelects.hide();if(visibleSelectsAge.length==thisSelects.length){lblAge.hide()}}};this.renderAdvancedOptions=function(obj){var advOptionsTemplate='    									<div class="advancedOptions">										<p class="departureTimeLine">										<label class="lblDepartureTime"></label>										<select class="departureTime"></select>										<span class="departureTimeMsg"></span>										</p>										<p class="returnTimeLine">										<label class="lblReturnTime"></label>										<select class="returnTime"></select>										<span class="returnTimeMsg"></span>										</p>										<p class="stopQuantityLine">										<label class="lblStopQuantity"></label>										<select class="stopQuantity"></select>										<span class="stopQuantityMsg"></span>										</p>										<p class="classPrefLine">										<label class="lblClassPref"></label>										<select class="classPref"></select>										<span class="classPrefMsg"></span>										</p>										<p class="airlinePrefLine">										<label class="lblAirlinePref"></label>										<input class="airlinePref" id="preferedAirLine"/>										<span class="airlinePrefMsg"></span>										</p>										</div><div style="clear:both;"></div>';var labelsAdvOptions={es:{departureTime:"Horario de salida",returnTimeLbl:"Horario de regreso",classPrefLbl:"Clase de boleto",stopQuantityLbl:"Escalas",airlinePrefLbl:"Aerolínea",defaultOption:"Sin preferencias",midday:"Mediodía",midnight:"Medianoche",prefixStops:"Hasta",stop:"escala",stops:"escalas",directFlight:"Sólo vuelos directos",defaultAirlines:options.defaultAirlineText||"Escriba una aerolínea",economic:"Turista",business:"Ejecutiva/Business",firstClass:"Primera clase",minCharsText1Airline:"Ingrese al menos las ",minCharsText2Airline:" primeras letras del nombre de la aerolínea"},pt:{departureTime:"Horário de partida",returnTimeLbl:"Horário de retorno",classPrefLbl:"Classe de bilhete",stopQuantityLbl:"Escalas",airlinePrefLbl:"Cia. Aérea",defaultOption:"Sem preferências",midday:"Meio-dia",midnight:"Meia-noite",prefixStops:"Até",stop:"escala",stops:"escalas",directFlight:"Somente vôo direto",defaultAirlines:options.defaultAirlineText||"Escreva uma cia. aérea",economic:"Turistica",business:"Executiva/Business",firstClass:"Primeira Classe",minCharsText1Airline:"Digite pelo menos ",minCharsText2Airline:" primeiras letras do nome da cia. aérea e aguarde a ver os resultados."}};var advOptions=$(advOptionsTemplate);$(".lblDepartureTime",advOptions).html(labelsAdvOptions[options.language]["departureTime"]);$(".lblReturnTime",advOptions).html(labelsAdvOptions[options.language]["returnTimeLbl"]);$(".lblClassPref",advOptions).html(labelsAdvOptions[options.language]["classPrefLbl"]);$(".lblStopQuantity",advOptions).html(labelsAdvOptions[options.language]["stopQuantityLbl"]);$(".lblAirlinePref",advOptions).html(labelsAdvOptions[options.language]["airlinePrefLbl"]);var optionsTimeTemplate='			 						<option value="NA">aaa</option>									<option value="00">aaa</option>									<option value="01">1 AM</option>									<option value="02">2 AM</option>									<option value="03">3 AM</option>									<option value="04">4 AM</option>									<option value="05">5 AM</option>									<option value="06">6 AM</option>									<option value="07">7 AM</option>									<option value="08">8 AM</option>									<option value="09">9 AM</option>									<option value="10">10 AM</option>									<option value="11">11 AM</option>									<option value="12">aaa</option>									<option value="13">1 PM</option>									<option value="14">2 PM</option>									<option value="15">3 PM</option>									<option value="16">4 PM</option>									<option value="17">5 PM</option>									<option value="18">6 PM</option>									<option value="19">7 PM</option>									<option value="20">8 PM</option>									<option value="21">9 PM</option>									<option value="22">10 PM</option>									<option value="23">11 PM</option>';$(".returnTime",advOptions).append(optionsTimeTemplate);$(".departureTime",advOptions).append(optionsTimeTemplate);$("option:eq(0)",$(".returnTime",advOptions)).text(labelsAdvOptions[options.language]["defaultOption"]);$("option:eq(1)",$(".returnTime",advOptions)).text(labelsAdvOptions[options.language]["midnight"]);$("option:eq(13)",$(".returnTime",advOptions)).text(labelsAdvOptions[options.language]["midday"]);$("option:eq(0)",$(".departureTime",advOptions)).text(labelsAdvOptions[options.language]["defaultOption"]);$("option:eq(1)",$(".departureTime",advOptions)).text(labelsAdvOptions[options.language]["midnight"]);$("option:eq(13)",$(".departureTime",advOptions)).text(labelsAdvOptions[options.language]["midday"]);var optionsStops='<option value="NA">'+labelsAdvOptions[options.language]["defaultOption"]+"</option>";for(i=0;i<9;i++){if(i==0){optionsStops+='<option value="'+i+'">'+labelsAdvOptions[options.language]["directFlight"]+"</option>"}else{if(i==1){optionsStops+='<option value="'+i+'">'+labelsAdvOptions[options.language]["prefixStops"]+" "+i+" "+labelsAdvOptions[options.language]["stop"]+"</option>"}else{optionsStops+='<option value="'+i+'">'+labelsAdvOptions[options.language]["prefixStops"]+" "+i+" "+labelsAdvOptions[options.language]["stops"]+"</option>"}}}$(".stopQuantity",advOptions).append(optionsStops);var optionsTicketClassTemplate='			 											  <option value="NA">			 											  </option><option value="YC">			 											  </option><option value="C">														  </option><option value="F"></option>';$(".classPref",advOptions).append(optionsTicketClassTemplate);$("option:eq(0)",$(".classPref",advOptions)).text(labelsAdvOptions[options.language]["defaultOption"]);$("option:eq(1)",$(".classPref",advOptions)).text(labelsAdvOptions[options.language]["economic"]);$("option:eq(2)",$(".classPref",advOptions)).text(labelsAdvOptions[options.language]["business"]);$("option:eq(3)",$(".classPref",advOptions)).text(labelsAdvOptions[options.language]["firstClass"]);$(".departureTimeLine",advOptions).find("option[value='"+options.defaultOutboundHour+"']").attr("selected",true);$(".returnTimeLine",advOptions).find("option[value='"+options.defaultInboundHour+"']").attr("selected",true);$(".stopQuantityLine",advOptions).find("option[value='"+options.defaultStopsQuantity+"']").attr("selected",true);$(".classPref",advOptions).find("option[value='"+options.defaultClassPref+"']").attr("selected",true);if(options.optionBusinessOnly){if($("#searchBusinessOnlyChkBox",$(target)).is(":checked")){$(".classPref",advOptions).find("option[value='C']").attr("selected",true)}$(".classPref",advOptions).change(function(){$(".searchBusinessOnlyChkBox",$(target)).attr("checked",($(".classPref",advOptions).val()=="C"))})}$(".airlinePref",advOptions).autocomplete({url:"",minChars:2,initialValue:options.defaultAirline,initialText:labelsAdvOptions[options.language]["defaultAirlines"],maxItemsToShow:10,showValue:!options.notShowValueAutoComplete,showMoreResults:false,type:"aer",extraParams:[options.language],minCharsLeyend:true,preCacheData:options.TA,languaje:options.language});obj.after(advOptions);if($("#oneway").attr("checked")==true){$(".returnTimeLine",$(".advancedOptions")).hide()}obj.unbind("click");obj.click(function(e){if($(".advancedOptions").css("display")=="none"){$(".advancedOptions").css("display","block");$(".advOptionsLink").html('<span class="mainSprite littleArrowBlackDown floatLeft advOptionsArrow"></span> <span class="floatLeft advancedOptionsText">'+me.labels[options.language]["advOptionsLink"]+"</span>")}else{$(".advancedOptions").css("display","none");$(".advOptionsLink").html('<span class="mainSprite littleArrowBlackRight floatLeft advOptionsArrow"></span> <span class="floatLeft advancedOptionsText">'+me.labels[options.language]["advOptionsLink"]+"</span>")}})};this.templateMultipleDestinations='														  <div class="lineMD">															  <h3 class="titleMD"></h3>															  <p>															  		<label class="LblAutocompleteMultipleDestinationsOrigin"></label>															  		<input class="autocompleteMultipleDestinationsOrigin" type="text" />																	<span class="mainSprite errorIcon"></span> 															  </p>															  <p>															  		<label class="LblAutocompleteMultipleDestinationsDestination">b</label>															  		<input class="autocompleteMultipleDestinationsDestination" type="text" />																	<span class="mainSprite errorIcon"></span> 															  		<span class="errorText"></span> 															  </p>															  <p class="calendarLine">															  		<label class="LblCalendarMultipleDestinations">a</label>															  		<input class="calendarMultipleDestinations" type="text" />																	<span class="mainSprite errorIcon"></span> 															  		<span class="errorText"></span> 															  </p>														  </div>';this.multipleDestinations=function(obj){var multipleDestinationsBox=$("<div></div>").addClass("multipleDestinationContainer").hide();var autocompleteValues={labeldefaultOrigin:this.labels[options.language]["defaultOrigin"],labeldefaultOriginDesc:this.labels[options.language]["defaultOriginDesc"],labeldefaultDestination:this.labels[options.language]["defaultDestination"],labeldefaultDestinationDesc:this.labels[options.language]["defaultDestinationDesc"],defaultorigin:options.defaultorigin,defaultorigindesc:options.defaultorigindesc};for(i=1;i<=options.multipledestinationsQuantity;i++){var templateLine=$(this.templateMultipleDestinations).clone();if(options.searchflow=="FlightsWeb"&&options.defaultSearchType=="multipledestinations"){var defaultorigin=(options.defaultorigin).split(",");var defaultorigindesc=(options.defaultorigindesc).split(",");var defaultdestination=(options.defaultdestination).split(",");var defaultdestinationdesc=(options.defaultdestinationdesc).split(",");var datedeparture=(options.datedeparture).split(",");autocompleteValues={labeldefaultOrigin:defaultorigin[(i-1)],labeldefaultOriginDesc:defaultorigindesc[(i-1)],labeldefaultDestination:defaultdestination[(i-1)],labeldefaultDestinationDesc:defaultdestinationdesc[(i-1)],defaultorigin:defaultorigin[(i-1)],defaultorigindesc:defaultorigindesc[(i-1)]}}$(".calendarMultipleDestinations",templateLine).attr("id","mdCalendar"+i);$(".titleMD",templateLine).html(this.labels[options.language]["Tract"]+i);var optionsCalendar={};if(i>1){if(options.searchflow=="FlightsWeb"&&options.defaultSearchType=="multipledestinations"){optionsCalendar={tripType:"return",shownMonths:2,product:"vue",inputRelatedID:"mdCalendar"+(i-1),language:options.language,configuration:options.configuration,defaultDate:datedeparture[(i-1)]}}else{optionsCalendar={tripType:"return",shownMonths:2,product:"vue",inputRelatedID:"mdCalendar"+(i-1),language:options.language,configuration:options.configuration}}$(".autocompleteMultipleDestinationsOrigin",templateLine).attr("id","autocompleteMultipleDestinationsOrigin"+i).autocomplete({url:options.url,minChars:3,initialValue:autocompleteValues.labeldefaultOrigin,initialText:autocompleteValues.labeldefaultOriginDesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,languaje:options.language,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true})}else{if(options.searchflow=="FlightsWeb"&&options.defaultSearchType=="multipledestinations"){optionsCalendar={tripType:"go",shownMonths:2,product:"vue",inputRelatedID:"mdCalendar"+i,language:options.language,configuration:options.configuration,defaultDate:datedeparture[(i-1)]}}else{optionsCalendar={tripType:"go",shownMonths:2,product:"vue",inputRelatedID:"mdCalendar"+i,language:options.language,configuration:options.configuration}}$(".autocompleteMultipleDestinationsOrigin",templateLine).attr("id","autocompleteMultipleDestinationsOrigin"+i).autocomplete({url:options.url,minChars:3,initialValue:autocompleteValues.defaultorigin,initialText:autocompleteValues.defaultorigindesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language})}$(".autocompleteMultipleDestinationsDestination",templateLine).attr("id","autocompleteMultipleDestinationsDestination"+i).autocomplete({url:options.url,minChars:3,initialValue:autocompleteValues.labeldefaultDestination,initialText:autocompleteValues.labeldefaultDestinationDesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$(".calendarMultipleDestinations",templateLine).calendar(optionsCalendar);multipleDestinationsBox.append(templateLine)}$(".LblAutocompleteMultipleDestinationsOrigin",multipleDestinationsBox).html(this.labels[options.language]["originLabel"]);$(".LblAutocompleteMultipleDestinationsDestination",multipleDestinationsBox).html(this.labels[options.language]["destinationLabel"]);$(".LblCalendarMultipleDestinations",multipleDestinationsBox).html(this.labels[options.language]["checkindateLabel"]);$(".roundtripContainer").hide();$("#roundtriplbl").removeClass("lblRadioSelected");$("#multipleDestinationslbl").addClass("lblRadioSelected");$("#onewaylbl").removeClass("lblRadioSelected");if(options.multipledestinationsQuantity<6){multipleDestinationsBox.append($("<a></a>").addClass("linkAddMore").html(me.labels[options.language]["lblAddTract"]).click(function(e){var quantity=$(".lineMD",$(".multipleDestinationContainer")).length;if(quantity<6){var templateLine=$(me.templateMultipleDestinations).clone().hide();$(".calendarMultipleDestinations",templateLine).attr("id","mdCalendar"+(quantity+1));$(".titleMD",templateLine).html(me.labels[options.language]["Tract"]+(quantity+1));if(quantity==5){$(".linkAddMore",$(".multipleDestinationContainer")).hide()}var optionsCalendar={};optionsCalendar={tripType:"return",language:options.language,shownMonths:2,configuration:options.configuration,product:"vue",inputRelatedID:"mdCalendar"+(quantity)};$(".autocompleteMultipleDestinationsOrigin",templateLine).attr("id","autocompleteMultipleDestinationsOrigin"+(quantity+1)).autocomplete({url:options.url,minChars:3,initialValue:me.labels[options.language]["defaultOrigin"],initialText:me.labels[options.language]["defaultOriginDesc"],maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$(".autocompleteMultipleDestinationsDestination",templateLine).attr("id","autocompleteMultipleDestinationsDestination"+(quantity+1)).autocomplete({url:options.url,minChars:3,initialValue:me.labels[options.language]["defaultDestination"],initialText:me.labels[options.language]["defaultDestinationDesc"],maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$(".calendarMultipleDestinations",templateLine).calendar(optionsCalendar);$(".LblAutocompleteMultipleDestinationsOrigin",templateLine).html(me.labels[options.language]["originLabel"]);$(".LblAutocompleteMultipleDestinationsDestination",templateLine).html(me.labels[options.language]["destinationLabel"]);$(".LblCalendarMultipleDestinations",templateLine).html(me.labels[options.language]["checkindateLabel"]);$(".linkAddMore",$(".multipleDestinationContainer")).before(templateLine);templateLine.slideDown("slow")}}))}$(".tripType").after(multipleDestinationsBox);if($.browser.msie&&$.browser.version.substr(0,1)<7){multipleDestinationsBox.slideDown("fast")}else{multipleDestinationsBox.slideDown("slow")}$(".advOptionsContainer",multipleDestinationsBox.parent()).slideUp("fast");$(".searchBusinessOnly",multipleDestinationsBox.parent()).slideUp("fast");$(obj).unbind("click");$(obj).click(function(e){$("#labelageflights",$(".roomsdetails")).html(me.labels[options.language]["ageTitle1"]+me.labels[options.language]["ageTitle2"]);$(".roundtripContainer").slideUp("fast");$(".roundtripContainer").hide();$(".multipleDestinationContainer").slideDown("slow");$("#roundtriplbl").removeClass("lblRadioSelected");$("#multipleDestinationslbl").addClass("lblRadioSelected");$("#onewaylbl").removeClass("lblRadioSelected");$(".advOptionsContainer",$(".multipleDestinationContainer").parent()).fadeOut("slow");$(".searchBusinessOnly",$(".multipleDestinationContainer").parent()).fadeOut("slow");$("#paxselection").addClass("paxselectionMargin")})};this.setOrigin=function(name,value){$("#origin",target)[0].obj.initialValue(name,value)};this.setDestination=function(name,value){$("#destination",target)[0].obj.initialValue(name,value)};this.setSovInfo=function(sovId,origin,destination,departureDate,arrivalDate,nonLocalTotalPrice){if(sovId==null){options.sov=null}else{options.sov={sovId:sovId,origin:origin,destination:destination,departureDate:departureDate,arrivalDate:arrivalDate,nonLocalTotalPrice:nonLocalTotalPrice}}};this.validate=function(searchboxFlightBox){var valid=true;var tripType=$("input[type=radio]:checked",searchboxFlightBox).val();switch(tripType){case"MultipleDestinations":var Tracts=$(".lineMD",searchboxFlightBox);var TractActual;var inputOriginTractActual;var inputDestinationTractActual;var inputDateTractActual;var lastValidTractDate;var firstInputVzValidation=null;var lastInputVzValidation=null;var originVzValidation=true;var destinationVzValidation=true;$.each(Tracts,function(e){TractActual=Tracts[e];inputOriginTractActual=$(".autocompleteMultipleDestinationsOrigin",TractActual);inputDestinationTractActual=$(".autocompleteMultipleDestinationsDestination",TractActual);inputDateTractActual=$(".calendarMultipleDestinations",TractActual);if(e==0||(inputOriginTractActual.val()&&inputOriginTractActual.val()!=me.labels[options.language]["defaultOriginDesc"])||(inputDestinationTractActual.val()&&inputDestinationTractActual.val()!=me.labels[options.language]["defaultDestinationDesc"])){inputDateTractActual.parent().find(".errorText").html("");if(inputDateTractActual.data("isValid")){inputDateTractActual.parent().removeClass("errorLabel");inputDateTractActual.parent().find(".errorText").hide();if(lastValidTractDate){var datein=new Despegar.Date();datein.setddmmaaaa(lastValidTractDate.val(),"/");var dateout=new Despegar.Date();dateout.setddmmaaaa(inputDateTractActual.val(),"/");if(datein.compareTo(dateout.getiso())==1){inputDateTractActual.parent().addClass("errorLabel");inputDateTractActual.parent().find(".errorText").html(me.labels[options.language]["errorPreviousDateMD"]).show();valid=false}else{inputDateTractActual.parent().find(".errorText").hide()}}lastValidTractDate=inputDateTractActual}else{inputDateTractActual.parent().addClass("errorLabel");valid=false}if(inputOriginTractActual.val()&&inputOriginTractActual.val()!=me.labels[options.language]["defaultOriginDesc"]){inputOriginTractActual.parent().removeClass("errorLabel")}else{inputOriginTractActual.parent().addClass("errorLabel");valid=false}if(inputDestinationTractActual.val()&&inputDestinationTractActual.val()!=me.labels[options.language]["defaultDestinationDesc"]){inputDestinationTractActual.parent().removeClass("errorLabel");inputDestinationTractActual.parent().find(".errorText").html("");if(inputDestinationTractActual.val()==inputOriginTractActual.val()){inputDestinationTractActual.parent().addClass("errorLabel");inputDestinationTractActual.parent().find(".errorText").html(me.labels[options.language]["errorDestinationEqualOrigin"]);valid=false}if(inputDestinationTractActual.data("dataValue").length==3&&inputOriginTractActual.data("dataValue").length==3){if(inputOriginTractActual.data("dataValue")==inputDestinationTractActual.data("dataValue")){inputDestinationTractActual.parent().addClass("errorLabel");inputDestinationTractActual.parent().find(".errorText").html(me.labels[options.language]["errorDestinationEqualOrigin"]);valid=false}}}else{inputDestinationTractActual.parent().addClass("errorLabel");valid=false}if(valid){if(!firstInputVzValidation){firstInputVzValidation=inputOriginTractActual}lastInputVzValidation=inputDestinationTractActual}}else{inputOriginTractActual.parent().removeClass("errorLabel");inputDestinationTractActual.parent().removeClass("errorLabel");inputDestinationTractActual.parent().find(".errorText").html("");inputDateTractActual.parent().removeClass("errorLabel");inputDateTractActual.parent().find(".errorText").html("")}});if(firstInputVzValidation){if(options.country.toLowerCase()=="ve"){if(venezuelaCities){originVzValidation=false;var originValue=firstInputVzValidation.data("dataValue");for(str in venezuelaCities){if(venezuelaCities[str].toLowerCase()==originValue.toLowerCase()){originVzValidation=true}}}}if(!originVzValidation&&valid){firstInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").html("Por disposiciones vigentes,el origen del tramo 1 y el destino del ultimo tramo tienen que ser ciudades venezolanas");firstInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").css("color","red").show();valid=false}else{firstInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").html("");firstInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").hide()}}if(lastInputVzValidation){if(options.country.toLowerCase()=="ve"){if(venezuelaCities){destinationVzValidation=false;var destinationValue=lastInputVzValidation.data("dataValue");for(str in venezuelaCities){if(venezuelaCities[str].toLowerCase()==destinationValue.toLowerCase()){destinationVzValidation=true}}}}if(!destinationVzValidation&&valid){lastInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").html("Por disposiciones vigentes,el origen del tramo 1 y el destino del ultimo tramo tienen que ser ciudades venezolanas");lastInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").css("color","red").show();valid=false}else{lastInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").html("");lastInputVzValidation.parent().parent().find(".calendarLine").find(".errorText").hide()}}var validPassengers=this.validatePassengers(searchboxFlightBox);if(valid){valid=validPassengers}break;default:var inputReturn=$("#return",searchboxFlightBox);var inputDeparture=$("#departure",searchboxFlightBox);var inputOrigin=$("#origin",searchboxFlightBox);var inputDestination=$("#destination",searchboxFlightBox);valid=this.validatePassengers(searchboxFlightBox);if(inputDeparture.data("isValid")){inputDeparture.parent().removeClass("errorLabel")}else{inputDeparture.parent().addClass("errorLabel");valid=false}if(tripType=="RoundTrip"){inputReturn.parent().find(".errorText").html("");if(inputReturn.data("isValid")){inputReturn.parent().removeClass("errorLabel");if(valid){var datein=new Despegar.Date();datein.setddmmaaaa(inputDeparture.val(),"/");var dateout=new Despegar.Date();dateout.setddmmaaaa(inputReturn.val(),"/");if(datein.compareTo(dateout.getiso())==1){inputReturn.parent().addClass("errorLabel");inputReturn.parent().find(".errorText").html(this.labels[options.language]["errorPreviousDate"]);valid=false}}}else{inputReturn.parent().addClass("errorLabel");valid=false}}if(inputDestination.val().length==0||inputDestination.val()==this.labels[options.language]["defaultDestinationDesc"]){inputDestination.parent().addClass("errorLabel");valid=false}else{if(inputDestination.val()==inputOrigin.val()){inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorText").html(this.labels[options.language]["errorDestinationEqualOrigin"]);valid=false}else{inputDestination.parent().removeClass("errorLabel");inputDestination.parent().find(".errorText").html("")}if(inputDestination.data("dataValue").length==3&&inputOrigin.data("dataValue").length==3){if(inputOrigin.data("dataValue")!=inputDestination.data("dataValue")){var vzValidation=true;if(options.country.toLowerCase()=="ve"){if(venezuelaCities){vzValidation=false;var originValue=inputOrigin.data("dataValue");var destinationValue=inputDestination.data("dataValue");for(str in venezuelaCities){if((venezuelaCities[str].toLowerCase()==originValue.toLowerCase())||(venezuelaCities[str].toLowerCase()==destinationValue.toLowerCase())){vzValidation=true}}}}if(vzValidation){inputDestination.parent().removeClass("errorLabel");inputDestination.parent().find(".errorText").html("")}else{inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorText").html("El origen o destino debe pertenecer a Venezuela");valid=false}}else{inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorText").html(this.labels[options.language]["errorDestinationEqualOrigin"]);valid=false}}}if(inputOrigin.val().length==0||inputOrigin.val()==this.labels[options.language]["defaultOriginDesc"]){inputOrigin.parent().addClass("errorLabel");valid=false}else{inputOrigin.parent().removeClass("errorLabel")}break}return valid};this.validatePassengers=function(searchboxFlightBox){var valid=true;var noAgeChilds=$(".selectAge[value=-1]:visible").length;var infQuantity=$(".selectAge[value=0]:visible").length;var adtQuantity=parseInt($(".selectAge[value=12]:visible").length)+parseInt($(".selectAdt").val());var cnnQuantity=parseInt($(".selectAge[value=3]:visible").length)+parseInt($(".selectAge[value=4]:visible").length);$("#paxselection",searchboxFlightBox).removeClass("errorLabel");$(".ageselectsbox .errorText",$("#paxselection",searchboxFlightBox)).remove();$(".selectAge").removeClass("errorCustom");$(".errorIcon",$("#paxselection")).remove();if(noAgeChilds==0){if(adtQuantity<infQuantity){$("#paxselection",searchboxFlightBox).addClass("errorLabel");$(".ageselectsbox",$("#paxselection",searchboxFlightBox)).append($("<span class='errorText'></span>").html(this.labels[options.language]["errorInfQuantity"]));$(".selectAge[value=0]:visible").slice(parseInt($("#selectAdtFlights").val())).addClass("errorCustom");$("#selectCnnFlights",searchboxFlightBox).addClass("errorCustom");valid=false}}else{$("#paxselection",searchboxFlightBox).addClass("errorLabel");$(".selectAge[value=-1]:visible").addClass("errorCustom").after('<span class="mainSprite errorIcon"></span>');valid=false}return valid};this.setFlow=function(flow){flowVersion=flow};this.searchFlights=function(){if(options.doABTesting=="1"&&options.brand.toLowerCase()=="despegar"&&options.abTesting.alternatives.length>1){var dataABTest=options.abTesting;$.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.pickFlow=function(flow){var mdParameters=new Array();var mdRepeater=$(".lineMD:visible",$(".multipleDestinationContainer"));var airlinePref="NA";var departureTime=$(".departureTime",$(target)).val()||"NA";var returnTime=$(".returnTime",$(target)).val()||"NA";var stopQuantity=$(".stopQuantity",$(target)).val()||"NA";var classPref=$(".classPref",$(target)).val()||"NA";var isAdvSearch=0;if($(".advancedOptions:visible",$(".advOptionsContainer")).length>0){if($(".airlinePref",$(target)).data("dataValue").length>0){airlinePref=$(".airlinePref",$(target)).data("dataValue")}}else{if(options.defaultAirline){airlinePref=options.defaultAirline;isAdvSearch=1}if(options.optionBusinessOnly){classPref=($("#searchBusinessOnlyChkBox",$(target)).is(":checked"))?"C":classPref;isAdvSearch=($("#searchBusinessOnlyChkBox",$(target)).is(":checked"))?1:isAdvSearch}}$.each(mdRepeater,function(e){var actualTract=mdRepeater[e];var tract={origin:$(".autocompleteMultipleDestinationsOrigin",actualTract).data("dataValue"),destination:$(".autocompleteMultipleDestinationsDestination",actualTract).data("dataValue"),originDesc:$(".autocompleteMultipleDestinationsOrigin",actualTract).val(),destinationDesc:$(".autocompleteMultipleDestinationsDestination",actualTract).val(),date:$(".calendarMultipleDestinations",actualTract).val()};mdParameters.push(tract)});var parameters={country:options.country,origin:$("#origin",$(target)).data("dataValue"),destination:$("#destination",$(target)).data("dataValue"),originDesc:$("#origin",$(target)).val(),destinationDesc:$("#destination",$(target)).val(),departureDate:$("#departure",$(target)).val(),returnDate:$("#return",$(target)).val(),tripType:$("input[type=radio]:checked",$(target)).val(),inf:$(".searchBoxFlights .selectAge[value=0]:visible").length,adt:parseInt($(".searchBoxFlights .selectAge[value=12]:visible").length)+parseInt($(".searchBoxFlights .selectAdt").val()),cnn:parseInt($(".searchBoxFlights .selectAge[value=3]:visible").length)+parseInt($(".searchBoxFlights .selectAge[value=4]:visible").length),advSearch:(isAdvSearch)?isAdvSearch:$(".advancedOptions:visible",$(".advOptionsContainer")).length,stopQuantity:stopQuantity,airlinePref:airlinePref,classPref:classPref,departureTime:departureTime,returnTime:returnTime,mdtracts:mdRepeater.length,mdParameters:mdParameters,searchHotelsToo:$("#searchHotelsTooChkBox:checked",$(target)).length,qstring:options.qstring,projectPathName:options.projectPathName};if(parameters.tripType!="MultipleDestinations"){if(parameters.origin==""||parameters.destination==""){var dateSplited=parameters.departureDate.split("/");var departureDate=dateSplited[2]+"-"+dateSplited[1]+"-"+dateSplited[0];dateSplited=parameters.returnDate.split("/");var returnDate=dateSplited[2]+"-"+dateSplited[1]+"-"+dateSplited[0];parameters.disambiguation='{ "ItineraryType" : '+(parameters.tripType=="oneWay"?"1":"2")+',"Origins" : ["'+parameters.origin+'"],"OriginsNames" : ["'+parameters.originDesc+'"],"Destinations" : ["'+parameters.destination+'"],"DestinationsNames" : ["'+parameters.destinationDesc+'"],"DepartureDates" : ["'+departureDate+'"],"ReturnDate" : "'+returnDate+'","Adults" : '+parameters.adt+',"Children" : '+parameters.cnn+',"Infants" : '+parameters.inf+" }"}}else{var mdDisambiguate=false;var origins="",destinations="",originsNames="",destinationsNames="",dates="";$.each(parameters.mdParameters,function(e){var actualTract=parameters.mdParameters[e];if((actualTract.origin!=""||(actualTract.originDesc!=""&&actualTract.originDesc!=me.labels[options.language]["defaultOriginDesc"]))&&(actualTract.destination!=""||(actualTract.destinationDesc!=""&&actualTract.destinationDesc!=me.labels[options.language]["defaultDestinationDesc"]))&&actualTract.date!=""&&actualTract.date!="dd/mm/aaaa"){if(actualTract.origin==""||actualTract.destination==""){mdDisambiguate=true}if(e!=0){origins+=",";destinations+=",",originsNames+=",";destinationsNames+=",",dates+=","}origins+='"'+actualTract.origin+'"';destinations+='"'+actualTract.destination+'"';originsNames+='"'+actualTract.originDesc+'"';destinationsNames+='"'+actualTract.destinationDesc+'"';var dateSplited=actualTract.date.split("/");dates+='"'+dateSplited[2]+"-"+dateSplited[1]+"-"+dateSplited[0]+'"'}});if(mdDisambiguate){parameters.disambiguation='{ "ItineraryType" : 3,"Origins" : ['+origins+'],"OriginsNames" : ['+originsNames+'],"Destinations" : ['+destinations+'],"DestinationsNames" : ['+destinationsNames+'],"DepartureDates" : ['+dates+'],"ReturnDate" : "","Adults" : '+parameters.adt+',"Children" : '+parameters.cnn+',"Infants" : '+parameters.inf+" }"}}if(options.sov!=null&&parameters.tripType=="RoundTrip"&&parameters.origin==options.sov.origin&&parameters.destination==options.sov.destination&&parameters.adt==1&&parameters.cnn==0&&parameters.inf==0){parameters.qstring="?sI="+options.sov.sovId+"&dD="+options.sov.departureDate.replace(/\//gi,"-")+"&aD="+options.sov.arrivalDate.replace(/\//gi,"-")+"&nlp="+options.sov.nonLocalTotalPrice}var tracking={cod:options.trackingCod,id:options.trackingId,brand:options.trackingBrand};if(options.callBackRedirect){options.callBackRedirect()}if(eval("Despegar.Flights.FlightFlows."+flow)!=undefined){eval("var searchObject = new Despegar.Flights.FlightFlows."+flow);if(options.remembersearch==1){Common.Utils.Cookie.CreateCookie("tabSelected",options.idTab,options.daysToExpireCookies);searchObject.saveSearchOnCookie(parameters,options.daysToExpireCookies)}searchObject.searchFlights(parameters,location.host,tracking)}else{eval("var searchObject = new Despegar.Flights.FlightFlows."+this.defaultsearchflow);searchObject.searchFlights(parameters,location.host,tracking)}if(options.openAdvancedOptions){$(".buscarBtn",$(target)).removeClass("btnDisabled")}};this.setSearchType=function(searchType){var $input;switch(searchType.toLowerCase()){case"oneway":$input=$("#oneway");break;case"multipledestinations":$input=$("#multipleDestinations");break;case"roundtrip":default:$input=$("#roundtrip")}$input.trigger("click")};var options=options||{};options.country=options.country||"mx";options.brand=options.brand||"";options.datedeparture=options.datedeparture||"dd/mm/aaaa";options.datereturn=options.datereturn||"dd/mm/aaaa";options.language=options.language||"es";options.searchflow=options.searchflow||this.defaultsearchflow;options.maxpaxroom=options.maxpax||8;options.defaultpaxs=options.defaultpaxs||1;options.defaultpaxscnn=options.defaultpaxscnn||0;options.defaultpaxsinf=options.defaultpaxsinf||0;options.maxcnnroom=options.maxcnn||7;options.multipledestinationsQuantity=options.multipledestinationsQuantity||3;options.defaultdestination=options.defaultdestination||this.labels[options.language]["defaultDestination"];options.defaultdestinationdesc=options.defaultdestinationdesc||this.labels[options.language]["defaultDestinationDesc"];options.defaultorigin=options.defaultorigin||this.labels[options.language]["defaultOrigin"];options.defaultorigindesc=options.defaultorigindesc||this.labels[options.language]["defaultOriginDesc"];options.defaultSearchType=options.defaultSearchType||"roundtrip";options.smallRooms=options.smallRooms||0;options.trackingCod=options.trackingCod||"cob";options.trackingId=options.trackingId||null;options.trackingBrand=options.trackingBrand||"";options.remembersearch=options.remembersearch||0;options.daysToExpireCookies=options.daysToExpireCookies||30;options.sov=options.sov||null;options.callBackRedirect=options.callBackRedirect||false;options.TC=options.TC||(typeof(TC)!="undefined"?TC:{});options.TA=options.TA||(typeof(TA)!="undefined"?TA:{});options.openAdvancedOptions=options.openAdvancedOptions||false;options.defaultAirline=options.defaultAirline||"";options.defaultAirlineText=options.defaultAirlineText||null;options.defaultClassPref=options.defaultClassPref||"NA";options.optionBusinessOnly=options.optionBusinessOnly||false;options.url=options.url||"/Flights.Services/Commons/AutoComplete.svc";options.qstring=options.qstring||"";options.projectPathName=options.projectPathName||"shop/flights";options.defaultOutboundHour=options.defaultOutboundHour||"NA";options.defaultStopsQuantity=options.defaultStopsQuantity||"NA";options.defaultInboundHour=options.defaultInboundHour||"NA";options.abTesting=options.abTesting||"";options.doABTesting=options.doABTesting||"0";this.render()};registerNameSpace("Despegar.Flights.FlightFlows");Despegar.Flights.FlightFlows.Revancha=function(){var b=this;var c="revancha";var d=(typeof globalObjects!="undefined")?(globalObjects.FlightsAnticipatedSearch||false):false;this.searchFlights=function(g,f,n){var l=Despegar.SearchBox.SearchResolver.buildRevanchaUrl(g);if(g.searchHotelsToo==1){b.searchHotelsForThisTrip(f,g);Common.Utils.Cookie.CreateCookie("OMNITURE_SEARCH_FLIGHTS_HOTELS",1)}else{Common.Utils.Cookie.EraseCookie("OMNITURE_SEARCH_FLIGHTS_HOTELS")}if(typeof g.disambiguation=="undefined"){if(n.id!=null){window.open(b.hostParameters(g.country)+b.trackingParameters(n)+escape(l)+"?"+g.qstring);$("#searchBoxFlights > .btnDisabled").removeClass("btnDisabled")}else{Despegar.SearchBox.SearchResolver.resolveSearch(g,c,d)}}else{var k=null;var e=$("<form method='post'></form>");if(n.id!=null){$(e).attr("target","_blank");k=b.hostParameters(g.country)+b.trackingParameters(n)+escape("/search/Disambiguation/Disambiguation.aspx")}else{k="/search/Disambiguation/Disambiguation.aspx"}$(e).attr("action",k);e.appendTo("body");e.html($("<input id='inputHiddenData' name='data' type='hidden' value='"+g.disambiguation+"'/>"));e.submit()}};this.trackingParameters=function(e){return"Contents/Tracking/"+e.cod+"/"+e.id+"?url2post="};this.hostParameters=function(e){var f="";switch(e){case"uy":case"us":f="http://www."+e+"despegar.com/";break;case"cl":case"hn":f="http://www.despegar."+e+"/";break;case"br":if(brand=="viajo"){f="http://www.viajo.com"+e+"/"}else{if(brand=="carrefour"){f="http://voos.carrefourviagens.com.br"}else{f="http://www.decolar.com"}}break;default:if(brand=="viajo"){f="http://www.viajo.com"+e+"/"}else{f="http://www.despegar.com"+e+"/"}break}return f};this.saveSearchOnCookie=function(f,e){Common.Utils.Cookie.CreateCookie("flight-Revancha",escape(JSON.stringify(f)),e)};this.reportLog=function(l){var g=new Despegar.HotelsReportLogData();var f=new b.FlowStage();var k=new Despegar.Date();g.CheckIn=k.createJSonDate(new Date(k.getAmericandDate(l.checkin)));g.CheckOut=k.createJSonDate(new Date(k.getAmericandDate(l.checkout)));g.Distribution=l.roomsDetails.roomsSerialize;g.Destination=l.destination;g.Stage=f.Home;var e=new Despegar.Logger();e.LogReport(g)};this.urlTransform=function(f){var e;if(f=="localhost"){e=["desa","mx","despegar","com"]}else{e=f.split(".")}var k="http://";if(e.length==3){var g=Common.Utils.Ajax({url:"http://"+f+"/IpService/IPWatcher.ashx",async:false});if(!g){g="mx"}k+=(Common.Utils.GetUrlBrand(e[1],g))}else{if(e[e.length-1].indexOf("com")>=0||e[e.length-1].indexOf("it")>=0){k+=f}else{k+=(Common.Utils.GetUrlBrand(e[1],e[3]))}}return k};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.searchHotelsForThisTrip=function(k,f){var g=true;for(var e=0;e<1;e++){g=(g&&b.singlewindow(e,"Despegar",1,f,k))}window.focus();return g};this.singlewindow=function(l,f,r,s,k){if(!s.destination){return false}var o=f;try{var p=s.adt+s.cnn+s.inf;if(p>4){p=2}var q="height=800,width=800,menubar=1,location=1,resizable=1,scrollbars=1,toolbar=1";var e="/search/Hotels/"+s.destination+"/"+Despegar.SearchBox.SearchResolver.dateTransform(s.hotelCheckInDate)+"/"+Despegar.SearchBox.SearchResolver.dateTransform(s.hotelCheckOutDate)+"/"+p+"/";var n=window.open(e,o,q);n.focus()}catch(g){return false}return true}};registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.SearchResolver=(function(d,f){var e="revancha";var b="flights";var c=100;resolveSearch=function(o,g,l){var k;switch(g){case e:k=buildRevanchaUrl(o);break;case b:k=buildFlightsUrl(o,false);break;default:k=buildRevanchaUrl(o);break}if(l){var n=buildFlightsUrl(o,true);var p=setTimeout(function(){location.href=k},c);d.ajax({url:n,complete:function(q,r){clearTimeout(p);location.href=k}})}else{location.href=k}};buildRevanchaUrl=function(t){switch(t.tripType){case"oneWay":var l="";if(t.advSearch==1&&(t.departureTime!="NA"||t.classPref!="NA"||t.stopQuantity!="NA"||t.airlinePref!="NA")){l="/"+t.departureTime+"/"+t.classPref+"/"+t.stopQuantity+"/"+t.airlinePref}var o="/search/flights/"+t.tripType+"/"+t.origin+"/"+t.destination+"/"+dateTransform(t.departureDate)+"/"+t.adt+"/"+t.cnn+"/"+t.inf+l;t.hotelCheckInDate=t.departureDate;t.hotelCheckOutDate=t.departureDate;break;case"MultipleDestinations":var r="";var p="";var g="";var q;var k;var s=0;d.each(t.mdParameters,function(v){var u=t.mdParameters[v];if(u.origin!=""&&u.destination!=""&&u.date!="dd/mm/aaaa"){if(v!=0){r+=",";p+=",",g+=","}r+=u.origin;p+=u.destination;g+=dateTransform(u.date);s++}});var n;if(s>1){n=t.tripType;q=t.mdParameters[1].date;k=t.mdParameters[0].date}else{n="oneWay";k=t.departureDate;q=t.returnDate}var o="/search/flights/"+n+"/"+r+"/"+p+"/"+g+"/"+t.adt+"/"+t.cnn+"/"+t.inf;t.hotelCheckInDate=k;t.hotelCheckOutDate=q;t.destination=t.mdParameters[0].destination;break;default:var l="";if(t.advSearch==1&&(t.departureTime!="NA"||t.returnTime!="NA"||t.classPref!="NA"||t.stopQuantity!="NA"||t.airlinePref!="NA")){l="/"+t.departureTime+"/"+t.returnTime+"/"+t.classPref+"/"+t.stopQuantity+"/"+t.airlinePref}var o="/search/flights/"+t.tripType+"/"+t.origin+"/"+t.destination+"/"+dateTransform(t.departureDate)+"/"+dateTransform(t.returnDate)+"/"+t.adt+"/"+t.cnn+"/"+t.inf+l;t.hotelCheckInDate=t.departureDate;t.hotelCheckOutDate=t.returnDate;break}return o};buildFlightsUrl=function(v,k){v.tripType=v.tripType.toLowerCase();var r="/search/";if(k){var r="/data/search/begin/"}switch(v.tripType){case"oneway":var n="";if(v.advSearch==1&&(v.departureTime!="NA"||v.classPref!="NA"||v.stopQuantity!="NA"||v.airlinePref!="NA")){n="/"+v.departureTime+"/"+v.classPref+"/"+v.stopQuantity+"/"+v.airlinePref}var p="/"+v.projectPathName+r+v.tripType+"/"+v.origin+"/"+v.destination+"/"+dateTransform(v.departureDate)+"/"+v.adt+"/"+v.cnn+"/"+v.inf+n;v.hotelCheckInDate=v.departureDate;v.hotelCheckOutDate=v.departureDate;break;case"multipledestinations":var t="";var q="";var g="";var s;var l;var u=0;d.each(v.mdParameters,function(x){var w=v.mdParameters[x];if(w.origin!=""&&w.destination!=""&&w.date!="dd/mm/aaaa"){if(x!=0){t+=",";q+=",",g+=","}t+=w.origin;q+=w.destination;g+=dateTransform(w.date);u++}});var o;if(u>1){o=v.tripType;s=v.mdParameters[1].date;l=v.mdParameters[0].date}else{o="oneway";l=v.departureDate;s=v.returnDate}o=o.toLowerCase();var p="/"+v.projectPathName+r+o+"/"+t+"/"+q+"/"+g+"/"+v.adt+"/"+v.cnn+"/"+v.inf;v.hotelCheckInDate=l;v.hotelCheckOutDate=s;v.destination=v.mdParameters[0].destination;break;default:var n="";if(v.advSearch==1&&(v.departureTime!="NA"||v.returnTime!="NA"||v.classPref!="NA"||v.stopQuantity!="NA"||v.airlinePref!="NA")){n="/"+v.departureTime+"/"+v.returnTime+"/"+v.classPref+"/"+v.stopQuantity+"/"+v.airlinePref}var p="/"+v.projectPathName+r+v.tripType+"/"+v.origin+"/"+v.destination+"/"+dateTransform(v.departureDate)+"/"+dateTransform(v.returnDate)+"/"+v.adt+"/"+v.cnn+"/"+v.inf+n;v.hotelCheckInDate=v.departureDate;v.hotelCheckOutDate=v.returnDate;break}return p};dateTransform=function(g){var k=g.split("/");return k[2]+"-"+k[1]+"-"+k[0]};return{resolveSearch:resolveSearch,buildRevanchaUrl:buildRevanchaUrl,buildFlightsUrl:buildFlightsUrl,dateTransform:dateTransform}}(jQuery));jQuery.fn.searchBoxFlights=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.Flights.SearchBoxFlights(e,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()}};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.Cruises");Despegar.Cruises.SearchBoxCruises=function(target,options){this.render=function(){if(options.remembersearch==1){try{var parametersCookie=Common.Utils.Cookie.ReadCookie("cruise-"+options.searchflow);cookieSearch=true;if(parametersCookie){var parametersObj=JSON.parse(unescape(parametersCookie));options.defaultregion=parametersObj.region;options.defaultperiod=parametersObj.period;if(!options.hideDuration){options.defaultduration=parametersObj.duration}}}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 searchboxCruiseBox=$(document.createElement("div")).html(this.boxtemplate);var contentAge=$(document.createElement("div")).html(this.agetemplate);if(options.hideDuration){$("#durationselection",searchboxCruiseBox).hide()}$("#labelregion",searchboxCruiseBox).html(this.labels[options.language]["regionLabel"]);$("#labelperiod",searchboxCruiseBox).html(this.labels[options.language]["periodLabel"]);$("#labelduration",searchboxCruiseBox).html(this.labels[options.language]["durationLabel"]);$("#labeladult",searchboxCruiseBox).html(this.labels[options.language]["adultLabel"]);$("#labelyoung",searchboxCruiseBox).html(this.labels[options.language]["youngLabel"]);$(".labelage",searchboxCruiseBox).html(this.labels[options.language]["ageLabel"]);$("#btnLabel",searchboxCruiseBox).html(this.labels[options.language]["btnLabel"]);$(".buscarBtn",searchboxCruiseBox).click(function(e){if(me.validate(searchboxCruiseBox)){$(this).addClass("btnDisabled");me.searchCruises()}});$("#region",searchboxCruiseBox).change(function(e){});$("#young",searchboxCruiseBox).change(function(e){me.changeSelectAge($(this).val(),searchboxCruiseBox,contentAge)});this.createRegionDropdown($("#region",searchboxCruiseBox));this.createPeriodDropdown($("#period",searchboxCruiseBox));this.createDurationDropdown($("#duration",searchboxCruiseBox));this.createAdultDropdown($("#adult",searchboxCruiseBox));this.createAgeDropdown($("select",contentAge));this.createYoungDropdown(searchboxCruiseBox,contentAge);if(options.defaultAges){var arrAges=options.defaultAges.split(",");if(arrAges.length>0){$(".contentAge select",searchboxCruiseBox).each(function(i,e){$("option[value='"+arrAges[i]+"']",e).attr("selected",true)})}}$(target).append(searchboxCruiseBox)};this.getRegion=function(){var opts="";$.ajax({url:options.serviceRegionPortUrl+options.language,async:false,success:function(region){for(index in region){if(region[index].code==options.defaultregion){opts+='<option value="'+region[index].code+'" selected>'+region[index].name+"</option>"}else{opts+='<option value="'+region[index].code+'">'+region[index].name+"</option>"}}}});return opts};this.getPeriod=function(){var result="";var year=options.dateYear;var month=options.dateMonth;var nextMonthQty=options.nextMonthQty;for(var i=1;i<=options.showMaxMonth;i++){if(month<=12){if((month.toString()+"-"+year.toString())==options.defaultperiod||(i==nextMonthQty&&!options.defaultperiod)){result+='<option value="'+month.toString()+"-"+year.toString()+'" selected="true" >'+this.months[options.language][month-1]+" "+year+"</option>"}else{result+='<option value="'+month.toString()+"-"+year.toString()+'">'+this.months[options.language][month-1]+" "+year+"</option>"}}else{month=1;year++;if((month.toString()+"-"+year.toString())==options.defaultperiod||(i==nextMonthQty&&!options.defaultperiod)){result+='<option value="'+month.toString()+"-"+year.toString()+'" selected="true" >'+this.months[options.language][month-1]+" "+year+"</option>"}else{result+='<option value="'+month.toString()+"-"+year.toString()+'">'+this.months[options.language][month-1]+" "+year+"</option>"}}month++}return result};this.createRegionDropdown=function(obj){$(obj).append(this.getRegion())};this.createPeriodDropdown=function(obj){$(obj).append(this.getPeriod())};this.createDurationDropdown=function(obj){var SelectOptions='<option value="NA">'+this.labels[options.language]["durationSelect"]+"</>";var scale=0;var cont=Math.ceil(options.maxDuration/(options.scaleDuration+1));for(var i=1;i<=cont;i++){scale++;if(i!=cont){if((scale+"-"+(scale+options.scaleDuration))==options.defaultduration&&options.hideDuration==false){SelectOptions+='<option value="'+scale+"-"+(scale+options.scaleDuration)+'" selected="true" >'+scale+" - "+(scale+options.scaleDuration)+" "+this.labels[options.language].days+"</>"}else{SelectOptions+='<option value="'+scale+"-"+(scale+options.scaleDuration)+'">'+scale+" - "+(scale+options.scaleDuration)+" "+this.labels[options.language].days+"</>"}scale=scale+options.scaleDuration}else{if((scale+"-"+scale)==options.defaultduration){SelectOptions+='<option value="'+scale+"-"+scale+'" selected="true" >'+scale+" + "+this.labels[options.language].days+"</>"}else{SelectOptions+='<option value="'+scale+"-"+scale+'">'+scale+" + "+this.labels[options.language].days+"</>"}}}$(obj).append(SelectOptions)};this.createAdultDropdown=function(obj){var SelectOptions="";for(var i=1;i<=options.maxAdult;i++){if(options.defaultAdult==i){SelectOptions+='<option value="'+i+'" selected>'+i+"</option>"}else{SelectOptions+='<option value="'+i+'">'+i+"</option>"}}$(obj).append(SelectOptions)};this.createYoungDropdown=function(target,contentAge){var SelectOptions="";for(var i=0;i<=options.maxYoung;i++){if(options.defaultYoung==i){SelectOptions+='<option value="'+i+'" selected>'+i+"</option>"}else{SelectOptions+='<option value="'+i+'">'+i+"</option>"}}this.changeSelectAge(options.defaultYoung,target,contentAge);$("#young",target).append(SelectOptions)};this.createAgeDropdown=function(obj){var SelectOptions='<option value="NA">- ? -</option>';for(var i=0;i<=options.maxAge;i++){SelectOptions+='<option value="'+i+'">'+i+"</option>"}$(obj).append(SelectOptions)};this.changeSelectAge=function(cant,target,contentAge){$(".contentSelectAge",target).remove();if(cant>0){for(var i=0;i<cant;i++){$(".contentAge",target).append(contentAge.html())}$(".contentAge",target).show()}else{$(".contentAge",target).hide()}};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 region=$("#region",searchboxHotelBox);var adult=$("#adult",searchboxHotelBox);var young=$("#young",searchboxHotelBox);if(region.val()!="NA"){region.parent().removeClass("errorLabel");region.removeClass("errorLabel")}else{region.parent().addClass("errorLabel");region.addClass("errorLabel");valid=false}if(young.val()>0){$("select:.age",searchboxHotelBox).each(function(index){if($(this).val()!="NA"){$(this).parent().removeClass("errorLabel");$(this).removeClass("errorLabel")}else{$(this).parent().addClass("errorLabel");$(this).addClass("errorLabel");valid=false}})}return valid};this.getYoungAge=function(){var arrAge=[];$(".age",target).each(function(index){arrAge.push($(this).val())});return(arrAge.length==0)?"NA":arrAge};this.pickFlow=function(flow){var parameters={country:options.country,region:$("#region",$(target)).val(),period:$("#period",$(target)).val(),duration:$("#duration",$(target)).val(),adult:$("#adult",$(target)).val(),young:$("#young",$(target)).val(),age:this.getYoungAge(),brand:options.brand};if(eval("Despegar.Cruises.CruiseFlows."+flow)!=undefined){eval("var searchObject = new Despegar.Cruises.CruiseFlows."+flow);if(options.remembersearch==1){Common.Utils.Cookie.CreateCookie("tabSelected",options.idTab,options.daysToExpireCookies);searchObject.saveSearchOnCookie(parameters,options.daysToExpireCookies)}searchObject.searchCruises(parameters,location.host)}else{eval("var searchObject = new Despegar.Cruises.CruiseFlows."+this.defaultsearchflow);searchObject.searchCruises(parameters,location.host)}};this.searchCruises=function(){this.pickFlow(options.searchflow)};this.months={pt:["Janeiro ","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],es:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]};this.regionDefaults={ar:"SOA",br:"BRA",mx:"CAR"};this.labels={es:{btnLabel:"Buscar",regionLabel:"Región",periodLabel:"Mes de partida",durationLabel:"Duración",errorPeriod:"Error mes de partida",errorDuration:"Error duracion",durationSelect:"Todas",adultLabel:"Adultos",youngLabel:"Menores",ageLabel:"Edad (Años)",bestPriceLogo:"logoMejorPrecioSpanish",days:"días"},pt:{btnLabel:"Procurar",regionLabel:"Região",periodLabel:"Mês de partida",durationLabel:"Duração",errorPeriod:"Error mes de partida",errorDuration:"Error duracion",durationSelect:"Todas",adultLabel:"Adultos",youngLabel:"Crianças",ageLabel:"Idade (anos)",bestPriceLogo:"logoMejorPrecioPortuguesse",days:"dias"}};this.defaultsearchflow="Cruise";var options=options||{};options.country=options.country||"br";options.language=options.language.toLowerCase()||"pt";options.maxDuration=options.maxDuration||13;options.maxAdult=options.maxAdult||4;options.maxYoung=options.maxYoung||3;options.maxAge=options.maxAge||11;options.showMaxMonth=options.showMaxMonth||24;options.scaleDuration=options.scaleDuration||5;options.searchflow=options.searchflow||this.defaultsearchflow;options.defaultduration=options.defaultduration||this.labels[options.language]["defaultduration"];options.defaultperiod=options.defaultperiod||this.labels[options.language]["defaultperiod"];options.nextMonthQty=options.nextMonthQty||4;options.defaultregion=options.defaultregion||this.regionDefaults[options.country.toLowerCase()];options.defaultAdult=options.defaultAdult||2;options.defaultYoung=options.defaultYoung||0;options.defaultAges=options.defaultAges||0;options.showBestPrice=options.showBestPrice||false;options.btnClass=options.btnClass||"btnRed";options.brand=options.brand||this.getBrandFromUrl();options.hideDuration=options.hideDuration||false;options.daysToExpireCookies=options.daysToExpireCookies||30;options.remembersearch=options.remembersearch||0;options.dateYear=options.dateYear||(new Date()).getFullYear();options.dateMonth=options.dateMonth||((new Date()).getMonth()+1);options.serviceRegionPortUrl=options.serviceRegionPortUrl||"/cruises/site/getRegions/";this.exists=false;this.target=target;var me=this;this.agetemplate='<span class="contentSelectAge"><select class="age"></select><span class="commonSprite errorCrossIcon"></span></span>';this.boxtemplate='									<div id="cruiseselection"> 										<p id="regionselection" class="regionselection"> 												<label id="labelregion" for="region"></label> 												<select id="region" class="regionselect"></select> 												<span class="commonSprite errorCrossIcon"></span> 												<span class="errorText"></span> 										</p> 										<p id="periodselection" class="periodselection"> 												<label id="labelperiod" for="perdiod"></label> 												<select id="period" class="periodselect"></select> 												<span class="commonSprite errorCrossIcon"></span> 												<span class="errorText"></span> 										</p> 										<p id="durationselection" class="durationselection"> 												<label id="labelduration" for="duration"></label> 												<select id="duration" class="durationselect"></select> 												<span class="commonSprite errorCrossIcon"></span> 												<span class="errorText"></span> 										</p> 										<div id="paxselection" class="paxselection"> 											<p> 												<label id="labeladult"></label> 												<select id="adult"></select> 											</p> 											<p> 												<label id="labelyoung"></label> 												<select id="young"></select> 											</p> 											<p class="contentAge"> 												<label class="labelage"></label> 											</p> 										</div> 									</div> 									<div class="btnLine"> 										<button class="'+options.btnClass+' btnHome buscarBtn" type="button"> 											<span> 												<em id="btnLabel"></em> 											</span> 										</button> 									</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()};registerNameSpace("Despegar.Cruises.CruiseFlows");Despegar.Cruises.CruiseFlows.Cruise=function(){var b=this;this.searchCruises=function(d,c){var f="";var e="";if(d.duration!="NA"&&d.duration){e="#/dp=0&sp=0&d="+d.duration+"&st=0&c=0&s=0&o=0&ddf=0&ddt=0&cc=economic"}f+="/cruises/search/"+d.region+"/"+d.period+"/"+d.duration+"/"+d.adult+"/"+d.young+"/"+d.age+"/"+e;location.href=f};this.saveSearchOnCookie=function(d,c){Common.Utils.Cookie.CreateCookie("cruise-Cruise",escape(JSON.stringify(d)),c)};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"||bran=="previagem"){return"http://www.previagem.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.searchBoxCruises=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.Cruises.SearchBoxCruises(e,b)});return this};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}}};registerNameSpace("Despegar.FlightsAndHotels");Despegar.FlightsAndHotels.SearchBoxFlightsAndHotels=function(target,options){this.exists=false;this.target=target;this.defaultsearchflow="Revancha";var me=this;var searchboxFlightsAndHotelBox;this.boxtemplate='	<!--[if lte IE 8 ]>										<span class="commonSprite topRightCorner searchBoxCornerTR"></span>									<![endif]-->									<p id="originline" class="originline"> 											<label id="labelorigin" for="origin"></label> 											<input type="text" id="origin" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="destinationline" class="destinationline"> 											<label id="labeldestination" for="destination"></label> 											<input type="text" id="destination" class="autocompleteInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="checkinline" class="checkinline"> 											<label id="labelcheckin" for="checkin"></label> 											<input type="text" id="checkin" class="dateInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<p id="checkoutline" class="checkoutline"> 											<label id="labelcheckout" for="checkout"></label> 											<input type="text" id="checkout" class="dateInput"/> 											<span class="mainSprite errorIcon"></span> 											<span class="errorText"></span> 										</p> 										<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" ></label> 													<label id="labelcnn" class="labelcnn" ></label> 													<label id="labelage" class="labelage" ></label> 													'+(options.requestCnnAge?'<label id="labelageinfs" class="labelageinfs"></label><div class="clearBox"></div>':"")+' 												</div>											</div> 											<span class="errorText" id="errorTextAdt"></span> 											<span class="errorText" id="errorTextChld"></span> 										</div>';if(options.searchCarsTooBox){this.boxtemplate='<ul class="tripType">													<li>														<input id="flightshotels" type="radio" checked="checked" name="tripType" value="FlightsHotels"/>														<label for="flightshotels" id="flightshotelslbl"></label>													</li>													<li>														<input id="flightshotelscars" type="radio" name="tripType" value="FlightsHotelsCars"/>														<label for="flightshotelscars" id="flightshotelscarslbl"></label>													</li>												</ul>'+this.boxtemplate}if(!options.useLinkButton){this.boxtemplate+='<div class="btnLine"> 													<button class="btnRed 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]-->'}else{this.boxtemplate+='<div class="btnLine"> 													<a class="buscarBtn buttonSprite globalSmallRedButton"> 														<span id="btnLabel"></span> 													</a> 												</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> 											'+(options.requestCnnAge?'<p class="ageselectsboxinfs"></p><div class="clearBox"></div>':"")+" 										</div>";this.labels={es:{adtLabel:"Adultos <span class='passengerAge'>(12+)</span>",cnnLabel:"Menores <span class='passengerAge'>(0-11)</span>",ageLabel:"Edad",ageLabelMessage:"años",originLabel:"Origen",destinationLabel:"Destino",checkindateLabel:"Partida",checkoutdateLabel:"Regreso",defaultDestinationDesc:"Ingrese una ciudad de destino",defaultDestination:"",defaultOriginDesc:"Ingrese una ciudad de origen",defaultOrigin:"",roomslabel:"Alojamiento",flightshotelsLabel:"Vuelo y Hotel",flightshotelscarsLabel:"Vuelo, Hotel y Auto",ageselect:"Elija edad del niño",ageselectShort:"?",oneSmallRoom:"Hab.",oneRoom:"Habitación",singleRoom:"Huéspedes",rooms:"Habitaciones",btnLabel:"Buscar",errorNumAdt:"El número de adultos debe ser menor que 8",errorNumChld:"El número de niños debe ser menor que 4",errorNumInf:"No puede ingresar mas bebés que adultos",errorNumTot:"Por favor, seleccione hasta ocho pasajeros",errorPreviousDate:"El regreso debe ser posterior a la partida",errorOrigin:"El origen ingresado no es valido",errorDestination:"El destino ingresado no es valido",errorDestinationEqualOrigin:"El destino debe ser diferente del origen",howTravel:"Como viaja?",onSeat:"En asiento",onArms:"En brazos",minCharsText1:"Ingrese al menos las primeras ",minCharsText2:" letras, y aguarde a ver los resultados",seeMoreResultsText:"Ver más resultados..."},pt:{adtLabel:"Adultos",cnnLabel:"Crianças",ageLabel:"Idade",ageLabelMessage:"anos",originLabel:"Origem",destinationLabel:"Destino",checkindateLabel:"Ida",checkoutdateLabel:"Volta",defaultDestinationDesc:"Digite a cidade de destino",defaultDestination:"",defaultOriginDesc:"Digite a cidade de partida",defaultOrigin:"",roomslabel:"Acomodação",ageselect:"Escolha a idade da criança",ageselectShort:"?",oneSmallRoom:"Qua.",oneRoom:"Quarto",singleRoom:"Hóspedes",rooms:"Quartos",btnLabel:"Procurar",errorNumAdt:"",errorNumChld:"",errorNumInf:"Não podem viajar mais bebês que adultos",errorNumTot:"Por favor, selecione até oito passageiros",errorPreviousDate:"A volta deve ser depois da data de ida",errorOrigin:"A origem informada não é válida",errorDestination:"O destino informado não é válido",errorDestinationEqualOrigin:"O destino deve ser diferente da origem",howTravel:"Como viaja?",onSeat:"No assento",onArms:"Nos braços",minCharsText1:"Por favor insira as primeiras ",minCharsText2:" letras  e aguardo para ver os resultados",seeMoreResultsText:"Ver mais resultados..."}};this.render=function(){if(options.remembersearch==1){try{var parametersCookie=Common.Utils.Cookie.ReadCookie("flightHotel-"+options.searchflow);if(parametersCookie){var parametersObj=JSON.parse(unescape(parametersCookie));options.returnDate=parametersObj.checkout;options.departureDate=parametersObj.checkin;options.defaultdestination=parametersObj.destination;options.defaultOrigin=parametersObj.origin;options.defaultOriginDesc=parametersObj.originDesc.replace(" ("+parametersObj.origin+")","");options.defaultdestinationdesc=parametersObj.destinationDesc.replace(" ("+parametersObj.destination+")","")}}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)}}}searchboxFlightsAndHotelBox=$(document.createElement("div")).html(this.boxtemplate);$("#labelorigin",searchboxFlightsAndHotelBox).html(this.labels[options.language]["originLabel"]);$("#labeldestination",searchboxFlightsAndHotelBox).html(this.labels[options.language]["destinationLabel"]);$("#labelcheckin",searchboxFlightsAndHotelBox).html(this.labels[options.language]["checkindateLabel"]);$("#labelcheckout",searchboxFlightsAndHotelBox).html(this.labels[options.language]["checkoutdateLabel"]);$("#labelrooms",searchboxFlightsAndHotelBox).html(this.labels[options.language]["roomslabel"]);if(options.searchCarsTooBox){$("#flightshotelslbl",searchboxFlightsAndHotelBox).html(this.labels[options.language]["flightshotelsLabel"]).addClass("lblRadioSelected")}$("#flightshotelscarslbl",searchboxFlightsAndHotelBox).html(this.labels[options.language]["flightshotelscarsLabel"]);$("#labeladt",searchboxFlightsAndHotelBox).html(this.labels[options.language]["adtLabel"]);$("#labelcnn",searchboxFlightsAndHotelBox).html(this.labels[options.language]["cnnLabel"]);$("#labelage",searchboxFlightsAndHotelBox).html(this.labels[options.language]["ageLabel"]).hide();$("#btnLabel",searchboxFlightsAndHotelBox).html(this.labels[options.language]["btnLabel"]);$("#labelageinfs",searchboxFlightsAndHotelBox).html(this.labels[options.language]["howTravel"]).hide();$("#origin",searchboxFlightsAndHotelBox).autocomplete({url:options.url,minChars:3,initialValue:options.defaultOrigin,initialText:options.defaultOriginDesc,maxItemsToShow:5,showValue:!options.notShowValueAutoComplete,showMoreResults:true,type:"vuelos",preCacheData:options.TC,extraParams:[options.language],minCharsLeyend:true,languaje:options.language});$("#destination",searchboxFlightsAndHotelBox).autocomplete({url:options.url,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});$("#checkin",searchboxFlightsAndHotelBox).calendar({tripType:"go",inputRelatedID:"checkout",shownMonths:2,product:"paq",defaultDate:options.departureDate,language:options.language,configuration:options.configuration});$("#checkout",searchboxFlightsAndHotelBox).calendar({tripType:"return",inputRelatedID:"checkin",shownMonths:2,product:"paq",defaultDate:options.returnDate,language:options.language,configuration:options.configuration});if(options.searchCarsTooBox){$("#flightshotels",searchboxFlightsAndHotelBox).click(function(e){$("#flightshotelslbl").addClass("lblRadioSelected");$("#flightshotelscarslbl").removeClass("lblRadioSelected")});$("#flightshotelscars",searchboxFlightsAndHotelBox).click(function(e){$("#flightshotelscarslbl").addClass("lblRadioSelected");$("#flightshotelslbl").removeClass("lblRadioSelected")})}$(".buscarBtn",searchboxFlightsAndHotelBox).click(function(e){if(me.validate(searchboxFlightsAndHotelBox)){$(this).addClass("btnDisabled");me.searchFlightsAndHotels()}});if(!options.showYearOld){$(".yearOldLabel",searchboxFlightsAndHotelBox).hide()}this.createRoomsDropdown($("#rooms",searchboxFlightsAndHotelBox));this.createRoomsRows($("#roomsdetails",searchboxFlightsAndHotelBox));$(target).append(searchboxFlightsAndHotelBox);me.setInitialDistribution();if(options.noPassengerAge){$(".passengerAge",searchboxFlightsAndHotelBox).hide()}};this.setInitialDistribution=function(){if(options.distribution){var roomsDist=options.distribution.split("!");$("#rooms",searchboxFlightsAndHotelBox).val(roomsDist.length).trigger("change");for(var i=0;i<roomsDist.length;i++){var oPassengers=roomsDist[i].split("-");var actualRoom=$(".rowPaxs:eq("+i+")",searchboxFlightsAndHotelBox);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")}}if(options.defaultInfants>0){$(".selectCnnInfs:not(.HideDiv):lt("+options.defaultInfants+")",searchboxFlightsAndHotelBox).val(1)}}};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("rowPaxs");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")).addClass("selectAdt").attr("id","selectAdt"+m).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","selectCnn"+m).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">'+(options.ageselectShort?this.labels[options.language]["ageselectShort"]:this.labels[options.language]["ageselect"]+" "+h)+"</option>"+this.createOptionsDropdown(options.maxcnnage,null,0));$(".ageselectsbox",row).append(selectCnnAge);if(options.requestCnnAge){selectCnnAge.data("index",""+m+h);var selectCnnInfs=$(document.createElement("span")).attr("id","selectCnnInfs"+m+h+"Cont").addClass("selectCnnInfsCont HideDiv").html('<select id="selectCnnInfs'+m+h+'" class="selectCnnInfs HideDiv"><option selected="selected" value="0">'+this.labels[options.language]["onSeat"]+'</option><option value="1">'+this.labels[options.language]["onArms"]+"</option></select>");$(".ageselectsboxinfs",row).append(selectCnnInfs);selectCnnInfs.addClass("HideDiv");$(selectCnnAge).change(function(){if($(this).val()>=0&&$(this).val()<=2){$("#selectCnnInfs"+$(this).data("index")+"Cont.HideDiv",searchboxFlightsAndHotelBox).removeClass("HideDiv");$("#selectCnnInfs"+$(this).data("index")+".HideDiv",searchboxFlightsAndHotelBox).removeClass("HideDiv");$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).show()}else{$("#selectCnnInfs"+$(this).data("index")+":not(.HideDiv)",searchboxFlightsAndHotelBox).addClass("HideDiv");$("#selectCnnInfs"+$(this).data("index")+"Cont:not(.HideDiv)",searchboxFlightsAndHotelBox).addClass("HideDiv");if($(".selectCnnInfs:not(.HideDiv)",$(".roomsdetails",searchboxFlightsAndHotelBox)).length==0){$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).hide()}}var index=$(".selectCnnInfs",searchboxFlightsAndHotelBox).index($(".selectCnnInfs:not(.HideDiv):last",searchboxFlightsAndHotelBox));$(".selectCnnInfsCont",searchboxFlightsAndHotelBox).addClass("HideDiv");$(".selectCnnAge:lt("+(index+1)+"):not(.HideDiv)",searchboxFlightsAndHotelBox).each(function(){if($(this).is(":visible")){$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).removeClass("HideDiv")}else{$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).addClass("HideDiv")}})});$(".selectCnnInfs",$(selectCnnInfs)).change(function(){if($(this).val()==1){$(this).addClass("Inf")}else{$(this).removeClass("Inf")}})}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",$(".rowPaxs:eq(0)")).show();$(".roomnumberlabel",$(".rowPaxs:eq(0)")).hide()}else{$(".singleLabel",$(".rowPaxs")).hide();$(".roomnumberlabel",$(".rowPaxs")).show()}var lblAge=$("#labelage",$(".roomsdetails"));$(".rowPaxs",searchboxFlightsAndHotelBox).hide();$(".rowPaxs:lt("+$(obj).val()+")",searchboxFlightsAndHotelBox).show();var visibleSelectsAge=$(".selectCnnAge:visible",searchboxFlightsAndHotelBox);if(visibleSelectsAge.length==0){lblAge.hide()}else{lblAge.show()}if($(".selectCnnInfs:visible",$(".roomsdetails",searchboxFlightsAndHotelBox)).length==0){$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).hide()}else{$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox)).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=$("#labelage",$(".roomsdetails",searchboxFlightsAndHotelBox));var lblAgeInfs=$("#labelageinfs",$(".roomsdetails",searchboxFlightsAndHotelBox));var qty=parseInt($(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);$("select",$(obj).parent().next()).hide();$("span",$(obj).parent().next()).hide();if(qty>0){lblAge.show();$("select",$(obj).parent().next().next()).addClass("HideDiv");var selectsAge=$(".selectCnnAge:lt("+qty+")",$(obj).parent().next());var spanAge=$(".errorText:lt("+qty+")",$(obj).parent().next());selectsAge.parent().show();selectsAge.show();spanAge.show();selectsAge.change();$(".errorText:lt("+qty+")",$(obj).parent().next()).show();$(".errorText:gt("+(qty-1)+")",$(obj).parent().next()).hide();if($(".selectCnnInfs:not(.HideDiv)",$(".ageselectsboxinfs",searchboxFlightsAndHotelBox)).length>0){lblAgeInfs.show()}else{lblAgeInfs.hide()}}else{var visibleSelectsAge=$(".selectCnnAge:visible",$(".ageselectsbox",searchboxFlightsAndHotelBox));var visibleSelectsAgeInfs=$(".selectCnnInfs:visible",$(".ageselectsboxinfs",searchboxFlightsAndHotelBox));var thisSelects=$(".selectCnnAge:visible",$(obj).parent().next());var thisSelectsInfs=$(".selectCnnInfs:visible",$(obj).parent().next().next());$(".errorText",$(obj).parent().next()).hide();thisSelects.hide();thisSelectsInfs.addClass("HideDiv");if(visibleSelectsAge.length==thisSelects.length){lblAge.hide()}else{lblAge.show()}if($(".selectCnnInfs:visible",$(".ageselectsboxinfs",searchboxFlightsAndHotelBox)).length>0){lblAgeInfs.show()}else{lblAgeInfs.hide()}}var index=$(".selectCnnInfs").index($(".selectCnnInfs:visible:last",searchboxFlightsAndHotelBox));$(".selectCnnInfsCont",searchboxFlightsAndHotelBox).addClass("HideDiv");$(".selectCnnAge:lt("+(index+1)+"):not(.HideDiv)",searchboxFlightsAndHotelBox).each(function(){if($(this).is(":visible")){$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).removeClass("HideDiv")}else{$(".selectCnnInfsCont:eq("+$(".selectCnnAge",searchboxFlightsAndHotelBox).index(this)+")",searchboxFlightsAndHotelBox).addClass("HideDiv")}})};this.getRoomsDetails=function(){var rooms=$("#rooms").val();var adtVisible=$(".selectAdt",$(".rowPaxs:visible"));var qtyPax=0;var qtyAdt=0;var actualQty=0;var roomsSerialize="";$.each(adtVisible,function(e){var meRooms=$(this);actualQty=parseInt(meRooms.val());qtyAdt+=actualQty;qtyPax+=actualQty;roomsSerialize+=meRooms.val();var ageCnnCombos=$(this).parent().next().next().find(".selectCnnAge:visible");$.each(ageCnnCombos,function(i){qtyPax++;roomsSerialize+="-"+$(this).val()});roomsSerialize+="!"});roomsSerialize=roomsSerialize.substr(0,roomsSerialize.length-1);var objReturn=new Object();objReturn.qtyAdt=qtyAdt;objReturn.qtyPax=qtyPax;objReturn.roomsSerialize=roomsSerialize;objReturn.rooms=rooms;return objReturn};this.validate=function(searchboxFlightsAndHotelBox){var valid=true;var checkin=$("#checkin",searchboxFlightsAndHotelBox);var checkout=$("#checkout",searchboxFlightsAndHotelBox);var inputOrigin=$("#origin",searchboxFlightsAndHotelBox);var inputDestination=$("#destination",searchboxFlightsAndHotelBox);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())>=0){checkout.parent().addClass("errorLabel");checkout.parent().find(".errorText").html(this.labels[options.language]["errorPreviousDate"]);valid=false}}}else{checkout.parent().addClass("errorLabel");valid=false}if(inputOrigin.data("dataValue").length==3){inputOrigin.parent().removeClass("errorLabel");inputOrigin.parent().find(".errorText").html("")}else{inputOrigin.parent().addClass("errorLabel");if(inputOrigin.val()!=options.defaultOriginDesc){inputOrigin.parent().find(".errorText").html(me.labels[options.language]["errorOrigin"])}valid=false}if(inputDestination.data("dataValue").length==3){inputDestination.parent().removeClass("errorLabel");inputDestination.parent().find(".errorText").html("");if(inputDestination.val()==inputOrigin.val()){inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorText").html(me.labels[options.language]["errorDestinationEqualOrigin"]);valid=false}if(inputDestination.data("dataValue").length==3&&inputDestination.data("dataValue").length==3){if(inputDestination.data("dataValue")==inputOrigin.data("dataValue")){inputDestination.parent().addClass("errorLabel");inputDestination.parent().find(".errorText").html(me.labels[options.language]["errorDestinationEqualOrigin"]);valid=false}}}else{inputDestination.parent().addClass("errorLabel");if(inputDestination.val()!=options.defaultdestinationdesc){inputDestination.parent().find(".errorText").html(me.labels[options.language]["errorDestination"])}valid=false}$(".errorIcon",$(".rowPaxs")).remove();$(".ageselectsbox",$(".rowPaxs")).removeClass("error");$(".labelage",$("#paxselection")).removeClass("error");for(m=1;m<=options.maxroomsquantity;m++){for(h=1;h<=options.maxcnnroom;h++){var selectedAge=$("#selectCnnAge"+m+h,searchboxFlightsAndHotelBox);if($(selectedAge).is(":visible")){if(selectedAge.val()=="NA"){selectedAge.addClass("errorLabel");selectedAge.after('<span class="mainSprite errorIcon"></span>');selectedAge.parent().addClass("error");$(".labelage",$("#paxselection")).addClass("error");valid=false}else{selectedAge.removeClass("errorLabel")}}}}var numHab=$("#rooms",searchboxFlightsAndHotelBox).val();var qHabAdt=0;var qHabCnn=0;for(m=1;m<=numHab;m++){qHabAdt+=parseInt($("#selectAdt"+m+" option:selected",searchboxFlightsAndHotelBox).val());qHabCnn+=parseInt($("#selectCnn"+m+" option:selected",searchboxFlightsAndHotelBox).val())}if((options.searchflow=="Revancha"&&(qHabAdt+qHabCnn)>8)||((options.searchflow=="ezrez")&&qHabAdt>7)){$(".selectAdt:visible",searchboxFlightsAndHotelBox).addClass("errorLabelSelect");if(options.searchflow=="ezrez"){$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextAdt").html(this.labels[options.language]["errorNumAdt"])}else{$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextAdt").html(this.labels[options.language]["errorNumTot"])}valid=false}else{$(".selectAdt",searchboxFlightsAndHotelBox).removeClass("errorLabelSelect");$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextAdt").html("")}if(options.searchflow=="Revancha"){if(qHabAdt<($(".Inf:visible",$(".ageselectsboxinfs")).length)){$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html(this.labels[options.language]["errorNumInf"]);$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").css("display","inline");valid=false}else{$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html("")}}if(options.searchflow=="ezrez"){if(qHabCnn>3){for(m=1;m<=numHab;m++){$("#selectCnn"+m,searchboxFlightsAndHotelBox).addClass("errorLabelSelect")}$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html(this.labels[options.language]["errorNumChld"]);valid=false}else{for(m=1;m<=numHab;m++){$("#selectCnn"+m,searchboxFlightsAndHotelBox).removeClass("errorLabelSelect")}$("#paxselection",searchboxFlightsAndHotelBox).parent().find("#errorTextChld").html("")}}return valid};this.searchFlightsAndHotels=function(){var searchCars=false;if($("#flightshotelscars:checked",$(target)).length>0){searchCars=true}var parameters={origin:$("#origin",$(target)).data("dataValue"),originDesc:$("#origin",$(target)).val(),country:options.country,roomsDetails:me.getRoomsDetails(),checkin:$("#checkin",$(target)).val(),checkout:$("#checkout",$(target)).val(),destination:$("#destination",$(target)).data("dataValue"),destinationDesc:$("#destination",$(target)).val(),searchCarsToo:searchCars};var tracking={cod:options.trackingCod,id:options.trackingId,brand:options.trackingBrand};if(eval("Despegar.FlightsAndHotels.FlightsAndHotelFlows."+options.searchflow)!=undefined){eval("var searchObject = new Despegar.FlightsAndHotels.FlightsAndHotelFlows."+options.searchflow);if(options.remembersearch==1){Common.Utils.Cookie.CreateCookie("tabSelected",options.idTab,options.daysToExpireCookies);searchObject.saveSearchOnCookie(parameters,options.daysToExpireCookies)}searchObject.searchFlightsAndHotels(parameters,location.host,tracking)}else{eval("var searchObject = new Despegar.FlightsAndHotels.FlightsAndHotelFlows."+this.defaultsearchflow);searchObject.searchFlightsAndHotels(parameters,location.host,tracking)}};var options=options||{};options.country=options.country||"mx";options.language=options.language||"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.defaultOrigin=options.defaultOrigin||this.labels[options.language]["defaultOrigin"];options.defaultOriginDesc=options.defaultOriginDesc||this.labels[options.language]["defaultOriginDesc"];options.notShowValueAutoComplete=options.notShowValueAutoComplete||false;options.smallRooms=options.smallRooms||0;options.trackingCod=options.trackingCod||"cob";options.trackingId=options.trackingId||null;options.remembersearch=options.remembersearch||0;options.daysToExpireCookies=options.daysToExpireCookies||30;options.trackingBrand=options.trackingBrand||"despegar";options.TC=options.TC||(typeof(TC)!="undefined"?TC:{});options.searchCarsTooBox=options.searchCarsTooBox||false;options.ageselectShort=options.ageselectShort||false;options.requestCnnAge=options.requestCnnAge||false;options.departureDate=options.departureDate||"dd/mm/aaaa";options.returnDate=options.returnDate||"dd/mm/aaaa";options.distribution=options.distribution||false;options.noPassengerAge=options.noPassengerAge||false;options.showYearOld=options.showYearOld||false;options.defaultInfants=options.defaultInfants||0;options.url=options.url||"/Flights.Services/Commons/AutoComplete.svc";this.render()};jQuery.fn.SearchBoxFlightsAndHotels=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.FlightsAndHotels.SearchBoxFlightsAndHotels(e,b)});return this};registerNameSpace("Despegar.FlightsAndHotels.FlightsAndHotelFlows");Despegar.FlightsAndHotels.FlightsAndHotelFlows.ezrez=function(){var b=this;this.noAirportCity=function(d){var c={PCM:"CUN",PG1:"REC",MRX:"PMV",ONX:"PTY",VC1:"COR",GU2:"GRU",PA9:"GIG",MO1:"SSA",AN2:"BCR",CS2:"SSA",PI1:"MDQ",AR1:"BPS",BB1:"FLN",PR1:"NAT",CA6:"MDQ",GU3:"BJX",QJO:"GRU",JRS:"TLV",GBI:"FPO",PF1:"GRU",CO4:"ONX",QCN:"POA",TDL:"MDQ",UBT:"GRU",CL1:"SJD",QPE:"GIG",BO2:"CGR",BOC:"PTY",POO:"GRU",GU5:"OPO",QNT:"GIG",GU6:"VIX",QMI:"GRU",OCO:"SJO",CYO:"HAV",AT3:"CJC",ISJ:"CUN",ESE:"TIJ",TR1:"BPS",PQM:"VSA",PI5:"EZE",OL1:"REC",AG1:"AGU",AN3:"ANU",BE1:"GRU",TNO:"SJO",BR1:"OST",BCT:"MIA",IT7:"FLN",TE2:"QRO",QVH:"VIX",WKL:"KOA",MCM:"NCE",MYC:"CCS",SN1:"GRU",QTZ:"VER",RLO:"COR",ANA:"LAX",MA3:"PDP",IC1:"PMV",BGV:"PA",JA1:"SJO",RRO:"NAP",BA1:"SDQ",ITJ:"NVT",PCZ:"UPC",TO1:"MAD",SM1:"QRO",CBP:"OPO",MP0:"MDQ",PL2:"PCY",YEA:"YEG",YEA:"YXD",MFT:"LIM",RCU:"COR",QHT:"GIG",RUI:"ELP",COW:"SCL",HFA:"HFA",RG0:"PVR",ODB:"COR",UKY:"ITM",PMZ:"SJO",TA3:"GRU",ALV:"BCN",STY:"SFN",SMC:"BOG",QSR:"NAP",TI3:"POA",PRJ:"NAP",ESM:"UIO",SBH:"SBH",IT8:"GRU",OL2:"ATH",VN1:"SCL",TA1:"TUC",MT1:"ITM",QGN:"BCN",PGZ:"CWB",IN1:"GRU",PA1:"VLL",MVF:"NAT",WSG:"BWI",AOH:"DAY",TSQ:"POA",SXY:"GTF",MA1:"SJO",QSB:"GRU",TFC:"CTA",EY1:"PMV",LIP:"GRU",CY1:"CCC",YZD:"YYZ",CH5:"AQP",NTY:"JNB",SL1:"THE",CFG:"HAV",NZA:"LIM",MRK:"MIA",QSC:"GRU",AQ1:"FOR",PDF:"BPS",VXX:"MEX",MJR:"MDQ",SC1:"MJR",YIW:"PEK",PA3:"PYA",BZC:"RIO"};return c[d]};this.searchFlightsAndHotels=function(v,w,d){var s=new Array();var u="http://wstest.ar.despegar.com/tempfolder/searchboxFlightsAndHotels.html";var p=new Array();var r=new Array(3);var x=0;var c=new Array(s.length);s=v.roomsDetails.roomsSerialize.split("!");for(var l=0;l<s.length;l++){c[l]=s[l].split("-")}for(var l=0;l<s.length;l++){x=x+c[l].length-1}var e=0;for(var l=0;l<c.length;l++){for(var f=0;f<c[l].length-1;f++){if((typeof c[l][f+1]!="undefined")&&(c[l][f+1]!="NA")){p[e]=c[l][f+1];e++}}}for(l=p.length;l<3;l++){p[l]=-1}for(var l=0;l<3;l++){if((p[l]>=0)&&(p[l]<2)){r[l]="in_lap"}else{if(p[l]>=2){r[l]="in_seat"}else{r[l]="NULL"}}}var t=this.noAirportCity(v.origin);if(!t){t=v.origin}var q=this.noAirportCity(v.destination);var g="";if(!q){q=v.destination}else{var o=v.destinationDesc.split(",");g=o[0];o=g.split("(");g=o[0]}if(g!=""){q=g+"("+q+")"}var n="air1=true&roundtrip=true&serviceclass=coach&area1="+t+"&area2="+q+"&date1="+v.checkin+"&time1=1&date2="+v.checkout+"&time2=1&adults="+v.roomsDetails.qtyAdt+"&dynamic_children="+x+"&child_age1="+p[0]+"&child_age2="+p[1]+"&child_age3="+p[2]+"&infant1="+r[0]+"&infant2="+r[1]+"&infant3="+r[2]+"&room1=true&num_rooms="+v.roomsDetails.rooms+"&origin="+u+"&car1="+v.searchCarsToo;location.href=("http://paquetes.despegar.com/travel/arc_waiting.cfm?"+n)}};registerNameSpace("Despegar.FlightsAndHotels.FlightsAndHotelFlows");function dateTransform(b){var c=b.split("/");return c[2]+"-"+c[1]+"-"+c[0]}Despegar.FlightsAndHotels.FlightsAndHotelFlows.Revancha=function(){var b=this;this.searchFlightsAndHotels=function(e,d,g){var c=new Despegar.Date();var k=dateTransform(e.checkin);var f=dateTransform(e.checkout);location.href=("/Search/Packages/"+e.origin+"/"+e.destination+"/"+k+"/"+f+"/"+e.roomsDetails.roomsSerialize+"/"+$(".Inf:visible",$(".ageselectsboxinfs")).length)};this.saveSearchOnCookie=function(d,c){Common.Utils.Cookie.CreateCookie("flightHotel-Revancha",escape(JSON.stringify(d)),c)}};registerNameSpace("Despegar.SearchBoxes");Despegar.SearchBoxes.SearchBox=function(d,b){this.exists=false;this.target=$(d);var e="";var c=this;this.renderTabs=function(){var f=$("<ul></ul>");$.each(this.options.tabs,function(g,k){$('<li class="'+(k.className?k.className:"")+'"></li>').appendTo(f).attr("id",k.id).html("<span>"+k.text+"</span>").click(function(){c.renderSearchBox(k);c.switchSearchBox(k)});if(k.id==c.options.selectedTabId){e=k}});this.target.append($('<div class="searchBoxMenu"></div>').html(f));$("#"+this.options.selectedTabId,this.target).addClass("selected")};this.switchSearchBox=function(f){$("#"+e.id,this.target).removeClass("selected");$("#"+f.id,this.target).addClass("selected");$("#searchBoxFor"+e.id,this.target).hide();$("#searchBoxFor"+f.id,this.target).show();e=f};this.renderSearchBox=function(f){switch(f.product){case"hotels":f.options.idTab=f.id;$('<div class="searchBoxHotels"></div>').attr("id","searchBoxFor"+f.id).prependTo(this.searchBoxesContainer).searchBoxHotels(f.options);break;case"flights":f.options.idTab=f.id;$('<div class="searchBoxFlights"></div>').attr("id","searchBoxFor"+f.id).prependTo(this.searchBoxesContainer).searchBoxFlights(f.options);break;case"packages":f.options.idTab=f.id;$('<div class="searchBoxPackages"></div>').attr("id","searchBoxFor"+f.id).prependTo(this.searchBoxesContainer).searchBoxPackages(f.options);break;case"flightsandhotels":f.options.idTab=f.id;$('<div class="searchBoxHotelsAndFlights"></div>').attr("id","searchBoxFor"+f.id).prependTo(this.searchBoxesContainer).SearchBoxFlightsAndHotels(f.options);break;case"cars":f.options.idTab=f.id;$('<div class="searchBoxCars"></div>').attr("id","searchBoxFor"+f.id).prependTo(this.searchBoxesContainer).searchBoxCars(f.options);break;case"cruises":f.options.idTab=f.id;$('<div class="searchBoxCruises"></div>').attr("id","searchBoxFor"+f.id).prependTo(this.searchBoxesContainer).searchBoxCruises(f.options);break}if(typeof f.externalFunction!="undefined"){f.externalFunction()}$("#"+f.id).unbind("click").click(function(){if(f.id!=e.id){c.switchSearchBox(f)}if(typeof f.externalFunction!="undefined"){f.externalFunction()}})};this.initialize=function(){this.renderTabs();this.searchBoxContainer=$('<div class="searchBoxContainer"></div>');this.searchBoxesContainerTop=$('<div class="searchBoxesTop"></div>');this.searchBoxesContainer=$('<div class="searchBoxesContainer"></div>');this.searchBoxesContainerFooter=$('<div class="searchBoxesBottom"></div>');this.target.append(this.searchBoxContainer);this.searchBoxContainer.append(this.searchBoxesContainerTop);this.searchBoxContainer.append(this.searchBoxesContainer);this.searchBoxContainer.append(this.searchBoxesContainerFooter);this.renderSearchBox(e)};this.options=b||{};this.options.tabs=b.tabs||{};this.options.language=b.language||"es";this.options.selectedTabId=((b.readCookie)?Common.Utils.Cookie.ReadCookie("tabSelected"):false)||b.selectedTabId;this.initialize()};jQuery.fn.searchBox=function(b){this.each(function(c,d){var e=this;d.obj=new Despegar.SearchBoxes.SearchBox(e,b)});return this};
