1var _bgo={bg:{}};window.bgo?_bgo=window.bgo:window.bgo=_bgo;var ajaxRequest={jsonP:function(){this._done=!1,this._requestData=null,this.handleLoad=function(e){if(!e._done){e._done=!0;var t=_bgo.bg.response;1==t.status?e._requestData.ok(t):e._requestData.error(t),e._requestData=null}},this.request=function(e,t){var n=this;n._done=!1,n._requestData=t;var a=document.createElement("script");document.body.appendChild(a),a.onreadystatechange=function(){n._done||"complete"!==a.readyState||n.handleLoad(n)},a.onload=function(){n.handleLoad(n)},a.src=e,t.done||(t.done=function(e){console.info(e)})}}},_processedPromotions=0,_promotionsGadget={init:function(){this.loadGa4Handoff(),this.hideUnavailablePromos(),this.hidePlusFreeDaysLabel()},showTerms:function(e){var t=document.getElementById(e);return!!t&&(t.style.display="block",!0)},hideTerms:function(e){var t=document.getElementById(e);return!!t&&(t.style.display="none",!0)},removeRelatedNodes:function(e){var t=document.getElementById("subnavigation_"+e.id);t&&t.parentNode.parentNode.removeChild(t.parentNode),e.parentNode.removeChild(e)},hideUnavailablePromos:function(){for(var e=this.getTodayDateTime(),t={},n=document.querySelectorAll("[data-promotionid]"),a=0;a<n.length;a++){var r=n[a],o=JSON.parse(r.dataset.promotioninfo),i=this.getDateTime(o.startSellingDate);if(i&&i>e)this.removeRelatedNodes(r);else{var s=this.getDateTime(o.stopSellingDate);if(s&&s<e)this.removeRelatedNodes(r);else{var l=this.getDateTime(o.checkInDateTo);l&&l<e?this.removeRelatedNodes(r):t[o.packageid]={node:r,data:o}}}}this.checkBestRateAdvanceBooking(t)},hidePlusFreeDaysLabel:function(){var e=document.getElementsByClassName("freedaysLabel");if(e.length>0)for(idx=0;idx<e.length;idx++)e[idx].style.display="none"},filterResponse:function(e){var t,n={};for(var a in e)n[t=a.split(".")[0]]?parseFloat(e[a].rate)<parseFloat(n[t].rate)&&(n[t]=e[a]):n[t]=e[a];return n},checkBestRateAdvanceBooking:function(e){var t=Object.keys(e).map(function(e){return e.split(".")[0]}),n=window.sessId||"ws"+(new Date).getTime(),a=window.gc_lang_abbrev?"&language="+window.gc_lang_abbrev:"&language="+window.bginit.vars.language,r=securePath+"/logic/requestHandler.v04.php?action=bestOffersRates&hasPromotions=1&sess_id="+n+"&apikey="+apiKey+"&hotelId="+hotelId+"&offers="+JSON.stringify(t)+a;(new ajaxRequest.jsonP).request(r,{ok:function(n){var a=(n=n.js||[]).inactive||[],r=_promotionsGadget.filterResponse(n.bars),o=n.checkIn;for(var i in t){var s=t[i],l=e[s].data,d=l.promotionid,c=e[s].node;if(a.length>0&&-1!=a.indexOf(l.packageid)){var g=document.getElementById("subnavigation_"+c.id);g&&g.parentNode.parentNode.removeChild(g.parentNode),c.parentNode.removeChild(c)}else{var m,u=document.getElementsByClassName("minRateValue_"+d),f=document.getElementsByClassName("freeDaysValue_"+d),p=document.getElementsByClassName("freedaysLabel"),v=c.getElementsByClassName("bgLink");for(var h in v)if(!isNaN(h)&&v[h]&&-1!==v[h].rel.indexOf("bglinkBAR")){m=v[h];break}if(m)if(r[s]){if(u.length>0){var y,b=_promotionsGadget.formatCurrency(r[s].rate),_=r[s].freeDaysByPromo?r[s].freeDaysByPromo:null;for(y=0;y<u.length;y++)u[y].innerHTML=b,u[y].parentNode.style.display="block",null!==_?(f[y].innerHTML=_,f[y].parentNode.style.display="block"):p.length>0&&(p[y].style.display="none")}else(u=document.getElementById("minRateValue_"+d)).innerHTML=b,u.style.display="block";-1!==m.rel.indexOf("bglinkBARMobile")&&(m.href=m.href+"&startDay="+r[s].day),m.rel=m.rel.replace("[0","["+r[s].day),r[s].nights&&(m.rel=m.rel.replace(/(\[[^,]+,)[^,]+/,"$1"+r[s].nights)),c.dataset.price=r[s].rate,c.dataset.checkin=r[s].day,_processedPromotions++;for(var k=document.getElementById(d+"_terms"),w=0;w<k.children.length;w++)"promotions-termsText"==k.children[w].className&&(void 0===r[s].cancel_policy.cancellation_text&&(r[s].cancel_policy.cancellation_text=""),r[s].cancel_policy.cancel_rules&&r[s].cancel_policy.cancel_rules.length>0?k.children[w].innerHTML=r[s].cancel_policy.cancel_rules[0].text+"<br>":k.children[w].innerHTML=r[s].cancel_policy.cancellation_text)}else m.parentNode.removeChild(m)}}for(var D in e){var C=r[D];if(e[D]){v=(c=e[D].node).querySelectorAll("a.promotions-bgLink, a.bgLink");for(var h in v)if(!isNaN(h)&&v[h]&&-1===v[h].rel.indexOf("bglinkBAR")&&-1!==v[h].rel.indexOf("bglink")){var N=(m=v[h]).rel.match(/^[^\[]*/);N=N[0];var B=m.rel.match(/\[.+?\]/g);
1if(B=B[0].split(","),void 0!==C){var P=C.firstValidDate||C.startDate||null;if((P||C.nights)&&(P&&(B[0]="["+P),P&&"bglink"==N&&(B[0]="["+P),C.nights&&(B[1]=C.nights)),"bglink"==N&&C.day&&!P){var T=_promotionsGadget.getCurrentDate();if(B[0].includes("["))var E=B[0].replace("[",""),x=new Date(E),R=new Date(T);x<R&&(B[0]="["+T)}}else{T=void 0!==o&&""!==o.trim()?o:_promotionsGadget.getCurrentDate();B[0]="["+T}B=B.join(),m.rel=N+B,m.addEventListener("click",function(e){var t=this.rel.match(/^bglink.*?\[(.*?)\]/i);if(t&&"undefined"!=typeof bginit){e.preventDefault();var n,a=t[1].split(",");if("gc"==bginit.vars.apikeyQueryParameter){var r=a[2].replace(/promo(\d+)/,"$1");n=bginit.vars.purl+"rate/details/"+r+"?"+bginit.vars.apikeyQueryParameter+"="+bginit.vars.apikey+"&channelKey="+bginit.vars.channelKey+"&startDay="+a[0]+"&nrNights="+a[1]+"&l="+bginit.vars.language+_promotionsGadget.setUtms()}else n=bginit.vars.purl+"?"+bginit.vars.apikeyQueryParameter+"="+bginit.vars.apikey+"&channelKey="+bginit.vars.channelKey+"&startDay="+a[0]+"&nrNights="+a[1]+"&l="+bginit.vars.language+"&preselect="+a[2]+_promotionsGadget.setUtms();_promotionsGadget.navigateToBookingEngine(n)}})}}}for(var I in e)if(!r[I]){var L=(c=e[I].node).getElementsByClassName("promotions-showTermsTrigger");L[0]&&L[0].remove()}var H=document.getElementById("specialoffers");H.getElementsByClassName("roomContainer").length;"true"==H.dataset.orderbyprice&&_promotionsGadget.sortPromotions()},error:function(e){console.info("error:"),console.info(e)}})},getCurrentDate:function(){var e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`},getTodayDateTime:function(){var e=new Date;return e.setHours(0,0,0,0),e.getTime()},getDateTime:function(e){return!(!e||null==e||"0000-00-00"==e)&&((e=new Date(e)).setHours(0,0,0,0),e.getTime())},sortPromotions:function(){for(var e=document.querySelectorAll("[data-promotionid]"),t={},n=0;n<e.length;n++){var a=e[n],r=a.dataset.price;for(void 0===r&&(r="99999999999",a.dataset.price="99999999999"),r=parseFloat(r).toFixed(2),-1==a.dataset.price.indexOf(".")&&(r=String(r)+".00"),r=parseInt(r.replace(".",""));void 0!==t[r];)r+=1;t[r]=a}for(var o=document.getElementById("specialoffers");o.firstChild;)o.removeChild(o.firstChild);for(var i in t)t.hasOwnProperty(i)&&o.appendChild(t[i])},formatCurrency:function(e){if("number"!=typeof e&&(e=e.replace(",","."),e=parseFloat(e)),null!=e&&null!=e){var t=e.toFixed(2).toString(),n=currencyPlaceHolder;return-1!==currencyPlaceHolder.indexOf(",")?(t=t.replace(".",","),n.replace("0,00",t)):n.replace("0.00",t)}},loadGa4Handoff:function(){if(!window.gcGa4ClientHandoff&&!document.getElementById("gc-ga4-client-handoff")){var e="undefined"!=typeof securePath&&securePath||"";if(e){var t="undefined"!=typeof jsVersionPreventCache&&jsVersionPreventCache||"",n=document.createElement("script");n.id="gc-ga4-client-handoff",n.async=!0,n.src=e+"/js/gadgets/ga4ClientHandoff.min.js"+(t?"?v="+encodeURIComponent(t):""),document.head.appendChild(n)}}},navigateToBookingEngine:function(e,t){t=t||function(e){window.location.href=e},window.gcGa4ClientHandoff?window.gcGa4ClientHandoff.navigate(e,t):t(e)},setUtms:function(){const e=["utm_source","utm_medium","utm_campaign","utm_content","gad_source","gclid"],t=new URL(window.location.href);let n="";for(let a of e){const e=t.searchParams.get(a);e&&(n+=`&${a}=${encodeURIComponent(e)}`)}return n}};_promotionsGadget.init();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.