/*
FRAMEWORK_VERSION:2.10.0
*/
registerNameSpace("Common.Utils");Common.Utils.Mask=function(b,c){b=b.toString();c=c.toString();var a=null;if(c.length>=b.length){a=c}else{a=b.substr(0,b.length-c.length);a=a+c}return a};registerNameSpace("Despegar");Despegar.Date=function(a){this.day;this.month;this.year;this.monthText;this.dayOfWeek;this.serverURL="ajaxTimeStamp.asp";this.test="aaaa";this.language=a||"es"};Despegar.Date.prototype.getDaysName=function(a){if(typeof this.daysName!="object"){this.daysName=new Array();if(this.language=="pt"){this.daysName[0]=!a?"Do":"Domingo".substr(0,a);this.daysName[1]=!a?"Se":"Segunda-feira".substr(0,a);this.daysName[2]=!a?"Te":"Terça-feira".substr(0,a);this.daysName[3]=!a?"Qu":"Quarta-feira".substr(0,a);this.daysName[4]=!a?"Qi":"Quinta-feira".substr(0,a);this.daysName[5]=!a?"Se":"Sexta-feira".substr(0,a);this.daysName[6]=!a?"Sa":"Sabado".substr(0,a)}else{this.daysName[0]=!a?"Domingo".substr(0,2):"Domingo".substr(0,a);this.daysName[1]=!a?"Lunes".substr(0,2):"Lunes".substr(0,a);this.daysName[2]=!a?"Martes".substr(0,2):"Martes".substr(0,a);this.daysName[3]=!a?"Miércoles".substr(0,2):"Miércoles".substr(0,a);this.daysName[4]=!a?"Jueves".substr(0,2):"Jueves".substr(0,a);this.daysName[5]=!a?"Viernes".substr(0,2):"Viernes".substr(0,a);this.daysName[6]=!a?"Sábado".substr(0,2):"Sábado".substr(0,a)}this.daysName[7]=this.daysName[0]}return this.daysName};Despegar.Date.prototype.getMonthsName=function(a){if(typeof this.monthsName!="object"){this.monthsName=new Array();if(this.language=="pt"){this.monthsName[1]=!a?"Janeiro":"Janeiro".substr(0,a);this.monthsName[2]=!a?"Fevereiro":"Fevereiro".substr(0,a);this.monthsName[3]=!a?"Março":"Março".substr(0,a);this.monthsName[4]=!a?"Abril":"Abril".substr(0,a);this.monthsName[5]=!a?"Maio":"Maio".substr(0,a);this.monthsName[6]=!a?"Junho":"Junho".substr(0,a);this.monthsName[7]=!a?"Julho":"Julho".substr(0,a);this.monthsName[8]=!a?"Agosto":"Agosto".substr(0,a);this.monthsName[9]=!a?"Setembro":"Setembro".substr(0,a);this.monthsName[10]=!a?"Outubro":"Outubro".substr(0,a);this.monthsName[11]=!a?"Novembro":"Novembro".substr(0,a);this.monthsName[12]=!a?"Dezembro":"Dezembro".substr(0,a)}else{this.monthsName[1]=!a?"Enero":"Enero".substr(0,a);this.monthsName[2]=!a?"Febrero":"Febrero".substr(0,a);this.monthsName[3]=!a?"Marzo":"Marzo".substr(0,a);this.monthsName[4]=!a?"Abril":"Abril".substr(0,a);this.monthsName[5]=!a?"Mayo":"Mayo".substr(0,a);this.monthsName[6]=!a?"Junio":"Junio".substr(0,a);this.monthsName[7]=!a?"Julio":"Julio".substr(0,a);this.monthsName[8]=!a?"Agosto":"Agosto".substr(0,a);this.monthsName[9]=!a?"Septiembre":"Septiembre".substr(0,a);this.monthsName[10]=!a?"Octubre":"Octubre".substr(0,a);this.monthsName[11]=!a?"Noviembre":"Noviembre".substr(0,a);this.monthsName[12]=!a?"Diciembre":"Diciembre".substr(0,a)}}return this.monthsName};Despegar.Date.prototype.setEmpty=function(){this.day=undefined;this.month=undefined;this.year=undefined};Despegar.Date.prototype.isEmpty=function(){if(this.day==undefined||this.month==undefined||this.year==undefined){return true}else{return false}};Despegar.Date.prototype.addDaysJSDate=function(a){jDate=this.getJSDate();jDate.setDate(jDate.getDate()+a);this.day=jDate.getDate();this.month=jDate.getMonth()+1;this.year=jDate.getFullYear()};Despegar.Date.prototype.addDays=function(b){for(var a=1;a<=b;a++){switch(this.month){case 4:case 6:case 9:case 11:if(this.day>=30){this.day=1;this.month++}else{this.day++}break;case 2:if((this.day==28&&!this.isLeapYear())||(this.day>=29&&this.isLeapYear())){this.day=1;this.month++}else{this.day++}break;default:if(this.day>=31){this.day=1;this.month++}else{this.day++}}if(this.month>12){this.month=1;this.year++}}};Despegar.Date.prototype.addMonths=function(b){var a=this.month+b;this.year=this.year+Math.floor(a/12);if(!(a%12)){this.year--;this.month=12}else{this.month=a%12}};Despegar.Date.prototype.setddmmaaaa=function(a,b){if(b!=undefined){var c=a.split(b);this.day=parseInt(c[0],10);this.month=parseInt(c[1],10);this.year=parseInt(c[2],10)}else{this.day=parseInt(a.substr(0,2),10);this.month=parseInt(a.substr(2,2),10);this.year=parseInt(a.substr(4,4),10)}};Despegar.Date.prototype.setFullDate=function(b,c,a){this.day=parseInt(a,10);this.month=parseInt(c,10);this.year=parseInt(b,10)};Despegar.Date.prototype.setDateFromJSDate=function(a){this.day=a.getDate();this.month=a.getMonth()+1;this.year=a.getFullYear()};Despegar.Date.prototype.getDate=function(){return Common.Utils.Mask("00",this.day.toString())};Despegar.Date.prototype.getMonth=function(){return Common.Utils.Mask("00",this.month.toString())};Despegar.Date.prototype.getYear=function(){return Common.Utils.Mask("2000",this.year.toString())};Despegar.Date.prototype.getddmmaaaa=function(){return Common.Utils.Mask("00",this.day.toString())+"/"+Common.Utils.Mask("00",this.month.toString())+"/"+Common.Utils.Mask("2000",this.year.toString())};Despegar.Date.prototype.getddmm=function(){return Common.Utils.Mask("00",this.day.toString())+"/"+Common.Utils.Mask("00",this.month.toString())};Despegar.Date.prototype.getaaaamm=function(){return Common.Utils.Mask("2000",this.year.toString())+Common.Utils.Mask("00",this.month.toString())};Despegar.Date.prototype.getmmaaaa=function(){return Common.Utils.Mask("00",this.month.toString())+"/"+Common.Utils.Mask("2000",this.year.toString())};Despegar.Date.prototype.getiso=function(){return Common.Utils.Mask("2000",this.year.toString())+Common.Utils.Mask("00",this.month.toString())+Common.Utils.Mask("00",this.day.toString())};Despegar.Date.prototype.getServerDate=function(boolAsync,URLServer,callBackFunction){if(URLServer+"X"!="X"){this.serverURL=URLServer}oDate=this;var JSON=$.ajax({url:this.serverURL,async:boolAsync,success:function(data){sJSON=data;var oJson=eval("("+sJSON+")");this.parentObj.year=oJson.year;this.parentObj.month=oJson.month;this.parentObj.day=oJson.day;this.callBack()},parentObj:oDate,callBack:callBackFunction})};Despegar.Date.prototype.compareTo=function(a){var b=this.getiso();if(b<a){return -1}else{if(b==a){return 0}else{return 1}}};Despegar.Date.prototype.compareToJSDate=function(b){var a=new Despegar.Date();a.setDateFromJSDate(b);return this.compareTo(a.getiso())};Despegar.Date.prototype.compareMonthAndYearTo=function(b){var a=this.getaaaamm();if(a<b){return -1}else{if(a==b){return 0}else{return 1}}};Despegar.Date.prototype.compareMonthAndYearToJSDate=function(b){var a=new Despegar.Date();a.setDateFromJSDate(b);return this.compareMonthAndYearTo(a.getaaaamm())};Despegar.Date.prototype.getota=function(){return Common.Utils.Mask("2000",this.year.toString())+"-"+Common.Utils.Mask("00",this.month.toString())+"-"+Common.Utils.Mask("00",this.day.toString())};Despegar.Date.prototype.getJSDate=function(){return new Date(this.year,this.month-1,this.day)};Despegar.Date.prototype.getFirstDayOfMonthInWeek=function(){var b=this.day;this.day=1;var a=this.getJSDate();var c=a.getDay()+6;c=c%7;this.day=b;return c};Despegar.Date.prototype.createJSonDate=function(a){var b=Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds());return"/Date("+b+")/"};Despegar.Date.prototype.getAmericandDate=function(a){var b=a.split(new RegExp("/","gi"));return b[1]+"/"+b[0]+"/"+b[2]};Despegar.Date.prototype.isLeapYear=function(){return(this.year%4==0&&this.year%100!=0)||this.year%400==0};Despegar.Date.prototype.isValidDate=function(){var a;switch(this.month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:a=31;break;case 4:case 6:case 9:case 11:a=30;break;case 2:if(this.isLeapYear()){a=29}else{a=28}break;default:return false}if(this.day>a||this.day==0){return false}return true};Despegar.Date.prototype.convertDateToString=function(a){return this.getDaysName(3)[a.getUTCDay()]+" "+a.getUTCDate().toString()+" "+this.getMonthsName(3)[a.getUTCMonth()+1]+" "+a.getUTCFullYear().toString().substr(2,2)};registerNameSpace("Common");Common.Calendar=function(){this.drawCalendar=function(){var m=$("<div class='monthsContainer'></div>");var k=$("<div></div>");var w=null;var u=null;var p=null;var o=null;var q=null;var l=new Despegar.Date(this.options.language);var f=null;if(this.calendarContainer.hasClass("created")){f=1}else{f=this.options.shownMonths}var g=new Despegar.Date(this.options.language);for(var d=0;d<f;d++){if(this.calendarContainer.hasClass("created")){d=$(".monthsContainer > div",$("#calendarContainer")).length}l.setddmmaaaa(1+"/"+this.today.month+"/"+this.today.year,"/");l.addMonths(d);g.setddmmaaaa(l.getddmmaaaa(),"/");var n=l.getFirstDayOfMonthInWeek();k=$("<div id="+l.getaaaamm()+"></div>");p=$("<div class='daysGrid'></div>");u=$("<div class='daysNameContainer'></div>");o=$("<p></p>");if(this.calendarContainer.hasClass("created")==false){if(f==1){this.firstMonth=parseInt(l.getaaaamm());this.lastMonth=parseInt(l.getaaaamm())}else{switch(d){case 0:this.firstMonth=parseInt(l.getaaaamm());break;case f-1:this.lastMonth=parseInt(l.getaaaamm());break}}}var s=l.getMonthsName();w=$("<div class='monthHeader'></div>");w.append($("<h3>"+s[g.month]+" "+g.year+"</h3>"));var v=$("<p class='monthsSwitchingArrows'></p>");var j=$("<p class='arrowContainer previous'></p>");var r=$("<a style='font-family: Arial;'>"+String.fromCharCode(9668)+"</a>");r.click(function(){a.showPreviousMonth()});j.append(r);v.append(j);j=$("<p class='arrowContainer next'></p>");r=$("<a style='font-family: Arial;'>"+String.fromCharCode(9658)+"</a>");r.click(function(){a.showNextMonth()});j.append(r);v.append(j);if(this.calendarContainer.hasClass("created")==false){if(f==1){k.addClass("firstMonth");v.addClass("noPrev");k.addClass("lastMonth")}else{switch(d){case 0:k.addClass("firstMonth");v.addClass("noPrev");break;case f-1:k.addClass("lastMonth");break}}}if(($(k).attr("id")>=a.lastAvailableDay.getaaaamm())&&(d>=f-1)){v.addClass("noNext")}w.append(v);k.append(w);var e=l.getDaysName();for(var c=1;c<=7;c++){u.append('<span class="dayName">'+e[c]+"</span>")}k.append(u);l.setddmmaaaa("1/"+(this.today.month)+"/"+this.today.year,"/");l.addMonths(d);l.addDaysJSDate(-n-1);var t=new Despegar.Date(this.options.language);for(var h=0;h<42;h++){l.addDays(1);t.day=l.day;t.month=l.month;t.year=l.year;if(t.month!=g.month){o.append($("<span class='noCurrentMonth'>"+t.day+"</span>"))}else{if(parseInt(t.getiso(),10)>=parseInt(this.today.getiso(),10)){q=$("<span id='"+l.getiso()+"'>"+t.day+"</span>").attr("id",l.getiso()).data("date",l.getddmmaaaa()).mouseup(function(){if($(this).hasClass("selectable")){var x;if($(".focused").attr("id")==a.inputGo.attr("id")){x=$(a.inputGo)}else{x=$(a.inputReturn)}x.val($(this).data("date").toString()).removeClass("settingDateError").data("isValid",true).data("firstMonthPosition",$(".calendarVisible",a.calendarContainer)[0].id).trigger("change")}}).click(function(){if($(this).hasClass("selectable")){a.hideCalendar();if($(".focused").attr("id")==a.inputGo.attr("id")){a.checkTextDefault($(a.inputGo))}else{a.checkTextDefault($(a.inputReturn))}}});q=this.setIEDaysHover(q);if(parseInt(t.getiso(),10)<parseInt(this.firstAvailableDay.getiso(),10)||parseInt(t.getiso(),10)>=parseInt(this.lastAvailableDay.getiso(),10)){q.addClass("nonSelectable")}else{q.addClass("selectable")}if(t.day==this.today.day&&parseInt(t.getiso(),10)<=parseInt(this.firstAvailableDay.getiso(),10)){q.addClass("today")}}else{q=$("<span class='pastDate'>"+t.day+"</span>")}o.append(q)}if(h%7==6){p.append(o);if((h+1)/7!=6){o=$("<p></p>")}}}p.append(o);k.append(p);$(k).addClass("calendarVisible");m.append(k)}return m};this.generateCalendar=function(){this.calendarContainer.appendTo("body");this.calendarContainer.append(this.drawCalendar());var c=null;if(this.options.language=="pt"){c="Fechar"}else{c="Cerrar"}this.calendarContainer.append($("<div class='closeCalendar'></div>").append($("<a>"+c+"</a>").click(function(){a.hideCalendar()})));if(this.isIE6){$(".closeCalendar > a",$("#calendarContainer")).hover(function(){$(this).css("color","aqua").css("cursor","pointer")},function(){$(this).css("color","#0066CC").css("cursor","default")})}this.calendarContainer.addClass("created");this.calendarContainer.css("position","absolute");this.calendarContainer.data("language",this.options.language)};this.showCalendar=function(e){var f=(e.offset().top+e.outerHeight());var d=e.offset().left+"px";var l=e.offset().left+$(".calendarContainer").width();var g=e.offset().top+$(".calendarContainer").height();var j=0,h=0;if(typeof(window.pageYOffset)=="number"){h=window.pageYOffset;j=window.pageXOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){h=document.body.scrollTop;j=document.body.scrollLeft}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){h=document.documentElement.scrollTop;j=document.documentElement.scrollLeft}}}if(typeof window.innerWidth!="undefined"){var c=window.innerWidth+j;var k=window.innerHeight+h}else{var c=document.documentElement.clientWidth+j;var k=document.documentElement.clientHeight+h}if(l>c){d=e.offset().left-$(".calendarContainer").width()+e.width()+2+"px"}if(g>k){f=(f-$(".calendarContainer").height()-e.outerHeight())+"px"}this.calendarContainer.show().css("z-index",1001).css("top",f).css("left",d);if(a.isIE6){if($("#calendarIframe").length==0){$("<iframe id='calendarIframe'></iframe>").css("position","absolute").css("z-index",1000).css("top",f).css("left",d).appendTo("body")}}};this.hideCalendar=function(){this.calendarContainer.hide();$("#calendarIframe").hide()};this.setIEDaysHover=function(c){if(this.isIE6){$(c).hover(function(){if($(this).hasClass("selectable")&&$(this).hasClass("selected")==false){$(this).css("border-bottom-color","black").css("border-right-color","black").css("background-color","#CCD9B8")}},function(){if($(this).hasClass("selectable")&&$(this).hasClass("selected")==false){$(this).css("border-bottom-color","white").css("border-right-color","white").css("background-color","white")}})}return c};this.showNextMonth=function(){if($(".lastMonth",$("#calendarContainer")).find(".noNext").length==0){this.firstMonth++;this.lastMonth++;var d=this.firstMonth.toString();var c=this.lastMonth.toString();if(d.substr(4,2)>"12"){this.firstMonth=this.firstMonth-12+parseInt(parseInt(d.substr(4,2))/12)*100}if(c.substr(4,2)>"12"){this.lastMonth=this.lastMonth-12+parseInt(parseInt(c.substr(4,2))/12)*100}this.setMonthsClasses()}};this.showPreviousMonth=function(){if($(".firstMonth",$("#calendarContainer")).find(".noPrev").length==0){this.firstMonth--;this.lastMonth--;var d=this.firstMonth.toString();var c=this.lastMonth.toString();if(d.substr(4,2)<"01"){this.firstMonth=this.firstMonth+12-100}if(c.substr(4,2)<"01"){this.lastMonth=this.lastMonth+12-100}this.setMonthsClasses()}};this.setMonthsClasses=function(){if(typeof a.anticipationDays!="undefined"){while($("#"+this.lastMonth).length==0){$(".monthsContainer",$("#calendarContainer")).append($(this.drawCalendar()).children(".calendarVisible"))}}else{alert("There was a failure in the calendar configuration")}$(".calendarVisible",$("#calendarContainer")).addClass("hiddenMonth").removeClass("calendarVisible firstMonth lastMonth");var d=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.firstMonth));var c=$(".monthsContainer",$("#calendarContainer")).children().index($("#"+this.lastMonth));$(".hiddenMonth:lt("+c+"):gt("+d+")",$("#calendarContainer")).addClass("calendarVisible").removeClass("hiddenMonth");$("#"+this.lastMonth).addClass("lastMonth calendarVisible").removeClass("hiddenMonth");$("#"+this.firstMonth).addClass("firstMonth calendarVisible").removeClass("hiddenMonth")};var b=function(g,h){var c=new Despegar.Date();var d=$("#"+g.data("relatedID"));var e;if(g.data("tripType")=="go"){a.inputGo=g;a.inputReturn=d;e=true}else{a.inputGo=d;a.inputReturn=g;e=false}if(e){c.setddmmaaaa(h.getddmmaaaa(),"/");c.addMonths(a.options.shownMonths);if(c.compareMonthAndYearTo(a.lastAvailableDay.getiso())!=1){g.data("firstMonthPosition",h.getaaaamm())}else{c.setFullDate(a.lastAvailableDay.getYear(),a.lastAvailableDay.getMonth(),1);c.addMonths(1-a.options.shownMonths);g.data("firstMonthPosition",c.getaaaamm())}if(d.data("isValid")){c.setddmmaaaa(d.val(),"/");if(c.compareMonthAndYearTo(h.getaaaamm())==0){d.data("firstMonthPosition",g.data("firstMonthPosition"))}}}else{var f=true;if(d.data("isValid")){c.setddmmaaaa(d.val(),"/");if(c.compareMonthAndYearTo(h.getaaaamm())==0){g.data("firstMonthPosition",d.data("firstMonthPosition"));f=false}}if(f){if(h.getaaaamm()==a.inputGo.data("firstMonthPosition")){g.data(a.inputGo.data("firstMonthPosition"))}else{c.setddmmaaaa(h.getddmmaaaa(),"/");c.addMonths(1-a.options.shownMonths);if(c.compareMonthAndYearTo(a.today.getaaaamm())!=-1){g.data("firstMonthPosition",c.getaaaamm())}else{c.day=a.today.day;c.month=a.today.month;c.year=a.today.year;g.data("firstMonthPosition",c.getaaaamm())}}}}};this.getConfigAndProcess=function(){this.processConfiguration(this.getConfigurationFromServer())};this.getConfigurationFromServer=function(){var c=null;$.ajax({url:a.options.serverURL,async:false,success:function(e){c=e},error:function(e,g,f){},dataType:"json"});if(c==null){var d=new Date();c={};c.today={day:d.getDate(),month:(d.getMonth()+1),year:d.getFullYear()};c.products={cod:"default",data:{anticipationDays:3,availableDays:330}}}return c};this.processConfiguration=function(d){a.configuration=new Array();a.today=new Despegar.Date(this.options.language);a.today.day=d.today.day;a.today.month=d.today.month;a.today.year=d.today.year;var c=null;if($(d.products).length==1){a.configuration[d.products.cod]=d.products.data}else{for(i=0;i<$(d.products).length;i++){c=d.products[i];a.configuration[c.cod]=c.data}}};this.setProduct=function(d){if(typeof this.productData[d]=="undefined"){var c=null;if(typeof this.configuration[d]=="undefined"){c="default"}else{c=d}this.productData[d]=new Object();this.productData[d].availableDays=this.configuration[c].availableDays;this.productData[d].anticipationDays=this.configuration[c].anticipationDays;this.productData[d].firstAvailableDay=new Despegar.Date();this.productData[d].firstAvailableDay.setddmmaaaa(this.today.day+"/"+(this.today.month)+"/"+this.today.year,"/");this.productData[d].firstAvailableDay.addDays(this.productData[d].anticipationDays);this.productData[d].lastAvailableDay=new Despegar.Date();this.productData[d].lastAvailableDay.setddmmaaaa(this.productData[d].firstAvailableDay.getddmmaaaa(),"/");this.productData[d].lastAvailableDay.addDays(this.productData[d].availableDays)}this.anticipationDays=this.productData[d].anticipationDays;this.availableDays=this.productData[d].availableDays;this.firstAvailableDay=this.productData[d].firstAvailableDay;this.lastAvailableDay=this.productData[d].lastAvailableDay;if(this.calendarContainer.hasClass("created")){this.setAvailableDays(d)}};this.setAvailableDays=function(){$(".nonSelectable",$("#calendarContainer")).removeClass("nonSelectable").addClass("selectable");$(".selectable:lt("+a.anticipationDays+"),.selectable:gt("+(a.availableDays+a.anticipationDays-1)+")",$("#calendarContainer")).addClass("nonSelectable").removeClass("selectable");$(".noNext",$("#calendarContainer")).removeClass("noNext");if($("#"+this.lastAvailableDay.getaaaamm()).length==1){if(this.lastAvailableDay.getaaaamm()<=$(".monthsContainer",$("#calendarContainer")).children().eq(this.options.shownMonths-1).attr("id")){$(".monthsContainer",$("#calendarContainer")).children().eq(this.options.shownMonths-1).find(".monthsSwitchingArrows").addClass("noNext")}else{$("#"+this.lastAvailableDay.getaaaamm()).find(".monthsSwitchingArrows").addClass("noNext")}}};this.changeLanguage=function(g){if(this.options.language=="pt"){closeLinkText="Fechar"}else{closeLinkText="Cerrar"}$(".closeCalendar > a",$("#calendarContainer")).text(closeLinkText);var d=new Despegar.Date(g);var c=d.getDaysName();$(".dayName",$("#calendarContainer")).each(function(h){this.innerHTML=c[(h%7)+1]});var f=d.getMonthsName();var e=$(".monthsContainer > div:first").attr("id");d.setFullDate(e.substr(0,4),e.substr(4,2),1);$(".monthHeader > h3",$("#calendarContainer")).each(function(h){this.innerHTML=f[d.month]+" "+d.getYear();d.addMonths(1)})};this.setInputEvents=function(d){var e=$(d);var c=false;d.setValue=function(j){this.value=j;$(this).blur()};var h=false;if(a.options.defaultDate!="dd/mm/aaaa"){h=true}else{e.addClass("default")}e.val(a.options.defaultDate).data("relatedID",a.options.inputRelatedID).data("tripType",a.options.tripType).data("product",a.options.product).data("shownMonths",a.options.shownMonths).data("language",a.options.language).data("isValid",h).addClass("isCalendar");if(a.options.defaultDate!="dd/mm/aaaa"&&h){var g=new Despegar.Date();g.setddmmaaaa(a.options.defaultDate,"/");b(e,g)}e.blur(function(){a.IsHoverFocus=false;e.data("isValid",false);if(a.calendarContainer.hasClass("active")==false){a.hideCalendar()}var k=/[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}/;var j=e.val();if(j.match(k)){var l=new Despegar.Date();l.setddmmaaaa(e.val(),"/");if(!(l.isValidDate())||l.compareTo(a.lastAvailableDay.getiso())==1||l.compareTo(a.firstAvailableDay.getiso())==-1||l.month==0||l.day==0){e.addClass("settingDateError").data("isValid",false)}else{if($("#"+l.getiso()).length==1&&$("#"+l.getiso()).hasClass("selectable")){e.val(l.getddmmaaaa());e.removeClass("settingDateError");e.data("isValid",true);if(c){b(e,l);c=false}}else{e.removeClass("settingDateError");if(typeof a.anticipationDays!="undefined"){while($("#"+l.getiso()).length==0){$(".monthsContainer",$("#calendarContainer")).append($(a.drawCalendar()).children(".calendarVisible"))}}else{alert("There was a failure in the calendar configuration")}if($("#"+l.getiso()).hasClass("selectable")==false){e.addClass("settingDateError").data("isValid",false)}else{e.data("isValid",true);if(c){b(e,l);c=false}}}}}else{if(j==""||j=="dd/mm/aaaa"){e.val("dd/mm/aaaa").removeClass("settingDateError").removeData("firstMonthPosition")}else{e.addClass("settingDateError").data("isValid",false)}}e.trigger("change");a.checkTextDefault(e)}).keypress(function(j){a.checkTextDefault(e);switch(j.keyCode){case 13:e.blur();case 27:e.blur();break;default:e.removeClass("settingDateError");c=true}}).focus(function(){if(!a.IsHoverFocus){if(a.options.shownMonths!=e.data("shownMonths")){a.options.shownMonths=e.data("shownMonths")}if(a.calendarContainer.hasClass("created")==false){a.setProduct(e.data("product"));a.generateCalendar()}if(a.calendarContainer.data("language")!=e.data("language")||a.calendarContainer.data("language")!=a.options.language){a.options.language=e.data("language");a.calendarContainer.data("language",a.options.language);a.changeLanguage(a.options.language)}$(".focused").removeClass("focused");e.addClass("focused").select();if(e.data("tripType")=="go"){a.inputGo=e;a.inputReturn=$("#"+e.data("relatedID"))}else{a.inputReturn=e;a.inputGo=$("#"+e.data("relatedID"))}if(a.options.product!=e.data("product")){a.setProduct(e.data("product"));a.options.product=e.data("product")}var j=new Despegar.Date();if(e.data("firstMonthPosition")==undefined){if($("#"+e.data("relatedID")).data("firstMonthPosition")==undefined){j.day=a.today.day;j.month=a.today.month;j.year=a.today.year;a.firstMonth=j.getaaaamm()}else{a.firstMonth=$("#"+e.data("relatedID")).data("firstMonthPosition")}}else{a.firstMonth=e.data("firstMonthPosition")}j.setFullDate(a.firstMonth.substr(0,4),a.firstMonth.substr(4,2),1);j.addMonths(a.options.shownMonths-1);a.lastMonth=j.getaaaamm();a.setMonthsClasses();$(".selected",$("#calendarContainer")).removeClass("selected");var k=new Despegar.Date();if($(a.inputGo).hasClass("isCalendar")){k.setddmmaaaa($(a.inputGo).val(),"/");if($("#"+k.getiso()).length==1&&$("#"+k.getiso()).hasClass("selectable")){$("#"+k.getiso()).addClass("selected")}}if($(a.inputReturn).hasClass("isCalendar")){k.setddmmaaaa($(a.inputReturn).val(),"/");if($("#"+k.getiso()).length==1&&$("#"+k.getiso()).hasClass("selectable")){$("#"+k.getiso()).addClass("selected")}}a.showCalendar(e)}else{a.IsHoverFocus=false}});var f=$("<div class='mainSprite buttonCalendarOn calendarImage'></div>").hover(function(){a.calendarContainer.addClass("active")},function(){a.calendarContainer.removeClass("active")});e.after(f);f.click(function(){if(a.calendarContainer.css("display")=="block"&&$(this).parent().find("input").hasClass("focused")){a.hideCalendar();e.trigger("blur")}else{if(!a.firstClick){e.trigger("blur").trigger("focus")}else{e.trigger("focus").trigger("blur").trigger("focus");a.firstClick=false}}})};this.checkTextDefault=function(c){if(c.val()=="dd/mm/aaaa"){c.addClass("default")}else{c.removeClass("default")}};this.setOptions=function(c){this.options=c||{};this.options.tripType=c.tripType||"go";this.options.inputRelatedID=c.inputRelatedID||"";this.options.defaultDate=c.defaultDate||"dd/mm/aaaa";this.options.product=c.product||"vue";this.options.shownMonths=c.shownMonths||2;if(this.options.shownMonths>12){this.options.shownMonths=12}this.options.language=c.language||"es";this.options.configuration=c.configuration||false;if(this.options.configuration==false){if(typeof this.configuration=="undefined"||(this.options.serverURL!=c.serverURL&&c.serverURL!=null)){this.options.serverURL=c.serverURL||"/Contents/Servicies/CalendarService.ashx";this.getConfigAndProcess();this.productData=new Array()}}else{this.processConfiguration(this.options.configuration);this.productData=new Array()}};this.initializeInput=function(c,d){this.setOptions(d);this.setProduct(this.options.product);this.setInputEvents(c)};this.isIE6=false;if($.browser.msie){if($.browser.version=="6.0"){this.isIE6=true}}this.inputGo=null;this.inputReturn=null;this.firstMonth=null;this.lastMonth=null;this.productData=new Array();this.anticipationDays=null;this.availableDays=null;this.firstAvailableDay=null;this.lastAvailableDay=null;this.calendarContainer=$('<div id="calendarContainer" class="calendarContainer"></div>');this.calendarContainer.hover(function(){a.calendarContainer.addClass("active")},function(){a.calendarContainer.removeClass("active")});this.calendarContainer.mouseleave(function(){if(a.calendarContainer.css("display")=="block"){a.IsHoverFocus=true;$(".focused").select()}});this.firstClick=true;this.IsHoverFocus=false;var a=this};Common.Calendar=new Common.Calendar();jQuery.fn.calendar=function(a){this.each(function(){Common.Calendar.initializeInput(this,a)});return this};