var bginit = { labels: { title: 'Melhor Preço Disponível', checkin: 'Data de entrada', nights: 'Nr. de noites', button: 'Reserve Online', shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] }, vars: { testing: true, today: new Date (2022,9,27,23,32,22,0), apikey: 'c5651a68067b555531bccb26f3c8512a', channelKey: '58e5de4e971fc00be29aa10492813ad4', purl: 'https://book.premiumportodowntown.com/api/bg/book.php', client: '272fb1406cf68f23', host: 'https://secure.guestcentric.net', language: 'pt', skin: 'default', newWindow: false, sess_id: 'shc5651a68067b555531bccb26f3c8512a16669099427405', months3: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], monthsFull: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], weekdays1: ["D", "S", "T", "Q", "Q", "S", "S"], weekdays3: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], endDate: '2024-09-25', dateFormat: 'd/m/Y', startWeekDay: 1, nrNights: 2, maxNrNights: 15, checkInDate: new Date (2022,9,27,23,32,22,0) } }; (function() {var bgy,log,B;B={_stack:[],checkStack:function(hNode) {var i,li,stack=B._stack;for(i=0,li=stack.length;i0) {Dom.addClass(body,"gecko");if(/Firefox/.test(ua)) {Dom.addClass(body,"ff"+_getVersion(/(?:Firefox\/)([0-9])/));}} else if(eua.webkit) {Dom.addClass(body,"webkit");if(/Chrome/.test(ua)) {Dom.addClass(body,"chrome");}} else if(eua.opera) {Dom.addClass(body,"opera");Dom.addClass(body,"opera"+parseInt(bgy.env.ua.opera,10));} else {Dom.addClass(body,"unknown");}} return;},attachLink:function(trigger) {var U=bgy.util,config,target,seed="bgLink-"+bgy.env._id_counter;if(B.checkStack(trigger)) {return;} bgy.env._id_counter+=1;U.Dom.addClass(trigger,"bgLink");target=trigger.getAttribute("target")||"_self";config={trigger:trigger,seed:trigger.id||seed,target:target};U.Event.addListener(trigger,"click",B.submit,config);return;},attachSpecialLink:function(trigger) {var values,paramString,params,att=trigger.getAttribute("rel"),target="_self";var migratedButton=trigger.getAttribute("data-migrated");if(!(/^bglink/.test(att))||B.checkStack(trigger)) {return;} paramString=att.match(/^bglink\[(.*?)\]/i)||att.match(/^bglinkBAR\[(.*?)\]/i);paramString=paramString[1];params=paramString.split(",");if(!(/^\d+$/.test(params[1]))) {params[1]=0;} if(!(/^\d{4}-\d{2}-\d{2}$/.test(params[0]))) {params[0]=0;} values={start:params[0],nights:params[1],preselect:unescape(params[2]),advanceBooking:params[3]};bgy.util.Dom.addClass(trigger,"bgLink");if(migratedButton!="1"){bgy.util.Event.addListener(trigger,"click",B.submit,{trigger:trigger,seed:trigger.id,isPreselected:true,values:values});}},attachShorthand:function(trigger) {var seed,layoutSh,labels=bginit.labels,Event=bgy.util.Event;if(B.checkStack(trigger)) {return;} bgy.util.Dom.setStyle(trigger,"visibility","hidden");bgy.util.Dom.addClass(trigger,"gc_sh");seed=trigger.id;if(!B.labels) {B.labels={};} B.labels.title=labels.title;B.labels.checkin=labels.checkin;B.labels.nights=labels.nights;B.labels.button=labels.button;B.labels.shortMonths=labels.shortMonths;if(bgy.util.Dom.hasClass(trigger,"vertical")) {layoutSh="gc_verticalSh";} else {layoutSh="gc_horizontalSh";} trigger.innerHTML=B.insertForm(seed,layoutSh);B.attachCalendar(B.vars.endDate,seed);B.attachDropdown(seed);Event.addListener(seed+"shortHandCheckRates","click",B.submit,{trigger:trigger,seed:seed});Event.addListener(seed+"shortHandCheckRatesform","submit",B.abortSubmit);return;},insertForm:function(seed,layoutSh) {var form,i;form='
';form+='
'+B.labels.title+'
';form+='
';form+='
'+B.labels.checkin+'
';form+='
';form+='';form+='
';form+='
';form+='
';form+='
';form+='
';form+='
'+B.labels.nights+'
';form+='';form+='';form+='
';form+='
';form+='';form+='
';form+='
';return form;},attachCalendar:function(lastDay,seed) {var calAtt,wCal,date=B.date,vars=B.vars,Event=bgy.util.Event;if(!(/^([0-9]{4})(-{1})([0-1]{1}[0-9]{1})(-{1})([0-3]{1}[0-9]{1})$/g).test(lastDay)) {lastDay=date.get();bgy.widget.DateMath._addDays(lastDay,396);lastDay.setDate(0);vars.lastDay=date.dateToCalendar(lastDay);} else {vars.lastDay=date.standardToCalendar(B.vars.endDate);} vars.today=date.dateToCalendar(B.date.get());calAtt={close:false,selected:date.dateToCalendar(vars.checkInDate),mindate:vars.today,maxdate:vars.lastDay,HIDE_BLANK_WEEKS:true,START_WEEKDAY:vars.startWeekDay,LOCALE_WEEKDAYS:"1char",WEEKDAYS_1CHAR:vars.weekdays1,MONTHS_LONG:vars.monthsFull};B.widgets.calendar[seed+"shortHandCalendar"]=new bgy.widget.Calendar(seed+"shortHandCalendar",seed+"shortHandCalendarContainer",calAtt);wCal=B.widgets.calendar[seed+"shortHandCalendar"];wCal.isShowing=false;wCal.isInRange=function(val){var min=B.date.dateToStandard(new Date(vars.today),"Y-m-d"),max=B.date.dateToStandard(new Date(vars.lastDay),"Y-m-d"),isInRange,value,ar_value,ar_min,ar_max;if((/^[0-9]{4}-{1}[0-9]{2}-{1}[0-9]{2}$/.test(min))&&(/^[0-9]{4}-{1}[0-9]{2}-{1}[0-9]{2}$/.test(max))&&(/^[0-9]{4}-{1}[0-9]{2}-{1}[0-9]{2}$/.test(val))){ar_value=val.split("-",3);value=new Date(ar_value[0],ar_value[1]-1,ar_value[2]);ar_min=min.split("-",3);min=new Date(ar_min[0],ar_min[1]-1,ar_min[2]);ar_max=max.split("-",3);max=new Date(ar_max[0],ar_max[1]-1,ar_max[2]);if(value>=min&&value<=max){isInRange=true;}else{isInRange=false;}}else{isInRange=false;} return isInRange;};wCal.setSelectedDay=function(type,args,obj) {var year=args[0][0][0],month=args[0][0][1],day=args[0][0][2];if(month<10) {month="0"+month;} if(day<10) {day="0"+day;} bgy.util.Dom.get(seed+"startDay").value=B.date.dateToStandard(new Date(month+"/"+day+"/"+year),B.vars.dateFormat);bgy.util.Event.removeListener(document.body,"click",this.toggle);this.isShowing=false;this.hide();};wCal.doNextMonthNav=function(e,cal) {var navs;bgy.util.Event.preventDefault(e);bgy.util.Event.stopEvent(e);setTimeout(function(){cal.nextMonth();navs=bgy.util.Dom.getElementsByClassName(cal.Style.CSS_NAV_RIGHT,"a",cal.oDomContainer);if(navs&&navs[0]){try{navs[0].focus();}catch(e){}}},0);};wCal.doPreviousMonthNav=function(e,cal) {var navs;bgy.util.Event.preventDefault(e);bgy.util.Event.stopEvent(e);setTimeout(function(){cal.previousMonth();navs=bgy.util.Dom.getElementsByClassName(cal.Style.CSS_NAV_LEFT,"a",cal.oDomContainer);if(navs&&navs[0]){try{navs[0].focus();}catch(e){}}},0);};wCal.toggle=function(evt) {var calPageDate,Event=bgy.util.Event,body=document.body;if(wCal.isShowing) {Event.removeListener(body,"click",wCal.toggle);wCal.hide();wCal.isShowing=false;} else {try {dateForm=bgy.util.Dom.get(seed+"startDay").value;dateForm=B.unformatHotelBgDate(dateForm);dateForm=B.date.dateToStandard(new Date(dateForm),"Y-m-d");calPageDate=B.date.getCalPagedate(dateForm,"standard");} catch(err) {dateForm=wCal.getSelectedDates()[0];dateForm=B.unformatHotelBgDate(dateForm);dateForm=B.date.dateToStandard(new Date(dateForm),"Y-m-d");calPageDate=B.date.getCalPagedate(dateForm,"date");} wCal.cfg.setProperty("pagedate",calPageDate);wCal.render();Event.removeListener(body,"click",wCal.toggle);bgy.util.Dom.get(seed+"startDay").focus();wCal.show();wCal.isShowing=true;Event.stopPropagation(evt);Event.addListener(body,"click",wCal.toggle);}};wCal.setValueFromField=function(evt) {var fieldDate=bgy.util.Dom.get(seed+"startDay"),date=B.date,fieldValue=fieldDate.value;if(fieldDate.value.length<10) {return;} fieldValue=B.unformatHotelBgDate(fieldDate.value);fieldValue=B.date.dateToStandard(new Date(fieldValue),"Y-m-d");try {if(wCal.isInRange(fieldValue)) {wCal.select(date.standardToCalendar(fieldValue));} else {fieldDate.value=date.dateToStandard(wCal.getSelectedDates()[0],B.vars.dateFormat);}} catch(err) {fieldDate.value=date.dateToStandard(wCal.getSelectedDates()[0],B.vars.dateFormat);}};wCal.disableArrows=function() {var rArrow,lArrow,previousMonthLastDay,Dom=bgy.util.Dom,nextMonthFirstDay=new Date(wCal.cfg.config.pagedate.value);bgy.widget.DateMath._addDays(nextMonthFirstDay,wCal.monthDays);if(wCal.isDateOOB(nextMonthFirstDay)) {rArrow=Dom.getElementsByClassName(wCal.Style.CSS_NAV_RIGHT,"a",wCal.oDomContainer);Dom.setStyle(rArrow,"display","none");} previousMonthLastDay=new Date(wCal.cfg.config.pagedate.value);bgy.widget.DateMath._addDays(previousMonthLastDay,-1);if(wCal.isDateOOB(previousMonthLastDay)) {lArrow=Dom.getElementsByClassName(wCal.Style.CSS_NAV_LEFT,"a",wCal.oDomContainer);Dom.setStyle(lArrow,"display","none");}};Event.addListener(seed+"shortHandCalendarIcon","click",wCal.toggle);Event.addListener(seed+"startDay","click",wCal.toggle);Event.addListener(seed+"startDay","keyup",wCal.setValueFromField);wCal.selectEvent.subscribe(wCal.setSelectedDay,wCal,true);wCal.renderEvent.subscribe(wCal.disableArrows,wCal,true);wCal.render();return;},attachDropdown:function(seed) {var ddAtt,wNights;ddAtt={type:"menu",menu:seed+"shortHandNrNightsSelect"};wNights=new bgy.widget.Button(seed+"nrNights",ddAtt);B.widgets.dropdown[seed+"nrNights"]=wNights;wNights.onMenuItemClick=function(evt) {wNights._button.innerHTML=wNights._configs.selectedMenuItem.getValue().srcElement.text;};wNights.getMenu().clickEvent.subscribe(wNights.onMenuItemClick,wNights,true);return;},abortSubmit:function(evt) {bgy.util.Event.preventDefault(evt);},submit:function(evt,arg) {var frm,content="",vars=B.vars,Dom=bgy.util.Dom,elems=[],dayAndNights=false;elems.push(document.getElementById(arg.seed+"shortHandDate"));elems.push(document.getElementById(arg.seed+"shortHandNrNights"));if(Dom.get(arg.seed+"startDay")&&(!window.getComputedStyle||(elems[0]&&window.getComputedStyle(elems[0],null).display!=="none"&&elems[1]&&window.getComputedStyle(elems[1],null).display!=="none"))){dayAndNights=true;} function setSelectedStartDay(selectedDate){try{selectedDate=selectedDate.replace(/\//g,"-");switch(B.vars.dateFormat) {case"d-m-Y":case"d/m/Y":split=selectedDate.split("-");selectedDate=split[2]+"-"+split[1]+"-"+split[0];break;case"Y-m-d":case"Y/m/d":split=selectedDate.split("-");selectedDate=split[0]+"-"+split[1]+"-"+split[2];break;case"m-d-Y":case"m/d/Y":split=selectedDate.split("-");selectedDate=split[2]+"-"+split[0]+"-"+split[1];break;} if(/[0-9]{4}-[0-9]{2}-[0-9]{2}/.test(selectedDate)) {vars.startSelection=selectedDate;} else {vars.startSelection=B.date.dateToStandard(B.date.get());}}catch(err){vars.startSelection=B.date.dateToStandard(B.date.get());}} if(dayAndNights){setSelectedStartDay(Dom.get(arg.seed+"startDay").value);if(B.widgets.dropdown[arg.seed+"nrNights"]._configs.selectedMenuItem.getValue()){vars.nrNights=B.widgets.dropdown[arg.seed+"nrNights"]._configs.selectedMenuItem.getValue().srcElement.text;} content+='';content+='';}else if(!Dom.get(arg.seed+"startDay")&&arg.isPreselected){if(Dom.get(arg.values)&&arg.values.hasOwnProperty('start')&&arg.values.hasOwnProperty('nights')){var bgStartDate=arg.values.start;var adults=Dom.get(arg.seed).dataset.adults;if(!!adults){content+='';} var att=Dom.get(arg.seed).getAttribute("rel");if(/^bglink/.test(att)){var paramString=att.match(/^bglink\[(.*?)\]/i)||att.match(/^bglinkBAR\[(.*?)\]/i);var params=paramString[1].split(",");if(/^\d{4}-\d{2}-\d{2}$/.test(params[0])){bgStartDate=params[0];}} if(arg.values.hasOwnProperty('advanceBooking')&&arg.values.advanceBooking>0){var startDateFull=new Date(arg.values.start);var startDate=new Date(startDateFull.getFullYear(),startDateFull.getMonth(),startDateFull.getDate()) var nowFull=new Date();var now=new Date(nowFull.getFullYear(),nowFull.getMonth(),nowFull.getDate());var nowPlusAdvanceBookingDays=new Date(now.getTime()+arg.values.advanceBooking*24*60*60*1000);var numberOfDaysToAdd=(nowPlusAdvanceBookingDays.getTime()-startDate.getTime())/86400000;if(numberOfDaysToAdd<=0){numberOfDaysToAdd=0;} var dtBgStartDate=new Date(startDate.getTime()+numberOfDaysToAdd*24*60*60*1000);var day=dtBgStartDate.getDate();var month=dtBgStartDate.getMonth()+1;var year=dtBgStartDate.getFullYear();if(month.length<2)month='0'+month;if(day.length<2)day='0'+day;bgStartDate=[year,month,day].join('/').substring(0,10);} content+='';content+='';} content+='';} content+='';content+='';content+='';if(typeof selection!=="undefined"&&selection){selection.forEach((e,i)=>{selection[i]=+selection[i]}) content+='';} if(typeof(pageTracker)==="object"){content+='';} B.setLinkerParam();if(bginit.vars.linkerParam!==""){content+='';} frm=document.createElement("form");frm.id="bgForm";frm.method="GET";if(vars.newWindow||(arg.target&&arg.target==="_blank")){frm.target="_blank";} frm.action=B.url.bg+'?'+bginit.vars.linkerParam;frm.innerHTML=content;document.body.appendChild(frm);bgy.util.Event.onAvailable("apikey",function(){document.getElementById("bgForm").submit();});},date:{get:function() {return B.vars.today;},dateToStandard:function(date,dateFormat) {try {var y=date.getFullYear(),m=date.getMonth()+1,d=date.getDate();if(m<10) {m="0"+m;} if(d<10) {d="0"+d;} if(dateFormat) {fDate=dateFormat;fDate=fDate.replace(/Y/g,y);fDate=fDate.replace(/d/g,d);fDate=fDate.replace(/m/g,m);return fDate;} return y+"-"+m+"-"+d;} catch(err) {return false;}},dateToCalendar:function(date) {try {var y=date.getFullYear(),m=date.getMonth()+1,d=date.getDate();return m+"/"+d+"/"+y;} catch(err) {return false;}},standardToCalendar:function(date) {try {var ar=date.split("-",3),y=ar[0],m=ar[1],d=ar[2];if(d<10&&d.length>1) {d=d.substr(1,1);} if(m<10&&m.length>1) {m=m.substr(1,1);} return m+"/"+d+"/"+y;} catch(err) {return false;}},standardToDate:function(dateString) {try {var ar=dateString.split("-",3);return new Date(ar[0],ar[1]-1,ar[2]);} catch(err) {return false;}},calendarToDate:function(dateString) {try {var ar=dateString.split("/",3);return new Date(ar[2],ar[0]-1,ar[1]);} catch(err) {return false;}},getCalPagedate:function(date,format) {switch(format) {case"standard":date=B.date.standardToDate(date);break;case"calendar":date=B.date.calendarToDate(date);break;default:break;} return(date.getMonth()+1)+"/"+date.getFullYear();}}};B.registerGadget();}());