(window.dbr30webackJsonp=window.dbr30webackJsonp||[]).push([[9],{106:function(t,e,a){"use strict";a.d(e,"a",(function(){return n}));var r=a(0),i=a(12),o={mobile:0,desktop:0},n=function(){function t(t){void 0===t&&(t=o),this.offsets=r.extend({},this.offsets,t)}return t.prototype.scrollTo=function(t,e){r("html, body").animate({scrollTop:t-this.calculateOffset()}).promise().done((function(){e&&e()}))},t.prototype.calculateOffset=function(){return i.isSmallView()||i.isMediumView()?this.offsets.mobile:this.offsets.desktop},t}()},241:function(t,e,a){var r,i;r=[a(684),a(687)],void 0===(i=function(t,e){"use strict";return{FlightsQsfSaver:t,HotelsQsfSaver:e}}.apply(e,r))||(t.exports=i)},242:function(t,e,a){var r,i,o;!function(n){"use strict";i=[a(0),a(61),a(12)],void 0===(o="function"==typeof(r=function(t,e,a){var r={flights:{departureCity:"",arrivalCity:"",tripType:"roundtrip",departureDate:"",returnDate:"",adultCount:1,youthCount:0,childCount:0,infantCount:0,serviceClass:"economy"},hotels:{checkInDate:"",checkOutDate:"",destination:"",rooms:[{adults:2,children:0,childrenAges:[]}]}},i=2592e6,o={start:function(){this.cacheStorage=new e,this.sessionStorage=new e(!0)},load:function(t,e,a){return e(this.getEngine(a).load(t)),null},save:function(t,e,a){return this.getEngine(a).save(t,e),null},getEngine:function(t){return this[!!t&&t.isSessionStorage?"sessionStorage":"cacheStorage"]}};function n(t,e){var a=this;a.boundEvents=!1,this.data=r,this.dataLoadCallback=function(r){a.setData(t,r),e?a.manageQsf():!1===a.boundEvents&&(a.bindEvents(),a.boundEvents=!0)},o.start(),o.load("qsfCachedData",this.dataLoadCallback),o.load("qsfCachedData",this.dataLoadCallback,{isSessionStorage:!0})}return n.prototype={constructor:n,getFieldsValue:function(e,a){if("object"==typeof a){var r={storageData:{},sessionData:{}},i=null;for(var o in a)"cityWithCountry"===o?r.storageData[o]=t(e).find(a.arrivalCity).data("cityWithCountry"):"departureCityCode"===o?r.storageData[o]=t(e).find(a.departureCity||a.departureCity0).data("cityCode"):"departureCityName"===o?r.storageData[o]=t(e).find(a.departureCity||a.departureCity0).data("cityName"):"departureCountryName"===o?r.storageData[o]=t(e).find(a.departureCity||a.departureCity0).data("countryName"):"arrivalCityCode"===o?r.storageData[o]=t(e).find(a.arrivalCity||a.arrivalCity0).data("cityCode"):"arrivalCityName"===o?r.storageData[o]=t(e).find(a.arrivalCity||a.arrivalCity0).data("cityName"):"arrivalCountryName"===o?r.storageData[o]=t(e).find(a.arrivalCity||a.arrivalCity0).data("countryName"):a.hasOwnProperty(o)&&(Array.isArray(a[o])?r.storageData[o]=this.getFieldsGroupsValues(e,a[o]):null!==(i=this.getFieldsValue(e,a[o])).fieldContent&&(r[i.storageType][o]=i.fieldContent));return r}var n=t(e).find(t(a)),s={storageType:"storageData",fieldContent:null};return"session"===n.attr("data-storage-type")&&(s.storageType="sessionData"),n.is("input")||n.is("select")||n.is("textarea")?s.fieldContent=n.val():s.fieldContent=n.text(),s},getFieldsGroupsValues:function(t,e){var r=this,i=[];return e.forEach((function(e,o){Object.keys(e).forEach((function(n){var s=e[n],c=r.getFieldsValue(t,s).fieldContent;""!==a.trim(c)&&(i[o]||(i[o]={}),i[o][n]=c)}))})),i},setData:function(e,a){var o=(new Date).getTime();this.data[e]=t.extend({},this.data[e],a[e]),o-a[e+"Timestamp"]>i&&(this.data[e]=r[e])},saveData:function(e,a){var r={};r[e]={},this.data[e]=a.storageData||a,this.data[e+"Timestamp"]=(new Date).getTime(),o.save("qsfCachedData",this.data),this.isSessionDataAvailable(a)&&(r[e]=a.sessionData,this.data[e]=t.extend({},this.data[e],a.sessionData),o.save("qsfCachedData",r,{isSessionStorage:!0}))},resetDate:function(t){return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t},getTimestamp:function(t){var e=t?new Date(t):new Date;return this.resetDate(e).getTime()},isSessionDataAvailable:function(t){var e=t.sessionData;for(var a in e)if(e.hasOwnProperty(a)&&null!==e[a])return!0;return!1},bindSaveEvent:function(e){var a=this;this.qsf.$form.on("submit",(function(){var r=a.getQsfSaverParams(a.qsfSaverParams),i=a.getFieldsValue(this,r);i=t.extend({},i),a.saveData(e,i)}))}},n})?r.apply(e,i):r)||(t.exports=o)}()},243:function(t,e,a){var r,i,o;!function(n){"use strict";i=[a(0)],void 0===(o="function"==typeof(r=function(t){function e(t,e){this.qsf=e,this.form=t,this.qsfSaverParams={departureCity:"#departureRoundtrip0",arrivalCity:"#arrivalRoundtrip0",tripType:"#TripTypeRoundtrip",departureDate:"#departureDateRoundtrip0",returnDate:"#departureDateRoundtrip1",roundtrip:"#TripTypeRoundtrip",cityWithCountry:"city-with-country",departureCityCode:"departure-city-code",departureCityName:"departure-city-name",departureCountryName:"departure-country-name",arrivalCityCode:"arrival-city-code",arrivalCityName:"arrival-city-name",arrivalCountryName:"arrival-country-name"}}return e.prototype={getQsfSaverParams:function(e){return t.extend(this.qsfSaverParams,e),this.qsfSaverParams},checkDates:function(t){var e=t.data.flights,a=t.defaultData.flights,r=""!==e.departureDate&&t.getTimestamp(e.departureDate)<=t.getTimestamp(),i=""!==e.returnDate&&t.getTimestamp(e.returnDate)0||navigator.msMaxTouchPoints>0)&&i},n=function(){return o()?s().end:"click"},s=function(){var t;return window.PointerEvent&&(t={start:"pointerdown",move:"pointermove",end:"pointerup"}),window.MSPointerEvent&&(t={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}),"ontouchstart"in window&&(t={start:"touchstart",move:"touchmove",end:"touchend"}),t}},62:function(t,e,a){"use strict";a.d(e,"a",(function(){return V}));var r=a(7),i=a(0),o=a(15),n=a(87),s=a(106);var c=[{fields:{'select[id^="Rooms-Guests"]':{rules:{required:function(t){return!i(t).parents(".field").hasClass("hidden")}},decorators:{required:function(t,e,a,r,i){var o=this.closest(".children-ages"),n=this.parent();n.removeClass(e+" "+a),o.find("."+r).remove(),t||(n.addClass(e),o.append(i))}},messages:{required:a(8).translate("rooms-counter.Fill_children_age")}}}}],u=a(40),l=a(5),d=a(6),h=a(8),p=a(12),f=a(38),m=(a(77),a(688)),v="hotel-room-counter-holder",g=function(){function t(t){this.choosenRooms=[],this.options=t,this.setRooms(this.options.rooms),this.children=Array.from({length:4},(function(t,e){return e})),this.childrenAges=Array.from({length:18},(function(t,e){return e}))}return t.prototype.render=function(){var t=this;this.$roomsCounterWrapper||(this.$roomsCounterWrapper=i(this.options.container)),this.$trigger||(this.$trigger=i(this.options.trigger),this.bindTriggerEvents());var e=i("#checkOutDate").val();""!==e&&(e=new o.DateTime(e).format("DD MMM YYYY")),m({view:this,rooms:this.choosenRooms,checkOutDate:e},(function(e,a){if(e)return l.error("Rooms Counter tpl render error "+e.message);t.$roomsCounterWrapper.html(a),i(v).remove(),i("select",t.$roomsCounterWrapper).customSelect({maxHeight:250,holderCssClass:v,showNative:d.config.isMobile}),t.validator=new f(".children-ages",c),t.setChildrenAges(t.choosenRooms),t.updateLabel(),t.bindEvents()}))},t.prototype.validate=function(){var t=this.validator.validate(!0);return t||this.$roomsCounterWrapper.removeClass("hidden"),t},t.prototype.setRooms=function(t){this.choosenRooms=t},t.prototype.getChoosenRooms=function(){return this.choosenRooms},t.prototype.getRoomsCount=function(){return this.choosenRooms.length},t.prototype.getGuestCount=function(){for(var t=0,e=0;e0){var a=this.$roomsCounterWrapper.find('.room[data-room-number="'+e+'"]').find(".children-ages").removeClass("hidden");this.sliceSelects(a,t[e].children);for(var r=a.find(".field:not(.hidden)"),o=0;o").addClass("hidden-inputs hidden").appendTo(I),t)"object"==typeof t&&null!==t&&this.prepareRoom(parseInt(e),t[e])},e.prototype.prepareRoom=function(t,e){var a=[],r=i(I).find(".hidden-inputs");for(var o in e)("childrenAges"===o&&e[o].length>0||"childrenAges"!==o)&&(a.push(this.createFormElement(t,o,e[o].toString())),i(a).appendTo(r))},e.prototype.getGuestType=function(t){var e="";return"adults"===t?e="RGA":"children"===t?e="RGC":"childrenAges"===t&&(e="RCA"),e},e.prototype.createFormElement=function(t,e,a){var r=this.getGuestType(e),i=document.createElement("input");return i.setAttribute("id","room-"+t+"-"+e),i.setAttribute("name","RN["+t+"]["+r+"]"),i.setAttribute("value",a),i.setAttribute("type",j),i},e.prototype.datepickersInit=function(){var t=this;R.create({uiSelector:F,min:this.options.config.properties.minDate,beforeShowDay:function(e){return t.datepickerBeforeShowDay(e)},onSelect:function(e,a){var r=new Date(a.selectedYear,a.selectedMonth,a.selectedDay),n=t.$checkOutDate.datepicker("getDate");i(a.input).trigger("validate"),n instanceof Date&&r>=n&&(t.$checkOutDate.val(""),t.choosenCheckOutDate=""),t.choosenCheckInDate=e,""===t.$checkOutDate.val()&&""===t.choosenCheckOutDate&&(t.choosenCheckOutDate=new o.DateTime(t.choosenCheckInDate).add(1,"day").format(t.options.config.properties.dateFormat),t.$checkOutDate.val(t.choosenCheckOutDate)),t.$checkInDate.trigger("selected.autoWizard")}}),R.create({uiSelector:x,min:this.options.config.properties.minDate,beforeShowDay:function(e){return t.datepickerBeforeShowDay(e)},callbackBeforeShow:function(){var e,a,r=t.$checkInDate.datepicker("getDate");null!==r&&r instanceof Date?(e=new o.DateTime(r),a=new o.DateTime(r)):(e=new o.DateTime,a=(new o.DateTime).add(365,"day")),t.$checkOutDate.datepicker("option",{minDate:e.add(1,"day").format(t.options.config.properties.dateFormat),maxDate:a.add(30,"day").format(t.options.config.properties.dateFormat)})},onSelect:function(e,a){i(a.input).trigger("validate"),t.choosenCheckOutDate=e,t.$checkOutDate.trigger("selected.autoWizard")}})},e.prototype.datepickerBeforeShowDay=function(t){var e,a,r,i,o,n=w.resetDateTime(t);if(i=this.$checkOutDate.datepicker("getDate"),o=this.choosenCheckOutDate,a=this.$checkInDate.datepicker("getDate"),""===(r=this.choosenCheckInDate)&&""===o){if(null!==a){if((e=w.resetDateTime(a))===n)return[!0,"selected-checkin-date",""];this.choosenCheckInDate=e}if(null!==i){var s=w.resetDateTime(i);if(s===n)return[!0,"selected-checkout-date",""];this.choosenCheckOutDate=s}return n===w.resetDateTime(new Date)?[!0,"selected-today",""]:[!0,"",""]}return"undefined"!==r&&r===n?[!0,"selected-checkin-date",""]:"undefined"!==o&&o===n?[!0,"selected-checkout-date",""]:a&&i&&t>a&&t-1&&delete e[a];return Object.assign({},e,this.getRoomsUrlParams(),{checkInDate:t.checkInDate,checkOutDate:t.checkOutDate})},e.prototype.getRoomsUrlParams=function(){var t=this.hotelRoomsCounter.getChoosenRooms(),e={};return t.forEach((function(t,a){for(var r in t){var i=t[r].toString();"childrenAges"===r&&t[r].length>0&&(i=t[r].join(",")),i&&(e["rooms["+a+"]["+r+"]"]=i)}})),e},e.prototype.updateUrl=function(t){var e=window.location.protocol+"//"+(window.location.host+window.location.pathname+Object(S.b)(t));window.history.replaceState("","",e)},e.prototype.redirectToNewApplication=function(t){var e=window.location.protocol+"//"+(window.location.host+window.location.pathname+Object(S.b)(t));window.location.assign(e)},e}(O)},683:function(t,e,a){var r=function(t){var e=this,a="";return t.hotelSearchCriteria.hasDates()&&(a+='

'+t.hotelSearchCriteria.guestsCount+'

"),a+='"};r.includes=[],t.exports=new(a(9))(r,"qsf.component")},684:function(t,e,a){var r,i,o;!function(n){"use strict";i=[a(0),a(242),a(685),a(243),a(686)],void 0===(o="function"==typeof(r=function(t,e,a,r,i){function o(t,a){for(var r in this.qsf=t,this.qsfSaverParams={adultCount:"#adultPaxAmount",youthCount:"#youthPaxAmount",childCount:"#childPaxAmount",infantCount:"#infantPaxAmount",serviceClass:"#serviceClass"},this.defaultData={flights:{departureCity:"",departureCityCode:"",departureCityName:"",departureCountryName:"",arrivalCity:"",arrivalCityCode:"",arrivalCityName:"",arrivalCountryName:"",tripType:"roundtrip",departureDate:"",returnDate:"",adultCount:1,youthCount:0,childCount:0,infantCount:0,serviceClass:"economy"}},this.qsfSaverParams)this.qsfSaverParams.hasOwnProperty(r)&&(this["$"+r]=this.qsf.$form.find(this.qsfSaverParams[r]));e.prototype.constructor.call(this,"flights",a)}return o.prototype=t.extend({},e.prototype,{getQsf:function(t){var e=t||this.qsf.getTripType(),o=e.toLowerCase(),n=r;return"RoundTrip"===e?n=r:"OneWay"===e?n=a:"MultiCity"===e&&(n=i),new n(this.qsf.$form,this.qsf[o])},fillPaxFields:function(){this.$adultCount.val(this.defaultData.flights.adultCount),this.$youthCount.val(this.defaultData.flights.youthCount),this.$childCount.val(this.defaultData.flights.childCount),this.$infantCount.val(this.defaultData.flights.infantCount)},fillServiceClass:function(){this.$serviceClass.val(this.data.flights.serviceClass).customSelect("refresh")},getQsfSaverParams:function(){return this.getQsf().getQsfSaverParams(this.qsfSaverParams)},manageQsf:function(){var t=this.getQsf(this.data.flights.tripType);t.checkDates(this),this.fillPaxFields(),this.fillServiceClass(),t.fillFields(this),this.bindEvents(t)},bindEvents:function(t){(t||this.getQsf("RoundTrip")).getQsfSaverParams(this.qsfSaverParams),this.bindSaveEvent("flights")}}),o})?r.apply(e,i):r)||(t.exports=o)}()},685:function(t,e,a){var r,i,o;!function(n){"use strict";i=[a(0),a(243)],void 0===(o="function"==typeof(r=function(t,e){function a(t,e){this.qsf=e,this.form=t,this.qsfSaverParams={departureCity:"#departureOneway",arrivalCity:"#arrivalOneway",tripType:"#TripTypeOneway",departureDate:"#departureDateOneway",returnDate:"#returnDateOneway",oneway:"#TripTypeOneway",cityWithCountry:"city-with-country",departureCityCode:"departure-city-code",departureCityName:"departure-city-name",departureCountryName:"departure-country-name",arrivalCityCode:"arrival-city-code",arrivalCityName:"arrival-city-name",arrivalCountryName:"arrival-country-name"}}return a.prototype=t.extend({},e.prototype,{manageTabs:function(e){t(e.qsfSaverParams.oneway).prop("checked",!0)}}),a})?r.apply(e,i):r)||(t.exports=o)}()},686:function(t,e,a){var r,i,o;!function(n){"use strict";i=[a(0)],void 0===(o="function"==typeof(r=function(t){var e=4;function a(t,e){this.qsf=e,this.form=t,this.qsfSaverParams={departureCity0:"#departureMulticity0",departureCity1:"#departureMulticity1",departureCity2:"#departureMulticity2",departureCity3:"#departureMulticity3",arrivalCity0:"#arrivalMulticity0",arrivalCity1:"#arrivalMulticity1",arrivalCity2:"#arrivalMulticity2",arrivalCity3:"#arrivalMulticity3",tripType:"#TripTypeMulticity",departureDate0:"#departureDateMulticity0",departureDate1:"#departureDateMulticity1",departureDate2:"#departureDateMulticity2",departureDate3:"#departureDateMulticity3",multicity:"#TripTypeMulticity",departureCityCode:"departure-city-code",departureCityName:"departure-city-name",departureCountryName:"departure-country-name",arrivalCityCode:"arrival-city-code",arrivalCityName:"arrival-city-name",arrivalCountryName:"arrival-country-name"}}return a.prototype={getQsfSaverParams:function(e){return t.extend(this.qsfSaverParams,e),this.qsfSaverParams},checkDates:function(t){for(var a=t.data.flights,r=t.defaultData.flights,i=0;i1&&""!==a["departureCity"+r]&&this.qsf.$addTrip.trigger("click"),""!==a["departureCity"+r]&&this.qsf["$departure"+r].val(a["departureCity"+r]),""!==a["arrivalCity"+r]&&this.qsf["$arrival"+r].val(a["arrivalCity"+r]),""!==a["departureDate"+r]&&this.qsf["$departureDate"+r].val(a["departureDate"+r]),0===r&&(this.qsf["$departure"+r].data("departureCityName",a.departureCityName),this.qsf["$departure"+r].data("departureCountryName",a.departureCountryName),this.qsf["$departure"+r].data("departureCityCode",a.departureCityCode),this.qsf["$arrival"+r].data("arrivalCityName",a.arrivalCityName),this.qsf["$arrival"+r].data("arrivalCountryName",a.arrivalCountryName),this.qsf["$arrival"+r].data("arrivalCityCode",a.arrivalCityCode));this.manageTabs(this)},manageTabs:function(e){t(e.qsfSaverParams.multicity).prop("checked",!0)}},a})?r.apply(e,i):r)||(t.exports=o)}()},687:function(t,e,a){var r,i,o;!function(n){"use strict";i=[a(0),a(242)],void 0===(o="function"==typeof(r=function(t,e){function a(t,a){this.qsf=t,this.qsfSaverParams={checkInDate:"#checkInDate",checkOutDate:"#checkOutDate",destination:"#destination",rooms:[]};for(var r=0;r'+e.t("rooms-counter.Room_number",{number:n})+"",0!=i.index&&(a+=''+e.t("rooms-counter.Remove")+""),a+='

'+e.t("rooms-counter.Adults_type")+'

"})),a+="",5!=t.rooms.length&&(a+=''+e.t("rooms-counter.Add_room")+""),a+=''+e.t("rooms-counter.Apply")+""};r.includes=[],t.exports=new(a(9))(r,"rooms-counter.component")},7:function(t,e,a){"use strict";a.d(e,"b",(function(){return i})),a.d(e,"a",(function(){return o})); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a])})(t,e)};function i(t,e){function a(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(a.prototype=e.prototype,new a)}var o=function(){return(o=Object.assign||function(t){for(var e,a=1,r=arguments.length;a0?t.reduce((function(t,e,a){return{PresentedHotels:(a?t.PresentedHotels+"|":"")+e.code,PresentedHotelPrices:(a?t.PresentedHotelPrices+"|":"")+(e.prices?e.prices.totalPrice.amount:""),Providers:(a?t.Providers+"|":"")+e.providerCode.toString(),Suppliers:(a?t.Suppliers+"|":"")+String(e.supplierName),PresentedHotelsMeta:(a?t.PresentedHotelsMeta+"|":"")+String(e.metaCode)}}),{}):null},t.prototype.getHotelOfferData=function(t){var e={Hotel:t.code,Provider:t.providerCode,HotelIndexDefault:t.index,H_IsCancellationFree:t.freeCancellation,SupplierName:t.supplierName,HotelName:t.name,HotelMeta:t.metaCode};return t.prices&&(e=Object.assign({},e,{PriceCurrency:t.prices.totalPrice.currency.code,Price_HotelClick:t.prices.totalPrice.amount,IsDiscountPrice:!!t.prices.beforePromo})),e},t.prototype.getRoomsTypesConfig=function(t){for(var e,a="",r=0;r200&&(t=t.substr(0,197)+"..."),t},t.prototype.getSearchCriteriaData=function(){if(this.searchCriteria)return{CheckInDate:this.searchCriteria.hasDates()?this.searchCriteria.checkInDate:null,CheckOutDate:this.searchCriteria.hasDates()?this.searchCriteria.checkOutDate:null,DestinationCode:this.searchCriteria.destination.code,DestinationType:this.getDestinationType(),Duration:this.searchCriteria.duration,RoomsTypes:this.getRoomsTypesConfig(this.searchCriteria.rooms),RoomsCount:this.searchCriteria.rooms.length}},t.prototype.getDestinationType=function(){return this.searchCriteria?r[this.searchCriteria.destination.type]:null},t.prototype.getHotelRoomsVariantsData=function(t){var e=t.length>0,a=t.map((function(t){return t.providerCode.toString()})).join("|"),r=t.map((function(t){return t.prices.totalPrice.amount.toString()})).join("|"),i=t.map((function(t){return String(t.supplierName)})).join("|");return{LP_WithVariants:e,Providers:a,RoomsPrices:r,PriceCurrency:e?t[0].prices.totalPrice.currency.code:"",Suppliers:i}},t}()}}]);