Changeset 2170556
- Timestamp:
- 10/09/2019 11:17:24 AM (6 years ago)
- Location:
- bookwize-integrated-cinnamon
- Files:
-
- 187 added
- 3 edited
-
tags/2.1.5 (added)
-
tags/2.1.5/LICENSE (added)
-
tags/2.1.5/LICENSE.txt (added)
-
tags/2.1.5/README.txt (added)
-
tags/2.1.5/admin (added)
-
tags/2.1.5/admin/class-bookwize-integrated-cinnamon-admin.php (added)
-
tags/2.1.5/admin/css (added)
-
tags/2.1.5/admin/css/bookwize-integrated-cinnamon-admin.css (added)
-
tags/2.1.5/admin/index.php (added)
-
tags/2.1.5/admin/js (added)
-
tags/2.1.5/admin/js/bookwize-integrated-cinnamon-admin.js (added)
-
tags/2.1.5/admin/partials (added)
-
tags/2.1.5/admin/partials/bookwize-integrated-cinnamon-admin-display.php (added)
-
tags/2.1.5/admin/partials/bookwize-integrated-cinnamon-admin-flash-message.php (added)
-
tags/2.1.5/admin/partials/bookwize-integrated-cinnamon-admin-meta-box.php (added)
-
tags/2.1.5/admin/partials/bookwize-integrated-cinnamon-admin-settings.php (added)
-
tags/2.1.5/bookwize-integrated-cinnamon.php (added)
-
tags/2.1.5/functions.php (added)
-
tags/2.1.5/includes (added)
-
tags/2.1.5/includes/bootstrap.php (added)
-
tags/2.1.5/includes/cache.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-activator.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-api.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-cache.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-deactivator.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-i18n.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-languages.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-loader.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-meta.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-settings.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon-shortcodes.php (added)
-
tags/2.1.5/includes/class-bookwize-integrated-cinnamon.php (added)
-
tags/2.1.5/includes/compiler.php (added)
-
tags/2.1.5/includes/composer.json (added)
-
tags/2.1.5/includes/functions.php (added)
-
tags/2.1.5/includes/index.php (added)
-
tags/2.1.5/index.php (added)
-
tags/2.1.5/public (added)
-
tags/2.1.5/public/class-bookwize-public.php (added)
-
tags/2.1.5/public/css (added)
-
tags/2.1.5/public/css/bookwize-print.css (added)
-
tags/2.1.5/public/css/bookwize-public.css (added)
-
tags/2.1.5/public/css/bookwize-vendor.css (added)
-
tags/2.1.5/public/fonts (added)
-
tags/2.1.5/public/fonts/328D85_2_0.eot (added)
-
tags/2.1.5/public/fonts/328D85_2_0.ttf (added)
-
tags/2.1.5/public/fonts/328D85_2_0.woff (added)
-
tags/2.1.5/public/fonts/328D85_2_0.woff2 (added)
-
tags/2.1.5/public/fonts/328D85_5_0.eot (added)
-
tags/2.1.5/public/fonts/328D85_5_0.ttf (added)
-
tags/2.1.5/public/fonts/328D85_5_0.woff (added)
-
tags/2.1.5/public/fonts/328D85_5_0.woff2 (added)
-
tags/2.1.5/public/fonts/MaterialIcons-Regular.eot (added)
-
tags/2.1.5/public/fonts/MaterialIcons-Regular.svg (added)
-
tags/2.1.5/public/fonts/MaterialIcons-Regular.ttf (added)
-
tags/2.1.5/public/fonts/MaterialIcons-Regular.woff (added)
-
tags/2.1.5/public/fonts/MaterialIcons-Regular.woff2 (added)
-
tags/2.1.5/public/img (added)
-
tags/2.1.5/public/img/banner-1544x500.png (added)
-
tags/2.1.5/public/img/banner-772x250png.png (added)
-
tags/2.1.5/public/img/horizontal-arrow.png (added)
-
tags/2.1.5/public/img/missing-room-image.jpg (added)
-
tags/2.1.5/public/img/screenshot1.png (added)
-
tags/2.1.5/public/img/screenshot2.png (added)
-
tags/2.1.5/public/img/screenshot3.png (added)
-
tags/2.1.5/public/img/screenshot4.png (added)
-
tags/2.1.5/public/index.php (added)
-
tags/2.1.5/public/js (added)
-
tags/2.1.5/public/js/bookwize-public.min.js (added)
-
tags/2.1.5/public/partials (added)
-
tags/2.1.5/public/partials/bookwize-public-display.php (added)
-
tags/2.1.5/public/partials/bookwize-public-form.php (added)
-
tags/2.1.5/public/partials/templates (added)
-
tags/2.1.5/public/partials/templates/currency.html (added)
-
tags/2.1.5/public/partials/templates/customer.html (added)
-
tags/2.1.5/public/partials/templates/customer_b.html (added)
-
tags/2.1.5/public/partials/templates/footer.html (added)
-
tags/2.1.5/public/partials/templates/guestpreferences_a.html (added)
-
tags/2.1.5/public/partials/templates/guestpreferences_b.html (added)
-
tags/2.1.5/public/partials/templates/guestpreferences_c.html (added)
-
tags/2.1.5/public/partials/templates/header.html (added)
-
tags/2.1.5/public/partials/templates/member (added)
-
tags/2.1.5/public/partials/templates/member/account.html (added)
-
tags/2.1.5/public/partials/templates/member/benefits.html (added)
-
tags/2.1.5/public/partials/templates/member/claim-membership.html (added)
-
tags/2.1.5/public/partials/templates/member/index.html (added)
-
tags/2.1.5/public/partials/templates/member/login.html (added)
-
tags/2.1.5/public/partials/templates/member/reservation.html (added)
-
tags/2.1.5/public/partials/templates/member/reservations.html (added)
-
tags/2.1.5/public/partials/templates/member/reset.html (added)
-
tags/2.1.5/public/partials/templates/member/webcheckin.html (added)
-
tags/2.1.5/public/partials/templates/my-reservation (added)
-
tags/2.1.5/public/partials/templates/my-reservation/account.html (added)
-
tags/2.1.5/public/partials/templates/my-reservation/index.html (added)
-
tags/2.1.5/public/partials/templates/my-reservation/login-form.html (added)
-
tags/2.1.5/public/partials/templates/my-reservation/reservation.html (added)
-
tags/2.1.5/public/partials/templates/my-reservation/welcome.html (added)
-
tags/2.1.5/public/partials/templates/popup.html (added)
-
tags/2.1.5/public/partials/templates/popup_b.html (added)
-
tags/2.1.5/public/partials/templates/rateplan.html (added)
-
tags/2.1.5/public/partials/templates/sidebar.html (added)
-
tags/2.1.5/public/partials/templates/sidebar_b.html (added)
-
tags/2.1.5/public/partials/templates/step1_a.html (added)
-
tags/2.1.5/public/partials/templates/step1_b.html (added)
-
tags/2.1.5/public/partials/templates/step1_c.html (added)
-
tags/2.1.5/public/partials/templates/step1_d.html (added)
-
tags/2.1.5/public/partials/templates/step1_preferences.html (added)
-
tags/2.1.5/public/partials/templates/step2_a.html (added)
-
tags/2.1.5/public/partials/templates/step2_b.html (added)
-
tags/2.1.5/public/partials/templates/step2_c.html (added)
-
tags/2.1.5/public/partials/templates/step3_a.html (added)
-
tags/2.1.5/public/partials/templates/step3_b.html (added)
-
tags/2.1.5/public/partials/templates/step4_a.html (added)
-
tags/2.1.5/public/partials/templates/step4_b.html (added)
-
tags/2.1.5/public/partials/templates/supplements.html (added)
-
tags/2.1.5/public/partials/templates/supplements_b.html (added)
-
tags/2.1.5/public/template-bookwize.php (added)
-
tags/2.1.5/public/vendor (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6 (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap-theme.css (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap-theme.css.map (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap-theme.min.css.map (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap.css (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap.css.map (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap.min.css (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/css/bootstrap.min.css.map (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/fonts (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/fonts/glyphicons-halflings-regular.eot (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/fonts/glyphicons-halflings-regular.svg (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/fonts/glyphicons-halflings-regular.ttf (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/fonts/glyphicons-halflings-regular.woff (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/fonts/glyphicons-halflings-regular.woff2 (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/js (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/js/bootstrap.js (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/js/bootstrap.min.js (added)
-
tags/2.1.5/public/vendor/bootstrap-3.3.6/js/npm.js (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3 (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/HELP-US-OUT.txt (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/css (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/css/font-awesome.css (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/css/font-awesome.min.css (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts/FontAwesome.otf (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts/fontawesome-webfont.eot (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts/fontawesome-webfont.svg (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts/fontawesome-webfont.ttf (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts/fontawesome-webfont.woff (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/fonts/fontawesome-webfont.woff2 (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/animated.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/bordered-pulled.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/core.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/fixed-width.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/font-awesome.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/icons.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/larger.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/list.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/mixins.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/path.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/rotated-flipped.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/screen-reader.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/stacked.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/less/variables.less (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_animated.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_bordered-pulled.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_core.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_fixed-width.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_icons.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_larger.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_list.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_mixins.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_path.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_rotated-flipped.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_screen-reader.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_stacked.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/_variables.scss (added)
-
tags/2.1.5/public/vendor/font-awesome-4.6.3/scss/font-awesome.scss (added)
-
tags/2.1.5/public/vendor/jquery-cycle2 (added)
-
tags/2.1.5/public/vendor/jquery-cycle2/jquery.cycle2.min.js (added)
-
tags/2.1.5/public/vendor/jquery-datepick (added)
-
tags/2.1.5/public/vendor/jquery-datepick/jquery.datepick.css (added)
-
tags/2.1.5/public/vendor/readmore-js (added)
-
tags/2.1.5/public/vendor/readmore-js/readmore-js.min.js (added)
-
tags/2.1.5/public/vendor/stlyle.php (added)
-
tags/2.1.5/uninstall.php (added)
-
trunk/README.txt (modified) (1 diff)
-
trunk/bookwize-integrated-cinnamon.php (modified) (1 diff)
-
trunk/public/js/bookwize-public.min.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
bookwize-integrated-cinnamon/trunk/README.txt
r2169465 r2170556 84 84 = 2.1.5 = 85 85 show taxes in step3 86 87 = 2.1.6 = 88 update js -
bookwize-integrated-cinnamon/trunk/bookwize-integrated-cinnamon.php
r2169465 r2170556 17 17 * Plugin URI: https://www.bookwize.com/ 18 18 * Description: Inetgarted Bookwize Plugin (Cinnamon) 19 * Version: 2.1. 519 * Version: 2.1.6 20 20 * Author: Bookwize 21 21 * Author URI: https://www.bookwize.com/ -
bookwize-integrated-cinnamon/trunk/public/js/bookwize-public.min.js
r2127074 r2170556 1 function MainView(){var e=this;e.lang=ko.observable(""),e.currency=ko.observable(""),e.ready=ko.observable(!1),e.updateCustomerPreferences=ko.observable(!1),e.ready.subscribe(function(t){loader.visible(!t),t&&($(".dropdown").removeClass("open"),e.applyBodyClass(),$.wait(500).then(e.animate.steps),$.wait(500).then(function(){e.navigationSteps(e.currentStep-1)}))}),e.metaTitles=["Step 1 - Booking Engine","Step 2 - Booking Engine","Step 3 - Booking Engine","Step 4 - Booking Engine","Contact- Booking Engine","My Reservation - Booking Engine","Membership - Booking Engine"],e.isIntegratedPage=function(){var e=!1,t=IBEConfig.integrated_page;return t=t.replace(/\/?$/,""),(window.location.href.indexOf(t)>-1||window.location.href.indexOf(t+"?page=MyAccount")>-1)&&(e=!0),e},e.currentStep=1,e.layouts=["rows","grid"],e.layout=0,e.theme=IBE.Config.theme||"c",e.themes=[{element:$("#Header"),themes:{a:"a",b:"b",c:"a",d:"a",e:"a"}},{element:$("#ReservationContainer #Step1"),themes:{a:"a",b:"b",c:"c",d:"a",e:"a"}},{element:$("#ReservationContainer #Step2"),themes:{a:"a",b:"b",c:"c",d:"a",e:"a"}},{element:$("#ReservationContainer #Step3"),themes:{a:"a",b:"a",c:"a",d:"a",e:"a"}},{element:$("#ReservationContainer #Step4"),themes:{a:"a",b:"a",c:"a",d:"a",e:"a"}}],e.setTheme=function(){$("body").addClass("theme-"+e.theme),$.each(e.themes,function(t,s){var a=s.themes[e.theme],o=s.element.data("template").replace("%theme%",a);s.element.attr("data-template",o).data("template",o)})},e.onReadyEvents={step1:function(t){if(t){e.metaTitles=[IBE.Utils.translate("meta.title.1"),IBE.Utils.translate("meta.title.2"),IBE.Utils.translate("meta.title.3"),IBE.Utils.translate("meta.title.4"),IBE.Utils.translate("meta.title.contact"),IBE.Utils.translate("meta.title.myreservation")],""!==IBE.Utils.getReservationSetting(step1,"WelcomeMessage")&&IBE.Utils.bindTemplate("WelcomeMessage",step1),$(document).off("click",".bookwize-toggle"),$(document).on("click",".bookwize-toggle",e.toggleActive),$(".editable").focus(function(){$("label[for='"+this.id+"']").addClass("focused")}).blur(function(){$("label").removeClass("focused")}),$(document).mouseup(function(e){var t=$(".is-datepick"),s=$(".datepick-popup");s.is(e.target)||0!==s.has(e.target).length||t.is(e.target)||s.hide()}),$(document).mouseup(function(e){var t=$(".bookwize-guests-group");return t.is(e.target)||0!==t.has(e.target).length?void 0:void t.removeClass("active")});var s=IBE.Utils.parseDeepLinking(window.location.search,step1);s===!1?("1"!==e.getParam(window.location.search,"page")&&History.pushState({page:"1"},e.metaTitles[0],"?page=1"),e.ready(t),$(".bookwize-steps").show(),e.scrollTo({offset:0,duration:0}),e.animate.stepContent(),$(document).on("click",".request-mealplan",function(){}),$(".step1-offers .slide").length<=1&&$(".step1-offers .slide-prev, .step1-offers .slide-next").hide()):submitStep1(s),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");return t.is(e.target)?void 0:void t.removeClass("active")})}},step2:function(t){function s(){guestPreferences=new IBE.ViewModels.Step1ViewModel,guestPreferences.couponCode=step1.couponCode,guestPreferences.couponValid=step1.couponValid,guestPreferences.boardTypes=step1.boardTypes,guestPreferences.boardType=step1.boardType,guestPreferences.hasMessage=step1.hasMessage,guestPreferences.message=step1.message,guestPreferences.bookingProcess=step2.bookingProcess,guestPreferences.lang=step1.lang,guestPreferences.validate=function(t){e.updateCustomerPreferences(!0),step1.couponCode(t.couponCode()),step1.checkIn(guestPreferences.checkIn()),step1.checkOut(guestPreferences.checkOut()),step1.requestedRooms(guestPreferences.requestedRooms()),step1.validate()},guestPreferences.cancelDateChange=function(){guestPreferences.checkIn(step1.checkIn()),guestPreferences.checkOut(step1.checkOut())},guestPreferences.cancelRoomChange=function(){guestPreferences.requestedRooms.removeAll(),ko.utils.arrayForEach(step1.requestedRooms(),function(e){guestPreferences.requestedRooms.push(e)})},guestPreferences.events.subscribe(function(e){e&&(guestPreferences.checkIn(step1.checkIn()),guestPreferences.checkOut(step1.checkOut()),guestPreferences.couponCode(step1.couponCode()),guestPreferences.requestedRooms.removeAll(),guestPreferences.boardType(step2.request().preferredBoard()),ko.utils.arrayForEach(step1.requestedRooms(),function(e){guestPreferences.requestedRooms.push(e)}))},this,"ready"),guestPreferences.events.subscribe(function(e){e.success&&submitStep1(e.success),e.failure&&guestPreferences.message(e.failure)},this,"submit"),guestPreferences.init(),$.when(IBE.Utils.bindTemplate("GuestPreferences",guestPreferences)).then(function(){$(document).on("click",".booking-process .well .navbar-collapse, .booking-process .well .navbar-collapse *",function(e){e.stopImmediatePropagation();var t=$("#GuestPreferences-Step1");t.is(":hidden")?($("#GuestPreferences-Step1").stop().slideDown(),$("#GuestPreferences-Step1").addClass("open")):($("#GuestPreferences-Step1").stop().slideUp(),$("#GuestPreferences-Step1").removeClass("open"))})}),step1.dispose(),step2.temporaryStep1=guestPreferences,step2.temporaryStep1.checkIn.subscribe(function(e){return 0===moment(e).diff(step1.checkIn(),"days")?void step2.preferencesChanged(!1):void step2.preferencesChanged(!0)}),step2.temporaryStep1.checkOut.subscribe(function(e){return 0===moment(e).diff(step1.checkOut(),"days")?void step2.preferencesChanged(!1):void step2.preferencesChanged(!0)}),step2.tempCouponCode=step1.couponCode(),step2.temporaryStep1.couponCode.subscribe(function(e){return e===step2.tempCouponCode?void step2.preferencesChanged(!1):void step2.preferencesChanged(!0)}),step2.tempRequestRooms=JSON.parse(ko.toJSON(ko.toJS(step1.requestedRooms()))),step2.temporaryStep1.requestedRooms.subscribe(function(e){var t=!1;return e.forEach(function(e){e.value.guests.forEach(function(s){s.pax.subscribe(function(a){if(step2)var o=ko.utils.arrayFirst(step2.tempRequestRooms,function(t){return t.roomIndex===e.value.roomIndex()});if(null!=o){var i=ko.utils.arrayFirst(o.guests,function(e){return e.ageCategory===s.ageCategory()&&e.label===s.label()});if(null!=i){if(i.pax===a)return void step2.preferencesChanged(!1);step2.preferencesChanged(!0),t=!0}}})})}),t?void 0:step2.temporaryStep1.requestedRooms().length===step1.requestedRooms().length?void step2.preferencesChanged(!1):void step2.preferencesChanged(!0)},null,"arrayChange")}$(document).on("click",".bookwize-book-button",function(){$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"}),setTimeout(function(){$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"})},150)}),$(document).on("click",".bookwize-tab-name",e.animateTab),$(document).on("click",".bookwize-tab-name-activate",function(){var e=$($(this).data("value")),t=$($(this).data("target"));e.siblings().removeClass("active"),e.addClass("active"),t.siblings().removeClass("active"),t.addClass("active")}),e.layout=IBE.Utils.getReservationSetting(step2,"IbeRoomsViewMode"),t&&(IBE.Utils.destroyView("Step1"),$.when(IBE.Utils.bindTemplate("Step2",step2)).then(function(){$.wait(500).then(s()),History.pushState({page:"2"},e.metaTitles[1],"?page=2"),e.ready(t),0===$(".bookwize-step-2 .bookwize-progress-bar-text").length&&($(".bookwize-step-2").append($(".bookwize-progress-bar-inner")),$(".bookwize-step-2 .bookwize-step__description").append($(".bookwize-progress-bar-text"))),$(".bookwize-steps").show(),e.scrollTo({offset:0,duration:0}),e.animate.bgImage(),$.wait(500).then(e.animate.stepContent(".step2-content")),$(window).on("resize",e.resize),e.roomRowStyles(),$(".room-row").on("click",".book-room-button",e.bookRoom),$(document).on("click",".bookwize-room-thumb",function(){e.popup.open(),IBE.Utils.bindTemplate("RoomPopUp",step2)}),$(document).on("click",".modal-header .close",function(){$("#RoomPopUp").removeClass("in"),$("#RoomPopUp").hide(),$("body").removeClass("modal-open"),$(".modal-backdrop").remove()}),$(document).on("click","#GuestPreferences .dropdown-menu",function(e){return $(e.target).hasClass("btn-cancel")?($(".dropdown-toggle").dropdown("toggle"),!0):void e.stopImmediatePropagation()}),$(document).on("click",".change-layout li",e.toggleLayout),$(".change-layout li[data-layout='"+e.layouts[e.layout]+"']").trigger("click"),$(".room-list").on("click",".row-left",function(){return e.layout==e.layouts[1]?(e.openRoomOverlay($(this)),!1):void 0}),$(".room-list").on("click",".room-row",function(){e.layout==e.layouts[1]&&e.closeRoomOverlay($(this))})}))},step3:function(t){e.ready(t),step3.flightInformation(!1),t&&(IBE.Utils.destroyView("Step2"),$.when(IBE.Utils.bindTemplate("Step3",step3)).then(function(){setTimeout(function(){$(".bookwize-supplements-inner:first-child").addClass("active"),$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"})},150),$(document).on("click",".bookwize-supplements-header-title",function(){$(".bookwize-room-readmore").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"})}),step2.dispose(),History.pushState({page:"3"},e.metaTitles[2],"?page=3"),e.scrollTo({offset:0})}),$(".editable").focus(function(){$("label[for='"+this.id+"']").addClass("focused")}).blur(function(){$("label").removeClass("focused")}),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");return t.is(e.target)?void 0:void t.removeClass("active")}))},step4:function(t){t&&(IBE.Utils.destroyView("Step3"),IBE.Utils.bindTemplate("Step4",step4),History.pushState({page:"4"},e.metaTitles[3],"?page=4"),e.scrollTo({offset:0}),$(".bookwize-steps").hide(),$(".supplement-tooltip").on("click",function(){$(this).parents(".supplement").find(".supplement-description").stop().slideToggle()}),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");return t.is(e.target)?void 0:void t.removeClass("active")})),e.ready(t)},ratePlan:function(t){t&&(IBE.Utils.bindTemplate("Rateplan",ratePlan),$("#Step1, .bookwize-steps").css("display","none"),$(".rateplan-page button").on("click",function(){IBE.Utils.destroyView("Rateplan"),$("#Step1, .bookwize-steps").css("display","block"),History.replaceState(null,"",""),e.setStep(1)})),e.ready(t)},contact:function(t){e.scrollTo({offset:0,duration:0}),e.ready(t),$(".bookwize-steps").hide(),t&&($("#ReservationContainer").children().each(function(e,t){var s=ko.contextFor(t);s&&(ko.cleanNode(t),$(t).html(""))}),IBE.Utils.destroyView("MyReservation"),IBE.Utils.bindTemplate("Contact",contact),e.isPageStateActive()||History.pushState({page:"Contact"},e.metaTitles[4],"?page=Contact"),e.animate.stepContent(".contact-content"))},myReservation:function(t){$(".editable").focus(function(){$("label[for='"+this.id+"']").addClass("focused")}).blur(function(){$("label").removeClass("focused")}),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");return t.is(e.target)?void 0:void t.removeClass("active")});var s=window.location.search.replace("?","").split("&");return s.length<1?!1:(ko.utils.arrayForEach(s,function(e){var t=e.split("=");if("lang"===t[0]&&"lang"!=typeof t[1]&&""!==t[1]){var s=ko.utils.arrayFirst(myReservation.languages(),function(e){return e.locale===t[1]});null!=s&&myReservation.lang(s.culture)}}),$(".bookwize-steps").hide(),e.ready(t),void(t&&($("#ReservationContainer").children().each(function(e,t){var s=ko.contextFor(t);s&&(ko.cleanNode(t),$(t).html(""))}),IBE.Utils.destroyView("Contact"),e.animate.stepContent(".myreservation-content"))))},membership:function(t){var s=window.location.search.replace("?","").split("&");return s.length<1?!1:(ko.utils.arrayForEach(s,function(e){var t=e.split("=");if("lang"===t[0]&&"lang"!=typeof t[1]&&""!==t[1]){var s=ko.utils.arrayFirst(membership.languages(),function(e){return e.locale===t[1]});null!=s&&membership.lang(s.culture)}}),$(".bookwize-steps").hide(),e.ready(t),void(t&&IBEStepsMain.setStep("benefits")))}},e.initStep1=function(){e.currentStep=1,header.view("book"),"undefined"==typeof step1&&(step1=new IBE.ViewModels.Step1ViewModel,step1.events.subscribe(function(e){e.success&&submitStep1(e.success),e.failure&&(IBE.Utils.consoleLog("Failed to submit step 1"),$("#GuestPreferences .customer-request .promocode .dropdown-toggle").dropdown("toggle"),IBE.Utils.consoleLog(e.failure))},this,"submit"),step1.events.subscribe(function(t){"Forbidden"==t.severity&&e.ready(!1),loader.title("Failed to initialize booking engine :("),loader.message(t),loader.visible(!0),IBE.Utils.logEvent(t)},this,"error"),step1.events.subscribe(function(t){e.onReadyEvents.step1(t)},this,"ready")),step1.lang=e.lang,step1.currency=e.currency,$.when(IBE.Utils.bindTemplate("Step1",step1)).then(function(){step1.init()}),step1.clearMessage()},e.initStep2=function(t){if(e.currentStep=2,header.view("book"),"undefined"==typeof step2&&(step2=new IBE.ViewModels.Step2ViewModel,step2.events.subscribe(function(e){submitStep2(e)},this,"call"),step2.events.subscribe(function(e){submitStep2(e)},this,"submit"),step2.events.subscribe(function(t){e.onReadyEvents.step2(t)},this,"ready"),step2.events.subscribe(function(t){"Forbidden"===t.severity&&e.ready(!1),loader.title("Failed to initialize booking engine :("),loader.message(t),loader.visible(!0),IBE.Utils.logEvent(t)},this,"error")),step2.lang=e.lang,step2.currency=e.currency,"undefined"!=typeof t)try{IBE.Utils.destroyView("Step2"),step2.init(t),"function"==typeof ga&&ga("send","event","step1","submit")}catch(s){return step1.message(s.message),IBE.Utils.logEvent(s),e.ready(!0),!1}else e.onReadyEvents.step2(!0);return!0},e.initStep3=function(t){return e.currentStep=3,header.view("book"),"undefined"==typeof step3&&(step3=new IBE.ViewModels.Step3ViewModel,step3.events.subscribe(function(e){submitStep3(e)},this,"call"),step3.events.subscribe(function(e){(""!==step3.customer().arrivalTime()||step3.flightInformation())&&(e.notes+="<ul>",""!==step3.customer().arrivalTime()&&(e.notes+="<li>Arrival Time: "+ko.unwrap(step3.customer().arrivalTime)+"</li>"),step3.flightInformation()&&(e.notes+="<li><b>Flight Information</b></li>",e.notes+="<li>Flight Number: "+ko.unwrap(step3.flightInformationDetails.flightNumber)+"</li>",e.notes+="<li>Airport of Arrival: "+ko.unwrap(step3.flightInformationDetails.airportOfArrival)+"</li>",e.notes+="<li>Estimated Arrival Time: "+ko.unwrap(step3.flightInformationDetails.estimatedTime)+"</li>"),e.notes+="</ul>"),submitStep3(e)},this,"submit"),step3.events.subscribe(function(t){e.onReadyEvents.step3(t)},this,"ready"),step3.events.subscribe(function(e){loader.title("Failed to initialize booking engine :("),loader.message(e),loader.visible(!0),IBE.Utils.logEvent(e)},this,"error")),step3.lang=e.lang,step3.init(t),"function"==typeof ga&&ga("send","event","step2","submit"),step3.currency=e.currency,!0},e.initStep4=function(t){e.currentStep=4,header.view("book"),"undefined"==typeof step4&&(step4=new IBE.ViewModels.Step4ViewModel,step4.events.subscribe(function(e){submitStep3(e)},this,"call"),step4.events.subscribe(function(e){submitStep3(e)},this,"submit"),step4.events.subscribe(function(t){e.onReadyEvents.step4(t)},this,"ready"),step4.events.subscribe(function(t){e.ready(!0),step3.clearMessage(),step3.message(t),"critical"==t.severity&&(loader.title("Failed to submit booking :("),loader.message(t),loader.visible(!0)),IBE.Utils.logEvent(t)},this,"error")),step4.lang=e.lang,step4.currency=e.currency;try{step4.init(t),"function"==typeof ga&&ga("send","event","step3","submit")}catch(s){step3.clearMessage();var a={id:"4001",severity:s.severity,text:s.text||s.message};return step3.message(a),IBE.Utils.logEvent(a),e.ready(!0),!1}return!0},e.initRatePlan=function(){var t=e.getParam(window.location.search,"rp");""===t&&(History.replaceState(null,"",""),e.setStep(1)),"undefined"==typeof ratePlan&&(ratePlan=new IBE.ViewModels.Step1ViewModel,ratePlan.events.subscribe(function(t){e.onReadyEvents.ratePlan(t)},this,"ready"));try{ratePlan.setRateplan(parseInt(t))}catch(s){return e.setStep(1),!1}return!0},e.initMyReservation=function(){e.currentStep="-myreservation",e.ready(!1),header.view("myreservation"),"undefined"==typeof myReservation&&(myReservation=new IBE.ViewModels.MyReservation({email:IBE.Utils.getParam(window.location.search,"email"),code:IBE.Utils.getParam(window.location.search,"code")}),myReservation.events.subscribe(function(t){e.onReadyEvents.myReservation(t)},this,"ready"),myReservation.events.subscribe(function(){e.setStep(1)},this,"logout"),myReservation.events.subscribe(function(){},this,"login"),myReservation.events.subscribe(function(t){e.ready(!0),myReservation.ready(!0),myReservation.clearMessage(),myReservation.message(t),"critical"==t.severity&&(loader.title("Failed to fetch booking :("),loader.message(t),loader.visible(!0)),IBE.Utils.logEvent(t)},this,"error")),e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),e.destroyStep("guestPreferences"),myReservation.lang=e.lang,myReservation.currency=e.currency;try{$.when(IBE.Utils.bindTemplate("MyReservation",myReservation)).then(function(){myReservation.init()})}catch(t){return e.ready(!0),myReservation.message(t),!1}return!0},e.initMembership=function(){e.currentStep="-membership",e.ready(!1),header.view("membership"),"undefined"==typeof membership&&(membership=new IBE.ViewModels.Membership,membership.events.subscribe(function(t){e.onReadyEvents.membership(t)},this,"ready"),$(".bookwize-nav").removeClass("active"),membership.events.subscribe(function(){e.setStep(1)},this,"logout"),membership.events.subscribe(function(){},this,"login"),membership.events.subscribe(function(e){e&&(IBEStepsMain.setStep("claimMembership"),membership.claimMembership.email(membership.username()))},this,"memberNotExist"),membership.events.subscribe(function(t){e.ready(!0),membership.ready(!0),membership.clearMessage(),membership.message(t),"critical"==t.severity&&(loader.title("Failed to fetch booking :("),loader.message(t),loader.visible(!0)),IBE.Utils.logEvent(t)},this,"error"),membership.events.subscribe(function(e){e&&IBEStepsMain.setStep("reservation")},this,"showReservation"),membership.events.subscribe(function(e){e&&IBEStepsMain.setStep("webCheckin")},this,"showCheckin"),membership.events.subscribe(function(e){e&&(window.location.href=window.location.href.split("&hash")[0],IBEStepsMain.setStep("login"))},this,"password-changed")),e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),e.destroyStep("guestPreferences"),membership.lang=e.lang,membership.currency=e.currency;try{$.when(IBE.Utils.bindTemplate("Membership",membership)).then(function(){membership.init()})}catch(t){return e.ready(!0),membership.message(t),!1}return!0},e.initContact=function(){e.currentStep="-contact",e.ready(!1),header.view("contact"),"undefined"==typeof contact&&(contact=new IBE.ViewModels.Contact,contact.events.subscribe(function(t){e.onReadyEvents.contact(t)},this,"ready"),contact.events.subscribe(function(e){e.success,e.failure&&IBE.Utils.consoleLog(e.failure)},this,"submit")),contact.lang=e.lang,contact.currency=e.currency;try{contact.init()}catch(t){return e.ready(!0),contact.message(t),!1}return!0},e.setStep=function(t,s){e.currentStep=t,e.ready(!1),loader.visible(!0);switch(t){case 1:e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),e.initStep1();break;case 2:e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),e.initStep2(s),step2.selectedRooms().length>0&&(step2.selectedRooms().splice(step2.tabsCount-1,step2.tabsCount),$(".ui-tabs li:last-child").trigger("click"));break;case 3:if(e.destroyStep(4),$("#personalInvoice").click(),"undefined"==typeof s){e.ready(!0);break}e.initStep3(s);break;case 4:if("undefined"==typeof s){e.ready(!0);break}e.initStep4(s);break;case"account":e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Account",e),$(".bookwize-nav").removeClass("active"),$(".nav-"+t).addClass("active");break;case"benefits":membership.isAuthenticated()?(e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Benefits",e),$(".bookwize-nav").removeClass("active"),$(".nav-"+t).addClass("active")):window.location.href.indexOf("hash")>-1?(e.destroyStep(1),e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Reset",e),$(".bookwize-nav").removeClass("active"),$(".nav-"+t).addClass("active")):IBEStepsMain.setStep("login");break;case"reservation":e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-ViewReservation",e),$(".bookwize-nav").removeClass("active");break;case"reservations":e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Reservations",e),$(".bookwize-nav").removeClass("active"),$(".nav-"+t).addClass("active");break;case"webCheckin":e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-WebCheckin",e);break;case"login":e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Login",e),$(".bookwize-nav").removeClass("active");break;case"claimMembership":e.destroyStep(2),e.destroyStep(3),e.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),membership.clearMessage(),e.ready(!0),IBE.Utils.bindTemplate("IBE-Member-ClaimMembership",e),$(".bookwize-nav").removeClass("active");break;default:e.ready(!0)}$(document).on("click",".culture .view-all-currencies",function(e){e.stopPropagation()}),$(document).on("focus",".editable",function(){$("label[for='"+this.id+"']").addClass("focused")}),$(document).on("blur",".editable",function(){$("label").removeClass("focused")}),$(document).on("click",".bookwize-step",function(t){if($(this).hasClass("inactive")||$(this).hasClass("active"))return t.preventDefault(),!1;var s=$(this).index(".bookwize-step")+1;e.currentStep!=s&&e.setStep($(this).index(".bookwize-step")+1)})},e.destroyStep=function(e){switch(e){case 1:IBE.Utils.destroyView("Step1"),step1&&(step1.dispose(),step1=void 0);break;case 2:IBE.Utils.destroyView("Step2"),step2&&(step2.dispose(),step2=void 0);break;case 3:IBE.Utils.destroyView("Step3"),step3&&(step3.dispose(),step3=void 0);break;case 4:IBE.Utils.destroyView("Step4"),step4&&(step4.dispose(),step4=void 0);break;case"guestPreferences":IBE.Utils.destroyView("GuestPreferences"),guestPreferences&&(guestPreferences.dispose(),guestPreferences=void 0)}},e.navigationSteps=function(t){$(".bookwize-step").removeClass("active").removeClass("inactive").removeClass("modify"),$(".bookwize-step").each(function(s){(s>t||4==e.currentStep)&&$(this).addClass("inactive"),s==t&&$(this).addClass("active"),t>s&&$(this).addClass("modify"),0==t&&($(".bookwize-step").removeClass("modify"),$(".bookwize-progress-bar-text").remove(),$(".bookwize-progress-bar-inner").remove())})},e.bookRoom=function(){e.scrollTo({offset:0})},e.animateLabel=function(){""!==$(this).val()?$(this).parent().addClass("up"):$(this).parent().removeClass("up")},e.animateTab=function(){var e=$(this),t=$(e.data("target"));e.siblings().removeClass("active"),e.addClass("active"),t.siblings().removeClass("active"),t.addClass("active")},e.toggleActive=function(){var e=$(this),t=e.parent(),s=$(e.data("target"));t.hasClass("active")?(t.removeClass("active"),s.hide()):(t.addClass("active"),s.show(),e.hasClass("bookwize-supplements-header")&&$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"}))},e.applyBodyClass=function(){for(var t=$("body").attr("class").split(" "),s=0;s<t.length;s++)"step"===t[s].slice(0,4)&&$("body").removeClass(t[s]);$("body").addClass("step"+e.currentStep)},e.resize=function(){try{e.resizeRoomImages()}catch(t){}},e.resizeRoomImages=function(){var t=$(window).width();990>=t&&(step2.roomImageWidth(964),step2.roomImageHeight(250)),t>990&&1200>=t&&("grid"==e.layout?(step2.roomImageWidth(964),step2.roomImageHeight(250)):(step2.roomImageWidth(291),step2.roomImageHeight(210)))},e.toggleLayout=function(t){t.stopPropagation();var s=$(".change-layout li.active").data("layout"),a=$(this).data("layout");e.layout=a,$(".change-layout li").removeClass("active"),$(this).addClass("active");var o=$(".room-list");o.removeClass("layout-"+s),o.addClass("layout-"+a),o.addClass("anim"),"grid"==a?(o.find(".room-row").addClass("col-lg-4"),o.find(".room-row .row-right .room-action").addClass("clearfix"),o.find(".room-row .row-right .room-prices").addClass("col-lg-6"),o.find(".room-row .row-right .booking-action").addClass("col-lg-6 no-padding")):(o.find(".room-row").removeClass("col-lg-4"),o.find(".room-row .row-right .room-action").removeClass("clearfix"),o.find(".room-row .row-right .room-prices").removeClass("col-lg-6"),o.find(".room-row .row-right .booking-action").removeClass("col-lg-6"),o.find(".room-row .row-right .booking-action").removeClass("no-padding"),o.find(".table-list").slideDown(300)),e.resizeRoomImages(),e.roomRowStyles()},e.popup={$el:null,events:function(t,s){e.popup.$el.off("shown.bs.modal"),e.popup.$el.off("hidden.bs.modal"),e.popup.$el.on("shown.bs.modal",function(){$("html").addClass("modal-open"),$(".modal-backdrop").height($(document).height()),e.popup.accordion(),e.popup.selectMenu(s),t.find(".popup-rateplan .book-room-button button").on("click",function(){e.popup.close(),e.bookRoom()})}),e.popup.$el.on("hidden.bs.modal",function(){$("html").removeClass("modal-open")})},open:function(){var t=!0;e.layout==e.layouts[1]&&($(this).hasClass("row-left")||$(this).hasClass("room-header"))&&(e.openRoomOverlay($(this)),t=!1),t&&(e.popup.$el=$(document).find("#RoomPopUp"),e.popup.events(e.popup.$el,$(this)),e.popup.$el.modal("show"))},close:function(){$("#RoomPopUp").modal("hide"),$("body").removeClass("modal-open"),$(".modal-backdrop").remove()},accordion:function(){$("#ReservationContainer").on("shown.bs.collapse",".panel-collapse",function(){var e=$(this).parents(".panel");e.find("a .fa-caret-down").hide(),e.find("a .fa-caret-up").show()}),$("#ReservationContainer").on("hidden.bs.collapse",".panel-collapse",function(){var e=$(this).parents(".panel");e.find("a .fa-caret-down").show(),e.find("a .fa-caret-up").hide()})},selectMenu:function(t){var s=t.data("target");"undefined"==typeof s&&(s="room-info"),e.popup.$el.find(".sidebar .list-group .list-group-item[data-target='"+s+"']").trigger("click");var a=t.data("rateplanId"),o=t.parents(".room-row").data("room-id");"undefined"!=typeof a&&e.popup.$el.find(".nav-pills li a[data-rateplan-id='"+a+"']").trigger("click"),IBE.Utils.gaTrack({action:"send",command:"event",data:"/step2/popup/room-"+o})}},e.closeRoomOverlay=function(t){$(".room-list").removeClass("anim"),t.find(".row-left").slideDown(300,function(){t.find(".row-left").removeAttr("style")}),t.find(".table-list").slideUp(300,function(){t.find(".table-list").removeAttr("style")}),e.roomRowStyles(t)},e.roomRowStyles=function(e){var t=function(e){var t=e.length;t>=3&&e.eq(t-1).css({borderBottom:"none"}),t>3&&$(this).find(".row-center").css({"-webkit-border-radius":"0px 0px 2px 2px","border-radius":"0px 0px 2px 2px"})};if("undefined"!=typeof e){var s=e.find(".table-list .list-row");return void t(s)}$(".room-list .room-row").each(function(){var e=$(this).find(".table-list .list-row");t(e)})},e.scrollTo=function(e){e=$.extend({offset:0,duration:177,callback:function(){}},e),$("html:not(:animated), body:not(:animated)").animate({scrollTop:e.offset},{duration:e.duration,complete:function(){e.callback()}})},e.animate={bgImage:function(e){e=e||".background-image";var t=$(e);t.addClass("animating")},stepContent:function(e){e=e||".step1-content";var t=$(e);t.addClass("animating")},steps:function(e){e=e||".steps";var t=$(e);t.addClass("animating")},roomRow:function(e){e=e||".room-row";var t=$(e);t.addClass("animating")}},e.pushStates=function(){History.options.hashChangeInterval=500,$(document).on("click","a",function(t){var s=$(this).parent(),a=$(this).attr("href"),o=$(this).attr("title"),i=e.getParam(a,"page");return s.is(".bookwize-step.inactive")?!1:e.currentStep==e.getParam(a,"page")?!1:(""!=i&&(t.preventDefault(),routes.hasOwnProperty(i)?History.pushState({page:e.getParam(a,"page")},o,a):History.pushState({page:"1"},e.metaTitles[0],"?page=1"),e.closeAnimatedElements()),!0)})},e.getParam=function(e,t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var s=new RegExp("[\\?&]"+t+"=([^&#]*)"),a=s.exec(e); 2 return null==a?"":decodeURIComponent(a[1].replace(/\+/g," "))},e.isPageStateActive=function(){var t=e.getParam(window.location.search,"page");return t==History.getState().data.page},e.closeAnimatedElements=function(){var e=[".header-sidebar",".reservation-container"];$.each(e,function(e,t){$.each($(t),function(e,t){var s=$(t).attr("class").split(" ");$(s).each(function(e,t){s[e]=-1===t.indexOf("animate-")?t:""}),$(t).attr("class",s.join(" "))})})}}function Loader(){var e=this,t=ko.observable(!1);e.$loader=$(".loader"),e.title=ko.observable("Please wait ..."),e.message=ko.observable(new IBE.Models.Message),e.showError=ko.computed(function(){return"critical"==e.message().severity}),e.clear=function(){e.message(new IBE.Models.Message),e.title("")},e.reload=function(){e.clear(),window.location.reload()},e.visible=ko.computed({read:function(){return t()},write:function(s){t(e.message().id>0?!0:s),t()?e.$loader.show():e.$loader.hide()}}).extend({notify:"always"})}function submitStep1(e){(!step2||step2.preferencesChanged())&&e&&(allowForward=!0,IBEStepsMain.ready(!1),IBEStepsMain.setStep(2,e))}function submitStep2(e){e&&(allowForward=!0,IBEStepsMain.ready(!1),IBEStepsMain.setStep(3,e))}function submitStep3(e){e&&(allowForward=!0,IBEStepsMain.ready(!1),IBEStepsMain.setStep(4,e))}var step1,step2,step3,step4,footer,header,IBEStepsMain,myReservation,customerLogin,guestPreferences,account,benefit,reservation,loader,contact,ratePlan,lang,member;$(document).ready(function(){("object"!=typeof google||"object"!=typeof google.maps)&&($.getScript("https://maps.googleapis.com/maps/api/js?key=AIzaSyAwNrMVC8KUcrJXw5ceZbJJ6NP2rK37TBQ",function(){}),IBE.Config.display_header&&$("#Currency").show())});var routes={1:"Step1",2:"Step2",3:"Step3",4:"Step4",Rateplan:"Rateplan",MyReservation:"MyReservation",Contact:"Contact",Membership:"Membership"};$.wait=function(e){var t=$.Deferred();return setTimeout(function(){t.resolve()},e),t};var allowForward=!1;IBEStepsMain=new MainView,$(function(){if(loader=new Loader,loader.visible(!0),IBEStepsMain.formModel=ko.observable(!1),$(".bookwize-integrated-form").length){step1=new IBE.ViewModels.Step1ViewModel,step1.init();var e=0;step1.submit=function(t){if(t){var s=step1.checkIn().format("YYYY-MM-DD"),a=step1.checkOut().format("YYYY-MM-DD");ko.utils.arrayForEach(step1.requestedRooms()[0].guests,function(t){e+="Adult"===t.ageCategory()?t.pax():("/"+t.fromAge()).repeat(t.pax())});var o=step1.boardType();window.location.href=IBE.Config.integrated_page+"?page=2&ci="+s+"&co="+a+"&r="+e+"&board="+o}t.failure&&IBE.Utils.consoleLog("Failed to submit step 1")},$(".bookwize-integrated-form .btn-primary").css("background",IBE.Config.bwButtonColor),$(".bookwize-integrated-form").show()}ko.applyBindings(loader,document.getElementById("Loader")),header=new IBE.ViewModels.HeaderViewModel,header.view.subscribe(function(e){switch(e){case"book":$(".steps").show();break;default:$(".steps").hide()}}),IBEStepsMain.isIntegratedPage()&&IBE.Utils.bindTemplate("Header",header,void 0,{afterRender:function(){header.init()}}),lang&&header.lang(lang),IBEStepsMain.lang=header.lang,IBEStepsMain.currency=header.currency,IBEStepsMain.pushStates(),$("#Currency").length&&$.when(IBE.Utils.bindTemplate("Currency",header)).then(function(){header.init()})}),IBEStepsMain.isIntegratedPage()&&!function(e){var t=IBEStepsMain.getParam(e.location.search,"theme");""!==t&&(IBEStepsMain.theme=t),IBEStepsMain.setTheme();var s=$("html").attr("lang");s&&s[3]&&-1!=IBE.Config.languages.indexOf(s[3])&&(lang=s[3]),IBEStepsMain.lang(lang),History.Adapter.onDomLoad(function(){var t=History.getState();if("undefined"==typeof t.data.page){var s=IBEStepsMain.getParam(e.location.search,"page");if(""==s){var a=IBEStepsMain.getParam(e.location.search,"rp");""!=a&&(s="rp")}t.data.page=""==s?"1":s}switch(t.data.page=""+t.data.page,t.data.page.toLocaleLowerCase()){case"myreservation":IBEStepsMain.initMyReservation();break;case"membership":IBEStepsMain.initMembership();break;case"contact":IBEStepsMain.initContact();break;case"rp":IBEStepsMain.initRatePlan();break;default:var o=Cache.read("ReservationUser");if(o!==!1){IBEStepsMain.setStep(4,o);break}IBEStepsMain.setStep(1),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step1"})}}),History.Adapter.bind(e,"statechange",function(){var t=History.getState(),s=History.savedStates,a=s[s.length-2];if("MyReservation"==a.data.page&&"2"==t.data.page&&(t.data.page="1"),"MyReservation"==a.data.page&&"3"==t.data.page&&(t.data.page="1"),"MyReservation"==a.data.page&&"4"==t.data.page&&(t.data.page="1"),"Membership"==a.data.page&&"2"==t.data.page&&(t.data.page="1"),"Membership"==a.data.page&&"3"==t.data.page&&(t.data.page="1"),"Membership"==a.data.page&&"4"==t.data.page&&(t.data.page="1"),"undefined"==typeof t.data.page)return void History.pushState({page:"1"},IBEStepsMain.metaTitles[0],"?page=1");if(1==t.data.page.length&&a.data.page<t.data.page&&0==allowForward&&History.pushState({page:a.data.page+""},IBEStepsMain.metaTitles[a.data.page-1],"?page="+a.data.page),"4"==a.data.page&&t.data.page<a.data.page&&(t.data.page="1"),"4"==t.data.page&&"3"!=a.data.page){if(Cache.read("ReservationUser")!==!1)return!0;t.data.page="1"}if("3"==t.data.page&&"2"!=a.data.page&&(t.data.page="1"),IBEStepsMain.getParam(e.location.search,"page")==a.data.page||t.data.page==a.data.page)return!1;IBEStepsMain.popup.close();var o=IBE.Utils.parseDeepLinking(e.location.search,step1);if(o!==!1)return submitStep1(o),!0;routes.hasOwnProperty(t.data.page)||History.pushState({page:"1"},IBEStepsMain.metaTitles[0],"?page=1"),1==t.data.page.length&&a.data.page>t.data.page&&1==allowForward&&(allowForward=!1),t.data.page=""+t.data.page;var i;switch(t.data.page.toLocaleLowerCase()){case"myreservation":IBE.Utils.prepareView("myreservation"),IBEStepsMain.initMyReservation(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/myreservation"});break;case"membership":IBE.Utils.prepareView("membership"),IBEStepsMain.initMembership(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/membership"});break;case"contact":IBE.Utils.prepareView("contact"),IBEStepsMain.initContact(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/contact"});break;case"rp":IBE.Utils.prepareView("rateplan"),IBEStepsMain.initRatePlan(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/rateplan"});break;case"1":i=t.data.page,IBE.Utils.prepareView(i),IBEStepsMain.setStep(parseInt(i)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step1"}),IBE.Utils.gaRemarketingTrack(IBE.Utils.getReservationSetting(step1,"adwordsConversionId"));break;case"2":if(2===IBEStepsMain.currentStep)return;i=t.data.page,IBE.Utils.prepareView(i),IBEStepsMain.setStep(parseInt(i)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step2"}),IBE.Utils.gaRemarketingTrack(IBE.Utils.getReservationSetting(step2,"adwordsConversionId"));break;case"3":i=t.data.page,IBE.Utils.prepareView(i),IBEStepsMain.setStep(parseInt(i)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step3"});break;case"4":i=t.data.page,IBE.Utils.prepareView(i),IBEStepsMain.setStep(parseInt(i)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step4"});break;default:IBE.Utils.consoleLog("invalid url:"+t.data.step)}})}(window); 1 function MainView(){var i=this;i.lang=ko.observable(""),i.currency=ko.observable(""),i.ready=ko.observable(!1),i.updateCustomerPreferences=ko.observable(!1),i.ready.subscribe(function(e){loader.visible(!e),e&&($(".dropdown").removeClass("open"),i.applyBodyClass(),$.wait(500).then(i.animate.steps),$.wait(500).then(function(){i.navigationSteps(i.currentStep-1)}))}),i.metaTitles=["Step 1 - Booking Engine","Step 2 - Booking Engine","Step 3 - Booking Engine","Step 4 - Booking Engine","Contact- Booking Engine","My Reservation - Booking Engine","Membership - Booking Engine"],i.isIntegratedPage=function(){var e=!1,t=IBEConfig.integrated_page;return t=t.replace(/\/?$/,""),(-1<window.location.href.indexOf(t)||-1<window.location.href.indexOf(t+"?page=MyAccount"))&&(e=!0),e},i.currentStep=1,i.layouts=["rows","grid"],i.layout=0,i.theme=IBE.Config.theme||"c",i.themes=[{element:$("#Header"),themes:{a:"a",b:"b",c:"a",d:"a",e:"a"}},{element:$("#ReservationContainer #Step1"),themes:{a:"a",b:"b",c:"c",d:"a",e:"a"}},{element:$("#ReservationContainer #Step2"),themes:{a:"a",b:"b",c:"c",d:"a",e:"a"}},{element:$("#ReservationContainer #Step3"),themes:{a:"a",b:"a",c:"a",d:"a",e:"a"}},{element:$("#ReservationContainer #Step4"),themes:{a:"a",b:"a",c:"a",d:"a",e:"a"}}],i.setTheme=function(){$("body").addClass("theme-"+i.theme),$.each(i.themes,function(e,t){var s=t.themes[i.theme],a=t.element.data("template").replace("%theme%",s);t.element.attr("data-template",a).data("template",a)})},i.onReadyEvents={step1:function(e){if(e){i.metaTitles=[IBE.Utils.translate("meta.title.1"),IBE.Utils.translate("meta.title.2"),IBE.Utils.translate("meta.title.3"),IBE.Utils.translate("meta.title.4"),IBE.Utils.translate("meta.title.contact"),IBE.Utils.translate("meta.title.myreservation")],""!==IBE.Utils.getReservationSetting(step1,"WelcomeMessage")&&IBE.Utils.bindTemplate("WelcomeMessage",step1),$(document).off("click",".bookwize-toggle"),$(document).on("click",".bookwize-toggle",i.toggleActive),$(".editable").focus(function(){$("label[for='"+this.id+"']").addClass("focused")}).blur(function(){$("label").removeClass("focused")}),$(document).mouseup(function(e){var t=$(".is-datepick"),s=$(".datepick-popup");s.is(e.target)||0!==s.has(e.target).length||t.is(e.target)||s.hide()}),$(document).mouseup(function(e){var t=$(".bookwize-guests-group");t.is(e.target)||0!==t.has(e.target).length||t.removeClass("active")});var t=IBE.Utils.parseDeepLinking(window.location.search,step1);!1===t?("1"!==i.getParam(window.location.search,"page")&&History.pushState({page:"1"},i.metaTitles[0],"?page=1"),i.ready(e),$(".bookwize-steps").show(),i.scrollTo({offset:0,duration:0}),i.animate.stepContent(),$(document).on("click",".request-mealplan",function(){}),$(".step1-offers .slide").length<=1&&$(".step1-offers .slide-prev, .step1-offers .slide-next").hide()):submitStep1(t),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");t.is(e.target)||t.removeClass("active")})}},step2:function(e){$(document).on("click",".bookwize-book-button",function(){$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"}),setTimeout(function(){$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"})},150)}),$(document).on("click",".bookwize-tab-name",i.animateTab),$(document).on("click",".bookwize-tab-name-activate",function(){var e=$($(this).data("value")),t=$($(this).data("target"));e.siblings().removeClass("active"),e.addClass("active"),t.siblings().removeClass("active"),t.addClass("active")}),i.layout=IBE.Utils.getReservationSetting(step2,"IbeRoomsViewMode"),e&&(IBE.Utils.destroyView("Step1"),$.when(IBE.Utils.bindTemplate("Step2",step2)).then(function(){$.wait(500).then(function(){(guestPreferences=new IBE.ViewModels.Step1ViewModel).couponCode=step1.couponCode,guestPreferences.couponValid=step1.couponValid,guestPreferences.boardTypes=step1.boardTypes,guestPreferences.boardType=step1.boardType,guestPreferences.hasMessage=step1.hasMessage,guestPreferences.message=step1.message,guestPreferences.bookingProcess=step2.bookingProcess,guestPreferences.lang=step1.lang,guestPreferences.validate=function(e,t){i.updateCustomerPreferences(!0),step1.couponCode(e.couponCode()),step1.checkIn(guestPreferences.checkIn()),step1.checkOut(guestPreferences.checkOut()),step1.requestedRooms(guestPreferences.requestedRooms()),step1.validate()},guestPreferences.cancelDateChange=function(e,t){guestPreferences.checkIn(step1.checkIn()),guestPreferences.checkOut(step1.checkOut())},guestPreferences.cancelRoomChange=function(e,t){guestPreferences.requestedRooms.removeAll(),ko.utils.arrayForEach(step1.requestedRooms(),function(e){guestPreferences.requestedRooms.push(e)})},guestPreferences.events.subscribe(function(e){e&&(guestPreferences.checkIn(step1.checkIn()),guestPreferences.checkOut(step1.checkOut()),guestPreferences.couponCode(step1.couponCode()),guestPreferences.requestedRooms.removeAll(),guestPreferences.boardType(step2.request().preferredBoard()),ko.utils.arrayForEach(step1.requestedRooms(),function(e){guestPreferences.requestedRooms.push(e)}))},this,"ready"),guestPreferences.events.subscribe(function(e){e.success&&submitStep1(e.success),e.failure&&guestPreferences.message(e.failure)},this,"submit"),guestPreferences.init(),$.when(IBE.Utils.bindTemplate("GuestPreferences",guestPreferences)).then(function(){$(document).on("click",".booking-process .well .navbar-collapse, .booking-process .well .navbar-collapse *",function(e){e.stopImmediatePropagation(),$("#GuestPreferences-Step1").is(":hidden")?($("#GuestPreferences-Step1").stop().slideDown(),$("#GuestPreferences-Step1").addClass("open")):($("#GuestPreferences-Step1").stop().slideUp(),$("#GuestPreferences-Step1").removeClass("open"))})}),step1.dispose(),step2.temporaryStep1=guestPreferences,step2.temporaryStep1.checkIn.subscribe(function(e){0!==moment(e).diff(step1.checkIn(),"days")?step2.preferencesChanged(!0):step2.preferencesChanged(!1)}),step2.temporaryStep1.checkOut.subscribe(function(e){0!==moment(e).diff(step1.checkOut(),"days")?step2.preferencesChanged(!0):step2.preferencesChanged(!1)}),step2.tempCouponCode=step1.couponCode(),step2.temporaryStep1.couponCode.subscribe(function(e){e!==step2.tempCouponCode?step2.preferencesChanged(!0):step2.preferencesChanged(!1)}),step2.tempRequestRooms=JSON.parse(ko.toJSON(ko.toJS(step1.requestedRooms()))),step2.temporaryStep1.requestedRooms.subscribe(function(e){var i=!1;e.forEach(function(o){o.value.guests.forEach(function(a){a.pax.subscribe(function(e){if(step2)var t=ko.utils.arrayFirst(step2.tempRequestRooms,function(e){return e.roomIndex===o.value.roomIndex()});if(null!=t){var s=ko.utils.arrayFirst(t.guests,function(e){return e.ageCategory===a.ageCategory()&&e.label===a.label()});null!=s&&(s.pax!==e?(step2.preferencesChanged(!0),i=!0):step2.preferencesChanged(!1))}})})}),i||(step2.temporaryStep1.requestedRooms().length!==step1.requestedRooms().length?step2.preferencesChanged(!0):step2.preferencesChanged(!1))},null,"arrayChange")}()),History.pushState({page:"2"},i.metaTitles[1],"?page=2"),i.ready(e),0===$(".bookwize-step-2 .bookwize-progress-bar-text").length&&($(".bookwize-step-2").append($(".bookwize-progress-bar-inner")),$(".bookwize-step-2 .bookwize-step__description").append($(".bookwize-progress-bar-text"))),$(".bookwize-steps").show(),i.scrollTo({offset:0,duration:0}),i.animate.bgImage(),$.wait(500).then(i.animate.stepContent(".step2-content")),$(window).on("resize",i.resize),i.roomRowStyles(),$(".room-row").on("click",".book-room-button",i.bookRoom),$(document).on("click",".bookwize-room-thumb",function(){i.popup.open(),IBE.Utils.bindTemplate("RoomPopUp",step2)}),$(document).on("click",".modal-header .close",function(){$("#RoomPopUp").removeClass("in"),$("#RoomPopUp").hide(),$("body").removeClass("modal-open"),$(".modal-backdrop").remove()}),$(document).on("click","#GuestPreferences .dropdown-menu",function(e){if($(e.target).hasClass("btn-cancel"))return $(".dropdown-toggle").dropdown("toggle"),!0;e.stopImmediatePropagation()}),$(document).on("click",".change-layout li",i.toggleLayout),$(".change-layout li[data-layout='"+i.layouts[i.layout]+"']").trigger("click"),$(".room-list").on("click",".row-left",function(){if(i.layout==i.layouts[1])return i.openRoomOverlay($(this)),!1}),$(".room-list").on("click",".room-row",function(){i.layout==i.layouts[1]&&i.closeRoomOverlay($(this))})}))},step3:function(e){i.ready(e),step3.flightInformation(!1),e&&(IBE.Utils.destroyView("Step2"),$.when(IBE.Utils.bindTemplate("Step3",step3)).then(function(){setTimeout(function(){$(".bookwize-supplements-inner:first-child").addClass("active"),$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"})},150),$(document).on("click",".bookwize-supplements-header-title",function(){$(".bookwize-room-readmore").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"})}),step2.dispose(),History.pushState({page:"3"},i.metaTitles[2],"?page=3"),i.scrollTo({offset:0})}),$(".editable").focus(function(){$("label[for='"+this.id+"']").addClass("focused")}).blur(function(){$("label").removeClass("focused")}),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");t.is(e.target)||t.removeClass("active")}))},step4:function(e){e&&(IBE.Utils.destroyView("Step3"),IBE.Utils.bindTemplate("Step4",step4),History.pushState({page:"4"},i.metaTitles[3],"?page=4"),i.scrollTo({offset:0}),$(".bookwize-steps").hide(),$(".supplement-tooltip").on("click",function(){$(this).parents(".supplement").find(".supplement-description").stop().slideToggle()}),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");t.is(e.target)||t.removeClass("active")})),i.ready(e)},ratePlan:function(e){e&&(IBE.Utils.bindTemplate("Rateplan",ratePlan),$("#Step1, .bookwize-steps").css("display","none"),$(".rateplan-page button").on("click",function(){IBE.Utils.destroyView("Rateplan"),$("#Step1, .bookwize-steps").css("display","block"),History.replaceState(null,"",""),i.setStep(1)})),i.ready(e)},contact:function(e){i.scrollTo({offset:0,duration:0}),i.ready(e),$(".bookwize-steps").hide(),e&&($("#ReservationContainer").children().each(function(e,t){ko.contextFor(t)&&(ko.cleanNode(t),$(t).html(""))}),IBE.Utils.destroyView("MyReservation"),IBE.Utils.bindTemplate("Contact",contact),i.isPageStateActive()||History.pushState({page:"Contact"},i.metaTitles[4],"?page=Contact"),i.animate.stepContent(".contact-content"))},myReservation:function(e){$(".editable").focus(function(){$("label[for='"+this.id+"']").addClass("focused")}).blur(function(){$("label").removeClass("focused")}),$(document).mouseup(function(e){var t=$(".active.bookwize-header-dropdown");t.is(e.target)||t.removeClass("active")});var t=window.location.search.replace("?","").split("&");if(t.length<1)return!1;ko.utils.arrayForEach(t,function(e){var t=e.split("=");if("lang"===t[0]&&"lang"!=typeof t[1]&&""!==t[1]){var s=ko.utils.arrayFirst(myReservation.languages(),function(e){return e.locale===t[1]});null!=s&&myReservation.lang(s.culture)}}),$(".bookwize-steps").hide(),i.ready(e),e&&($("#ReservationContainer").children().each(function(e,t){ko.contextFor(t)&&(ko.cleanNode(t),$(t).html(""))}),IBE.Utils.destroyView("Contact"),i.animate.stepContent(".myreservation-content"))},membership:function(e){var t=window.location.search.replace("?","").split("&");if(t.length<1)return!1;ko.utils.arrayForEach(t,function(e){var t=e.split("=");if("lang"===t[0]&&"lang"!=typeof t[1]&&""!==t[1]){var s=ko.utils.arrayFirst(membership.languages(),function(e){return e.locale===t[1]});null!=s&&membership.lang(s.culture)}}),$(".bookwize-steps").hide(),i.ready(e),e&&IBEStepsMain.setStep("benefits")}},i.initStep1=function(){i.currentStep=1,header.view("book"),void 0===step1&&((step1=new IBE.ViewModels.Step1ViewModel).events.subscribe(function(e){e.success&&submitStep1(e.success),e.failure&&(IBE.Utils.consoleLog("Failed to submit step 1"),$("#GuestPreferences .customer-request .promocode .dropdown-toggle").dropdown("toggle"),IBE.Utils.consoleLog(e.failure))},this,"submit"),step1.events.subscribe(function(e){"Forbidden"==e.severity&&i.ready(!1),loader.title("Failed to initialize booking engine :("),loader.message(e),loader.visible(!0),IBE.Utils.logEvent(e)},this,"error"),step1.events.subscribe(function(e){i.onReadyEvents.step1(e)},this,"ready")),step1.lang=i.lang,step1.currency=i.currency,$.when(IBE.Utils.bindTemplate("Step1",step1)).then(function(e){step1.init()}),step1.clearMessage()},i.initStep2=function(e){if(i.currentStep=2,header.view("book"),void 0===step2&&((step2=new IBE.ViewModels.Step2ViewModel).events.subscribe(function(e){submitStep2(e)},this,"call"),step2.events.subscribe(function(e){submitStep2(e)},this,"submit"),step2.events.subscribe(function(e){i.onReadyEvents.step2(e)},this,"ready"),step2.events.subscribe(function(e){"Forbidden"===e.severity&&i.ready(!1),loader.title("Failed to initialize booking engine :("),loader.message(e),loader.visible(!0),IBE.Utils.logEvent(e)},this,"error")),step2.lang=i.lang,step2.currency=i.currency,void 0!==e)try{IBE.Utils.destroyView("Step2"),step2.init(e),"function"==typeof ga&&ga("send","event","step1","submit")}catch(e){return step1.message(e.message),IBE.Utils.logEvent(e),i.ready(!0),!1}else i.onReadyEvents.step2(!0);return!0},i.initStep3=function(e){return i.currentStep=3,header.view("book"),void 0===step3&&((step3=new IBE.ViewModels.Step3ViewModel).events.subscribe(function(e){submitStep3(e)},this,"call"),step3.events.subscribe(function(e){(""!==step3.customer().arrivalTime()||step3.flightInformation())&&(e.notes+="<ul>",""!==step3.customer().arrivalTime()&&(e.notes+="<li>Arrival Time: "+ko.unwrap(step3.customer().arrivalTime)+"</li>"),step3.flightInformation()&&(e.notes+="<li><b>Flight Information</b></li>",e.notes+="<li>Flight Number: "+ko.unwrap(step3.flightInformationDetails.flightNumber)+"</li>",e.notes+="<li>Airport of Arrival: "+ko.unwrap(step3.flightInformationDetails.airportOfArrival)+"</li>",e.notes+="<li>Estimated Arrival Time: "+ko.unwrap(step3.flightInformationDetails.estimatedTime)+"</li>"),e.notes+="</ul>"),submitStep3(e)},this,"submit"),step3.events.subscribe(function(e){i.onReadyEvents.step3(e)},this,"ready"),step3.events.subscribe(function(e){loader.title("Failed to initialize booking engine :("),loader.message(e),loader.visible(!0),IBE.Utils.logEvent(e)},this,"error")),step3.lang=i.lang,step3.init(e),"function"==typeof ga&&ga("send","event","step2","submit"),step3.currency=i.currency,!0},i.initStep4=function(e){i.currentStep=4,header.view("book"),void 0===step4&&((step4=new IBE.ViewModels.Step4ViewModel).events.subscribe(function(e){submitStep3(e)},this,"call"),step4.events.subscribe(function(e){submitStep3(e)},this,"submit"),step4.events.subscribe(function(e){i.onReadyEvents.step4(e)},this,"ready"),step4.events.subscribe(function(e){i.ready(!0),step3.clearMessage(),step3.message(e),"critical"==e.severity&&(loader.title("Failed to submit booking :("),loader.message(e),loader.visible(!0)),IBE.Utils.logEvent(e)},this,"error")),step4.lang=i.lang,step4.currency=i.currency;try{step4.init(e),"function"==typeof ga&&ga("send","event","step3","submit")}catch(e){step3.clearMessage();var t={id:"4001",severity:e.severity,text:e.text||e.message};return step3.message(t),IBE.Utils.logEvent(t),i.ready(!0),!1}return!0},i.initRatePlan=function(){var e=i.getParam(window.location.search,"rp");""===e&&(History.replaceState(null,"",""),i.setStep(1)),void 0===ratePlan&&(ratePlan=new IBE.ViewModels.Step1ViewModel).events.subscribe(function(e){i.onReadyEvents.ratePlan(e)},this,"ready");try{ratePlan.setRateplan(parseInt(e))}catch(e){return i.setStep(1),!1}return!0},i.initMyReservation=function(){i.currentStep="-myreservation",i.ready(!1),header.view("myreservation"),void 0===myReservation&&((myReservation=new IBE.ViewModels.MyReservation({email:IBE.Utils.getParam(window.location.search,"email"),code:IBE.Utils.getParam(window.location.search,"code")})).events.subscribe(function(e){i.onReadyEvents.myReservation(e)},this,"ready"),myReservation.events.subscribe(function(){i.setStep(1)},this,"logout"),myReservation.events.subscribe(function(e){},this,"login"),myReservation.events.subscribe(function(e){i.ready(!0),myReservation.ready(!0),myReservation.clearMessage(),myReservation.message(e),"critical"==e.severity&&(loader.title("Failed to fetch booking :("),loader.message(e),loader.visible(!0)),IBE.Utils.logEvent(e)},this,"error")),i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),i.destroyStep("guestPreferences"),myReservation.lang=i.lang,myReservation.currency=i.currency;try{$.when(IBE.Utils.bindTemplate("MyReservation",myReservation)).then(function(e){myReservation.init()})}catch(e){return i.ready(!0),myReservation.message(e),!1}return!0},i.initMembership=function(){i.currentStep="-membership",i.ready(!1),header.view("membership"),"undefined"==typeof membership&&(membership=new IBE.ViewModels.Membership,membership.events.subscribe(function(e){i.onReadyEvents.membership(e)},this,"ready"),$(".bookwize-nav").removeClass("active"),membership.events.subscribe(function(){i.setStep(1)},this,"logout"),membership.events.subscribe(function(e){},this,"login"),membership.events.subscribe(function(e){e&&(IBEStepsMain.setStep("claimMembership"),membership.claimMembership.email(membership.username()))},this,"memberNotExist"),membership.events.subscribe(function(e){i.ready(!0),membership.ready(!0),membership.clearMessage(),membership.message(e),"critical"==e.severity&&(loader.title("Failed to fetch booking :("),loader.message(e),loader.visible(!0)),IBE.Utils.logEvent(e)},this,"error"),membership.events.subscribe(function(e){e&&IBEStepsMain.setStep("reservation")},this,"showReservation"),membership.events.subscribe(function(e){e&&IBEStepsMain.setStep("webCheckin")},this,"showCheckin"),membership.events.subscribe(function(e){e&&(window.location.href=window.location.href.split("&hash")[0],IBEStepsMain.setStep("login"))},this,"password-changed")),i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),i.destroyStep("guestPreferences"),membership.lang=i.lang,membership.currency=i.currency;try{$.when(IBE.Utils.bindTemplate("Membership",membership)).then(function(e){membership.init()})}catch(e){return i.ready(!0),membership.message(e),!1}return!0},i.initContact=function(){i.currentStep="-contact",i.ready(!1),header.view("contact"),void 0===contact&&((contact=new IBE.ViewModels.Contact).events.subscribe(function(e){i.onReadyEvents.contact(e)},this,"ready"),contact.events.subscribe(function(e){e.success,e.failure&&IBE.Utils.consoleLog(e.failure)},this,"submit")),contact.lang=i.lang,contact.currency=i.currency;try{contact.init()}catch(e){return i.ready(!0),contact.message(e),!1}return!0},i.setStep=function(e,t){i.currentStep=e,i.ready(!1),loader.visible(!0);switch(e){case 1:i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),i.initStep1();break;case 2:i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),i.initStep2(t),0<step2.selectedRooms().length&&(step2.selectedRooms().splice(step2.tabsCount-1,step2.tabsCount),$(".ui-tabs li:last-child").trigger("click"));break;case 3:if(i.destroyStep(4),$("#personalInvoice").click(),void 0===t){i.ready(!0);break}i.initStep3(t);break;case 4:if(void 0===t){i.ready(!0);break}i.initStep4(t);break;case"account":i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Account",i),$(".bookwize-nav").removeClass("active"),$(".nav-"+e).addClass("active");break;case"benefits":membership.isAuthenticated()?(i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Benefits",i),$(".bookwize-nav").removeClass("active"),$(".nav-"+e).addClass("active")):-1<window.location.href.indexOf("hash")?(i.destroyStep(1),i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Reset",i),$(".bookwize-nav").removeClass("active"),$(".nav-"+e).addClass("active")):IBEStepsMain.setStep("login");break;case"reservation":i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-ViewReservation",i),$(".bookwize-nav").removeClass("active");break;case"reservations":i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Reservations",i),$(".bookwize-nav").removeClass("active"),$(".nav-"+e).addClass("active");break;case"webCheckin":i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-Login"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-WebCheckin",i);break;case"login":i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-ClaimMembership"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-Login",i),$(".bookwize-nav").removeClass("active");break;case"claimMembership":i.destroyStep(2),i.destroyStep(3),i.destroyStep(4),IBE.Utils.destroyView("IBE-Member-Benefits"),IBE.Utils.destroyView("IBE-Member-ViewReservation"),IBE.Utils.destroyView("IBE-Member-Account"),IBE.Utils.destroyView("IBE-Member-Reservations"),IBE.Utils.destroyView("IBE-Member-WebCheckin"),IBE.Utils.destroyView("IBE-Member-Login"),membership.clearMessage(),i.ready(!0),IBE.Utils.bindTemplate("IBE-Member-ClaimMembership",i),$(".bookwize-nav").removeClass("active");break;default:i.ready(!0)}$(document).on("click",".culture .view-all-currencies",function(e){e.stopPropagation()}),$(document).on("focus",".editable",function(e){$("label[for='"+this.id+"']").addClass("focused")}),$(document).on("blur",".editable",function(e){$("label").removeClass("focused")}),$(document).on("click",".bookwize-step",function(e){if($(this).hasClass("inactive")||$(this).hasClass("active"))return e.preventDefault(),!1;var t=$(this).index(".bookwize-step")+1;i.currentStep!=t&&i.setStep($(this).index(".bookwize-step")+1)})},i.destroyStep=function(e){switch(e){case 1:IBE.Utils.destroyView("Step1"),step1&&(step1.dispose(),step1=void 0);break;case 2:IBE.Utils.destroyView("Step2"),step2&&(step2.dispose(),step2=void 0);break;case 3:IBE.Utils.destroyView("Step3"),step3&&(step3.dispose(),step3=void 0);break;case 4:IBE.Utils.destroyView("Step4"),step4&&(step4.dispose(),step4=void 0);break;case"guestPreferences":IBE.Utils.destroyView("GuestPreferences"),guestPreferences&&(guestPreferences.dispose(),guestPreferences=void 0)}},i.navigationSteps=function(s){$(".bookwize-step").removeClass("active").removeClass("inactive").removeClass("modify"),$(".bookwize-step").each(function(e,t){(s<e||4==i.currentStep)&&$(this).addClass("inactive"),e==s&&$(this).addClass("active"),e<s&&$(this).addClass("modify"),0==s&&($(".bookwize-step").removeClass("modify"),$(".bookwize-progress-bar-text").remove(),$(".bookwize-progress-bar-inner").remove())})},i.bookRoom=function(e){i.scrollTo({offset:0})},i.animateLabel=function(){""!==$(this).val()?$(this).parent().addClass("up"):$(this).parent().removeClass("up")},i.animateTab=function(){var e=$(this),t=$(e.data("target"));e.siblings().removeClass("active"),e.addClass("active"),t.siblings().removeClass("active"),t.addClass("active")},i.toggleActive=function(){var e=$(this),t=e.parent(),s=$(e.data("target"));t.hasClass("active")?(t.removeClass("active"),s.hide()):(t.addClass("active"),s.show(),e.hasClass("bookwize-supplements-header")&&$(".bookwize-readmore-container").readmore({speed:75,moreLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("readMore")+"</div>",lessLink:'<div class="readmore-js-toggle">'+IBE.Utils.translate("close")+"</div>"}))},i.applyBodyClass=function(){for(var e=$("body").attr("class").split(" "),t=0;t<e.length;t++)"step"===e[t].slice(0,4)&&$("body").removeClass(e[t]);$("body").addClass("step"+i.currentStep)},i.resize=function(){try{i.resizeRoomImages()}catch(e){}},i.resizeRoomImages=function(){var e=$(window).width();e<=990&&(step2.roomImageWidth(964),step2.roomImageHeight(250)),990<e&&e<=1200&&("grid"==i.layout?(step2.roomImageWidth(964),step2.roomImageHeight(250)):(step2.roomImageWidth(291),step2.roomImageHeight(210)))},i.toggleLayout=function(e){e.stopPropagation();var t=$(".change-layout li.active").data("layout"),s=$(this).data("layout");i.layout=s,$(".change-layout li").removeClass("active"),$(this).addClass("active");var a=$(".room-list");a.removeClass("layout-"+t),a.addClass("layout-"+s),a.addClass("anim"),"grid"==s?(a.find(".room-row").addClass("col-lg-4"),a.find(".room-row .row-right .room-action").addClass("clearfix"),a.find(".room-row .row-right .room-prices").addClass("col-lg-6"),a.find(".room-row .row-right .booking-action").addClass("col-lg-6 no-padding")):(a.find(".room-row").removeClass("col-lg-4"),a.find(".room-row .row-right .room-action").removeClass("clearfix"),a.find(".room-row .row-right .room-prices").removeClass("col-lg-6"),a.find(".room-row .row-right .booking-action").removeClass("col-lg-6"),a.find(".room-row .row-right .booking-action").removeClass("no-padding"),a.find(".table-list").slideDown(300)),i.resizeRoomImages(),i.roomRowStyles()},i.popup={$el:null,events:function(t,s){i.popup.$el.off("shown.bs.modal"),i.popup.$el.off("hidden.bs.modal"),i.popup.$el.on("shown.bs.modal",function(e){$("html").addClass("modal-open"),$(".modal-backdrop").height($(document).height()),i.popup.accordion(),i.popup.selectMenu(s),t.find(".popup-rateplan .book-room-button button").on("click",function(){i.popup.close(),i.bookRoom()})}),i.popup.$el.on("hidden.bs.modal",function(e){$("html").removeClass("modal-open")})},open:function(e){var t=!0;i.layout==i.layouts[1]&&($(this).hasClass("row-left")||$(this).hasClass("room-header"))&&(i.openRoomOverlay($(this)),t=!1),t&&(i.popup.$el=$(document).find("#RoomPopUp"),i.popup.events(i.popup.$el,$(this)),i.popup.$el.modal("show"))},close:function(e){$("#RoomPopUp").modal("hide"),$("body").removeClass("modal-open"),$(".modal-backdrop").remove()},accordion:function(){$("#ReservationContainer").on("shown.bs.collapse",".panel-collapse",function(){var e=$(this).parents(".panel");e.find("a .fa-caret-down").hide(),e.find("a .fa-caret-up").show()}),$("#ReservationContainer").on("hidden.bs.collapse",".panel-collapse",function(){var e=$(this).parents(".panel");e.find("a .fa-caret-down").show(),e.find("a .fa-caret-up").hide()})},selectMenu:function(e){var t=e.data("target");void 0===t&&(t="room-info"),i.popup.$el.find(".sidebar .list-group .list-group-item[data-target='"+t+"']").trigger("click");var s=e.data("rateplanId"),a=e.parents(".room-row").data("room-id");void 0!==s&&i.popup.$el.find(".nav-pills li a[data-rateplan-id='"+s+"']").trigger("click"),IBE.Utils.gaTrack({action:"send",command:"event",data:"/step2/popup/room-"+a})}},i.closeRoomOverlay=function(e){$(".room-list").removeClass("anim"),e.find(".row-left").slideDown(300,function(){e.find(".row-left").removeAttr("style")}),e.find(".table-list").slideUp(300,function(){e.find(".table-list").removeAttr("style")}),i.roomRowStyles(e)},i.roomRowStyles=function(e){var a=function(e){var t=e.length;3<=t&&e.eq(t-1).css({borderBottom:"none"}),3<t&&$(this).find(".row-center").css({"-webkit-border-radius":"0px 0px 2px 2px","border-radius":"0px 0px 2px 2px"})};if(void 0===e)$(".room-list .room-row").each(function(e,t){var s=$(this).find(".table-list .list-row");a(s)});else{var t=e.find(".table-list .list-row");a(t)}},i.scrollTo=function(e){e=$.extend({offset:0,duration:177,callback:function(){}},e),$("html:not(:animated), body:not(:animated)").animate({scrollTop:e.offset},{duration:e.duration,complete:function(){e.callback()}})},i.animate={bgImage:function(e){e=e||".background-image",$(e).addClass("animating")},stepContent:function(e,t){e=e||".step1-content",$(e).addClass("animating")},steps:function(e,t){e=e||".steps",$(e).addClass("animating")},roomRow:function(e,t){e=e||".room-row",$(e).addClass("animating")}},i.pushStates=function(){History.options.hashChangeInterval=500,$(document).on("click","a",function(e){var t=$(this).parent(),s=$(this).attr("href"),a=$(this).attr("title"),o=i.getParam(s,"page");return!t.is(".bookwize-step.inactive")&&(i.currentStep!=i.getParam(s,"page")&&(""!=o&&-1!=window.location.href.indexOf(IBEConfig.integrated_page)&&(e.preventDefault(),routes.hasOwnProperty(o)?History.pushState({page:i.getParam(s,"page")},a,s):History.pushState({page:"1"},i.metaTitles[0],"?page=1"),i.closeAnimatedElements()),!0))})},i.getParam=function(e,t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var s=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);return null==s?"":decodeURIComponent(s[1].replace(/\+/g," "))},i.isPageStateActive=function(){return i.getParam(window.location.search,"page")==History.getState().data.page},i.closeAnimatedElements=function(){$.each([".header-sidebar",".reservation-container"],function(e,t){$.each($(t),function(e,t){var s=$(t).attr("class").split(" ");$(s).each(function(e,t){s[e]=-1===t.indexOf("animate-")?t:""}),$(t).attr("class",s.join(" "))})})}}function Loader(){var t=this,s=ko.observable(!1);t.$loader=$(".loader"),t.title=ko.observable("Please wait ..."),t.message=ko.observable(new IBE.Models.Message),t.showError=ko.computed(function(){return"critical"==t.message().severity}),t.clear=function(){t.message(new IBE.Models.Message),t.title("")},t.reload=function(){t.clear(),window.location.reload()},t.visible=ko.computed({read:function(){return s()},write:function(e){0<t.message().id?s(!0):s(e),s()?t.$loader.show():t.$loader.hide()}}).extend({notify:"always"})}function submitStep1(e){step2&&!step2.preferencesChanged()||e&&(allowForward=!0,IBEStepsMain.ready(!1),IBEStepsMain.setStep(2,e))}function submitStep2(e){e&&(allowForward=!0,IBEStepsMain.ready(!1),IBEStepsMain.setStep(3,e))}function submitStep3(e){e&&(allowForward=!0,IBEStepsMain.ready(!1),IBEStepsMain.setStep(4,e))}var step1,step2,step3,step4,footer,header,IBEStepsMain,myReservation,customerLogin,guestPreferences,account,benefit,reservation,loader,contact,ratePlan,lang,member;$(document).ready(function(){"object"==typeof google&&"object"==typeof google.maps||($.getScript("https://maps.googleapis.com/maps/api/js?key=AIzaSyAwNrMVC8KUcrJXw5ceZbJJ6NP2rK37TBQ",function(){}),IBE.Config.display_header&&$("#Currency").show())});var routes={1:"Step1",2:"Step2",3:"Step3",4:"Step4",Rateplan:"Rateplan",MyReservation:"MyReservation",Contact:"Contact",Membership:"Membership"},allowForward=!($.wait=function(e){var t=$.Deferred();return setTimeout(function(){t.resolve()},e),t});IBEStepsMain=new MainView,$(function(){if((loader=new Loader).visible(!0),IBEStepsMain.formModel=ko.observable(!1),$(".bookwize-integrated-form").length){(step1=new IBE.ViewModels.Step1ViewModel).init();var o=0;step1.submit=function(e){if(e){var t=step1.checkIn().format("YYYY-MM-DD"),s=step1.checkOut().format("YYYY-MM-DD");ko.utils.arrayForEach(step1.requestedRooms()[0].guests,function(e){"Adult"===e.ageCategory()?o+=e.pax():o+=("/"+e.fromAge()).repeat(e.pax())});var a=step1.boardType();window.location.href=IBE.Config.integrated_page+"?page=2&ci="+t+"&co="+s+"&r="+o+"&board="+a}e.failure&&IBE.Utils.consoleLog("Failed to submit step 1")},$(".bookwize-integrated-form .btn-primary").css("background",IBE.Config.bwButtonColor),$(".bookwize-integrated-form").show()}ko.applyBindings(loader,document.getElementById("Loader")),(header=new IBE.ViewModels.HeaderViewModel).view.subscribe(function(e){switch(e){case"book":$(".steps").show();break;default:$(".steps").hide()}}),IBEStepsMain.isIntegratedPage()&&IBE.Utils.bindTemplate("Header",header,void 0,{afterRender:function(){header.init()}}),lang&&header.lang(lang),IBEStepsMain.lang=header.lang,IBEStepsMain.currency=header.currency,IBEStepsMain.pushStates(),$("#Currency").length&&$.when(IBE.Utils.bindTemplate("Currency",header)).then(function(){header.init()})}),IBEStepsMain.isIntegratedPage()&&function(r,e){var t=IBEStepsMain.getParam(r.location.search,"theme");""!==t&&(IBEStepsMain.theme=t),IBEStepsMain.setTheme();var s=$("html").attr("lang");s&&s[3]&&-1!=IBE.Config.languages.indexOf(s[3])&&(lang=s[3]),IBEStepsMain.lang(lang),History.Adapter.onDomLoad(function(e){var t=History.getState();if(void 0===t.data.page){var s=IBEStepsMain.getParam(r.location.search,"page");if(""==s)""!=IBEStepsMain.getParam(r.location.search,"rp")&&(s="rp");t.data.page=""==s?"1":s}switch(t.data.page=""+t.data.page,t.data.page.toLocaleLowerCase()){case"myreservation":IBEStepsMain.initMyReservation();break;case"membership":IBEStepsMain.initMembership();break;case"contact":IBEStepsMain.initContact();break;case"rp":IBEStepsMain.initRatePlan();break;default:var a=Cache.read("ReservationUser");if(!1!==a){IBEStepsMain.setStep(4,a);break}IBEStepsMain.setStep(1),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step1"})}}),History.Adapter.bind(r,"statechange",function(e){var t=History.getState(),s=History.savedStates,a=s[s.length-2];if("MyReservation"==a.data.page&&"2"==t.data.page&&(t.data.page="1"),"MyReservation"==a.data.page&&"3"==t.data.page&&(t.data.page="1"),"MyReservation"==a.data.page&&"4"==t.data.page&&(t.data.page="1"),"Membership"==a.data.page&&"2"==t.data.page&&(t.data.page="1"),"Membership"==a.data.page&&"3"==t.data.page&&(t.data.page="1"),"Membership"==a.data.page&&"4"==t.data.page&&(t.data.page="1"),void 0!==t.data.page){if(1==t.data.page.length&&a.data.page<t.data.page&&0==allowForward&&History.pushState({page:a.data.page+""},IBEStepsMain.metaTitles[a.data.page-1],"?page="+a.data.page),"4"==a.data.page&&t.data.page<a.data.page&&(t.data.page="1"),"4"==t.data.page&&"3"!=a.data.page){if(!1!==Cache.read("ReservationUser"))return!0;t.data.page="1"}if("3"==t.data.page&&"2"!=a.data.page&&(t.data.page="1"),IBEStepsMain.getParam(r.location.search,"page")==a.data.page||t.data.page==a.data.page)return!1;IBEStepsMain.popup.close();var o,i=IBE.Utils.parseDeepLinking(r.location.search,step1);if(!1!==i)return submitStep1(i),!0;switch(routes.hasOwnProperty(t.data.page)||History.pushState({page:"1"},IBEStepsMain.metaTitles[0],"?page=1"),1==t.data.page.length&&a.data.page>t.data.page&&1==allowForward&&(allowForward=!1),t.data.page=""+t.data.page,t.data.page.toLocaleLowerCase()){case"myreservation":IBE.Utils.prepareView("myreservation"),IBEStepsMain.initMyReservation(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/myreservation"});break;case"membership":IBE.Utils.prepareView("membership"),IBEStepsMain.initMembership(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/membership"});break;case"contact":IBE.Utils.prepareView("contact"),IBEStepsMain.initContact(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/contact"});break;case"rp":IBE.Utils.prepareView("rateplan"),IBEStepsMain.initRatePlan(),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/rateplan"});break;case"1":o=t.data.page,IBE.Utils.prepareView(o),IBEStepsMain.setStep(parseInt(o)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step1"}),IBE.Utils.gaRemarketingTrack(IBE.Utils.getReservationSetting(step1,"adwordsConversionId"));break;case"2":if(2===IBEStepsMain.currentStep)return;o=t.data.page,IBE.Utils.prepareView(o),IBEStepsMain.setStep(parseInt(o)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step2"}),IBE.Utils.gaRemarketingTrack(IBE.Utils.getReservationSetting(step2,"adwordsConversionId"));break;case"3":o=t.data.page,IBE.Utils.prepareView(o),IBEStepsMain.setStep(parseInt(o)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step3"});break;case"4":o=t.data.page,IBE.Utils.prepareView(o),IBEStepsMain.setStep(parseInt(o)),IBE.Utils.gaTrack({action:"send",command:"pageview",data:"/step4"});break;default:IBE.Utils.consoleLog("invalid url:"+t.data.step)}}else History.pushState({page:"1"},IBEStepsMain.metaTitles[0],"?page=1")})}(window);
Note: See TracChangeset
for help on using the changeset viewer.