/*
FRAMEWORK_VERSION:19.0.0
*/
registerNameSpace("Site.Common");myRecentSearch=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}}var _json=getCookieValue("("+unescape(Common.Utils.Cookie.ReadCookie("recent_viewed"))+")");var options={target:"#hotelesConsultados",linkTarget:"landing",currentHotelId:"",language:"es",country:"ar",lengthName:16,words:{es:{title:"Mis hoteles consultados",eraseAll:"Eliminar todos",viewMore:"Ver más »",viewLess:"Ver menos «",ratingBased:"Basados en ",ratingBased2:" calificaciones",points:" puntos",currency:"U$S"},pt:{title:"Meus hotéis consultados",eraseAll:"Eliminar todos",viewMore:"Ver mais »",viewLess:"Ver menos «",ratingBased:"Baseados em ",ratingBased2:" qualificações",points:" pontos",currency:"US$"}}};for(params in _options){options[params]=_options[params]}var status="close";var currentUrl=location.href;var newUrl=currentUrl.replace(options.currentHotelId,options.hotelID);var itemHotel=function(){this.draw=function(_value){var _linkTarget;var puntos=_value.score;var precio=_value.price;var review=_value.totalRev;if(puntos!=null&&puntos!=undefined&&puntos!=""){puntos=_value.score+options.words[options.language].points}if(precio!=null&&precio!=undefined&&precio!=""){precio=options.words[options.language].currency+'<big class="price">'+precio+"</big>"}else{precio=""}if(review!=null&&review!=undefined&&review!=""&&review!="0"){review=options.words[options.language].ratingBased+_value.totalRev+options.words[options.language].ratingBased2}else{review=""}switch(options.linkTarget){case"landing":_linkTarget="/hoteles/h-"+_value.id+"/"+_value.url;break;case"detail":_linkTarget=newUrl;break;default:_linkTarget="/hoteles/h-"+_value.id+"/"+_value.url}var hotel='				<li class="hotelContainer">					<a href="'+_linkTarget+'"><img class="destinationPic" src="http://'+options.country+".staticontent.com"+_value.pic+'" width="70" height="70" alt="Buenos Aires" /></a>					<ul class="hotelData">						<li class="hotelName"><a href="'+_linkTarget+'">'+_value.name.substr(0,options.lengthName)+'...</a><span class="commonSprite starsRating starsRating'+_value.star+'"></span><span class="commonSprite closeGrayIcon" title="Eliminar esta consulta"></span></li>						<li class="hotelCity">'+_value.city+'</li>						<li class="hotelPoints"><span class="puntosText">'+puntos+'</span><a class="see" href="'+_linkTarget+'">'+precio+'</a></li>						<li class="lastBooking">'+review+"</li>					</ul>				</li>";var objHotel=$(hotel);return objHotel}};this.draw=function(){if(_json!=null&&_json!=undefined&&_json!=""){var container='				<div id="mySearchedHotels">				<div class="sectionTitle">'+options.words[options.language].title+'<span class="eraseAll">'+options.words[options.language].eraseAll+'</span></div>				<ul class="hotelList"></ul>				</div>				<div id="openCloseBtn"><span class="legend">'+options.words[options.language].viewMore+"</span></div>			";var objContainer=$(container);objContainer.find(".eraseAll").bind("click",function(){$("#openCloseBtn").hide(function(){$("#mySearchedHotels").slideUp();_json.hotel.splice(0,6);Common.Utils.Cookie.CreateCookie("recent_viewed",JSON.stringify(_json),30)})});$(_options.target).append(objContainer);$("#openCloseBtn .legend").bind("click",function(){if(status=="close"){$("#mySearchedHotels").animate({maxHeight:"500px"},"slow");$(this).html(options.words[options.language].viewLess);status="open"}else{$("#mySearchedHotels").animate({maxHeight:"320px"},"slow");$(this).html(options.words[options.language].viewMore);status="close"}});$(_json.hotel).each(function(index,value){var objItemHotel=new itemHotel();var itemHotelToAppend=objItemHotel.draw(value);itemHotelToAppend.find(".closeGrayIcon").bind("click",function(){$(this).closest(".hotelContainer").slideUp(function(){checkLength();_json.hotel.splice($(".hotelContainer").index($(this).parent().parent().parent()),1);Common.Utils.Cookie.CreateCookie("recent_viewed",JSON.stringify(_json),30)})});objContainer.find(".hotelList").append(itemHotelToAppend)});if($(".hotelContainer:visible").length==0){$("#openCloseBtn").hide();$("#mySearchedHotels").hide()}checkLength()}};function checkLength(){if($(".hotelContainer:visible").length==0){$("#openCloseBtn").hide(function(){$("#mySearchedHotels").slideUp()})}else{if($(".hotelContainer:visible").length<=3){$("#openCloseBtn .legend").hide()}}if($(".hotelContainer").length<=3){$("#openCloseBtn .legend").hide()}}};registerNameSpace("Site.Common");var inIframe=false;var siW=self.innerWidth;var siH=self.innerHeight;var dE=document.documentElement;var dB=document.body;var sw=(siW?siW:(dE&&dE.clientWidth)?dE.clientWidth:dB?dB.clientWidth:"");var sh=(siH?siH:(dE&&dE.clientHeight)?dE.clientWidth:dB?dB.clientHeight:"");var wh=(sw&&sh)?(sw.toString(16)+"x"+sh.toString(16)):"";var eplRnd=(new String(Math.random())).substring(2,8)+(((new Date()).getTime())&262143);var ua=navigator.userAgent.toLowerCase();var av=navigator.appVersion.toLowerCase();var eplB=new Object();eplB.is_mac=(ua.indexOf("mac")!=-1);eplB.is_win=(!eplB.is_mac&&((ua.indexOf("win")!=-1)||(ua.indexOf("16bit")!=-1)));var ieP=av.indexOf("msie");var ffP=ua.indexOf("firefox");eplB.is_o=(ua.indexOf("opera")!=-1);eplB.is_ie=(ieP!=-1&&eplB.is_win&&!eplB.is_o);eplB.is_ff=(ffP!=-1);if(eplB.is_ie){eplB.minV=parseFloat(av.substring(ieP+5,av.indexOf(";",ieP)));eplB.majV=parseInt(eplB.minV)}if(eplB.is_ff){if(ua.length>ffP+8){eplB.majV=parseInt(ua.substring(ffP+8))}if(ua.length>ffP+10){eplB.minV=parseInt(ua.substring(ffP+10))}}eplB.ffOk=(eplB.is_ff&&((eplB.majV>=1&&eplB.minV>=5)||(eplB.majV>=2)));eplB.ieOk=(eplB.is_ie&&eplB.minV>=5);var eplFV=0;var nmT=navigator.mimeTypes;var swF="application/x-shockwave-flash";var fP=(nmT&&nmT[swF])?nmT[swF].enabledPlugin:0;var fvT;if(fP){var nP=navigator.plugins;var sf="Shockwave Flash";if(nP[sf]!=null){fvT=nP[sf].description}}else{if(ua&&ua.indexOf("MSIE")>=0&&(av.indexOf("Win")!=-1)){var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");axo.AllowScriptAccess="always";fvT=axo.GetVariable("$version")}catch(e){}}}if(fvT){var fvW=fvT.split(" ");for(var i=0;i<fvW.length;++i){if(isNaN(parseInt(fvW[i]))){continue}eplFV=fvW[i]}}function eplADU(c,d){var f="520";var b="http://ads.us.e-planning.net/eb/3/"+f+"/"+c+"?o="+d+"&fv="+eplFV+"&rnd="+eplRnd;return b}function eplAD(d,c,k){if(c!=null&&k!=null){var b=eplADU(d,"f");document.write('<iframe id="'+d+'_static" width="'+c+'" height="'+k+'" frameborder="0" scrolling="no" src="'+b+'"></iframe>')}else{var b=eplADU(d,"j");var g='<html><head><title>Ad</title></head><body id="'+d+'" leftmargin="0" topmargin="0" style="margin:0px; padding:0px">';g+='<div id="eplParentContainer'+d+'"></div><script type="text/javascript">var inIframe=true;</scr';g+='ipt> <script type="text/javascript" src="'+b+'"></scr';g+='ipt> <script>setTimeout("document.close()", 8000); <\/script></body></html>';if(eplB.ieOk){document.write('<iframe id="'+d+'" src="about:blank" width="1" height="0" frameborder="0" scrolling="no"></iframe>');document.frames[d].document.write(g)}else{if(eplB.ffOk){document.write('<iframe id="'+d+'" src="about:blank" width="1" height="0" frameborder="0" scrolling="no"></iframe>');var f=document.getElementById(d);if(f!=null){f.contentDocument.write(g)}}else{document.write('<script type="text/javascript" src="'+b+'"><\/script>')}}}}registerNameSpace("Common");Common.LastReservation=function(c){c.HotelSalesByDay=c.HotelSalesByDay||0;c.Language=c.Language||"es";var b={es:{hour:" hora",hours:" horas",minute:" minuto",minutes:" minutos",lessThanMinute:"menos de 1 minuto"},pt:{hour:" hora",hours:" horas",minute:" minuto",minutes:" minutos",lessThanMinute:"menos de 1 minuto"}};this.getLastReservation=function(){var g=new Date();var q=g.getHours();var l=g.getMinutes();var o=q+(l/60);if(c.HotelSalesByDay!=null&&c.HotelSalesByDay!=0){var k=0;if(q>10&&q<22){k=(c.HotelSalesByDay*0.8)/365}else{k=(c.HotelSalesByDay*0.2)/365}var d=k/24;var r=o%(1/d);var n=Math.abs(Math.round(r*60));var p=""}if(n>60){var f=Math.round(n/60);if(f==1){p=f+b[c.Language].hour}else{p=f+b[c.Language].hours}}else{if(n==1){p=n+b[c.Language].minute}else{if(n==0){p=b[c.Language].lessThanMinute}else{p=n+b[c.Language].minutes}}}return p}};registerNameSpace("Common.Math");Common.Math.SeededRandom=function(p){var r=new Date();var t={seed:r.getTime(),min:0,max:1,type:"intgeger"};for(var n in p){t[n]=p[n]}var d=t.seed;var b=48271;var k=2147483647;var g=k/b;var f=k%b;var o=1/k;var c=function(u){var v=d/g;var x=d%g;var z=b*x-f*v;if(z>0){d=z}else{d=z+k}var w=d*o;var y;if(t.type=="integer"){y=(Math.round((t.max-t.min)*w+t.min))}else{y=w}return y};var s=function(u){d=u;q()};var l=function(v){var u=0;if(v.length==0){return u}for(i=0;i<v.length;i++){character=v.charCodeAt(i);u=((u<<5)-u)+character;u=u&u}return Math.abs(u)};var q=function(){if(isNaN(parseInt(d))){d=l(d)}for(var u=0;u<10;u++){c()}};q();return{get:c,setSeed:s}};registerNameSpace("Common.Utils");Common.Utils.Cookie=function(){};Common.Utils.Cookie.prototype.CreateCookie=function(d,f,g){if(g>0){var c=new Date();c.setTime(c.getTime()+(g*24*60*60*1000));var b="; expires="+c.toGMTString()}else{var b=""}document.cookie=d+"="+f+b+"; path=/"};Common.Utils.Cookie.prototype.ReadCookie=function(d){var g=d+"=";var b=document.cookie.split(";");for(var f=0;f<b.length;f++){var k=b[f];while(k.charAt(0)==" "){k=k.substring(1,k.length)}if(k.indexOf(g)==0){return k.substring(g.length,k.length)}}return null};Common.Utils.Cookie.prototype.EraseCookie=function(b){this.CreateCookie(b,"",-1)};Common.Utils.Cookie=new Common.Utils.Cookie();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(o,n,d,l,p){if(p==undefined){p=FrameworkJS.Common.AutocompleteGlobalCache.options.type}if(!o){return null}if(FrameworkJS.Common.AutocompleteGlobalCache.cache[p].data[o]){return FrameworkJS.Common.AutocompleteGlobalCache.cache[p].data[o]}if(l){var q=false;var k=o.substr(0,n);var f=FrameworkJS.Common.AutocompleteGlobalCache.cache[p].data[k];if(!f&&FrameworkJS.Common.AutocompleteGlobalCache.cache[p].preCache.length>0){f=FrameworkJS.Common.AutocompleteGlobalCache.cache[p].preCache;q=true}if(f){var b=[];b.cachedBefore=q;var c=FrameworkJS.Common.AutocompleteGlobalCache.splitString(o,this.options.splitBy);for(var g=0;g<f.length;g++){var r=f[g];if(FrameworkJS.Common.AutocompleteGlobalCache.matchSubset(r.m+", "+r.n+", "+r.a,c,d)){b[b.length]=r}}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,l){var d=new RegExp("["+l+"]","ig");var b=b.replace(d,"|");var k=b.split("|");var g=new Array();var c=0;for(var f=0;f<k.length;f++){if(jQuery.trim(k[f])!=""){g[c]=k[f];c++}}return g};FrameworkJS.Common.AutocompleteGlobalCache.prototype.matchSubset=function(d,k,l,g){var f=false;for(j=0;j<k.length;j++){var b=new RegExp(FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex(k[j]));if(!l){d=d.toLowerCase()}var c=d.search(b);if(c==-1){f=false}if(c>-1){f=true}if(f&&FrameworkJS.Common.AutocompleteGlobalCache.options.matchStartOnly){b=new RegExp(FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex("(^"+k[j]+")|(["+this.options.splitBy+"]"+k[j]+")"));c=d.search(b);if(c==-1){f=false}}if(!f){break}}return f};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(o,g){this.options=window._options||{};this.options.splitBy=this.options.splitBy||", ();:.";var u=g.minChars;var x;var b=true;var t;var y=0;var q;this.liData=[];setTimer=function(A){if(g.timeOut!=0){if(x!=undefined){clearTimeout(x)}x=setTimeout(function(){A()},g.timeOut)}};$.fn.autocomplete.initialValue=function(A,B){z.initialValue(A,B)};this.initialValue=function(D,F,A,C,E){var B=D;if(g.showValue&&F!=""&&F!=undefined&&!C){B=B+" ("+F+")"}$(o).val(B);$(o).data("dataValue",F);$(o).data("dataType",A);$(o).data("typeSelected",E)};this.hideResultsNow=function(){if(n){clearTimeout(n)}if(f.is(":visible")){f.html("");f.hide();if(p){p.hide()}}};this.trim=function(C){if(g.respMinChars){var C=C.replace(/^\s\s*/,""),A=/\s/,B=C.length;while(A.test(C.charAt(--B))){}return C.slice(0,B+1)}else{return C}};this.onChange=function(){timerReady=false;g.minChars=u;if(v==46||(v>8&&v<32)){if(p){p.hide()}return f.hide()}if(v>45&&v<112){c.data("dataValue","");c.data("dataType",g.initialType)}var E=z.trim(c.val());if(E==r){return}r=E;if(E.length>=g.minChars){var C=this;var D=E;C.requestData(D)}else{f.hide();if(p){p.hide()}if(g.minCharsLeyend){f.html("");var B=document.createElement("ul");var A=document.createElement("li");A.innerHTML=z.labels[g.languaje]["minCharsText1"]+g.minChars+z.labels[g.languaje]["minCharsText2"];B.appendChild(A);$(A).addClass("minCharsLeyend");f.append(B);this.showResults()}}c.removeClass("default")};this.moveSelect=function(B){var A=$("li:visible",f);if(!A){return}k+=B;if(k<0){k=0}else{if(k>=A.length){k=A.length-1}}A.removeClass(g.liOverClass);$(A[k]).addClass(g.liOverClass);if(k>g.maxItemsToShow-1||(this.scrollNum!=0)){if((this.scrollNum>=-1&&B>0)){A[k].scrollIntoView(false)}if(B==-1&&this.scrollNum>0){this.scrollNum=0}if(this.scrollNum>((-1)*(g.maxItemsToShow))||B==1){this.scrollNum=this.scrollNum+B}if(this.scrollNum<=((-1)*(g.maxItemsToShow))){A[k].scrollIntoView(true)}}};this.selectCurrent=function(){var B=false;var D=false;var A=$("li."+g.liOverClass,f)[0];if(!A){D=true;var C;if(g.selectOnly){C=$("li",f);if(C.length==1){A=C[0]}}else{if(g.selectFirst){C=$("li:first",f);A=C[0]}}}if(A){if($(A).hasClass("additionalOptions")){if(!D){$(A).click()}B=false}else{if($(A).hasClass("moreOptions")){B=true}else{if($(A).hasClass("minCharsLeyend")){B=false}else{this.selectItem(A);B=false}}}return B}else{return false}};this.selectItem=function(B){b=true;var A;var D;var C;if(!B){A="";D="";C=g.initialType}else{if($(B).hasClass("noSelectable")){if(b){l($(B).find("a"));b=false}}else{A=this.liData[B.id][0];D=this.liData[B.id][1];C=this.liData[B.id][2];a=this.liData[B.id][3]}}if(b){c.data("lastSelected",A);if(g.faceted){c.data("typeSelected",$(B).parent().attr("class").split("Lista")[1].substr(0,1))}r=A;c.val(A);if(g.showValue){c.val(c.val()+" ("+D+")")}c.data("dataValue",D);c.data("dataType",C);c.data("dataReference",a);if(D.length==3&&g.callBackFunction){g.callBackFunction()}}};this.createSelection=function(D,B){var C=c.get(0);if(C.createTextRange){var A=C.createTextRange();A.collapse(true);A.moveStart("character",D);A.moveEnd("character",B);A.select()}else{if(C.setSelectionRange){C.setSelectionRange(D,B)}else{if(C.selectionStart){C.selectionStart=D;C.selectionEnd=B}}}C.focus()};this.autoFill=function(A){if(v!=8){c.val(c.val()+A.substr(r.length));this.createSelection(r.length,A.length)}};this.showResults=function(){var C=this.findPos(o);var B=parseInt(c.width()+4)+"px";f.css({width:B}).children().css({width:100+"%"});f.css({top:(C.y+o.offsetHeight)+"px",left:C.x+"px"});f.show();if(p){var B=$("ul",f).width()-10+"px";var A=$("ul",f).height()+"px";p.css({width:B,height:A,top:(C.y+o.offsetHeight)+"px",left:C.x+"px",zIndex:"500",position:"absolute"}).show()}};this.hideResults=function(){if(n){clearTimeout(n)}n=setTimeout(this.hideResultsNow,0)};this.receiveData=function(G,F){if((!d&&(!F.cachedBefore||!g.showMoreResults))||(F==null&&g.additionalOptions.length==0)){return this.hideResultsNow()}if(F.getingCache){F.cachedBefore=false;F.getingCache=false}var E="";f.html("");if(g.faceted){var H=[];$.each(F,function(J,L){if(E!=L.c){if(E!=""&&J!=0){var I=document.createElement("ul");f.append(I);$(I).addClass("Lista"+F[J-1].c).addClass("facetedList");if(($(".ac_results ul").length/2)!=parseInt($(".ac_results ul").length/2)){$(I).addClass("evenList")}var K=t.type[g.languaje][F[J-1].c];z.dataToDom(H,G,I,K)}E=L.c;H=[]}H.push(L);if(L.s!=undefined){$.each(L.s,function(M,N){N.r=true;H.push(N)})}});var B=document.createElement("ul");f.append(B);var C;$.each(H,function(I,J){if(J.c!="s"){C=t.type[g.languaje][J.c];$(B).addClass("Lista"+J.c);if(($(".ac_results ul").length/2)!=parseInt($(".ac_results ul").length/2)){$(B).addClass("evenList");if(!$(B).hasClass("facetedList")){$(B).addClass("facetedList")}}}});z.dataToDom(H,G,B,C)}else{var B=document.createElement("ul");f.append(B);z.dataToDom(F,G,B)}if(g.autoFill&&(c.val().toLowerCase()==G.toLowerCase())){this.autoFill(F[0].n)}this.showResults();if(F!=null){if(F.length>g.maxItemsToShow){$li=f.children("ul").children("li:eq(0)");var D=$li.outerHeight();for(var A=1;A<g.maxItemsToShow;A++){$li=$li.next();D=D+$li.outerHeight()}f.children("ul").height(D).css("overflow-y","scroll").css("overflow-x","hidden");if(p){p.height(D+2)}}if(F.length==0){z.showNoResultsError()}}else{z.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(E,K,J,L){if(E){L=L||"";$(J).append('<div class="typeItem"><span>'+L+"</span></div>");if(g.respMinChars){K=K.replace(/-/gi," ")}var F=E.length;var I=0;var B=FrameworkJS.Common.AutocompleteGlobalCache.splitString(K,this.options.splitBy);var H="";for(j=0;j<B.length;j++){H+="("+FrameworkJS.Common.AutocompleteGlobalCache.accentInsentiveRegex(B[j])+")";if(j<B.length-1){H+="|"}}var G=K.length;var O=new RegExp(H,"ig");var C="";var P="";var M=0;for(var D=y;D<(y+F);D++){M++;var Q=E[D-y];if(!Q){continue}if(Q.r!=undefined){C=("<li id='"+o.id+D+"' class = 'subitem item"+P+"' style='display:none;'>")}else{P=D;if(Q.s!=undefined){C=("<li id='"+o.id+D+"' class='noSelectable'><a class='more clossed'></a>")}else{C=("<li id='"+o.id+D+"'>")}}var A="";for(j=1;j<=B.length;j++){A+="$"+j}C+="<span>"+Q.n.replace(O,"<b>"+A+"</b>");if(g.showValue){C+=" ("+Q.m.toUpperCase()+")"}C+="</span>";C+="</li>";$(J).append(C);this.liData[o.id+D]=new Array(3);this.liData[(o.id+D)][0]=Q.n;this.liData[(o.id+D)][1]=Q.m;this.liData[(o.id+D)][2]=Q.t;this.liData[(o.id+D)][3]=Q.a}y+=M;$(J).children("li").hover(function(){$("li."+g.liOverClass,J).removeClass(g.liOverClass);$(this).addClass(g.liOverClass)},function(){$(this).removeClass(g.liOverClass)})}if(g.additionalOptions.length>0){for(var D=0;D<g.additionalOptions.length;D++){var N=document.createElement("li");N.innerHTML=g.additionalOptions[D].text;J.appendChild(N);$(N).addClass("additionalOptions").hover(function(){$("li",J).removeClass(g.liOverClass);$(this).addClass(g.liOverClass);k=$("li",J).indexOf($(this).get(0))},function(){$(this).removeClass(g.liOverClass)}).bind("click",g.additionalOptions[D].callbackFunction)}}if(E.cachedBefore&&g.showMoreResults){var N=document.createElement("li");N.innerHTML=z.labels[g.languaje]["seeMoreResultsText"];J.appendChild(N);$(N).addClass("moreOptions").hover(function(){$("li",J).removeClass(g.liOverClass);$(this).addClass(g.liOverClass);k=$("li",J).indexOf($(this).get(0))},function(){$(this).removeClass(g.liOverClass)})}};this.showMoreResults=function(){this.searchResults(c.val())};this.requestData=function(B){if(!g.matchCase){B=B.toLowerCase()}if(g.respMinChars){g.minChars=$(o).val().length}var A=FrameworkJS.Common.AutocompleteGlobalCache.loadFromCache(B,g.minChars,g.matchCase,g.matchSubset,g.type);if(A){z.receiveData(B,A)}else{if((typeof g.url=="string")&&(g.url.length>0)){if(g.timeOut!=0){setTimer(function(){z.searchResults(B)})}else{z.searchResults(B)}}}};this.convertXMLtoJSON=function(A){oJSON=new Array();$("option",A).each(function(B){oJSON.push({a:$(this).attr("a"),m:$(this).attr("m"),n:$(this).attr("n"),t:$(this).attr("t")})});return oJSON};this.searchResults=function(B){B=z.trim(B);if(g.noStrangeCharacters){B=B.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(!g.respMinChars){var A=this.makeUrl(B.substr(0,u).replace(/ /gi,"-"))}else{var A=this.makeUrl(B.replace(/ /gi,"-"))}if(B.length>=u){$.ajax({type:"GET",dataType:g.serviceType.toLowerCase(),url:A,success:function(C){if(g.serviceType=="XML"){C=z.convertXMLtoJSON(C)}else{if(g.serviceType=="JSON"){if(C.data){C=C.data}}}FrameworkJS.Common.AutocompleteGlobalCache.addToCache(B.substr(0,g.minChars),C,g.type);if(B.length>g.minChars&&!g.respMinChars){C=FrameworkJS.Common.AutocompleteGlobalCache.loadFromCache(B,g.minChars,g.matchCase,g.matchSubset,g.type)}C.cachedBefore=true;C.getingCache=true;z.receiveData(B,C)},error:function(C,E,D){$(o).data("dataValue","");z.showNoResultsError();if(window.console){console.error("Hubo un error en el servicio de AutoComplete ",C,E,D)}}})}};this.showNoResultsError=function(){f.hide();if(p){p.hide()}if(g.noResultsError){f.html("");var B=document.createElement("ul");var A=document.createElement("li");A.innerHTML=g.noResultsError+$(o).val();B.appendChild(A);$(A).addClass("minCharsLeyend");f.append(B);z.showResults()}};this.getExtraParamValue=function(A){if(typeof A!="function"){return A}else{return A()}};this.makeUrl=function(D){var B=g.url;if(!g.useQueryString){for(var C in g.extraParamsValue){var A=this.getExtraParamValue(g.extraParamsValue[C]);if(g.faceted){if(C==0){if(g.prodCode!=""){B+=g.prodCode+"/"}B+=encodeURI(A)}else{if(A==="es"){B+="/"+encodeURI(A)}else{B+=g.separatorFacetedParams+encodeURI(A)}}}else{B+="/"+encodeURI(A)}}B+="/"+encodeURI(D)}else{B=B+"?";for(var C in g.extraParamsValue){var A=this.getExtraParamValue(g.extraParamsValue[C]);var E=g.extraParamsName[C]?g.extraParamsName[C]:"param"+[C];B+=E+"="+encodeURI(A)+"&"}B+=g.extraParamSearchPatternName+"="+encodeURI(D)}return B};this.findPos=function(B){var C=B.offsetLeft||0;var A=B.offsetTop||0;while(B=B.offsetParent){C+=B.offsetLeft;A+=B.offsetTop}return{x:C,y:A}};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"}};g=g||{};g.languaje=g.languaje||"es";g.url=g.url||"";g.useQueryString=g.useQueryString||false;g.extraParams=g.extraParams||[];g.extraParamsName=g.extraParamsName||[];g.extraParamsValue=g.extraParamsValue||g.extraParams;g.extraParamSearchPatternName=g.extraParamSearchPatternName||"pattern";g.inputClass=g.inputClass||"ac_input";g.initialText=g.initialText||"";g.initialValue=g.initialValue||"";g.initialType=g.initialType||"1";g.initialTypeSelected=g.initialTypeSelected||"";g.noResultsError=g.noResultsError||this.labels[g.languaje]["noResultsError"];g.autoFill=g.autoFill||false;g.resultsClass=g.resultsClass||"ac_results";g.liOverClass=g.liOverClass||"ac_over";g.minChars=g.minChars||3;g.minCharsLeyend=g.minCharsLeyend||false;g.delay=g.delay||100;g.matchCase=g.matchCase||0;g.matchSubset=g.matchSubset||1;g.selectFirst=g.selectFirst||true;g.selectOnly=g.selectOnly||false;g.maxItemsToShow=g.maxItemsToShow||10;g.classListWidth=g.classListWidth||false;g.additionalOptions=g.additionalOptions||[];g.showValue=g.showValue||false;g.preCacheData=g.preCacheData||{};g.showMoreResults=g.showMoreResults||false;g.type=g.type||"general";g.serviceType=g.serviceType||"JSON";g.callBackFunction=g.callBackFunction||false;g.respMinChars=g.respMinChars||false;g.timeOut=g.timeOut||0;g.faceted=g.faceted||false;g.configUrl=g.configUrl||"";g.noStrangeCharacters=g.noStrangeCharacters||false;g.cityMaxRows=g.cityMaxRows||0;g.administrativeDivisionMaxRows=g.administrativeDivisionMaxRows||0;g.countryMaxRows=g.countryMaxRows||0;g.interestPointMaxRows=g.interestPointMaxRows||0;g.airportMaxRows=g.airportMaxRows||0;g.hotelMaxRows=g.hotelMaxRows||0;g.portMaxRows=g.portMaxRows||0;g.pierMaxRows=g.pierMaxRows||0;g.paramsInUrl=g.paramsInUrl||false;g.separatorFacetedParams=g.separatorFacetedParams||"-";g.prodCode=g.prodCode||"";if(g.configUrl!=""){$.ajax({url:g.configUrl,dataType:"json",async:"false",type:"GET",contentType:"application/json",success:function(A){t=A}})}else{if(g.faceted){t={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(g.faceted&&!g.paramsInUrl){if(g.extraParamsValue.length==1){var w=g.extraParamsValue.shift();g.extraParamsValue.push(g.cityMaxRows,g.administrativeDivisionMaxRows,g.countryMaxRows,g.interestPointMaxRows,g.airportMaxRows,g.hotelMaxRows,g.portMaxRows,g.pierMaxRows,w)}else{g.extraParamsValue.push(g.cityMaxRows,g.administrativeDivisionMaxRows,g.countryMaxRows,g.interestPointMaxRows,g.airportMaxRows,g.hotelMaxRows,g.portMaxRows,g.pierMaxRows)}}var z=this;if(typeof FrameworkJS.Common.AutocompleteGlobalCache!="object"){FrameworkJS.Common.AutocompleteGlobalCache=new FrameworkJS.Common.AutocompleteGlobalCache({type:g.type})}else{FrameworkJS.Common.AutocompleteGlobalCache.addType(g.type)}if(g.preCacheData.length>0){FrameworkJS.Common.AutocompleteGlobalCache.preCache(g.preCacheData,g.type)}var c=$(o);if(g.inputClass){c.addClass(g.inputClass)}var p=null;if(($.browser.msie)&&(parseInt($.browser.version)<7)){p=$("<iframe></iframe>").appendTo($("body"))}var s=document.createElement("div");s.id="results-"+c.attr("id");var f=$(s);f.hide().addClass(g.resultsClass).css({position:"absolute","z-index":1002});if(p){p.hide()}f.children("ul:last").children("li").live("click",function(A){A.preventDefault();A.stopPropagation();z.selectItem(this)});function l(A){if(b){A.parent().removeClass("liLast");b=false;if(A.hasClass("clossed")){A.removeClass("clossed").addClass("opened");$(".item"+A.parent().attr("id")).show()}else{A.removeClass("opened").addClass("clossed");$(".ac_results li:visible:last").addClass("liLast");$(".item"+A.parent().attr("id")).hide()}}}$(".more").live("click",function(){l($(this))});$("body").append(f);o.autocompleter=z;var n=null;var r="";var k=-1;var d=false;var v=null;this.initialValue(g.initialText,g.initialValue,g.initialType,false,g.initialTypeSelected);this.scrollNum=0;this.liData=[];c.keydown(function(A){v=A.keyCode;switch(A.keyCode){case 38:A.preventDefault();z.moveSelect(-1);break;case 40:A.preventDefault();z.moveSelect(1);break;case 13:c.get(0).blur();A.preventDefault();break;default:k=-1;if(n){clearTimeout(n)}n=setTimeout(function(){z.onChange()},g.delay);break}}).focus(function(){if(!$(this).attr("autocomplete")||$(this).attr("autocomplete")!="off"){$(this).attr("autocomplete","off")}var A=g.initialText;if(g.initialValue!=""){A+=" ("+g.initialValue+")"}if(!d&&z.trim($(o).val())==A){$(this).val("")}else{this.select()}d=true}).blur(function(J){if($(this).attr("autocomplete")&&$(this).attr("autocomplete")=="off"){$(this).removeAttr("autocomplete")}d=false;if(f.is(":visible")){var F=false;if(navigator.appName=="Microsoft Internet Explorer"){var E=J.clientX;var C=J.clientY;var D=18;var H=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;var A=s.clientLeft+s.offsetLeft+s.clientWidth-D;var L=A+D;var K=s.clientTop+s.offsetTop-H;var G=K+s.clientHeight;if(E>A&&E<L&&C>K&&C<G){F=true}else{F=false}}if(!F){var I=z.selectCurrent();if(b){z.hideResults()}else{c.focus()}if(I){d=true;z.showMoreResults();setTimeout(function(){$(o).focus()},1)}if(!b){d=true;setTimeout(function(){$(o).focus()},1)}}else{setTimeout(function(){$(o).focus()},1)}}var B=z.trim($(o).val());if(B==""){z.initialValue(g.initialText,g.initialValue,g.initialType,false,g.initialTypeSelected)}});this.hideResultsNow();if(g.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,f){var c=document.getElementsByTagName("head")[0];var d;d=document.createElement("script");d.src=b;d.type="text/javascript";if(f!=undefined){d.onload=d.onreadystatechange=f}c.appendChild(d)};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 r=$("<div class='monthsContainer'></div>");var p=$("<div></div>");var B=null;var z=null;var u=null;var t=null;var v=null;var q=new Despegar.Date(this.options.language);var k=null;if(this.calendarContainer.hasClass("created")){k=1}else{k=this.options.shownMonths}var l=new Despegar.Date(this.options.language);for(var f=0;f<k;f++){if(this.calendarContainer.hasClass("created")){f=$(".monthsContainer > div",$("#calendarContainer")).length}q.setddmmaaaa(1+"/"+this.today.month+"/"+this.today.year,"/");q.addMonths(f);l.setddmmaaaa(q.getddmmaaaa(),"/");var s=q.getFirstDayOfMonthInWeek();p=$("<div id="+q.getaaaamm()+"></div>");u=$("<div class='daysGrid'></div>");z=$("<div class='daysNameContainer'></div>");t=$("<p></p>");if(this.calendarContainer.hasClass("created")==false){if(k==1){this.firstMonth=parseInt(q.getaaaamm());this.lastMonth=parseInt(q.getaaaamm())}else{switch(f){case 0:this.firstMonth=parseInt(q.getaaaamm());break;case k-1:this.lastMonth=parseInt(q.getaaaamm());break}}}var x=q.getMonthsName();B=$("<div class='monthHeader'></div>");B.append($("<h3>"+x[l.month]+" "+l.year+"</h3>"));var A=$("<p class='monthsSwitchingArrows'></p>");var o=$("<p class='arrowContainer previous'></p>");var w=$("<a style='font-family: Arial;'>"+String.fromCharCode(9668)+"</a>");w.click(function(){b.showPreviousMonth()});o.append(w);A.append(o);o=$("<p class='arrowContainer next'></p>");w=$("<a style='font-family: Arial;'>"+String.fromCharCode(9658)+"</a>");w.click(function(){b.showNextMonth()});o.append(w);A.append(o);if(this.calendarContainer.hasClass("created")==false){if(k==1){p.addClass("firstMonth");A.addClass("noPrev");p.addClass("lastMonth")}else{switch(f){case 0:p.addClass("firstMonth");A.addClass("noPrev");break;case k-1:p.addClass("lastMonth");break}}}if(($(p).attr("id")>=b.lastAvailableDay.getaaaamm())&&(f>=k-1)){A.addClass("noNext")}B.append(A);p.append(B);var g=q.getDaysName();for(var d=1;d<=7;d++){z.append('<span class="dayName">'+g[d]+"</span>")}p.append(z);q.setddmmaaaa("1/"+(this.today.month)+"/"+this.today.year,"/");q.addMonths(f);q.addDaysJSDate(-s-1);var y=new Despegar.Date(this.options.language);for(var n=0;n<42;n++){q.addDays(1);y.day=q.day;y.month=q.month;y.year=q.year;if(y.month!=l.month){t.append($("<span class='noCurrentMonth'>"+y.day+"</span>"))}else{if(parseInt(y.getiso(),10)>=parseInt(this.today.getiso(),10)){v=$("<span id='"+q.getiso()+"'>"+y.day+"</span>").attr("id",q.getiso()).data("date",q.getddmmaaaa()).mouseup(function(){if($(this).hasClass("selectable")){var C;if($(".focused").attr("id")==b.inputGo.attr("id")){C=$(b.inputGo)}else{C=$(b.inputReturn)}C.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))}}});v=this.setIEDaysHover(v);if(parseInt(y.getiso(),10)<parseInt(this.firstAvailableDay.getiso(),10)||parseInt(y.getiso(),10)>=parseInt(this.lastAvailableDay.getiso(),10)){v.addClass("nonSelectable")}else{v.addClass("selectable")}if(y.day==this.today.day&&parseInt(y.getiso(),10)<=parseInt(this.firstAvailableDay.getiso(),10)){v.addClass("today")}}else{v=$("<span class='pastDate'>"+y.day+"</span>")}t.append(v)}if(n%7==6){u.append(t);if((n+1)/7!=6){t=$("<p></p>")}}}u.append(t);p.append(u);$(p).addClass("calendarVisible");r.append(p)}return r};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(g){var k=(g.offset().top+g.outerHeight());var f=g.offset().left+"px";var q=g.offset().left+$(".calendarContainer").width();var l=g.offset().top+$(".calendarContainer").height();var o=0,n=0;if(typeof(window.pageYOffset)=="number"){n=window.pageYOffset;o=window.pageXOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){n=document.body.scrollTop;o=document.body.scrollLeft}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){n=document.documentElement.scrollTop;o=document.documentElement.scrollLeft}}}if(typeof window.innerWidth!="undefined"){var d=window.innerWidth+o;var p=window.innerHeight+n}else{var d=document.documentElement.clientWidth+o;var p=document.documentElement.clientHeight+n}if(q>d){f=g.offset().left-$(".calendarContainer").width()+g.width()+2+"px"}if(l>p){k=(k-$(".calendarContainer").height()-g.outerHeight())+"px"}this.calendarContainer.show().css("z-index",1001).css("top",k).css("left",f);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",k).css("left",f)}};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 f=this.firstMonth.toString();var d=this.lastMonth.toString();if(f.substr(4,2)>"12"){this.firstMonth=this.firstMonth-12+parseInt(parseInt(f.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 f=this.firstMonth.toString();var d=this.lastMonth.toString();if(f.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 f=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.firstMonth));var d=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.lastMonth));$(".hiddenMonth:lt("+d+"):gt("+f+")",$("#calendarContainer")).addClass("calendarVisible").removeClass("hiddenMonth");$("#"+this.lastMonth).addClass("lastMonth calendarVisible").removeClass("hiddenMonth");$("#"+this.firstMonth).addClass("firstMonth calendarVisible").removeClass("hiddenMonth")};var c=function(l,n){var d=new Despegar.Date();var f=$("#"+l.data("relatedID"));var g;if(l.data("tripType")=="go"){b.inputGo=l;b.inputReturn=f;g=true}else{b.inputGo=f;b.inputReturn=l;g=false}if(g){d.setddmmaaaa(n.getddmmaaaa(),"/");d.addMonths(b.options.shownMonths);if(d.compareMonthAndYearTo(b.lastAvailableDay.getaaaamm())!=1){l.data("firstMonthPosition",n.getaaaamm())}else{d.setFullDate(b.lastAvailableDay.getYear(),b.lastAvailableDay.getMonth(),1);d.addMonths(1-b.options.shownMonths);l.data("firstMonthPosition",d.getaaaamm())}if(f.data("isValid")){d.setddmmaaaa(f.val(),"/");if(d.compareMonthAndYearTo(n.getaaaamm())==0){f.data("firstMonthPosition",l.data("firstMonthPosition"))}}}else{var k=true;if(f.data("isValid")){d.setddmmaaaa(f.val(),"/");if(d.compareMonthAndYearTo(n.getaaaamm())==0){l.data("firstMonthPosition",f.data("firstMonthPosition"));k=false}}if(k){if(n.getaaaamm()==b.inputGo.data("firstMonthPosition")){l.data(b.inputGo.data("firstMonthPosition"))}else{d.setddmmaaaa(n.getddmmaaaa(),"/");d.addMonths(1-b.options.shownMonths);if(d.compareMonthAndYearTo(b.today.getaaaamm())!=-1){l.data("firstMonthPosition",d.getaaaamm())}else{d.day=b.today.day;d.month=b.today.month;d.year=b.today.year;l.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(g){d=g},error:function(g,l,k){},dataType:"json"});if(d==null){var f=new Date();d={};d.today={day:f.getDate(),month:(f.getMonth()+1),year:f.getFullYear()};d.products={cod:"default",data:{anticipationDays:3,availableDays:330}}}return d};this.processConfiguration=function(f){b.configuration=new Array();b.today=new Despegar.Date(this.options.language);b.today.day=f.today.day;b.today.month=f.today.month;b.today.year=f.today.year;var d=null;if($(f.products).length==1){b.configuration[f.products.cod]=f.products.data}else{for(i=0;i<$(f.products).length;i++){d=f.products[i];b.configuration[d.cod]=d.data}}};this.setProduct=function(f){if(typeof this.productData[f]=="undefined"){var d=null;if(typeof this.configuration[f]=="undefined"){d="default"}else{d=f}this.productData[f]=new Object();this.productData[f].availableDays=this.configuration[d].availableDays;this.productData[f].anticipationDays=this.configuration[d].anticipationDays;this.productData[f].firstAvailableDay=new Despegar.Date();this.productData[f].firstAvailableDay.setddmmaaaa(this.today.day+"/"+(this.today.month)+"/"+this.today.year,"/");this.productData[f].firstAvailableDay.addDays(this.productData[f].anticipationDays);this.productData[f].lastAvailableDay=new Despegar.Date();this.productData[f].lastAvailableDay.setddmmaaaa(this.productData[f].firstAvailableDay.getddmmaaaa(),"/");this.productData[f].lastAvailableDay.addDays(this.productData[f].availableDays)}this.anticipationDays=this.productData[f].anticipationDays;this.availableDays=this.productData[f].availableDays;this.firstAvailableDay=this.productData[f].firstAvailableDay;this.lastAvailableDay=this.productData[f].lastAvailableDay;if(this.calendarContainer.hasClass("created")){this.setAvailableDays(f)}};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(l){if(this.options.language=="pt"){closeLinkText="Fechar"}else{closeLinkText="Cerrar"}$(".closeCalendar > a",$("#calendarContainer")).text(closeLinkText);var f=new Despegar.Date(l);var d=f.getDaysName();$(".dayName",$("#calendarContainer")).each(function(n){this.innerHTML=d[(n%7)+1]});var k=f.getMonthsName();var g=$(".monthsContainer > div:first").attr("id");f.setFullDate(g.substr(0,4),g.substr(4,2),1);$(".monthHeader > h3",$("#calendarContainer")).each(function(n){this.innerHTML=k[f.month]+" "+f.getYear();f.addMonths(1)})};this.setInputEvents=function(f){var g=$(f);var d=false;f.setValue=function(o){this.value=o;$(this).blur()};var n=false;if(b.options.defaultDate!="dd/mm/aaaa"){n=true}else{g.addClass("default")}g.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",n).addClass("isCalendar");if(b.options.defaultDate!="dd/mm/aaaa"&&n){var l=new Despegar.Date();l.setddmmaaaa(b.options.defaultDate,"/");c(g,l)}g.blur(function(){b.IsHoverFocus=false;g.data("isValid",false);if(b.calendarContainer.hasClass("active")==false){b.hideCalendar()}var p=/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$/;var o=g.val();if(o.match(p)){var q=new Despegar.Date();q.setddmmaaaa(g.val(),"/");if(!(q.isValidDate())||q.compareTo(b.lastAvailableDay.getiso())==1||q.compareTo(b.firstAvailableDay.getiso())==-1||q.month==0||q.day==0){g.addClass("settingDateError").data("isValid",false)}else{if($("#"+q.getiso()).length==1&&$("#"+q.getiso()).hasClass("selectable")){g.val(q.getddmmaaaa());g.removeClass("settingDateError");g.data("isValid",true);if(d){c(g,q);d=false}}else{g.removeClass("settingDateError");if(typeof b.anticipationDays!="undefined"){while($("#"+q.getiso()).length==0){$(".monthsContainer",$("#calendarContainer")).append($(b.drawCalendar()).children(".calendarVisible"))}}else{alert("There was a failure in the calendar configuration")}if($("#"+q.getiso()).hasClass("selectable")==false){g.addClass("settingDateError").data("isValid",false)}else{g.data("isValid",true);if(d){c(g,q);d=false}}}}}else{if(o==""||o=="dd/mm/aaaa"){g.val("dd/mm/aaaa").removeClass("settingDateError").removeData("firstMonthPosition")}else{g.addClass("settingDateError").data("isValid",false)}}g.trigger("change");b.checkTextDefault(g)}).keypress(function(o){b.checkTextDefault(g);switch(o.keyCode){case 13:g.blur();case 27:g.blur();break;default:g.removeClass("settingDateError");d=true}}).focus(function(){if(!b.IsHoverFocus){if(b.options.shownMonths!=g.data("shownMonths")){b.options.shownMonths=g.data("shownMonths")}if(b.calendarContainer.hasClass("created")==false){b.setProduct(g.data("product"));b.generateCalendar()}if(b.calendarContainer.data("language")!=g.data("language")||b.calendarContainer.data("language")!=b.options.language){b.options.language=g.data("language");b.calendarContainer.data("language",b.options.language);b.changeLanguage(b.options.language)}$(".focused").removeClass("focused");g.addClass("focused").select();if(g.data("tripType")=="go"){b.inputGo=g;b.inputReturn=$("#"+g.data("relatedID"))}else{b.inputReturn=g;b.inputGo=$("#"+g.data("relatedID"))}if(b.options.product!=g.data("product")){b.setProduct(g.data("product"));b.options.product=g.data("product")}var p=new Despegar.Date();p.day=b.today.day;p.month=b.today.month;p.year=b.today.year;var o;var r;var q;if(g.data("firstMonthPosition")==undefined){if($("#"+g.data("relatedID")).data("firstMonthPosition")==undefined){b.firstMonth=p.getaaaamm()}else{o=$("#"+g.data("relatedID")).data("firstMonthPosition");r=parseInt(o.substring(0,4));if(o.substring(4,5)=="0"){q=parseInt(o.substring(5,6))}else{q=parseInt(o.substring(4,6))}if(((q+1)<b.today.month)&&(r<=b.today.year)){b.firstMonth=p.getaaaamm()}else{b.firstMonth=o}}}else{o=g.data("firstMonthPosition");r=parseInt(o.substring(0,4));if(o.substring(4,5)=="0"){q=parseInt(o.substring(5,6))}else{q=parseInt(o.substring(4,6))}if(((q+1)<b.today.month)&&(r<=b.today.year)){b.firstMonth=p.getaaaamm()}else{b.firstMonth=o}}p.setFullDate(b.firstMonth.substr(0,4),b.firstMonth.substr(4,2),1);p.addMonths(b.options.shownMonths-1);b.lastMonth=p.getaaaamm();b.setMonthsClasses();$(".selected",$("#calendarContainer")).removeClass("selected");var s=new Despegar.Date();if($(b.inputGo).hasClass("isCalendar")){s.setddmmaaaa($(b.inputGo).val(),"/");if($("#"+s.getiso()).length==1&&$("#"+s.getiso()).hasClass("selectable")){$("#"+s.getiso()).addClass("selected")}}if($(b.inputReturn).hasClass("isCalendar")){s.setddmmaaaa($(b.inputReturn).val(),"/");if($("#"+s.getiso()).length==1&&$("#"+s.getiso()).hasClass("selectable")){$("#"+s.getiso()).addClass("selected")}}b.showCalendar(g)}else{b.IsHoverFocus=false}});var k=$("<div class='mainSprite commonSprite buttonCalendarOn calendarImage'></div>").hover(function(){b.calendarContainer.addClass("active")},function(){b.calendarContainer.removeClass("active")});g.after(k);k.click(function(){if(b.calendarContainer.css("display")=="block"&&$(this).parent().find("input").hasClass("focused")){b.hideCalendar();g.trigger("blur")}else{if(!b.firstClick){g.trigger("blur").trigger("focus")}else{g.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,f){this.setOptions(f);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,f){var c=this;f.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(f){var c="/Hotels.Services/Commons/Logging.svc/LogReport";var d=JSON.stringify(f);$.ajax({url:c,type:"POST",data:d,contentType:"application/json"})};this.getClientId=function(){var c;var d=new Date();var f=Common.Utils.Cookie.ReadCookie("revClientId");if(f==null){c=Math.floor(1000*(Math.random()));c=b.md5(c.toString().concat(d.getTime().toString()));Common.Utils.Cookie.CreateCookie("revClientId",c.toString(),1);f=c}return f};this.md5=function(H){var I;var C=function(d,c){return(d<<c)|(d>>>(32-c))};var M=function(aa,d){var ac,c,x,ab,k;x=(aa&2147483648);ab=(d&2147483648);ac=(aa&1073741824);c=(d&1073741824);k=(aa&1073741823)+(d&1073741823);if(ac&c){return(k^2147483648^x^ab)}if(ac|c){if(k&1073741824){return(k^3221225472^x^ab)}else{return(k^1073741824^x^ab)}}else{return(k^x^ab)}};var w=function(c,k,d){return(c&k)|((~c)&d)};var v=function(c,k,d){return(c&d)|(k&(~d))};var u=function(c,k,d){return(c^k^d)};var s=function(c,k,d){return(k^(c|(~d)))};var A=function(ab,aa,ag,af,k,ad,ae){ab=M(ab,M(M(w(aa,ag,af),k),ae));return M(C(ab,ad),aa)};var g=function(ab,aa,ag,af,k,ad,ae){ab=M(ab,M(M(v(aa,ag,af),k),ae));return M(C(ab,ad),aa)};var K=function(ab,aa,ag,af,k,ad,ae){ab=M(ab,M(M(u(aa,ag,af),k),ae));return M(C(ab,ad),aa)};var z=function(ab,aa,ag,af,k,ad,ae){ab=M(ab,M(M(s(aa,ag,af),k),ae));return M(C(ab,ad),aa)};var f=function(ac){var ad;var x=ac.length;var k=x+8;var d=(k-(k%64))/64;var ab=(d+1)*16;var ae=new Array(ab-1);var c=0;var aa=0;while(aa<x){ad=(aa-(aa%4))/4;c=(aa%4)*8;ae[ad]=(ae[ad]|(ac.charCodeAt(aa)<<c));aa++}ad=(aa-(aa%4))/4;c=(aa%4)*8;ae[ad]=ae[ad]|(128<<c);ae[ab-2]=x<<3;ae[ab-1]=x>>>29;return ae};var y=function(x){var c="",d="",aa,k;for(k=0;k<=3;k++){aa=(x>>>(k*8))&255;d="0"+aa.toString(16);c=c+d.substr(d.length-2,2)}return c};var J=[],Q,n,L,B,l,Z,Y,X,W,T=7,R=12,O=17,N=22,G=5,F=9,E=14,D=20,t=4,r=11,q=16,p=23,V=6,U=10,S=15,P=21;H=b.utf8_encode(H);J=f(H);Z=1732584193;Y=4023233417;X=2562383102;W=271733878;I=J.length;for(Q=0;Q<I;Q+=16){n=Z;L=Y;B=X;l=W;Z=A(Z,Y,X,W,J[Q+0],T,3614090360);W=A(W,Z,Y,X,J[Q+1],R,3905402710);X=A(X,W,Z,Y,J[Q+2],O,606105819);Y=A(Y,X,W,Z,J[Q+3],N,3250441966);Z=A(Z,Y,X,W,J[Q+4],T,4118548399);W=A(W,Z,Y,X,J[Q+5],R,1200080426);X=A(X,W,Z,Y,J[Q+6],O,2821735955);Y=A(Y,X,W,Z,J[Q+7],N,4249261313);Z=A(Z,Y,X,W,J[Q+8],T,1770035416);W=A(W,Z,Y,X,J[Q+9],R,2336552879);X=A(X,W,Z,Y,J[Q+10],O,4294925233);Y=A(Y,X,W,Z,J[Q+11],N,2304563134);Z=A(Z,Y,X,W,J[Q+12],T,1804603682);W=A(W,Z,Y,X,J[Q+13],R,4254626195);X=A(X,W,Z,Y,J[Q+14],O,2792965006);Y=A(Y,X,W,Z,J[Q+15],N,1236535329);Z=g(Z,Y,X,W,J[Q+1],G,4129170786);W=g(W,Z,Y,X,J[Q+6],F,3225465664);X=g(X,W,Z,Y,J[Q+11],E,643717713);Y=g(Y,X,W,Z,J[Q+0],D,3921069994);Z=g(Z,Y,X,W,J[Q+5],G,3593408605);W=g(W,Z,Y,X,J[Q+10],F,38016083);X=g(X,W,Z,Y,J[Q+15],E,3634488961);Y=g(Y,X,W,Z,J[Q+4],D,3889429448);Z=g(Z,Y,X,W,J[Q+9],G,568446438);W=g(W,Z,Y,X,J[Q+14],F,3275163606);X=g(X,W,Z,Y,J[Q+3],E,4107603335);Y=g(Y,X,W,Z,J[Q+8],D,1163531501);Z=g(Z,Y,X,W,J[Q+13],G,2850285829);W=g(W,Z,Y,X,J[Q+2],F,4243563512);X=g(X,W,Z,Y,J[Q+7],E,1735328473);Y=g(Y,X,W,Z,J[Q+12],D,2368359562);Z=K(Z,Y,X,W,J[Q+5],t,4294588738);W=K(W,Z,Y,X,J[Q+8],r,2272392833);X=K(X,W,Z,Y,J[Q+11],q,1839030562);Y=K(Y,X,W,Z,J[Q+14],p,4259657740);Z=K(Z,Y,X,W,J[Q+1],t,2763975236);W=K(W,Z,Y,X,J[Q+4],r,1272893353);X=K(X,W,Z,Y,J[Q+7],q,4139469664);Y=K(Y,X,W,Z,J[Q+10],p,3200236656);Z=K(Z,Y,X,W,J[Q+13],t,681279174);W=K(W,Z,Y,X,J[Q+0],r,3936430074);X=K(X,W,Z,Y,J[Q+3],q,3572445317);Y=K(Y,X,W,Z,J[Q+6],p,76029189);Z=K(Z,Y,X,W,J[Q+9],t,3654602809);W=K(W,Z,Y,X,J[Q+12],r,3873151461);X=K(X,W,Z,Y,J[Q+15],q,530742520);Y=K(Y,X,W,Z,J[Q+2],p,3299628645);Z=z(Z,Y,X,W,J[Q+0],V,4096336452);W=z(W,Z,Y,X,J[Q+7],U,1126891415);X=z(X,W,Z,Y,J[Q+14],S,2878612391);Y=z(Y,X,W,Z,J[Q+5],P,4237533241);Z=z(Z,Y,X,W,J[Q+12],V,1700485571);W=z(W,Z,Y,X,J[Q+3],U,2399980690);X=z(X,W,Z,Y,J[Q+10],S,4293915773);Y=z(Y,X,W,Z,J[Q+1],P,2240044497);Z=z(Z,Y,X,W,J[Q+8],V,1873313359);W=z(W,Z,Y,X,J[Q+15],U,4264355552);X=z(X,W,Z,Y,J[Q+6],S,2734768916);Y=z(Y,X,W,Z,J[Q+13],P,1309151649);Z=z(Z,Y,X,W,J[Q+4],V,4149444226);W=z(W,Z,Y,X,J[Q+11],U,3174756917);X=z(X,W,Z,Y,J[Q+2],S,718787259);Y=z(Y,X,W,Z,J[Q+9],P,3951481745);Z=M(Z,n);Y=M(Y,L);X=M(X,B);W=M(W,l)}var o=y(Z)+y(Y)+y(X)+y(W);return o.toLowerCase()};this.utf8_encode=function(c){var p=(c+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");var q="";var d,k;var f=0;d=k=0;f=p.length;for(var g=0;g<f;g++){var o=p.charCodeAt(g);var l=null;if(o<128){k++}else{if((o>127)&&(o<2048)){l=String.fromCharCode((o>>6)|192)+String.fromCharCode((o&63)|128)}else{l=String.fromCharCode((o>>12)|224)+String.fromCharCode(((o>>6)&63)|128)+String.fromCharCode((o&63)|128)}}if(l!==null){if(k>d){q+=p.substring(d,k)}q+=l;d=k=g+1}}if(k>d){q+=p.substring(d,p.length)}return q}};registerNameSpace("Despegar");Despegar.Form=function(b,d,f,c){this.action=b;this.method=d.toString().toUpperCase();this.id=f;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,f,d){var b=document.createElement("input");b.id=f;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(r){var H={PT:"SAOB2215F",ES:"BUEG1215B"};var I={PT:"SAO1D28AA",ES:"BUEG128FB"};var t={PT:"SAO",ES:"BUE"};var p={PT:"BR",ES:"ES"};var l={PT:"carros@decolar.com",ES:"autos@despegar.com"};var J={PT:"http://wftc1.e-travel.com",ES:"http://wftc1.e-travel.com"};var o={PT:"BRL",ES:"USD"};var g={AVIS:"ZI",BUDGET:"ZD",HERTZ:"ZE",ALAMO:"AL"};var n={MIA:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZD:"B9"}},ORL:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZD:"B9"}},LAX:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZD:"B9"}},LAS:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZD:"B9"}},SFO:{"01":{AL:"MF",ZE:"LA1"},"03":{ZI:"4M",ZD:"B9"}},CUN:{"01":{ZE:"BEST"},"03":{ZI:"PW"}},MEX:{"01":{ZE:"BEST"},"03":{ZI:"PW"}},AUA:{"03":{ZI:"PW",ZD:"SJ"}},MVD:{"01":{ZE:"BEST",ZI:"UY"},"03":{ZD:"SJ"}},PDP:{"01":{ZE:"BEST",ZI:"UY"},"03":{ZD:"SJ"}},BUE:{"01":{ZE:"MER"},"03":{ZD:"SJ"}},BRC:{"01":{ZE:"MER"},"03":{ZD:"SJ"}},FTE:{"01":{ZE:"MER"},"03":{ZD:"SJ"}},PTY:{"01":{ZE:"BEST",ZI:"PM"},"03":{ZD:"SJ"}},RIO:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},FLN:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},SSA:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},SAO:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},POA:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},REC:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},FOR:{"01":{ZE:"BEST"},"03":{ZD:"SJ"}},SCL:{"01":{ZE:"BEST"},"03":{ZI:"TS"}},MAD:{"01":{ZE:"AEX"},"03":{ZI:"9O"}},ROM:{"01":{ZE:"AEX"},"03":{ZI:"P7"}}};var E=J[r.language.toUpperCase()]+"/plnext/despegar/CarShopperStart.action?";var C=r.dateget.split("/");var B=r.datereturn.split("/");var G=r.timeget.replace(":","");var c=r.timereturn.replace(":","");var s=p[r.language.toUpperCase()];var u=l[r.language.toUpperCase()];var A="DESPEGAR";var v=t[r.language.toUpperCase()];var D=H[r.language.toUpperCase()];var w=I[r.language.toUpperCase()];var F=o[r.language.toUpperCase()];var f="										TRIPFLOW=YES										&ARRANGE_BY=N										&REFRESH=0										&PLTG_FROMPAGE=CARSEARCH										&DIRECT_LOGIN=NO										&SITE=ADHHADHH										&SO_SITE_OFFICE_ID="+w+"										&SO_SITE_QUEUE_OFFICE_ID="+D+"										&SO_FAILURE_QUEUE_OFFICE_ID="+D+"										&SO_SITE_MOD_PICKUP_OFFICE="+D+"										&SO_SITE_TK_ARRANGEMENT=OK										&SO_SITE_TK_OFFICE_ID="+D+"										&SO_SITE_MAIL_FROM="+u+"										&SO_LANG_SITE_EMAIL_ADDRESS="+u+"										&SO_SITE_POINT_OF_SALE="+v+"										&SO_SITE_POINT_OF_TICKETING="+v+"										&SO_SITE_MINIMAL_TIME=H24										&SO_LANG_SITE_AGENCY_LINE1="+A+"										&PRIMARY_CURRENCY="+F+"										&USER_CURRENCY_CODE="+F+"										&SO_SITE_PRIMARY_CURRENCY="+F+"										&PREF_CURRENCY="+F+"										&SO_SITE_USER_CURRENCY_CODE="+F+"										&SO_SITE_MAIL_REPLY_TO="+u+"										&LANGUAGE="+s+"										&B_LOCATION="+r.citygetcar+"										&E_LOCATION="+r.cityreturncar+"										&B_DATE="+C[2].toString()+C[1].toString()+C[0].toString()+G.toString()+"										&E_DATE="+B[2].toString()+B[1].toString()+B[0].toString()+c.toString()+"										&CLASS=*										&USE_CAR_SHOPPER=TRUE										&AUTO_SEARCH=TRUE";var q=new Date(C[2].toString(),C[1].toString()-1,C[0].toString());var d=new Date(B[2].toString(),B[1].toString()-1,B[0].toString());var z=1000*60*60*24;var k=Math.ceil((d-q)/z);var x="&SO_GL=";var y="";if(n[r.citygetcar]!=undefined){$.each(n[r.citygetcar],function(K,L){if(parseInt(K)<=k){$.each(L,function(M,N){carRentalCode=M;carRentalRateCode=N;if(y!=""){y=y+"&"}y=y+"<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(y!=""){f=f+x+y}}window.location.href=E+f};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 f=this;d.obj=new Despegar.Cars.SearchBoxCars(f,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(k,g,o){var n=Despegar.SearchBox.SearchResolver.buildRevanchaUrl(k);if(k.searchHotelsToo==1){b.searchHotelsForThisTrip(g,k);Common.Utils.Cookie.CreateCookie("OMNITURE_SEARCH_FLIGHTS_HOTELS",1)}else{Common.Utils.Cookie.EraseCookie("OMNITURE_SEARCH_FLIGHTS_HOTELS")}if(typeof k.disambiguation=="undefined"){if(o.id!=null){window.open(b.hostParameters(k.country)+b.trackingParameters(o)+escape(n)+"?"+k.qstring);$("#searchBoxFlights > .btnDisabled").removeClass("btnDisabled")}else{Despegar.SearchBox.SearchResolver.resolveSearch(k,c,d)}}else{var l=null;var f=$("<form method='post'></form>");if(o.id!=null){$(f).attr("target","_blank");l=b.hostParameters(k.country)+b.trackingParameters(o)+escape("/search/Disambiguation/Disambiguation.aspx")}else{l="/search/Disambiguation/Disambiguation.aspx"}$(f).attr("action",l);f.appendTo("body");f.html($("<input id='inputHiddenData' name='data' type='hidden' value='"+k.disambiguation+"'/>"));f.submit()}};this.trackingParameters=function(f){return"Contents/Tracking/"+f.cod+"/"+f.id+"?url2post="};this.hostParameters=function(f){var g="";switch(f){case"uy":case"us":g="http://www."+f+"despegar.com/";break;case"cl":case"hn":g="http://www.despegar."+f+"/";break;case"br":if(brand=="viajo"){g="http://www.viajo.com"+f+"/"}else{if(brand=="carrefour"){g="http://voos.carrefourviagens.com.br"}else{g="http://www.decolar.com"}}break;default:if(brand=="viajo"){g="http://www.viajo.com"+f+"/"}else{g="http://www.despegar.com"+f+"/"}break}return g};this.saveSearchOnCookie=function(g,f){Common.Utils.Cookie.CreateCookie("flight-Revancha",escape(JSON.stringify(g)),f)};this.reportLog=function(n){var k=new Despegar.HotelsReportLogData();var g=new b.FlowStage();var l=new Despegar.Date();k.CheckIn=l.createJSonDate(new Date(l.getAmericandDate(n.checkin)));k.CheckOut=l.createJSonDate(new Date(l.getAmericandDate(n.checkout)));k.Distribution=n.roomsDetails.roomsSerialize;k.Destination=n.destination;k.Stage=g.Home;var f=new Despegar.Logger();f.LogReport(k)};this.urlTransform=function(g){var f;if(g=="localhost"){f=["desa","mx","despegar","com"]}else{f=g.split(".")}var l="http://";if(f.length==3){var k=Common.Utils.Ajax({url:"http://"+g+"/IpService/IPWatcher.ashx",async:false});if(!k){k="mx"}l+=(Common.Utils.GetUrlBrand(f[1],k))}else{if(f[f.length-1].indexOf("com")>=0||f[f.length-1].indexOf("it")>=0){l+=g}else{l+=(Common.Utils.GetUrlBrand(f[1],f[3]))}}return l};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(l,g){var k=true;for(var f=0;f<1;f++){k=(k&&b.singlewindow(f,"Despegar",1,g,l))}window.focus();return k};this.singlewindow=function(n,g,s,t,l){if(!t.destination){return false}var p=g;try{var q=t.adt+t.cnn+t.inf;if(q>4){q=2}var r="height=800,width=800,menubar=1,location=1,resizable=1,scrollbars=1,toolbar=1";var f="/search/Hotels/"+t.destination+"/"+Despegar.SearchBox.SearchResolver.dateTransform(t.hotelCheckInDate)+"/"+Despegar.SearchBox.SearchResolver.dateTransform(t.hotelCheckOutDate)+"/"+q+"/";var o=window.open(f,p,r);o.focus()}catch(k){return false}return true}};registerNameSpace("Despegar.Flights.FlightFlows");Despegar.Flights.FlightFlows.FlightsWeb=function(){var b=this;var c="flights";var d=(typeof globalObjects!="undefined")?(globalObjects.FlightsAnticipatedSearch||false):false;this.searchFlights=function(k,g,o){var n=Despegar.SearchBox.SearchResolver.buildFlightsUrl(k,false);if(k.searchHotelsToo==1){b.searchHotelsForThisTrip(g,k);Common.Utils.Cookie.CreateCookie("OMNITURE_SEARCH_FLIGHTS_HOTELS",1)}else{Common.Utils.Cookie.EraseCookie("OMNITURE_SEARCH_FLIGHTS_HOTELS")}if(typeof k.disambiguation=="undefined"){if(o.id!=null){window.open(b.hostParameters(k.country)+b.trackingParameters(o)+escape(n)+"?"+k.qstring);$("#searchBoxFlights > .btnDisabled").removeClass("btnDisabled")}else{Despegar.SearchBox.SearchResolver.resolveSearch(k,c,d)}}else{var l=null;var f=$("<form method='post'></form>");if(o.id!=null){$(f).attr("target","_blank");l=b.hostParameters(k.country)+b.trackingParameters(o)+escape("/search/Disambiguation/Disambiguation.aspx")}else{l="/search/Disambiguation/Disambiguation.aspx"}$(f).attr("action",l);f.appendTo("body");f.html($("<input id='inputHiddenData' name='data' type='hidden' value='"+k.disambiguation+"'/>"));f.submit()}};this.trackingParameters=function(f){return"Contents/Tracking/"+f.cod+"/"+f.id+"?url2post="};this.hostParameters=function(f){var g="";switch(f){case"uy":case"us":g="http://www."+f+"despegar.com/";break;case"cl":case"hn":g="http://www.despegar."+f+"/";break;case"br":if(brand=="viajo"){g="http://www.viajo.com"+f+"/"}else{g="http://www.decolar.com"}break;default:if(brand=="viajo"){g="http://www.viajo.com"+f+"/"}else{g="http://www.despegar.com"+f+"/"}break}return g};this.saveSearchOnCookie=function(g,f){Common.Utils.Cookie.CreateCookie("flight-Revancha",escape(JSON.stringify(g)),f)};this.reportLog=function(n){var k=new Despegar.HotelsReportLogData();var g=new b.FlowStage();var l=new Despegar.Date();k.CheckIn=l.createJSonDate(new Date(l.getAmericandDate(n.checkin)));k.CheckOut=l.createJSonDate(new Date(l.getAmericandDate(n.checkout)));k.Distribution=n.roomsDetails.roomsSerialize;k.Destination=n.destination;k.Stage=g.Home;var f=new Despegar.Logger();f.LogReport(k)};this.urlTransform=function(g){var f;if(g=="localhost"){f=["desa","mx","despegar","com"]}else{f=g.split(".")}var l="http://";if(f.length==3){var k=Common.Utils.Ajax({url:"http://"+g+"/IpService/IPWatcher.ashx",async:false});if(!k){k="mx"}l+=(Common.Utils.GetUrlBrand(f[1],k))}else{if(f[f.length-1].indexOf("com")>=0||f[f.length-1].indexOf("it")>=0){l+=g}else{l+=(Common.Utils.GetUrlBrand(f[1],f[3]))}}return l};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(l,g){var k=true;for(var f=0;f<1;f++){k=(k&&b.singlewindow(f,"Despegar",1,g,l))}window.focus();return k};this.singlewindow=function(n,g,s,t,l){if(!t.destination){return false}var p=g;try{var q=t.adt+t.cnn+t.inf;if(q>4){q=2}var r="height=800,width=800,menubar=1,location=1,resizable=1,scrollbars=1,toolbar=1";var f="/search/Hotels/"+t.destination+"/"+Despegar.SearchBox.SearchResolver.dateTransform(t.hotelCheckInDate)+"/"+Despegar.SearchBox.SearchResolver.dateTransform(t.hotelCheckOutDate)+"/"+q+"/";var o=window.open(f,p,r);o.focus()}catch(k){return false}return true}};registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.SearchResolver=(function(d,g){var f="revancha";var b="flights";var c=100;resolveSearch=function(p,k,n){var l;switch(k){case f:l=buildRevanchaUrl(p);break;case b:l=buildFlightsUrl(p,false);break;default:l=buildRevanchaUrl(p);break}if(n){var o=buildFlightsUrl(p,true);var q=setTimeout(function(){location.href=l},c);d.ajax({url:o,complete:function(r,s){clearTimeout(q);location.href=l}})}else{location.href=l}};buildRevanchaUrl=function(u){switch(u.tripType){case"oneWay":var n="";if(u.advSearch==1&&(u.departureTime!="NA"||u.classPref!="NA"||u.stopQuantity!="NA"||u.airlinePref!="NA")){n="/"+u.departureTime+"/"+u.classPref+"/"+u.stopQuantity+"/"+u.airlinePref}var p="/search/flights/"+u.tripType+"/"+u.origin+"/"+u.destination+"/"+dateTransform(u.departureDate)+"/"+u.adt+"/"+u.cnn+"/"+u.inf+n;u.hotelCheckInDate=u.departureDate;u.hotelCheckOutDate=u.departureDate;break;case"MultipleDestinations":var s="";var q="";var k="";var r;var l;var t=0;d.each(u.mdParameters,function(w){var v=u.mdParameters[w];if(v.origin!=""&&v.destination!=""&&v.date!="dd/mm/aaaa"){if(w!=0){s+=",";q+=",",k+=","}s+=v.origin;q+=v.destination;k+=dateTransform(v.date);t++}});var o;if(t>1){o=u.tripType;r=u.mdParameters[1].date;l=u.mdParameters[0].date}else{o="oneWay";l=u.departureDate;r=u.returnDate}var p="/search/flights/"+o+"/"+s+"/"+q+"/"+k+"/"+u.adt+"/"+u.cnn+"/"+u.inf;u.hotelCheckInDate=l;u.hotelCheckOutDate=r;u.destination=u.mdParameters[0].destination;break;default:var n="";if(u.advSearch==1&&(u.departureTime!="NA"||u.returnTime!="NA"||u.classPref!="NA"||u.stopQuantity!="NA"||u.airlinePref!="NA")){n="/"+u.departureTime+"/"+u.returnTime+"/"+u.classPref+"/"+u.stopQuantity+"/"+u.airlinePref}var p="/search/flights/"+u.tripType+"/"+u.origin+"/"+u.destination+"/"+dateTransform(u.departureDate)+"/"+dateTransform(u.returnDate)+"/"+u.adt+"/"+u.cnn+"/"+u.inf+n;u.hotelCheckInDate=u.departureDate;u.hotelCheckOutDate=u.returnDate;break}return p};buildFlightsUrl=function(w,l){w.tripType=w.tripType.toLowerCase();var s="/search/";if(l){var s="/data/search/begin/"}switch(w.tripType){case"oneway":var o="";if(w.advSearch==1&&(w.departureTime!="NA"||w.classPref!="NA"||w.stopQuantity!="NA"||w.airlinePref!="NA")){o="/"+w.departureTime+"/"+w.classPref+"/"+w.stopQuantity+"/"+w.airlinePref}var q="/"+w.projectPathName+s+w.tripType+"/"+w.origin+"/"+w.destination+"/"+dateTransform(w.departureDate)+"/"+w.adt+"/"+w.cnn+"/"+w.inf+o;w.hotelCheckInDate=w.departureDate;w.hotelCheckOutDate=w.departureDate;break;case"multipledestinations":var u="";var r="";var k="";var t;var n;var v=0;d.each(w.mdParameters,function(y){var x=w.mdParameters[y];if(x.origin!=""&&x.destination!=""&&x.date!="dd/mm/aaaa"){if(y!=0){u+=",";r+=",",k+=","}u+=x.origin;r+=x.destination;k+=dateTransform(x.date);v++}});var p;if(v>1){p=w.tripType;t=w.mdParameters[1].date;n=w.mdParameters[0].date}else{p="oneway";n=w.departureDate;t=w.returnDate}p=p.toLowerCase();var q="/"+w.projectPathName+s+p+"/"+u+"/"+r+"/"+k+"/"+w.adt+"/"+w.cnn+"/"+w.inf;w.hotelCheckInDate=n;w.hotelCheckOutDate=t;w.destination=w.mdParameters[0].destination;break;default:var o="";if(w.advSearch==1&&(w.departureTime!="NA"||w.returnTime!="NA"||w.classPref!="NA"||w.stopQuantity!="NA"||w.airlinePref!="NA")){o="/"+w.departureTime+"/"+w.returnTime+"/"+w.classPref+"/"+w.stopQuantity+"/"+w.airlinePref}var q="/"+w.projectPathName+s+w.tripType+"/"+w.origin+"/"+w.destination+"/"+dateTransform(w.departureDate)+"/"+dateTransform(w.returnDate)+"/"+w.adt+"/"+w.cnn+"/"+w.inf+o;w.hotelCheckInDate=w.departureDate;w.hotelCheckOutDate=w.returnDate;break}return q};dateTransform=function(k){var l=k.split("/");return l[2]+"-"+l[1]+"-"+l[0]};return{resolveSearch:resolveSearch,buildRevanchaUrl:buildRevanchaUrl,buildFlightsUrl:buildFlightsUrl,dateTransform:dateTransform}}(jQuery));jQuery.fn.searchBoxFlights=function(b){this.each(function(c,d){var f=this;d.obj=new Despegar.Flights.SearchBoxFlights(f,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 g="";var f="";if(d.duration!="NA"&&d.duration){f="#/dp=0&sp=0&d="+d.duration+"&st=0&c=0&s=0&o=0&ddf=0&ddt=0&cc=economic"}g+="/cruises/search/"+d.region+"/"+d.period+"/"+d.duration+"/"+d.adult+"/"+d.young+"/"+d.age+"/"+f;location.href=g};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 f=this;d.obj=new Despegar.Cruises.SearchBoxCruises(f,b)});return this};registerNameSpace("Common");Common.Domain=function(b){this.getCountryCodeFromDomain=function(c){var g="";var d=document.domain;var f=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(f!=null&&f.length>0){g=f[0].toUpperCase();if(g=="DECOLAR"){g="BR"}return g}}};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 f=this;d.obj=new Despegar.Hotels.SearchBoxHotels(f,b)});return this};registerNameSpace("Despegar.Hotels.HotelFlows");Despegar.Hotels.HotelFlows.version29=function(){var b=this;this.searchHotels=function(d,c,g){var f="";if(d.referenceCountry){f=this.getUrl(d.brand,d.referenceCountry)}switch(d.typeSelected){case"h":f+="/Search/Hotel/Details/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize;break;default:if($.trim(d.hotel)==""){f+="/search/Hotel/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize}else{f+="/search/Hotel/"+d.destination+"/"+b.dateTransform(d.checkin)+"/"+b.dateTransform(d.checkout)+"/"+d.roomsDetails.roomsSerialize+"/#n="+d.hotel}break}if(g.id!=null){window.open(b.trackingParameters(g)+escape(f))}else{location.href=f}};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(k){var f=new Despegar.HotelsReportLogData();var d=new b.FlowStage();var g=new Despegar.Date();f.CheckIn=g.createJSonDate(new Date(g.getAmericandDate(k.checkin)));f.CheckOut=g.createJSonDate(new Date(g.getAmericandDate(k.checkout)));f.Distribution=k.roomsDetails.roomsSerialize;f.Destination=k.destination;f.Stage=d.Home;var c=new Despegar.Logger();c.LogReport(f)};this.dateTransform=function(c){var d=c.split("/");return d[2]+"-"+d[1]+"-"+d[0]};this.urlTransform=function(d){var c=d.split(".");var g="http://";if(c.length==3&&c[1]!="decolar"){var f=Common.Utils.Ajax({url:"http://"+d+"/IpService/IPWatcher.ashx",async:false});if(!f){f="mx"}g+=(Common.Utils.GetUrlBrand(c[1],f))}else{if(c[c.length-1].indexOf("it")>=0){g+=d}else{if(c[c.length-1].indexOf("com")>=0){g+=d}else{g+=(Common.Utils.GetUrlBrand(c[1],c[3]))}}}return g};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 f=this;d.obj=new Despegar.FlightsAndHotels.SearchBoxFlightsAndHotels(f,b)});return this};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(f,d,k){var c=new Despegar.Date();var l=dateTransform(f.checkin);var g=dateTransform(f.checkout);location.href=("/Search/Packages/"+f.origin+"/"+f.destination+"/"+l+"/"+g+"/"+f.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 f="";var c=this;this.renderTabs=function(){var g=$("<ul></ul>");$.each(this.options.tabs,function(k,l){$('<li class="'+(l.className?l.className:"")+'"></li>').appendTo(g).attr("id",l.id).html("<span>"+l.text+"</span>").click(function(){c.renderSearchBox(l);c.switchSearchBox(l)});if(l.id==c.options.selectedTabId){f=l}});this.target.append($('<div class="searchBoxMenu"></div>').html(g));$("#"+this.options.selectedTabId,this.target).addClass("selected")};this.switchSearchBox=function(g){$("#"+f.id,this.target).removeClass("selected");$("#"+g.id,this.target).addClass("selected");$("#searchBoxFor"+f.id,this.target).hide();$("#searchBoxFor"+g.id,this.target).show();f=g};this.renderSearchBox=function(g){switch(g.product){case"hotels":g.options.idTab=g.id;$('<div class="searchBoxHotels"></div>').attr("id","searchBoxFor"+g.id).prependTo(this.searchBoxesContainer).searchBoxHotels(g.options);break;case"flights":g.options.idTab=g.id;$('<div class="searchBoxFlights"></div>').attr("id","searchBoxFor"+g.id).prependTo(this.searchBoxesContainer).searchBoxFlights(g.options);break;case"packages":g.options.idTab=g.id;$('<div class="searchBoxPackages"></div>').attr("id","searchBoxFor"+g.id).prependTo(this.searchBoxesContainer).searchBoxPackages(g.options);break;case"flightsandhotels":g.options.idTab=g.id;$('<div class="searchBoxHotelsAndFlights"></div>').attr("id","searchBoxFor"+g.id).prependTo(this.searchBoxesContainer).SearchBoxFlightsAndHotels(g.options);break;case"cars":g.options.idTab=g.id;$('<div class="searchBoxCars"></div>').attr("id","searchBoxFor"+g.id).prependTo(this.searchBoxesContainer).searchBoxCars(g.options);break;case"cruises":g.options.idTab=g.id;$('<div class="searchBoxCruises"></div>').attr("id","searchBoxFor"+g.id).prependTo(this.searchBoxesContainer).searchBoxCruises(g.options);break}if(typeof g.externalFunction!="undefined"){g.externalFunction()}$("#"+g.id).unbind("click").click(function(){if(g.id!=f.id){c.switchSearchBox(g)}if(typeof g.externalFunction!="undefined"){g.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(f)};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 f=this;d.obj=new Despegar.SearchBoxes.SearchBox(f,b)});return this};registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.SearchResolver=(function(d,g){var f="revancha";var b="flights";var c=100;resolveSearch=function(p,k,n){var l;switch(k){case f:l=buildRevanchaUrl(p);break;case b:l=buildFlightsUrl(p,false);break;default:l=buildRevanchaUrl(p);break}if(n){var o=buildFlightsUrl(p,true);var q=setTimeout(function(){location.href=l},c);d.ajax({url:o,complete:function(r,s){clearTimeout(q);location.href=l}})}else{location.href=l}};buildRevanchaUrl=function(u){switch(u.tripType){case"oneWay":var n="";if(u.advSearch==1&&(u.departureTime!="NA"||u.classPref!="NA"||u.stopQuantity!="NA"||u.airlinePref!="NA")){n="/"+u.departureTime+"/"+u.classPref+"/"+u.stopQuantity+"/"+u.airlinePref}var p="/search/flights/"+u.tripType+"/"+u.origin+"/"+u.destination+"/"+dateTransform(u.departureDate)+"/"+u.adt+"/"+u.cnn+"/"+u.inf+n;u.hotelCheckInDate=u.departureDate;u.hotelCheckOutDate=u.departureDate;break;case"MultipleDestinations":var s="";var q="";var k="";var r;var l;var t=0;d.each(u.mdParameters,function(w){var v=u.mdParameters[w];if(v.origin!=""&&v.destination!=""&&v.date!="dd/mm/aaaa"){if(w!=0){s+=",";q+=",",k+=","}s+=v.origin;q+=v.destination;k+=dateTransform(v.date);t++}});var o;if(t>1){o=u.tripType;r=u.mdParameters[1].date;l=u.mdParameters[0].date}else{o="oneWay";l=u.departureDate;r=u.returnDate}var p="/search/flights/"+o+"/"+s+"/"+q+"/"+k+"/"+u.adt+"/"+u.cnn+"/"+u.inf;u.hotelCheckInDate=l;u.hotelCheckOutDate=r;u.destination=u.mdParameters[0].destination;break;default:var n="";if(u.advSearch==1&&(u.departureTime!="NA"||u.returnTime!="NA"||u.classPref!="NA"||u.stopQuantity!="NA"||u.airlinePref!="NA")){n="/"+u.departureTime+"/"+u.returnTime+"/"+u.classPref+"/"+u.stopQuantity+"/"+u.airlinePref}var p="/search/flights/"+u.tripType+"/"+u.origin+"/"+u.destination+"/"+dateTransform(u.departureDate)+"/"+dateTransform(u.returnDate)+"/"+u.adt+"/"+u.cnn+"/"+u.inf+n;u.hotelCheckInDate=u.departureDate;u.hotelCheckOutDate=u.returnDate;break}return p};buildFlightsUrl=function(w,l){w.tripType=w.tripType.toLowerCase();var s="/search/";if(l){var s="/data/search/begin/"}switch(w.tripType){case"oneway":var o="";if(w.advSearch==1&&(w.departureTime!="NA"||w.classPref!="NA"||w.stopQuantity!="NA"||w.airlinePref!="NA")){o="/"+w.departureTime+"/"+w.classPref+"/"+w.stopQuantity+"/"+w.airlinePref}var q="/"+w.projectPathName+s+w.tripType+"/"+w.origin+"/"+w.destination+"/"+dateTransform(w.departureDate)+"/"+w.adt+"/"+w.cnn+"/"+w.inf+o;w.hotelCheckInDate=w.departureDate;w.hotelCheckOutDate=w.departureDate;break;case"multipledestinations":var u="";var r="";var k="";var t;var n;var v=0;d.each(w.mdParameters,function(y){var x=w.mdParameters[y];if(x.origin!=""&&x.destination!=""&&x.date!="dd/mm/aaaa"){if(y!=0){u+=",";r+=",",k+=","}u+=x.origin;r+=x.destination;k+=dateTransform(x.date);v++}});var p;if(v>1){p=w.tripType;t=w.mdParameters[1].date;n=w.mdParameters[0].date}else{p="oneway";n=w.departureDate;t=w.returnDate}p=p.toLowerCase();var q="/"+w.projectPathName+s+p+"/"+u+"/"+r+"/"+k+"/"+w.adt+"/"+w.cnn+"/"+w.inf;w.hotelCheckInDate=n;w.hotelCheckOutDate=t;w.destination=w.mdParameters[0].destination;break;default:var o="";if(w.advSearch==1&&(w.departureTime!="NA"||w.returnTime!="NA"||w.classPref!="NA"||w.stopQuantity!="NA"||w.airlinePref!="NA")){o="/"+w.departureTime+"/"+w.returnTime+"/"+w.classPref+"/"+w.stopQuantity+"/"+w.airlinePref}var q="/"+w.projectPathName+s+w.tripType+"/"+w.origin+"/"+w.destination+"/"+dateTransform(w.departureDate)+"/"+dateTransform(w.returnDate)+"/"+w.adt+"/"+w.cnn+"/"+w.inf+o;w.hotelCheckInDate=w.departureDate;w.hotelCheckOutDate=w.returnDate;break}return q};dateTransform=function(k){var l=k.split("/");return l[2]+"-"+l[1]+"-"+l[0]};return{resolveSearch:resolveSearch,buildRevanchaUrl:buildRevanchaUrl,buildFlightsUrl:buildFlightsUrl,dateTransform:dateTransform}}(jQuery));registerNameSpace("Common.Utils");Common.Utils.EllipsisText=function(d,l,p){$element=$(d);if(p==null&&typeof l=="object"){p=l}if(typeof l!="string"){l=$(d).html()}p=p||{};p.spanID=p.spanID||"ellipsisSpan";p.finalText=p.finalText||"...";if(p.maxLength>l.length){p.maxLength=l.length}else{p.maxLength=p.maxLength||l.length}l=l.substr(0,p.maxLength);var f=$('<span id="'+p.spanID+'" style="white-space:nowrap">'+l+"</span>");$element.html(f);p.width=p.width||$element.width();p.height=p.height||$element.height();p.nBinarySearchs=p.nBinarySearchs||4;f.attr("style","display:block;width:"+p.width+"px");var g=l;if(f.height()>p.height){var n=p.maxLength;if(p.nBinarySearchs>0){var c=0;var o;var k=true;var b=0;while(b<p.nBinarySearchs&&k==true){o=parseInt(c+(n-c)/2);f.html(l.substr(0,o)+p.finalText);if(f.height()>p.height){l=l.substr(0,o);n=o;c=0;k=false}else{c=o;k=true}b++}}while(f.height()>p.height&&n>0){f.html(l.substr(0,n)+p.finalText);n--}g=f.html()}$element.remove("#"+p.spanID).html(g)};$.fn.ellipsisText=function(c,b){this.each(function(d,f){$(f).html(Common.Utils.EllipsisText(f,c,b))});return this};var oEmailPopup=null;$(function(b){initSearchBox()});function initSearchBox(){tabsHandler()}function tabsHandler(){var c=$(".tabExternal");var b={flights:".Flights",packages:".Packages",cars:".Cars",hotels:".Hotels",cruises:".Cruises"};c.click(function(k){c.removeClass("selected");var d=$(this);var g=$(this).attr("id");d.toggleClass("selected");$.each(b,function(l){var n=b[l];$(n).hide()});var f=b[d.attr("id")];$(f).show()})}function changeLabels(b,c){var d={es:{flights:{origin:"Ciudad de Origen:",destination:"Ciudad de Destino:",departureDate:"Fecha de Partida:",returnDate:"Fecha Regreso:",textButton:"Buscar vuelos"},hotels:{destination:"¿Donde desea alojarse?",departureDate:"Fecha de entrada (check-in):",returnDate:"Fecha de salida (check-out):",textButton:"Buscar hoteles"},packages:{destination:"Ciudad de Destino:",departureDate:"Puedo partir entre:",returnDate:"y el:",textButton:"Buscar paquetes"},cars:{origin:"Ciudad donde retira:",destination:"Ciudad donde entrega:",departureDate:"Fecha de retiro:",returnDate:"Fecha de devolucion:",textButton:"Buscar autos"},cruises:{region:"Región:",monthDeparture:"Mes de partida:",duration:"Duración:",textButton:"Buscar cruceros"}},pt:{}};$("#lblOrigin").html(d[b][c]["origin"]);$("#lblDestination").html(d[b][c]["destination"]);$("#lblDepartureDate").html(d[b][c]["departureDate"]);$("#lblReturnDate").html(d[b][c]["returnDate"]);$("#textButton").html(d[b][c]["textButton"])}var labels={es:{flights:"Vuelos",hotels:"Hoteles",packages:"Paquetes",cars:"Autos",cruises:"Cruceros"},pt:{flights:"Passagens",hotels:"Hotéis",packages:"Pacotes",cars:"Carros",cruises:"Cruzeiros"}};var errorEmail={es:{text:"La dirección de Email es incorrecta.",title:"Error"},pt:{text:"O endereço do e-mail está incorreto.",title:"Erro"}};$(function(v){var n="littleBestPricelogo_es";if(globalObjects.Language=="pt"){n="littleBestPricelogo_pt"}var g=[[null,"version29"],[null,"Revancha"],[null,"Revancha","ezrez"],[null,"Amadeus"],[null,"Cruise"]];var k=[];var d=false;var l="/Hotels.Services/Commons/AutoComplete.svc";if(globalObjects.isNewAutocompleteHotelsEnabled){d=true;l="/despegar.homes/SiteServices/Autocomplete/Geo/"}if((globalObjects.searchBoxOptions.length==5)&&!isNaN(globalObjects.searchBoxOptions)){var w=parseInt(globalObjects.searchBoxOptions.substr(0,1));var f=parseInt(globalObjects.searchBoxOptions.substr(1,1));var c=parseInt(globalObjects.searchBoxOptions.substr(2,1));var o=parseInt(globalObjects.searchBoxOptions.substr(3,1));var r=parseInt(globalObjects.searchBoxOptions.substr(4,1));if(w>0){k[k.length]={id:"tabHotels",text:labels[globalObjects.Language].hotels,product:"hotels",options:{language:globalObjects.Language,maxroomsquantity:4,maxcnnroom:3,maxpaxroom:4,remembersearch:1,searchflow:g[0][w],showYearOld:true,brand:globalObjects.brand,country:globalObjects.Pais,qstring:globalObjects.qstring||"",trackingCod:globalObjects.trackingCod||"cob",trackingId:globalObjects.trackingId||null,trackingBrand:globalObjects.trackingBrand||"",isGeoAutocomplete:d,autocompleteUrl:l,referenceCountry:globalObjects.referenceCountry||false},externalFunction:function(){$(".betterPriceText",$(".searchBoxesContainer")).css("font-size",11);if($(".betterPriceIcon",$("#searchBoxFortabHotels")).length==0){$(".btnLine",$("#searchBoxFortabHotels")).after('												<div class="betterPriceIcon">													<a class="bestPriceIcon">														<span class="commonSprite '+n+'"></span>													</a>												</div>											')}}}}if(f>0){k[k.length]={id:"tabFlights",text:labels[globalObjects.Language].flights,product:"flights",options:{language:globalObjects.Language,maxcnn:7,maxpax:8,defaultorigin:globalObjects.defaultOrigin,defaultorigindesc:globalObjects.defaultOriginDescription,remembersearch:1,searchflow:g[1][f],optionBusinessOnly:globalObjects.optionBusinessOnly,country:globalObjects.Pais,qstring:globalObjects.qstring||"",trackingCod:globalObjects.trackingCod||"cob",trackingId:globalObjects.trackingId||null,trackingBrand:globalObjects.trackingBrand||"",defaultAirline:globalObjects.defaultAirline||"",defaultAirlineText:globalObjects.defaultAirlineText||"",abTesting:globalObjects.ABTesting||"",doABTesting:globalObjects.doABTesting||"1",brand:globalObjects.brand||""},externalFunction:function(){if($(".iconsContainer",$("#searchBoxFortabFlights")).length==0){$(".advOptionsContainer",$("#searchBoxFortabFlights")).after('												<div class="iconsContainer">													<div class="betterPriceIcon">														<a class="bestPriceIcon">															<span class="commonSprite '+n+'"></span>														</a>													</div>												</div>											')}}}}if(c>0){k[k.length]={id:"tabPackages",text:labels[globalObjects.Language].packages,product:"flightsandhotels",options:{maxroomsquantity:4,maxcnnroom:3,maxpaxroom:4,defaultOriginDesc:globalObjects.defaultOriginDescription,defaultOrigin:globalObjects.defaultOrigin,searchflow:g[2][c],remembersearch:1,country:globalObjects.Pais,ageselectShort:true,requestCnnAge:true,noPassengerAge:true,language:globalObjects.Language,showYearOld:true},externalFunction:function(){$(".betterPriceText",$(".searchBoxesContainer")).css("font-size",11);if($(".betterPriceIcon",$("#searchBoxFortabPackages")).length==0){$("#paxselection",$("#searchBoxFortabPackages")).after('												<div class="betterPriceIcon">													<a class="bestPriceIcon">														<span class="commonSprite '+n+'"></span>													</a>												</div>											');$(".btnLine",$("#searchBoxFortabPackages")).after('<span class="betterPriceText">¡Garantizamos el mejor precio, o le devolvemos la diferencia!</span>')}}}}if(o>0){k[k.length]={id:"tabCars",text:labels[globalObjects.Language].cars,product:"cars",options:{language:globalObjects.Language,remembersearch:1,country:globalObjects.Pais,searchflow:g[3][o]},externalFunction:function(){if($(".betterPriceIcon",$("#searchBoxFortabCars")).length==0){$(".btnLine",$("#searchBoxFortabCars")).after('												<div class="betterPriceIcon">													<a class="bestPriceIcon">														<span class="commonSprite '+n+'"></span>													</a>												</div>											')}}}}if(r>0){k[k.length]={id:"tabCruises",text:labels[globalObjects.Language].cruises,product:"cruises",options:{language:globalObjects.Language,remembersearch:1,country:globalObjects.Pais,searchflow:g[4][r],dateMonth:globalObjects.dateMonth,dateYear:globalObjects.dateYear},externalFunction:function(){if($(".betterPriceIcon",$("#searchBoxFortabCruises")).length==0){$(".btnLine",$("#searchBoxFortabCruises")).after('												<div class="betterPriceIcon">													<a class="bestPriceIcon">														<span class="commonSprite '+n+'"></span>													</a>												</div>											')}}}}var u={vue:"tabFlights",hot:"tabHotels",car:"tabCars",paq:"tabPackages",cru:"tabCruises"};var p=Common.Utils.QuerySt("tab");$(".searchBoxDiv").searchBox({tabs:k,selectedTabId:(p?u[p]:u.vue)})}else{var t="tabFlights";for(var s=0;s<(globalObjects.searchBoxOptions.length/2);s++){var q=globalObjects.searchBoxOptions.substr(s*2,2);var x=q.substr(0,1);var y=parseInt(q.substr(1,1));switch(x.toLowerCase()){case"h":k[k.length]={id:"tabHotels",text:labels[globalObjects.Language].hotels,product:"hotels",options:{language:globalObjects.Language,maxroomsquantity:4,maxcnnroom:3,maxpaxroom:4,remembersearch:1,searchflow:g[0][1],showYearOld:true,brand:globalObjects.brand,isGeoAutocomplete:d,autocompleteUrl:l},externalFunction:function(){$(".betterPriceText",$(".searchBoxesContainer")).css("font-size",11);if($(".betterPriceIcon",$("#searchBoxFortabHotels")).length==0){$(".btnLine",$("#searchBoxFortabHotels")).after('														<div class="betterPriceIcon">															<a class="bestPriceIcon">																<span class="commonSprite '+n+'"></span>															</a>														</div>													')}}};if(y>0){t="tabHotels"}break;case"v":k[k.length]={id:"tabFlights",text:labels[globalObjects.Language].flights,product:"flights",options:{language:globalObjects.Language,maxcnn:7,maxpax:8,defaultorigin:globalObjects.defaultOrigin,defaultorigindesc:globalObjects.defaultOriginDescription,remembersearch:1,searchflow:g[1][1],optionBusinessOnly:globalObjects.optionBusinessOnly,country:globalObjects.Pais,abTesting:globalObjects.ABTesting||"",doABTesting:globalObjects.doABTesting||"1",brand:globalObjects.brand||""},externalFunction:function(){if($(".iconsContainer",$("#searchBoxFortabFlights")).length==0){$(".advOptionsContainer",$("#searchBoxFortabFlights")).after('														<div class="iconsContainer">															<div class="betterPriceIcon">																<a class="bestPriceIcon">																	<span class="commonSprite '+n+'"></span>																</a>															</div>														</div>													')}}};if(y>0){t="tabFlights"}break;case"p":k[k.length]={id:"tabPackages",text:labels[globalObjects.Language].packages,product:"flightsandhotels",options:{maxroomsquantity:4,maxcnnroom:3,maxpaxroom:4,remembersearch:1,defaultOriginDesc:globalObjects.defaultOriginDescription,defaultOrigin:globalObjects.defaultOrigin,searchflow:g[2][1],ageselectShort:true,requestCnnAge:true,noPassengerAge:true,language:globalObjects.Language,showYearOld:true},externalFunction:function(){$(".betterPriceText",$(".searchBoxesContainer")).css("font-size",11);if($(".betterPriceIcon",$("#searchBoxFortabPackages")).length==0){$("#paxselection",$("#searchBoxFortabPackages")).after('														<div class="betterPriceIcon">															<a class="bestPriceIcon">																<span class="commonSprite '+n+'"></span>															</a>														</div>													');$(".btnLine",$("#searchBoxFortabPackages")).after('<span class="betterPriceText">¡Garantizamos el mejor precio, o le devolvemos la diferencia!</span>')}}};if(y>0){t="tabPackages"}break;case"a":k[k.length]={id:"tabCars",text:labels[globalObjects.Language].cars,product:"cars",options:{language:globalObjects.Language,remembersearch:1,searchflow:g[3][1]},externalFunction:function(){if($(".betterPriceIcon",$("#searchBoxFortabCars")).length==0){$(".btnLine",$("#searchBoxFortabCars")).after('														<div class="betterPriceIcon">															<a class="bestPriceIcon">																<span class="commonSprite '+n+'"></span>															</a>														</div>													')}}};if(y>0){t="tabCars"}break;case"c":k[k.length]={id:"tabCruises",text:labels[globalObjects.Language].cruises,product:"cruises",options:{language:globalObjects.Language,remembersearch:1,country:globalObjects.Pais,searchflow:g[4][r],dateMonth:globalObjects.dateMonth,dateYear:globalObjects.dateYear},externalFunction:function(){if($(".betterPriceIcon",$("#searchBoxFortabCruises")).length==0){$(".btnLine",$("#searchBoxFortabCruises")).after('														<div class="betterPriceIcon">															<a class="bestPriceIcon">																<span class="commonSprite '+n+'"></span>															</a>														</div>													')}}};if(y>0){t="tabCruises"}break}}var p=Common.Utils.QuerySt("tab");var b=true;if(p){var u={vue:"tabFlights",hot:"tabHotels",car:"tabCars",paq:"tabPackages",cru:"tabCruises"};t=u[p];b=false}$(".searchBoxDiv").searchBox({tabs:k,readCookie:b,selectedTabId:(t)})}$("#"+k[0].id).addClass("firstTab")});$(".linkAddMore").live("click",function(){var b=parseInt($(".lineMD").length)*120});$(document).ready(function(){errorStr=Common.Utils.QuerySt("error_message");if(errorStr){jAlert(errorStr,"Error")}var b=Common.PopupCreatorNew({id:"happyClientPopUpFullComment"});$("body").append(b);$(".happyClientsCommentText").each(function(){var d=$(this);var c=$(".happyClientsText",d);$(this).data("fullText",c.html());c.ellipsisText({width:d.width(),height:d.height(),finalText:'... <a class="seeFullComment">'+((globalObjects.Language=="es")?"Ver m&aacute;s &raquo;":"Ver mais &raquo;")+"</a>"})});$(".seeFullComment").click(function(){$("#happyClientPopUpFullComment").show().css("top",$(this).parent().offset().top+65).css("left",$(this).parent().offset().left);$(".popUpContent",$("#happyClientPopUpFullComment")).html($(this).parent().parent().data("fullText"))});$(".offersContainer .linkText").bind("click",function(){var d=this;var f={es:{enterYourEmailText:"Ingrese su e-mail",recibeOffersText:"Reciba gratis nuestras <strong>OFERTAS EXCLUSIVAS</strong>",inputText:"Suscribirse",disclaimer:"Despegar.com no compartirá su e-mail con terceros.<br/>Puede darse de baja en cualquier momento desde el enlace situado al final de cada newsletter."},pt:{enterYourEmailText:"Insira seu e-mail",recibeOffersText:"Receba gr&aacute;tis nossas <strong>OFERTAS EXCLUSIVAS</strong>",inputText:"Cadastrar-se",disclaimer:"Decolar.com não compartilhará seu e-mail com terceiros.<br/>Você poderá cancelar a qualquer momento através do link situado no final de cada newsletter."}};if(!oEmailPopup){var c='<div> 								<div class="container"> 									<p class="offersTitle">'+f[globalObjects.Language].recibeOffersText+'</p> 									<form> 										<input type="text" class="inputMailBox" value="'+f[globalObjects.Language].enterYourEmailText+'" /> 										<a class="buttonSprite globalSilverButton opinionButton" style="display: block;">                         					<span>'+f[globalObjects.Language].inputText+'</span>                     					</a> 									</form> 									<p class="errorInputText"></p> 									<p class="disclaimer">'+f[globalObjects.Language].disclaimer+'</p> 									</div> 								<div class="successContainer"> 								</div> 							</div>';oEmailPopup=Common.PopupCreatorNew({id:"emailSendPopup",noPuntita:false});oEmailPopup.find(".popUpContent").append(c);oEmailPopup.find(".opinionButton").click(function(){validarEmail(oEmailPopup.find(".inputMailBox").val(),"opinionButton",1,"superOferts","#emailSendPopup",true)});oEmailPopup.find(".inputMailBox").click(function(){$(this).select().addClass("inputFocus")});oEmailPopup.find(".closeBlueIcon").unbind("click").bind("click",function(){oEmailPopup.hide();oEmailPopup.find(".errorInputText").text("");oEmailPopup.find(".inputMailBox").val(f[globalObjects.Language].enterYourEmailText);oEmailPopup.find(".inputMailBox").removeClass("inputFocus")});$("body").append(oEmailPopup);oEmailPopup.find(".topIndicator").css("left",((oEmailPopup.width()/2)-(oEmailPopup.find(".topIndicator").width()/2))+"px");oEmailPopup.css({top:$(d).offset().top+30,left:$(d).offset().left-(oEmailPopup.width()/2)+65});oEmailPopup.show()}else{oEmailPopup.find(".topIndicator").css("left",((oEmailPopup.width()/2)-(oEmailPopup.find(".topIndicator").width()/2))+"px");oEmailPopup.css({top:$(d).offset().top+30,left:$(d).offset().left-(oEmailPopup.width()/2)+65});oEmailPopup.show();oEmailPopup.find(".errorInputText").text("");oEmailPopup.find(".inputMailBox").val(f[globalObjects.Language].enterYourEmailText).removeClass("inputFocus")}})});$(".searchBoxMenu li").live("click",function(){$(".leftTopBox",$("#searchBox")).removeClass("leftTopBox").addClass("leftTopBoxCommon");$(".rightTopBox",$("#searchBox")).removeClass("rightTopBox").addClass("rightTopBoxCommon");if($(this).attr("id")=="tabHotels"){var b=$("#searchBox").children(".hotels");$(b.get(0)).removeClass("leftTopBoxCommon").addClass("leftTopBox");$(b.get(1)).removeClass("rightTopBoxCommon").addClass("rightTopBox")}if($(this).attr("id")=="tabFlights"){var d=$("#searchBox").children(".flights");$(d.get(0)).removeClass("leftTopBoxCommon").addClass("leftTopBox");$(d.get(1)).removeClass("rightTopBoxCommon").addClass("rightTopBox")}if($(this).attr("id")=="tabPackages"){var f=$("#searchBox").children(".packs");$(f.get(0)).removeClass("leftTopBoxCommon").addClass("leftTopBox");$(f.get(1)).removeClass("rightTopBoxCommon").addClass("rightTopBox")}if($(this).attr("id")=="tabCars"){var g=$("#searchBox").children(".cars");$(g.get(0)).removeClass("leftTopBoxCommon").addClass("leftTopBox");$(g.get(1)).removeClass("rightTopBoxCommon").addClass("rightTopBox")}if($(this).attr("id")=="tabCruises"){var c=$("#searchBox").children(".cruises");$(c.get(0)).removeClass("leftTopBoxCommon").addClass("leftTopBox");$(c.get(1)).removeClass("rightTopBoxCommon").addClass("rightTopBox")}});function validarEmail(d,b,f,g,n,k){var l;l="/paginas/default/AlertaYRecomiendaHomeV1.asp?form=";if(f==1){if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(d)){$.ajax({url:"/Contents/Mailing/ConfirmationRegistration",data:{mail:d},type:"POST",success:function(){if(k){var o={es:{enterYourEmailText:"Ingrese su e-mail",mailOnPopupText:'<div class="mailPopupCont"><strong class="mailPopupSubtitle">&iexcl;Gracias!</strong><p class="mailPopupText">A partir de ahora comenzar&aacute; a recibir ofertas de pasajes, hoteles, paquetes y mucho m&aacute;s en <strong>{mail}</strong></p></div>'},pt:{enterYourEmailText:"Insira seu e-mail",mailOnPopupText:'<div class="mailPopupCont"><strong class="mailPopupSubtitle">Obrigado!</strong><p class="mailPopupText">A partir de agora voc&ecirc; ir&aacute; receber as melhores ofertas de passagens, hot&eacute;is, pacotes e muito mais no <strong>{mail}</strong></p></div>'}};oEmailPopup.find(".container").hide();oEmailPopup.find(".inputMailBox").val(o[globalObjects.Language].enterYourEmailText).removeClass("inputFocus");oEmailPopup.find(".successContainer").show();oEmailPopup.find(".successContainer").append(o[globalObjects.Language].mailOnPopupText.replace("{mail}",d));oEmailPopup.find(".closeBlueIcon").unbind("click").bind("click",function(){oEmailPopup.hide();oEmailPopup.find(".inputMailBox").val(o[globalObjects.Language].enterYourEmailText);oEmailPopup.find(".successContainer").html("");oEmailPopup.find(".successContainer").hide();oEmailPopup.find(".container").show();oEmailPopup.find(".closeBlueIcon").unbind("click").bind("click",function(){oEmailPopup.hide()})})}else{OpenEmailPopup(d,"/Contents/Mailing/ConfirmationRegistration",globalObjects?globalObjects.Language:"es",n)}}});$(n+" .errorInputText").text("")}else{var c="Por favor, ingrese un e-mail válido";if(globalObjects&&globalObjects.Language=="pt"){c="Por favor, insira um e-mail válido"}$(n+" .errorInputText").text(c)}return false}}function validEmail(b){var c=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;if(b.match(c)){return true}else{return false}}OpenEmailPopup=function(g,q,f,c){var k={es:{mailOnPopupTitle:"Suscripci&oacute;n a ofertas por e-mail",mailOnPopupText:'<div class="mailPopupCont"><strong class="mailPopupSubtitle">&iexcl;Gracias!</strong><p class="mailPopupText">A partir de ahora comenzar&aacute; a recibir ofertas de pasajes, hoteles, paquetes y mucho m&aacute;s en <strong>{mail}</strong></p></div>'},pt:{mailOnPopupTitle:"Receba as ofertas por e-mail",mailOnPopupText:'<div class="mailPopupCont"><strong class="mailPopupSubtitle">Obrigado!</strong><p class="mailPopupText">A partir de agora voc&ecirc; ir&aacute; receber as melhores ofertas de passagens, hot&eacute;is, pacotes e muito mais no <strong>{mail}</strong></p></div>'}};if((f!="es")&&(f!="pt")){f="es"}var l="";var p="";var n=0;var b=0;l=k[f].mailOnPopupTitle;p=k[f].mailOnPopupText;var o=$("#emailRegisPopup");if(o.length>0){$(".titlePopUp",o).html(l);$(".popUpContent",o).append(p.replace("{mail}",g)).find(".mailPopupCont:eq(0)").remove()}else{o=Common.PopupCreatorNew({id:"emailRegisPopup",noPuntita:true,title:("<span>"+l+"</span>")});$(".popUpContent",o).append(p.replace("{mail}",g));$("body").append(o)}n=$(c+" input").offset().top+"px";b=($(document).width()/2)-(o.width()/2);o.css({"z-index":250,top:n,left:b}).show();var d=(globalObjects&&globalObjects.Language=="pt")?"Insira seu e-mail":"Ingrese su e-mail";$(c+" input").val(d).removeClass("inputFocus");$(".btnBlue",o).live("click",function(){$(".closeWindow",o).click()});$(c+" .errorInputText").html("")};
