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 n=_bgo.bg.response;1==n.status?e._requestData.ok(n):e._requestData.error(n),e._requestData=null}},this.request=function(e,n){var a=this;a._done=!1,a._requestData=n;var t=document.createElement("script");document.body.appendChild(t),t.onreadystatechange=function(){a._done||"complete"!==t.readyState||a.handleLoad(a)},t.onload=function(){a.handleLoad(a)},t.src=e,n.done||(n.done=function(e){console.info(e)})}}},_roomTypesGadget={init:function(){this.loadGa4Handoff();for(var e={},n=document.querySelectorAll("[data-offerid]"),a=0;a<n.length;a++){var t=n[a];e[t.dataset.offerid]=t}this.checkBestRateAdvanceBooking(e)},checkBestRateAdvanceBooking:function(e){var n=Object.keys(e).map(function(e){return e.split(".")[0]});n=JSON.stringify(n);var a=window.gc_lang_abbrev?"&language="+window.gc_lang_abbrev:"",t=securePath+"/logic/requestHandler.v04.php?action=bestOffersRates&sess_id="+sessId+"&apikey="+apiKey+"&hotelId="+hotelId+"&offers="+n+a;(new ajaxRequest.jsonP).request(t,{ok:function(n){var a=n.js.bars;for(var t in e){var o,r=e[t],i=r.getElementsByClassName("minRateValue")[0],s=r.getElementsByClassName("bgLink");for(var d in s)if(s[d]&&s[d].rel&&-1!==s[d].rel.indexOf("bglinkBAR")){o=s[d];break}if(o)if(a[t]){if(o.rel=o.rel.replace("[0","["+a[t].day),a[t].roomRateCode&&!a[t].rateCode){var l=a[t].roomRateCode;o.rel=o.rel.replace(",]",","+l+"]")}i.innerHTML=_roomTypesGadget.formatCurrency(a[t].rate),i.parentNode.style.display="block",r.dataset.price=a[t].rate,r.dataset.checkin=a[t].day}else o&&o.parentNode&&o.parentNode.removeChild(o)}for(var c in e){var g=a[c];if(e[c]){promoNode=e[c];s=promoNode.querySelectorAll("a.promotions-bgLink, a.bgLink");for(var d in s)if(!isNaN(d)&&s[d]&&-1===s[d].rel.indexOf("bglinkBar")&&-1!==s[d].rel.indexOf("bglink")){var f=(o=s[d]).rel.match(/^[^\[]*/);f=f[0];var u=o.rel.match(/\[.+?\]/g);u=u[0].split(","),void 0!==g&&(g.nights&&(u[1]=g.nights),g.roomRateCode&&(",]"==u[2]?u[2]=g.roomRateCode+"]":(u[2]=g.roomRateCode,3==u.length&&(u[2]=g.roomRateCode+"]")))),u=u.join(),o.rel=f+u,o.addEventListener("click",function(e){var n=this.rel.match(/^bglink.*?\[(.*?)\]/i);if(n&&"undefined"!=typeof bginit){e.preventDefault();var a,t=n[1].split(",");if(0==t[0]){const e=new Date;t[0]=e.toISOString().split("T")[0]}if("gc"==bginit.vars.apikeyQueryParameter){var o=t[2].replace(/p(\d+)r(\d+)/,"$1.$2");o=o.replace(/room(\d+)/,"$1"),a=bginit.vars.purl+"room/details/"+o+"?"+bginit.vars.apikeyQueryParameter+"="+bginit.vars.apikey+"&channelKey="+bginit.vars.channelKey+"&startDay="+t[0]+"&nrNights="+t[1]+"&l="+bginit.vars.language+_roomTypesGadget.setUtms()}else a=bginit.vars.purl+"?"+bginit.vars.apikeyQueryParameter+"="+bginit.vars.apikey+"&channelKey="+bginit.vars.channelKey+"&startDay="+t[0]+"&nrNights="+t[1]+"&l="+bginit.vars.language+"&select="+t[2]+_roomTypesGadget.setUtms();_roomTypesGadget.navigateToBookingEngine(a)}})}}}},error:function(e){console.info("error:"),console.info(e)}})},formatCurrency:function(e){if("number"!=typeof e&&(e=e.replace(",","."),e=parseFloat(e)),null!=e&&null!=e){var n=e.toFixed(2).toString(),a=currencyPlaceHolder;return-1!==currencyPlaceHolder.indexOf(",")?(n=n.replace(".",","),a.replace("0,00",n)):a.replace("0.00",n)}},loadGa4Handoff:function(){if(!window.gcGa4ClientHandoff&&!document.getElementById("gc-ga4-client-handoff")){var e="undefined"!=typeof securePath&&securePath||"";if(e){var n="undefined"!=typeof jsVersionPreventCache&&jsVersionPreventCache||"",a=document.createElement("script");a.id="gc-ga4-client-handoff",a.async=!0,a.src=e+"/js/gadgets/ga4ClientHandoff.min.js"+(n?"?v="+encodeURIComponent(n):""),document.head.appendChild(a)}}}
1,navigateToBookingEngine:function(e,n){n=n||function(e){window.location.href=e},window.gcGa4ClientHandoff?window.gcGa4ClientHandoff.navigate(e,n):n(e)},setUtms:function(){const e=["utm_source","utm_medium","utm_campaign","utm_content","gad_source","gclid"],n=new URL(window.location.href);let a="";for(let t of e){const e=n.searchParams.get(t);e&&(a+=`&${t}=${encodeURIComponent(e)}`)}return a}};_roomTypesGadget.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.