(self.webpackChunklib=self.webpackChunklib||[]).push([[4450],{4450:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>p});var o=i(4027),n=i(2553),r=i(3614),l=i(8492),a=i(9755);function c(t){throw new TypeError('"'+t+'" is read-only')}class s{constructor(){this.cache={},this.init()}init(){this.initializeCache()}initializeCache(){this.cache.clickBtn='button[type="submit"]',this.cache.form=a(".js-avail-form")}initializeClickunder(t){if("hotel"===travel.options.typeObject&&travel.options.clickTrip){if("1"===a.cookie("click-trip"))return!0;var e=t.target,i="?"+a(e).serialize()+"&clirder=1",o=location.pathname||"/",c=this.getClickunderUrl(a(this.cache.clickBtn,e));(0,n.sendClickStats)({category:"clickunder",action:"open",id:travel.options.logId,h:travel.options.hotelExtId,labelData:(0,r.Z)({},c)}),1===travel.options.device||2===travel.options.device?((0,l.d8)("hotelName",travel.options.hotelName,{domain:"."+travel.options.siteDomain}),(0,l.d8)("connectUrl",c,{domain:"."+travel.options.siteDomain}),(0,l.d8)("sourceUrl",document.location.origin+o+i,{domain:"."+travel.options.siteDomain}),window.open("".concat(window.location.protocol,"//").concat(travel.options.siteDomain,"/connect/")),location.href=o+i):(window.open(o+i),location.href=c)}}getClickunderUrl(t){var e=travel.options.clickTrip;a.cookie("click-trip",1,a.extend({expires:3,path:"/"},travel.options.staticDomain?{domain:"."+e.hotelDestinationDomainName}:{})),a.get("/metric.php",{page:"stat",fn:"increment",mn:"clickunder.click-trip_counter",w:travel.options.logId,args:{}},(function(t,e,i){travel.log(t,e,i)}));var i=t.closest(".js-avail-form"),n=a('input[name="from"]',i).val(),r=a('input[name="to"]',i).val(),l=a('select[name="adults"] option:selected',i).val(),s=i[0].querySelectorAll("select.js-children-select");travel.options.clickunderUrl&&!travel.isMobile()&&(travel.options.clickunderUrl,c("url"),travel.options.language,c("url"),a(i).serialize(),c("url"),travel.options.siteId,c("url"),travel.options.objectId,c("url"));var d=1===travel.options.device||2===travel.options.device?"2370045":"1549630",v=(0,o.Z)({date_from:n,date_to:r,adults:l,children:[...s].map((t=>t.value)),aid:d,additional_label_data:this.generateAdditionalLabelData(l,s)});return v}generateAdditionalLabelData(t,e){return[(0,l.ej)("click-price-calendar")?"cpc":null,"adults".concat(t),"children".concat(e.length)].filter(Boolean)}}var d=i(9755);function v(t,e,i,o,n,r,l){try{var a=t[r](l),c=a.value}catch(t){return void i(t)}a.done?e(c):Promise.resolve(c).then(o,n)}function u(t){return function(){var e=this,i=arguments;return new Promise((function(o,n){var r=t.apply(e,i);function l(t){v(r,o,n,l,a,"next",t)}function a(t){v(r,o,n,l,a,"throw",t)}l(void 0)}))}}class p{constructor(){this.form=d(".js-avail-form"),this.init(),this.initEvents()}init(){"1"==d.cookie("click-trip")&&this.initRooms()}initEvents(){var t=this;d(".js-avail-info-submit-btn").on("click",u((function*(){"price-calendar"===(0,l.ej)("click-price-calendar")&&(yield t.sendStatsAfterSubmitCheckAvailForm("price-calendar"),(0,l.kT)("click-price-calendar")),travel.events.fixedCheckAvailStats.send("check-avail-after-click")}))),this.form.on("submit",(t=>{var e=this.form.find(".js-child-age-selects"),i={from:this.form.find("#d_from").val(),to:this.form.find("#d_to").val(),adults:this.form.find("#adults").val(),children:this.form.find("#child").val()};if(this.dateRangeValidation(i.from,i.to))return!1;if(!this.childrenValidation())return!1;if(travel.options.clickTrip&&"1"!==d.cookie("click-trip"))return(new s).initializeClickunder(t),!1;for(var o=1;o<=parseInt(i.children);o++)i["childAge"+o]=e.find("select[name=childAge"+o+"]").val();"1"===d.cookie("redirect")&&d.cookie("redirect","0")}))}submitFormWithDates(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"2",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.form.find(".js-new-calendar-from-input").val(t),this.form.find(".js-new-calendar-to-input").val(e),this.form.find(".js-select-adults").val(i),this.form.find("#child").val(o),d(".js-children-wrapper").html(" "),this.form.submit()}sendStatsAfterSubmitCheckAvailForm(t){return u((function*(){var e="".concat(travel.options.siteId,"||").concat(travel.options.objectId,"||").concat(window.location.origin),{sendClickStats:o}=yield Promise.resolve().then(i.bind(i,2553));o({category:t,action:"submit-main-check-avail-form",id:travel.options.logId,h:travel.options.hotelExtId,labelData:e})}))()}initRooms(){return u((function*(){var{Rooms:t}=yield i.e(7714).then(i.bind(i,7714));t.loadRooms()}))()}dateRangeValidation(t,e){var i=new Date(t).getTime();return(new Date(e).getTime()-i)/24/60/60/1e3>30}childrenValidation(){d(".js-children-error").hide();var t=d("select.js-children-select"),e=0;return t.each((function(){""===d(this).val()&&e++})),e>1?(d(".js-children-error-plural").show(),!1):1!==e||(d(".js-children-error-one").show(),!1)}}},4027:(t,e,i)=>{"use strict";i.d(e,{Z:()=>a});var o=i(8488);function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function r(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};try{var i,n,l,a,c,s,d,v,u,p,h,f,b,m;t={dest_type:(null===(i=travel.options)||void 0===i||null===(n=i.clickTrip)||void 0===n?void 0:n.hotelBookingDestinationType)||(null===(l=travel.options)||void 0===l||null===(a=l.clickTrip)||void 0===a?void 0:a.destinationType),city_id:null===(c=travel.options)||void 0===c||null===(s=c.clickTrip)||void 0===s?void 0:s.hotelBookingCityId,hotel_id:(null===(d=travel.options)||void 0===d||null===(v=d.clickTrip)||void 0===v?void 0:v.hotelBookingId)||"",date_from:null===(u=travel.options)||void 0===u||null===(p=u.availableParams)||void 0===p?void 0:p.dataFrom,date_to:null===(h=travel.options)||void 0===h||null===(f=h.availableParams)||void 0===f?void 0:f.dataTo,adults:2,children:[],isMobile:travel.isMobile(),subacc:null===(b=travel.options)||void 0===b||null===(m=b.clickTrip)||void 0===m?void 0:m.subAccount,label_type:"",additional_label_data:[],aid:"1549630"}}catch(t){throw new Error("Fail to create defaultOptions: wrong global object params",t)}var g=r(r({},t),e),y=(0,o.n)(g);if(!y.success)throw new Error("Fail to validate object. Invalid keys: ".concat(y.inValidKeys.join(", ")));var k,w="";("countryEmptyBcomID"==g.dest_type?w="https://www.booking.com/country/".concat(g.city_id,".html?"):(w="https://www.booking.com/searchresults.html?",w+="&dest_type=".concat(g.dest_type),w+="&dest_id=".concat(g.city_id)),w+="&aid=".concat(g.aid),w+="&checkin=".concat(g.date_from,"&checkout=").concat(g.date_to),w+="&group_adults="+g.adults,w+="&group_children="+g.children.length,g.children.forEach((t=>w+="&age=".concat(t))),g.hotel_id&&(w+="&highlighted_hotels=".concat(g.hotel_id)),g.subacc)&&(w+="&label=".concat(g.label_type?g.label_type+"-":"").concat(g.subacc),g.isMobile&&(w+="-mob"),null!==(k=g.additional_label_data)&&void 0!==k&&k.length&&(w+="-".concat(g.additional_label_data.join("-"))));return w}},3614:(t,e,i)=>{"use strict";i.d(e,{Z:()=>s});var o=i(8488);function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function r(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"hotel",l="hotel"===n?a:c;try{var s,d,v,u,p,h,f,b,m,g;t={type:"clicktrip",device:null===(s=travel.options)||void 0===s?void 0:s.device,btest:null!==(d=travel.options)&&void 0!==d&&d.btest?null===(v=travel.options)||void 0===v?void 0:v.btest.id:!(null===(u=travel.options)||void 0===u||!u.btest),langid:null===(p=travel.options)||void 0===p?void 0:p.languageId,city_id:(null===(h=travel.options)||void 0===h?void 0:h.hotelDestinationId)||null,hotel_id:(null===(f=travel.options)||void 0===f?void 0:f.hotelExtId)||null,site_id:(null===(b=travel.options)||void 0===b?void 0:b.siteId)||null,wsl:null===(m=travel.options)||void 0===m?void 0:m.track,affid:null===(g=travel.options)||void 0===g?void 0:g.nid,href:encodeURIComponent(i)}}catch(t){throw new Error("Fail to create defaultOptions: wrong global object params",t)}var y=r(r({},t),e),k=(0,o.n)(y);if(!k.success)throw new Error("Fail to validate object. Invalid keys: ".concat(k.inValidKeys.join(", ")));return Object.entries(y).forEach((t=>{var[e,i]=t;return l=l.replace("[".concat(e,"]"),i)})),l}},8488:(t,e,i)=>{"use strict";i.d(e,{n:()=>o});var o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i={success:!0,inValidKeys:[]};for(var o in t)t[o]===e&&(i.success=!1,i.inValidKeys.push(o));return i}}}]);