1"use strict";(self.webpackChunklib=self.webpackChunklib||[]).push([[1545,3926],{96307:(e,t,r)=>{var s=r(23161),i=r(70046),o=document.querySelectorAll(".js-open-contact-us-modal");(0,i.A)(o,"click",(()=>{var e=new s.default(".js-contact-us-modal-2",{selectors:{close:".js-modal-close-2",content:".js-modal-content-2"}});o.forEach((t=>{t.addEventListener("click",(()=>e.show()))})),e.show(),travel.modals&&travel.modals.add("contact-us-modal",e)}));var n=r(78857),c={required:e=>!!e&&!!e.toString().trim().length,email:e=>/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)i/.test(e)};class a extends n.A{constructor(e){if(super(),this.form=e instanceof HTMLElement?e:document.querySelector(e),!this.form)throw new Error("ValidateForm: param form(element or selector) is required");this.touch=!1,this.form.addEventListener("input",this.revalidation.bind(this),{passive:!0}),this.form.addEventListener("change",this.revalidation.bind(this),{passive:!0})}validation(){this.touch=!0;var e=Object.keys(this.rules).reduce(((e,t)=>(e[t]=this.rules[t](this.form[t].value),e)),{});return this.showErrors(e),!Object.values(e).filter((e=>!e)).length}showErrors(e){Object.keys(e).forEach((t=>{var r=this.form[t]instanceof NodeList?[...this.form[t]]:[this.form[t]];e[t]?r.forEach((e=>e.classList.remove("invalid"))):r.forEach((e=>e.classList.add("invalid")))}))}revalidation(e){if(this.touch){var t=e.target;if(this.rules[t.name]){var r=this.rules[t.name](t.value);this.showErrors({[t.name]:r})}}}}const l=a;function d(e,t,r,s,i,o,n){try{var c=e[o](n),a=c.value}catch(e){return void r(e)}c.done?t(a):Promise.resolve(a).then(s,i)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(s,i){var o=e.apply(t,r);function n(e){d(o,s,i,n,c,"next",e)}function c(e){d(o,s,i,n,c,"throw",e)}n(void 0)}))}}const u=class extends l{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),this.options=t,this.init()}init(){this.initValidation(),this.initSubmit()}initValidation(){this.rules={f_name:c.required,f_email:e=>c.required(e)&&c.email(e),f_subject:c.required,f_message:c.required}}initSubmit(){this.form.addEventListener("submit",this.submit.bind(this))}submit(e){var t=this;return h((function*(){if(e.preventDefault(),t.validation()){t.emit("loading");try{yield t.sendForm(),t.emit("success")}
1catch(e){throw t.emit("error"),new Error("Fail to submit contact form. ".concat(e))}}}))()}sendForm(){var e=this;return h((function*(){var t=new FormData(e.form);t.append("page","contact"),t.append("type","ajax");var r=yield fetch("/",{method:"POST",body:t});if(!(yield r.json()).success)throw new Error('ContactUs: response property "success" is false')}))()}resetForm(){this.touch=!1,this.form.reset()}};var f=r(1038),v=r.n(f),m=document.querySelector(".js-contact-us-form");new(v())(m.querySelector("#f_subject"));var p=new u(m),b={hide:()=>{m.dataset.status=""},show:e=>{b.hide(),m.dataset.status=e}};p.on("loading",(()=>{var e;m&&"first-screen-trigger"===m.dataset.eventSource&&(null===(e=travel.events)||void 0===e||null===(e=e.contactUsFirstScreenPopup)||void 0===e||e.send("send-btn"));b.show("loading")})),p.on("success",(()=>{b.hide(),b.show("success"),p.resetForm(),setTimeout((()=>b.hide()),3e3)})),p.on("error",(()=>{b.hide(),b.show("error"),setTimeout((()=>b.hide()),3e3)}))},23161:(e,t,r)=>{r.d(t,{default:()=>n});var s=r(23710);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,s)}return r}function o(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var s=r.call(e,t||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class n extends s.default{constructor(e){var{trigger:t="",toggleClass:r,selectors:s,hideOnBackdrop:n=!0,lockScroll:c=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(t,{target:e,toggleClass:r}),this.selectors=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({close:".js-popup-close",content:".js-popup-content"},s),this.callbacks={show:()=>this.show(),hide:()=>this.hide(),clickBackdropHandler:e=>this._clickBackdropHandler(e)},this.lockScroll=c,this.initCloseBtn(),n&&this.initHideOnClickOutSide()}initCloseBtn(){this._closeTriggers=[...this.target.querySelectorAll(this.selectors.close)],this._closeTriggers.forEach((e=>e.addEventListener("click",this.callbacks.hide)))}initHideOnClickOutSide(){this.target.addEventListener("click",this.callbacks.clickBackdropHandler)}_clickBackdropHandler(e){e.target.matches(this.selectors.content)||e.target.closest(this.selectors.content)||this.hide()}show(){this.lockScroll&&(document.body.style.overflow="hidden"),super.show()}hide(){this.lockScroll&&(document.body.style.overflow="auto"),super.hide()}destroy(){super.destroy(),this._closeTriggers.forEach((e=>e.removeEventListener("click",this.callbacks.hide))),this.target.removeEventListener("click",this.callbacks.clickBackdropHandler)}}},70046:(e,t,r)=>{r.d(t,{A:()=>s});const s=(e,t,r)=>{var s=e instanceof NodeList?e:document.querySelectorAll(e),i=e=>{r(e),o()},o=()=>{s.forEach((e=>e.removeEventListener(t,i)))};s.forEach((e=>e.addEventListener(t,i)))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.