{"version":3,"file":"js/44304-d85c37e1910bd84fd5f5.js","mappings":"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,SAAU,SAAU,aAAc,aAAc,aAAc,WAAY,WAAY,SAAU,SAAU,UAAW,WAAY,SAAU,WAAY,UAAW,SAAU,YAAa,SAAU,SAAU,aAAc,aAAc,aAAc,YAAa,UAAW,WAAY,UAAW,WAAY,aAAc,WAAY,SAAU,UAAW,WAAY,aAAc,UAAW,WAAY,QAAS,YAAa,UAAW,WAAY,UAAW,WAAY,aAAc,WAAY,QAAS,WAAY,aAAc,aAAc,aAAc,aAAc,YAAa,WAAY,WAAY,OAAQ,SAAU,UAAW,WAAY,YAAa,YAAa,SAAU,WAAY,YAAa,SAAU,OAAQ,SAAU,WAAY,YAAa,SAAU,UAAW,WAAY,QAAS,WAAY,UAAW,WAAY,UAAW,UAAW,OAAQ,YAAa,WAAY,SAAU,SAAU,WAAY,WAAY,SAAU,WAAY,WAAY,YAAa,OAAQ,QAAS,WAAY,WAAY,SAAU,YAAa,aAAc,UAAW,SAAU,WAAY,WAAY,YAAa,WAAY,SAAU,UAAW,WAAY,YAAa,OAAQ,QAAS,SAAU,SAAU,UAAW,WAAY,WAAY,YAAa,WAAY,SAAU,WAAY,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,SAAU,WAAY,aAAc,aAAc,WAAY,QAAS,QAAS,OAAQ,SAAU,UAAW,SAAU,WAAY,WAAY,UAAW,SAAU,UAAW,OAAQ,WAAY,OAAQ,UAAW,UAAW,WAAY,SAAU,SAAU,WAAY,YAAa,OAAQ,UAAW,WAAY,YAAa,WAAY,QAAS,WAAY,OAAQ,WAAY,SAAU,UAAW,WAAY,WAAY,WAAY,WAAY,OAAQ,SAAU,SAAU,UAAW,SAAU,UAAW,WAAY,UAAW,WAAY,WAAY,WAAY,UAAW,WAAY,WAAY,UAAW,WAAY,SAAU,SAAU,WAAY,SAAU,WAAY,WAAY,SAAU,WAAY,SAAU,OAAQ,QAAS,WAAY,aAAc,SAAU,OAAQ,SAAU,SAAU,WAAY,WAAY,QAAS,QAAS,YAAa,UAAW,SAAU,SAAU,SAAU,SAAU,QAAS,WAAY,SAAU,WAAY,WAAY,UAAW,WAAY,QAAS,WAAY,SAAU,SAAU,WAAY,SAAU,WAAY,aAAc,WAAY,UAAW,SAAU,QAAS,QAAS,SAAU,QAAS,WAAY,SAAU,WAAY,UAAW,SAAU,WAAY,WAAY,WAAY,YAAa,YAAa,WAAY,YAAa,YAAa,WAAY,YAAa,YAAa,WAAY,SAAU,eAAgB,OAAQ,SAAU,UAAW,WAAY,WAAY,SAAU,OAAQ,WAAY,QAAS,WAAY,WAAY,YAAa,QAAS,UAAW,WAAY,QAAS,SAAU,WAAY,WAAY,WAAY,WAAY,YAAa,YAAa,YAAa,SAAU,UAAW,WAAY,WAAY,QAAS,WAAY,WAAY,WAAY,WAAY,WAAY,cAAe,YAAa,WAAY,OAAQ,WAAY,YAAa,SAAU,UAAW,YAAa,SAAU,WAAY,WAAY,WAAY,SAAU,SAAU,WAAY,QAAS,SAAU,WAAY,SAAU,WAAY,WAAY,WAAY,WAAY,WAAY,aAAc,WAAY,WAAY,SAAU,QAAS,WAAY,WAAY,WAAY,QAAS,SAAU,YAAa,OAAQ,QAAS,SAAU,WAAY,WAAY,YAAa,SAAU,WAAY,SAAU,WAAY,WAAY,WAAY,SAAU,UAAW,WAAY,SAAU,UAAW,WAAY,WAAY,WAAY,WAAY,SAAU,YAAa,YAAa,aAAc,eAAgB,SAAU,aAAc,UAAW,OAAQ,YAAa,QAAS,SAAU,WAAY,QAAS,WAAY,WAAY,aAAc,SAAU,UAAW,YAAa,WAAY,WAAY,SAAU,QAAS,SAAU,WAAY,UAAW,WAAY,SAAU,WAAY,WAAY,OAAQ,WAAY,YAAa,SAAU,SAAU,SAAU,SAAU,OAAQ,UAAW,WAAY,WAAY,WAAY,WAAY,UAAW,WAAY,WAAY,UAAW,WAAY,SAAU,WAAY,YAAa,SAAU,aAAc,UAAW,YAAa,YAAa,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAAa,YAAa,SAAU,WAAY,YAAa,OAAQ,SAAU,OAAQ,WAAY,WAAY,WAAY,QAAS,SAAU,WAAY,SAAU,WAAY,WAAY,WAAY,WAAY,UAAW,WAAY,WAAY,SAAU,SAAU,WAAY,QAAS,SAAU,SAAU,QAAS,WAAY,UAAW,WAAY,WAAY,QAAS,SAAU,WAAY,WAAY,SAAU,WAAY,UAAW,UAAW,UAAW,WAAY,WAAY,YAAa,WAAY,SAAU,WAAY,QAAS,SAAU,UAAW,WAAY,YAAa,aAAc,aAAc,aAAc,WAAY,WAAY,YAAa,YAAa,SAAU,WAAY,SAAU,WAAY,QAAS,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAW,UAAW,WAAY,YAAa,UAAW,QAAS,SAAU,OAAQ,WAAY,WAAY,WAAY,YAAa,WAAY,aAAc,YAAa,aAAc,aAAc,aAAc,cAAe,aAAc,YAAa,aAAc,YAAa,YAAa,YAAa,YAAa,YAAa,WAAY,YAAa,UAAW,WAAY,OAAQ,UAAW,WAAY,SAAU,WAAY,WAAY,WAAY,WAAY,QAAS,SAAU,QAAS,UAAW,WAAY,UAAW,WAAY,YAAa,WAAY,WAAY,SAAU,SAAU,WAAY,YAAa,SAAU,WAAY,OAAQ,QAAS,UAAW,QAAS,WAAY,WAAY,YAAa,WAAY,SAAU,WAAY,aAAc,aAAc,aAAc,YAAa,aAAc,cAAe,aAAc,aAAc,aAAc,aAAc,YAAa,aAAc,aAAc,aAAc,YAAa,YAAa,YAAa,UAAW,aAAc,WAAY,SAAU,UAAW,QAAS,SAAU,QAAS,SAAU,YAAa,WAAY,aAAc,SAAU,SAAU,SAAU,UAAW,WAAY,UAAW,WAAY,SAAU,UAAW,WAAY,WAAY,UAAW,WAAY,WAAY,WAAY,YAAa,SAAU,WAAY,WAAY,UAAW,WAAY,SAAU,WAAY,OAAQ,SAAU,YAAa,WAAY,WAAY,WAAY,UAAW,SAAU,WAAY,WAAY,SAAU,WAAY,WAAY,aAAc,WAAY,YAAa,QAAS,SAAU,SAAU,WAAY,SAAU,YAAa,SAAU,UAAW,WAAY,UAAW,WAAY,WAAY,YAAa,QAAS,WAAY,aAAc,SAAU,WAAY,WAAY,aAAc,YAAa,SAAU,OAAQ,SAAU,UAAW,WAAY,SAAU,OAAQ,YAAa,SAAU,SAAU,SAAU,YAAa,SAAU,YAAa,OAAQ,QAAS,SAAU,WAAY,YAAa,SAAU,YAAa,SAAU,WAAY,WAAY,WAAY,WAAY,WAAY,YAAa,SAAU,SAAU,SAAU,aAAc,WAAY,WAAY,SAAU,aAAc,aAAc,SAAU,WAAY,OAAQ,QAAS,WAAY,WAAY,WAAY,YAAa,WAAY,YAAa,aAAc,WAAY,QAAS,SAAU,SAAU,SAAU,UAAW,SAAU,SAAU,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAAa,QAAS,WAAY,YAAa,aAAc,SAAU,WAAY,YAAa,WAAY,SAAU,SAAU,WAAY,YAAa,aAAc,QAAS,SAAU,SAAU,OAAQ,SAAU,UAAW,SAAU,WAAY,aAAc,SAAU,WAAY,UAAW,WAAY,UAAW,UAAW,WAAY,QAAS,WAAY,SAAU,SAAU,WAAY,WAAY,YAAa,OAAQ,WAAY,cAAe,WAAY,OAAQ,SAAU,SAAU,SAAU,SAAU,WAAY,WAAY,WAAY,UAAW,WAAY,WAAY,SAAU,SAAU,YAAa,UAAW,WAAY,SAAU,SAAU,WAAY,WAAY,WAAY,WAAY,YAAa,SAAU,WAAY,YAAa,QAAS,SAAU,WAAY,QAAS,SAAU,UAAW,SAAU,UAAW,UAAW,WAAY,aAAc,WAAY,WAAY,YAAa,QAAS,WAAY,UAAW,WAAY,SAAU,SAAU,SAAU,UAAW,WAAY,SAAU,WAAY,SAAU,OAAQ,QAAS,SAAU,OAAQ,QAAS,SAAU,WAAY,SAAU,SAAU,UAAW,WAAY,WAAY,SAAU,QAAS,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAU,UAAW,UAE1rWxb,EAAOC,QACxCD,EAAOC,QAAUiX,EACU,oBAAXsF,QAAyBA,EAAAA,KACzCA,OAAO,oBAAqB,IAAI,WAC9B,OAAOtF,CACT,IAC4B,kBAAZxT,SAChBA,OAAOwT,iBAAmBA,E","sources":["webpack://cms-web/./app/assets/javascripts/i18n/ lazy ^\\.\\/.*$ namespace object","webpack://cms-web/./app/frontend/src/blocks/mice_form/mice.analytics.js","webpack://cms-web/./app/frontend/src/core/iberapi/admin_browsing/admin_browsing.js","webpack://cms-web/./app/frontend/src/core/iberapi/market_simulator/market_simulator.js","webpack://cms-web/./app/frontend/src/shared/ihg_button/ihg_button.js","webpack://cms-web/./app/frontend/src/layout/mobile_header/mobile_header.js","webpack://cms-web/./app/frontend/src/shared/forms/forms.analytics.js","webpack://cms-web/./app/frontend/src/shared/forms/forms_CRM_validation.js","webpack://cms-web/./app/frontend/src/shared/forms/forms.js","webpack://cms-web/./app/frontend/src/shared/forms/forms_validation.js","webpack://cms-web/./app/frontend/src/shared/forms/reservation_management_form.js","webpack://cms-web/./app/frontend/src/shared/locale_form/locale_form.js","webpack://cms-web/./app/frontend/src/vendors/forms/parsley_password.js","webpack://cms-web/./app/frontend/src/vendors/forms/formz.js","webpack://cms-web/./app/frontend/src/core/utils/validators.js","webpack://cms-web/./app/frontend/src/vendors/forms/parsley_custom_validators.js","webpack://cms-web/./app/frontend/src/vendors/forms/password_strength.js"],"sourcesContent":["var map = {\n\t\"./de\": [\n\t\t38161,\n\t\t38161\n\t],\n\t\"./de.js\": [\n\t\t38161,\n\t\t38161\n\t],\n\t\"./en\": [\n\t\t15961,\n\t\t15961\n\t],\n\t\"./en.js\": [\n\t\t15961,\n\t\t15961\n\t],\n\t\"./es\": [\n\t\t76654,\n\t\t76654\n\t],\n\t\"./es.js\": [\n\t\t76654,\n\t\t76654\n\t],\n\t\"./fr\": [\n\t\t94262,\n\t\t94262\n\t],\n\t\"./fr.js\": [\n\t\t94262,\n\t\t94262\n\t],\n\t\"./it\": [\n\t\t20107,\n\t\t20107\n\t],\n\t\"./it.js\": [\n\t\t20107,\n\t\t20107\n\t],\n\t\"./pt\": [\n\t\t83078,\n\t\t83078\n\t],\n\t\"./pt.js\": [\n\t\t83078,\n\t\t83078\n\t],\n\t\"./ru\": [\n\t\t90619,\n\t\t90619\n\t],\n\t\"./ru.js\": [\n\t\t90619,\n\t\t90619\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 62155;\nmodule.exports = webpackAsyncContext;","import { sendUtagEvent } from '../../../src/core/analytics/utag_events'\nimport { getCleanedString } from '../../../src/utils/utilities'\n\nexport function initializeUtagMiceEvents() {\n function getOnlyLetters(str) {\n let newStr = getCleanedString(str)\n newStr = newStr.replace(/[^a-zA-Z]/g, '')\n return newStr\n }\n const day = document.getElementById('date_day').value\n const month = document.getElementById('date_month').value\n const year = document.getElementById('date_year').value\n let date = ''\n if (day !== '' && month !== '' && year !== '') {\n date = `${day}/${month}/${year}`\n }\n const servicesElement = document.getElementById('services')\n const selectedOptions = Array.from(servicesElement.selectedOptions)\n const selectedServices =\n selectedOptions.length > 0 ? selectedOptions.map(option => option.value.replace(/\\s+/g, '-')).join('_') : ''\n\n const fields = [\n { label: document.getElementById('type_event').value },\n { label: document.getElementById('applicant').value },\n { label: selectedServices },\n { label: getOnlyLetters(document.getElementById('country').value) },\n { label: document.getElementById('hear_about_us').value },\n { label: date },\n { label: document.getElementById('preferred_destination').value },\n { label: document.getElementById('number_guests').value },\n { label: document.getElementById('number_rooms').value },\n ]\n\n const act = 'toe-tor-spa-cou-hhu-ied-des-ngu-roo'\n const label = []\n\n fields\n .filter(field => field.label !== '')\n .forEach(field => {\n label.push(field.label)\n })\n\n sendUtagEvent({\n data: {\n event_name: 'quote_mice',\n event_cat: 'rfp',\n event_act: act,\n event_lbl: label.join('-'),\n event_purpose: 'booking',\n event_structure: 'impression',\n },\n })\n}\n","import Modal from '../../../shared/modal/modal'\n\nfunction adminBrowsingIsValidElem(el) {\n const adminBrowsingIgnoreElems = ['input[type=\"hidden\"]']\n return adminBrowsingIgnoreElems.every(function (value) {\n return !(el.matches(value) || el.classList.contains(value))\n })\n}\n\nfunction adminBrowsingGetElem(el) {\n let newEl = el.nextElementSibling\n while (newEl && !adminBrowsingIsValidElem(newEl)) {\n newEl = newEl.nextElementSibling\n }\n return newEl\n}\n\nfunction adminBrowsingBtnPosition() {\n document.querySelectorAll('.admin-browsing').forEach(function (el) {\n const blockElement = adminBrowsingGetElem(el)\n let elTop = blockElement.getBoundingClientRect().top + window.scrollY\n const elLeft = blockElement.getBoundingClientRect().left + blockElement.offsetWidth\n const id = el.getAttribute('id')\n\n document.querySelectorAll(`*[data-admin-id=\"${id}\"]`).forEach(function (adminEl) {\n adminEl.style.top = `${elTop}px`\n adminEl.style.left = `${elLeft}px`\n elTop += 60\n })\n })\n}\n\nfunction adminBrowsingImageParse(desktop_url, mobile_url, pattern) {\n const desktop_matches = desktop_url.match(pattern)\n const image = {\n image_url: { desktop: desktop_matches.input },\n edit_url: { desktop: `/admin/images/${desktop_matches[1]}/crops/ratio/${desktop_matches[2]}/edit` },\n metadata_url: {\n desktop: `/admin/images/${desktop_matches[1]}/crops/ratio/${desktop_matches[2]}/${desktop_matches[3]}/metadata`,\n },\n crop_ratio: { desktop: `${desktop_matches[2]}[${desktop_matches[3]}]` },\n }\n\n if (typeof mobile_url !== 'undefined' && mobile_url !== '') {\n const mobile_matches = mobile_url.match(pattern)\n image.image_url.mobile = mobile_matches.input\n image.edit_url.mobile = `/admin/images/${mobile_matches[1]}/crops/ratio/${mobile_matches[2]}/edit`\n image.metadata_url.mobile = `/admin/images/${mobile_matches[1]}/crops/ratio/${mobile_matches[2]}/${mobile_matches[3]}/metadata`\n }\n\n return image\n}\n\nfunction openModalAdminBrowser(htmlString) {\n const btnAdminBrowsing = document.querySelector('.js-admin-browsing-btn')\n btnAdminBrowsing.setAttribute('data-admin-browsing-modal-trigger', 'modal-admin-browsing-id')\n Modal.showHtml({\n openTrigger: 'data-admin-browsing-modal-trigger',\n html: htmlString,\n onShow: () => {\n ScrollLock.on()\n },\n onClose: () => {\n ScrollLock.off()\n },\n awaitCloseAnimation: true,\n })\n}\n\nfunction adminBrowsingBtnClick(element) {\n const el = element\n const block = document.querySelector(`#${el.dataset.adminId}`).nextElementSibling\n const editBlockUrl = el.dataset.adminLink\n const editBlockTitle = el.dataset.title\n const imagePattern = new RegExp('/uploads/image/(\\\\d+)/crops/([\\\\d|:]+)/(\\\\d+)')\n const images = []\n let lastImage = ''\n\n block.querySelectorAll('*').forEach(function (child) {\n const src = child.getAttribute('src')\n const srcset = child.getAttribute('srcset')\n const bg = child.style.backgroundImage.replace('url(', '').replace(')', '').replace(/\\\"/gi, '')\n const mobile_url = child.dataset.mobile\n const substrings = srcset !== null ? srcset.split(',') : []\n if (imagePattern.test(src)) {\n images.push(adminBrowsingImageParse(src, mobile_url, imagePattern))\n }\n\n if (imagePattern.test(bg)) {\n images.push(adminBrowsingImageParse(bg, mobile_url, imagePattern))\n }\n\n if (imagePattern.test(srcset)) {\n const image = srcset\n for (var i = 0; i < substrings.length; i++) {\n if (imagePattern.test(substrings[i].trim())) {\n const image = substrings[i].trim().replace(/ \\d+w/g, '')\n if (image !== lastImage) {\n images.push(adminBrowsingImageParse(image, mobile_url, imagePattern))\n }\n lastImage = image\n }\n }\n }\n })\n\n const htmlLightbox = document.createElement('div')\n htmlLightbox.className = 'admin-browsing-container'\n htmlLightbox.setAttribute('id', 'modal-admin-browsing-id')\n\n const editBlockButton = document.createElement('a')\n editBlockButton.className = 'btn-primary'\n editBlockButton.target = '_blank'\n editBlockButton.href = editBlockUrl\n editBlockButton.innerHTML = editBlockTitle\n htmlLightbox.appendChild(editBlockButton)\n\n images.forEach(function (image) {\n let imageContainer = document.createElement('div')\n imageContainer.className = 'cols-2'\n let imageDiv = document.createElement('div')\n imageDiv.className = 'col'\n let linkDiv = document.createElement('div')\n linkDiv.className = 'col'\n imageContainer.appendChild(imageDiv)\n imageContainer.appendChild(linkDiv)\n\n let img = document.createElement('img')\n img.srcset = image.image_url.desktop\n img.className = 'block-image'\n imageDiv.appendChild(img)\n\n let editLink = document.createElement('a')\n editLink.className = 'btn btn-primary'\n editLink.target = '_blank'\n editLink.href = image.edit_url.desktop\n editLink.innerHTML =\n typeof image.image_url.mobile === 'undefined'\n ? `Edit image crop ${image.crop_ratio.desktop}`\n : `Edit image crop (Desktop) ${image.crop_ratio.desktop}`\n linkDiv.appendChild(editLink)\n\n let metadataLink = document.createElement('a')\n metadataLink.className = 'btn btn-primary'\n metadataLink.target = '_blank'\n metadataLink.href = image.metadata_url.desktop\n metadataLink.innerHTML = 'View Akamai metadata'\n linkDiv.appendChild(metadataLink)\n\n htmlLightbox.appendChild(imageContainer)\n\n if (typeof image.image_url.mobile !== 'undefined') {\n imageContainer = document.createElement('div')\n imageContainer.className = 'cols-2'\n imageDiv = document.createElement('div')\n imageDiv.className = 'col'\n linkDiv = document.createElement('div')\n linkDiv.className = 'col'\n imageContainer.appendChild(imageDiv)\n imageContainer.appendChild(linkDiv)\n\n img = document.createElement('img')\n img.srcset = image.image_url.mobile\n img.className = 'block-image'\n imageDiv.appendChild(img)\n\n editLink = document.createElement('a')\n editLink.className = 'btn-primary'\n editLink.target = '_blank'\n editLink.href = image.edit_url.mobile\n editLink.innerHTML = 'Edit image crop (Mobile)'\n linkDiv.appendChild(editLink)\n\n metadataLink = document.createElement('a')\n metadataLink.className = 'btn btn-primary'\n metadataLink.target = '_blank'\n metadataLink.href = image.metadata_url.mobile\n metadataLink.innerHTML = 'View Akamai metadata'\n linkDiv.appendChild(metadataLink)\n\n htmlLightbox.appendChild(imageContainer)\n }\n })\n const htmlString = htmlLightbox.outerHTML\n openModalAdminBrowser(htmlString)\n}\n\nfunction adminBrowsingBtnDblClick(element) {\n const el = element\n const blockId = el.dataset.adminId.split('-').pop()\n const blockSlotId = el.dataset.adminLink.split('-').pop()\n const url = el.dataset.adminLink.replace('/edit/', `/block_slots/${blockSlotId}/blocks/${blockId}/quick_edit/`)\n window.open(url)\n}\n\nfunction init() {\n if (document.querySelector('.admin-browsing')) {\n window.IB.adminBrowsing.adminBrowsingBtnPosition()\n }\n}\n\nwindow.IB = window.IB || {}\nwindow.IB.adminBrowsing = {\n init,\n adminBrowsingBtnPosition,\n adminBrowsingBtnClick,\n adminBrowsingBtnDblClick,\n}\n\nwindow.addEventListener('load', function () {\n if (document.querySelector('.admin-browsing')) {\n import('./admin_browsing.scss')\n\n window.IB.adminBrowsing.init()\n\n let clickCount = 0\n let singleClickTimer = null\n document.addEventListener('click', function (e) {\n if (e.target.matches('*[data-admin-id]')) {\n e.preventDefault()\n const element = e.target\n clickCount++\n if (clickCount === 1) {\n singleClickTimer = setTimeout(function () {\n clickCount = 0\n window.IB.adminBrowsing.adminBrowsingBtnClick(element)\n }, 220)\n } else if (clickCount === 2) {\n clearTimeout(singleClickTimer)\n clickCount = 0\n window.IB.adminBrowsing.adminBrowsingBtnDblClick(element)\n }\n }\n })\n\n window.addEventListener('resize', function () {\n window.IB.adminBrowsing.adminBrowsingBtnPosition()\n })\n }\n})\n","import './market_simulator.scss'\n\n\n$(function () {\n let $simulator = $('#market-simulator');\n $simulator.on('mousenter', '.title', function () {\n $simulator.addClass('opened');\n });\n $simulator.on('click', '.title', function () {\n $simulator.toggleClass('opened');\n });\n $simulator.on('click', '.close', function () {\n $simulator.removeClass('opened');\n });\n});\n","import { showWelcomeModalIHG } from '../ihg_modal/ihg_modal'\n\nconst IGH_BUTTON_SELECTOR = '.js-ihg-modal-button'\nconst IHG_MODAL_ID = 'js-modal-bottom-ihg'\n\nfunction init() {\n const buttons = document.querySelectorAll(IGH_BUTTON_SELECTOR)\n\n buttons.forEach(button => {\n button.addEventListener('click', () => {\n showWelcomeModalIHG(IHG_MODAL_ID)\n })\n })\n}\n\ninit()\n","import '../../vue/mobile_menu/mobile_menu_init'\nimport '../../shared/ihg_button/ihg_button'\n\nimport { isPartner } from '../../../src/core/iberapi/partner_shower/partner_shower'\nimport { currentDevice } from '../../core/utils/currentDevice'\n\n$(function () {\n const $body = $('body')\n let scrollTimer = 0\n let last_scroll_top = 0\n const delta = 5\n let navbar_height = 0\n let $block = null\n const in_hotel_page = $('body').data('page-type') === 'hotel'\n const in_home_page = $('body').data('page-type') === 'home'\n const in_destination_page = $('body').data('page-type') === 'destination'\n const in_destination_index = $('body').data('page-type') === 'destination-index'\n const in_offer_page = $('body').data('page-type') === 'offer'\n const in_offer_page_index = $('body').data('page-type') === 'offer-index'\n const in_data_page = $('body').data('page-type') === 'page'\n const in_mobile = currentDevice.isMobile || currentDevice.isLikeMobile\n\n function init() {\n if (currentDevice.isDesktop) return // in desktop or small desktop\n\n $block = in_mobile ? $('.mobile-header') : $('.main-header')\n\n if (!$block.length) return\n\n navbar_height = in_mobile ? $block.outerHeight() + $block.offset().top : $block.outerHeight()\n\n $(window).on('scroll', function () {\n const scroll = $(window).scrollTop()\n\n if (in_mobile && in_hotel_page) {\n // element to show sticky header with fastbooking after rebasing\n const $delta = $('.js-header-image')\n\n navbar_height = $delta.offset()?.top + $delta.outerHeight()\n }\n\n if (scrollTimer) {\n clearTimeout(scrollTimer)\n }\n\n // Make sure they scroll more than delta\n if (Math.abs(last_scroll_top - scroll) <= delta) return\n\n // Return if scroll is detected after opening/closing mobile menu\n if (document.body.classList.contains('opened-menu')) return\n\n // Using a buffer so callback it's not called too often.\n scrollTimer = setTimeout(function () {\n hasScrolled()\n if (isPartner()) togglePartnerLogo()\n }, 25)\n })\n\n if (in_mobile) {\n checkIfHeaderBlockHasPreviousTIROCountdown()\n }\n\n // Here was a $user_link.removeAttr('data-remote') when the user was logged. I've moved to browsing_session so it works even when remove_browsing is set\n\n // Show partner logo\n IB.partner.showPartnerLogo()\n }\n\n function checkIfHeaderBlockHasPreviousTIROCountdown() {\n const headersToWatch = ['.js-header-customized', '.landing-typekit-header', '.hotel-header-container']\n\n const header = document.querySelector(headersToWatch.join(', '))\n\n if (!header) return\n\n if (header.previousElementSibling?.classList.contains('js-tiro-countdown')) {\n document.querySelector('body').classList.remove('transparent-header', 'hotel-one-landing-page')\n document.querySelector('.mobile-header .logo-white').classList.add('hidden')\n }\n }\n\n function hasScrolled() {\n const st = $(window).scrollTop()\n const $banner_download_pwa = $('.banner-download-pwa')\n const $internal_nav = $('.internal-nav-cnt-nfh')\n const $header_sticky = $('#header-sticky')\n const header_height = $('.mobile-header').height()\n\n // the scroll is on top of the page and scroll lock is off\n if (\n st <= navbar_height &&\n (in_hotel_page ||\n in_home_page ||\n in_destination_page ||\n in_offer_page ||\n in_offer_page_index ||\n in_destination_index ||\n in_data_page) &&\n !$body.hasClass('scroll-lock-on')\n ) {\n $block\n .removeClass('nav-down sticky')\n .removeClass('nav-up')\n .addClass('initial')\n .removeClass('nav-up-after-initial')\n return\n }\n\n // Make sure they scroll more than delta\n if (Math.abs(last_scroll_top - st) <= delta) return\n\n if (st >= last_scroll_top && st > header_height) {\n // scrolling down\n if (currentDevice.isTablet) $('.fastbooking').removeClass('nav-down sticky')\n if ($banner_download_pwa.length) $banner_download_pwa.removeClass('nav-down sticky').addClass('nav-up')\n if ($('.header-card').hasClass('fixed')) $('.header-card.fixed').css('top', 0)\n $internal_nav.removeClass('nav-down sticky').addClass('nav-up')\n $header_sticky.removeClass('nav-down sticky').addClass('nav-up')\n\n if ($block.hasClass('initial')) {\n $block.removeClass('nav-down sticky').removeClass('initial').addClass('nav-up-after-initial')\n } else {\n $block.removeClass('nav-down sticky').removeClass('initial').addClass('nav-up')\n }\n } else {\n // scrolling up\n $block.removeClass('nav-up').removeClass('initial').addClass('nav-down sticky')\n if (IB.currentDevice === 'tablet') $('.fastbooking').addClass('nav-down sticky')\n $internal_nav.removeClass('nav-up').addClass('nav-down sticky')\n $header_sticky.removeClass('nav-up').addClass('nav-down sticky')\n if ($banner_download_pwa.length) $banner_download_pwa.removeClass('nav-up').addClass('nav-down sticky')\n\n $block\n .removeClass('nav-up')\n .removeClass('nav-up-after-initial')\n .removeClass('initial')\n .addClass('nav-down sticky')\n }\n\n last_scroll_top = st\n }\n\n function togglePartnerLogo() {\n const containerId = {\n tablet: '#partner-logo',\n mobile: '#partner-logo-mobile',\n desktop: '#partner-logo',\n }\n\n if (in_home_page || in_hotel_page) {\n if (!$block.hasClass('initial')) {\n $(`${containerId[IB.currentDevice]} .partner-logo-item-menu`).removeClass('is-hidden')\n $(`${containerId[IB.currentDevice]} .partner-logo-item`).addClass('is-hidden')\n } else {\n $(`${containerId[IB.currentDevice]} .partner-logo-item`).removeClass('is-hidden')\n $(`${containerId[IB.currentDevice]} .partner-logo-item-menu`).addClass('is-hidden')\n }\n }\n }\n\n IB.mobile_header = {\n init,\n }\n})\n\n$(function () {\n IB.mobile_header.init()\n})\n","import { initializeUtagMiceEvents } from '../../blocks/mice_form/mice.analytics'\nimport { sendUtagEvent } from '../../core/analytics/utag_events'\nimport { getCleanedString } from '../../utils/utilities'\n\nconst isStaMicrosite = document.querySelector('html').dataset.inMicrosite === 'star_agents'\nconst purposeValue = isStaMicrosite ? 'loyalty' : 'information'\n\nfunction field_form_event(form_type, form_name, form_action, field_name, event_name = '') {\n sendUtagEvent({\n data: {\n event_name,\n event_cat: form_type,\n event_act: `${form_action}-${form_name}`,\n event_lbl: getCleanedString(field_name),\n event_purpose: purposeValue,\n event_structure: 'body',\n },\n })\n}\n\nfunction error_form_event(form_name, form_action, field_name, form) {\n const form_type =\n form.dataset.formType === undefined || form.dataset.formType === 'rfp' ? 'form' : form.dataset.formType\n const formName = form.dataset.formType === 'rfp' ? 'form-rfp' : form_name\n\n sendUtagEvent({\n data: {\n event_name: 'error_form',\n event_cat: form_type,\n event_act: `${form_action}-${formName}`,\n event_lbl: getCleanedString(field_name),\n event_purpose: purposeValue,\n event_structure: 'body',\n },\n })\n}\n\nfunction start_form_event(form_name, form_action, field_name, form) {\n const form_is_sent = form.classList.contains('form-sent')\n const form_type =\n form.dataset.formType === undefined || form.dataset.formType === 'rfp' ? 'form' : form.dataset.formType\n const formName = form.dataset.formType === 'rfp' ? 'rfp' : form_name\n if (!form_is_sent) {\n const label = field_name.replace('_id', '').replace('iberostar_api_user', '').replace('vo_not_logged_booking', '')\n sendUtagEvent({\n data: {\n event_name: 'start_form',\n event_cat: form_type,\n event_act: `${form_action}-${formName}`,\n event_lbl: getCleanedString(label),\n event_purpose: purposeValue,\n event_structure: 'body',\n },\n })\n }\n}\n\nfunction normalizeFieldName(name) {\n return name.replace('[', '').replace(']', '').replace('iberostar_api_userfirst_name', 'first_name').replace('_', ' ')\n}\n\nfunction getFieldName(custom_field_name, name) {\n let field_name = ''\n if (custom_field_name !== undefined && custom_field_name !== '') {\n field_name = custom_field_name\n } else {\n field_name = name\n }\n return field_name\n}\n\nfunction isVisible(element) {\n return (\n element.offsetWidth > 0 ||\n element.offsetHeight > 0 ||\n getComputedStyle(element).display !== 'none' ||\n element.style.display !== 'none' ||\n element.style.visibility !== 'hidden'\n )\n}\n\nexport function initializeUtagEvents() {\n /* utag-event for click in fasbooking destination input */\n document.addEventListener('click', event => {\n var target = event.target\n var validSelectors = [\n 'form.new_iberostar_api_user_session button.btn-with-arrow',\n 'form#new_iberostar_api_user button',\n '#form_validate button',\n '#form_wci button',\n '#new_vo_not_logged_booking button',\n '.utag-form .utag-form-button',\n 'button.utag-wedding',\n 'button.utag-mice',\n '#form_mro button',\n '.contact-us form button',\n ]\n\n if (validSelectors.some(selector => target.matches(selector))) {\n if (target.matches('.contact-us form button')) {\n field_form_event(\n 'form',\n target.closest('form.utag-form').getAttribute('data-form-name'),\n 'try send form',\n '',\n 'try_send_form'\n )\n } else {\n field_form_event(\n 'form',\n target.closest('form').getAttribute('data-form-name'),\n 'try send form',\n '',\n 'try_send_form'\n )\n }\n }\n })\n\n document.addEventListener('submit', event => {\n var target = event.target\n var validSelectors = [\n 'form.new_iberostar_api_user_session',\n 'form#new_iberostar_api_user_session',\n 'form#new_iberostar_api_user',\n 'form#personal-data ',\n '#form_validate',\n '#form_wci',\n '#new_vo_not_logged_booking',\n 'form.utag-form',\n '.utag-form-button',\n '.utag-form-success',\n '#form_mro',\n '.contact-us form',\n '.mice-form form',\n 'button.utag-mice',\n ]\n\n if (validSelectors.some(selector => target.matches(selector))) {\n if (target.matches('.contact-us form')) {\n field_form_event(\n 'form',\n target.closest('form.utag-form').getAttribute('data-form-name'),\n 'success form',\n '',\n 'success_form'\n )\n } else if (target.matches('.mice-form form')) {\n field_form_event('success_form', 'form', 'success form', '', 'success_form')\n initializeUtagMiceEvents()\n } else {\n field_form_event('form', target.getAttribute('data-form-name'), 'success form', '', 'success_form')\n }\n }\n })\n\n document\n .querySelectorAll('form.mice-hidden-form, form.ibepro-utag-register, form.mice-form, form.staragent-utag-register')\n .forEach(function (form) {\n form.querySelectorAll('input, select, textarea').forEach(function (input) {\n if (input) {\n const parentForm = input.closest('form')\n const form_name = parentForm.dataset.formName\n const custom_field_name = input.dataset.utagNormalizeFieldName\n\n switch (input.type) {\n case 'select-multiple':\n case 'select-one':\n input.addEventListener('click', function () {\n start_form_event(\n form_name,\n 'start form',\n getFieldName(custom_field_name, normalizeFieldName(input.name)),\n parentForm\n )\n parentForm.classList.add('form-sent')\n })\n break\n case 'text':\n case 'textarea':\n case 'checkbox':\n case 'radio':\n case 'email':\n case 'password':\n input.addEventListener('click', function () {\n start_form_event(\n form_name,\n 'start form',\n getFieldName(custom_field_name, normalizeFieldName(input.name)),\n parentForm\n )\n parentForm.classList.add('form-sent')\n })\n break\n }\n }\n })\n })\n\n try {\n window.Parsley.on('form:validated', function (fieldInstance) {\n const field_error_name = []\n if (\n fieldInstance.element.classList.contains('utag-form') &&\n fieldInstance.element.classList.contains('validate-form')\n ) {\n document.querySelectorAll('.parsley-error, .parsley-error input').forEach(function (element) {\n if (\n !element.hidden ||\n (element.type === 'checkbox' && !element.nextElementSibling.classList.contains('ignore-utag-validation'))\n ) {\n let name\n if (element.dataset.utagError && element.dataset.utagError !== '') {\n name = element.dataset.utagError\n } else if (element.dataset.utagNormalizeFieldName && element.dataset.utagNormalizeFieldName !== '') {\n name = element.dataset.utagNormalizeFieldName\n } else {\n name = element.getAttribute('name')\n }\n\n if (name !== null && name !== undefined && name !== 'iberostar_api_user[accepts_privacy]') {\n field_error_name.push(\n name\n .replace('agent_', '')\n .replace('comercial_', '')\n .replace('newslet', '')\n .replace('vo_not_logged_booking', '')\n .replace('booking_', '')\n .replace('iberostar_api_user', '')\n .replace('billing_', '')\n .replace('[', '')\n .replace(']', '')\n .substring(0, 3)\n )\n }\n }\n })\n\n // TODO PY05032 - Remove this jQuery when we have a better solution\n if (!$(fieldInstance.element).parsley().isValid() && !fieldInstance.validationResult) {\n const field_error_name_uniq = [...new Set(field_error_name)].sort()\n\n error_form_event(\n fieldInstance.element.dataset.formName,\n 'error form',\n field_error_name_uniq.join('-'),\n fieldInstance.element\n )\n }\n }\n fieldInstance.element.classList.remove('validate-form')\n })\n } catch (error) {}\n\n document\n .querySelectorAll('form.utag-form:not(.mice-quote-form):not(.ibepro-utag-register):not(.staragent-utag-register)')\n .forEach(function (form) {\n form.querySelectorAll('input, select, textarea').forEach(function (input) {\n if (isVisible(input)) {\n const parentForm = input.closest('form')\n const form_name = parentForm.dataset.formName\n const custom_field_name = input.dataset.utagNormalizeFieldName\n\n switch (input.type) {\n case 'select-multiple':\n case 'select-one':\n input.addEventListener('click', function () {\n start_form_event(\n form_name,\n 'start form',\n getFieldName(custom_field_name, normalizeFieldName(input.name)),\n parentForm\n )\n parentForm.classList.add('form-sent')\n })\n break\n case 'text':\n case 'textarea':\n case 'checkbox':\n case 'file':\n case 'radio':\n case 'email':\n case 'password':\n case 'submit':\n if (\n input.type === 'submit' &&\n !(\n form_name === 'collect points' ||\n form_name === 'points statement' ||\n form_name === 'transfer points' ||\n form_name === 'authorize new registrations'\n )\n ) {\n break\n }\n input.addEventListener('click', function () {\n start_form_event(\n form_name,\n 'start form',\n getFieldName(custom_field_name, normalizeFieldName(input.name)),\n parentForm\n )\n parentForm.classList.add('form-sent')\n })\n break\n }\n }\n })\n })\n\n if (document.querySelector('#is_new_register')) {\n if (document.querySelector('#is_new_register').value === 'true') {\n sendUtagEvent({\n data: {\n event_name: 'success_form',\n event_cat: 'form',\n event_act: 'success form-lead form',\n event_lbl: '',\n event_purpose: 'loyalty',\n event_structure: 'impression',\n },\n })\n } else {\n sendUtagEvent({\n data: {\n event_name: 'success_form',\n event_cat: 'form',\n event_act: 'success form-login form',\n event_lbl: '',\n event_purpose: 'loyalty',\n event_structure: 'impression',\n },\n })\n }\n }\n\n document.addEventListener('DOMContentLoaded', function () {\n document.addEventListener('submit', function (event) {\n if (event.target.matches('.login form.utag-form')) {\n sendUtagEvent({\n data: {\n event_name: 'success_form',\n event_cat: 'form',\n event_act: 'success form-login form',\n event_lbl: '',\n event_purpose: 'loyalty',\n event_structure: 'impression',\n },\n })\n }\n })\n\n var savePasswordElement = document.querySelector('#save_password')\n savePasswordElement?.addEventListener(\n 'change',\n function () {\n sendUtagEvent({\n data: {\n event_name: 'save_password',\n event_cat: 'login',\n event_act: 'save password',\n event_lbl: '',\n event_purpose: 'information',\n event_structure: 'body',\n },\n })\n },\n { once: true }\n )\n })\n}\n\nif (typeof IB === 'undefined') {\n window.IB = {}\n}\n\nif (IB.formUtagEvents === undefined) {\n window.IB.formUtagEvents = {\n init: initializeUtagEvents,\n }\n}\n","import { getCurrentLocale } from '../../core/utils/locale.js'\n\nlet isVerified = false\n\nfunction formDataSubmit(form) {\n const submitButton = form.querySelector('.js-submit-button')\n submitButton.click()\n}\n\nfunction handlerSubmit(flashMessageAlert) {\n const emailInput = document.getElementById('email')\n const bookingInput = document.getElementById('booking_identifier')\n emailInput.addEventListener('change', function () {\n flashMessageAlert.classList.add('hidden')\n })\n bookingInput.addEventListener('change', function () {\n flashMessageAlert.classList.add('hidden')\n })\n}\n\nexport function initCRMValidation() {\n const form = document.querySelector('.js-crm-form-validation')\n\n if (!form) {\n console.error('Formulario no encontrado')\n return\n }\n\n const clickButton = form.querySelector('.js-click-button')\n clickButton.addEventListener('click', function (event) {\n event.preventDefault()\n\n const isFormValid = $(form).parsley().validate()\n if (!isFormValid) {\n return\n }\n\n if (!isVerified) {\n isVerified = true\n } else {\n formDataSubmit(form)\n return\n }\n\n const flashMessageAlert = form.querySelector('.js-flash-alert-message')\n const flashMessageAlertText = flashMessageAlert.querySelector('.js-flash-message-text')\n const bookingIdentifier = document.getElementById('booking_identifier').value\n const email = document.getElementById('email').value\n const dataUserValidation = {\n bookingIdentifier,\n email,\n }\n const jsonDataUserValidation = JSON.stringify(dataUserValidation)\n const url = `/${getCurrentLocale()}/mail_contacts/verify_contact_form`\n\n fetch(url, {\n method: 'POST',\n body: jsonDataUserValidation,\n headers: {\n Accept: 'application/json',\n 'X-CSRF-Token': document.querySelector('meta[name=\"csrf-token\"]').content,\n },\n })\n .then(response => {\n return response.json()\n })\n .then(data => {\n if (data.status === 200 || data.status === 'ok') {\n flashMessageAlert.classList.add('alert-success')\n flashMessageAlert.classList.remove('hidden')\n flashMessageAlertText.innerHTML = data.message\n // Función nueva de submit\n formDataSubmit(form)\n isVerified = false\n } else {\n flashMessageAlert.classList.add('alert-danger')\n flashMessageAlert.classList.remove('hidden')\n flashMessageAlertText.innerHTML = data.message\n handlerSubmit(flashMessageAlert)\n }\n })\n .catch(error => {\n flashMessageAlert.classList.add('alert-danger')\n flashMessageAlert.classList.remove('hidden')\n flashMessageAlertText.innerHTML = error.message\n handlerSubmit(flashMessageAlert)\n })\n })\n}\n","import './forms_validation'\nimport './reservation_management_form'\n\nimport { initializeUtagEvents } from './forms.analytics'\nimport { initCRMValidation } from './forms_CRM_validation'\n\n$(function () {\n $(document)\n .on('focus', '.input-text input[type=\"text\"], .input-text input[type=\"email\"]', function (event) {\n $(this).closest('.input-text').addClass('focused')\n })\n .on('blur', '.input-text input[type=\"text\"], .input-text input[type=\"email\"]', function (event) {\n $(this).closest('.input-text').removeClass('focused')\n })\n\n $(document).on('keyup', '.password-row input.password', function () {\n const $el = $(this)\n if ($el.hasClass('parsley-success')) {\n $el.closest('.password-row').find('.validation-errors').addClass('hidden')\n $el.closest('.password-row').find('.validation-success').removeClass('hidden')\n } else {\n $el.closest('.password-row').find('.validation-errors').removeClass('hidden')\n $el.closest('.password-row').find('.validation-success').addClass('hidden')\n }\n })\n})\n\nfunction handleCountryChange() {\n const countryOptions = document.getElementById('country_id')\n const destinationLabel = document.querySelector(`label[for=\"destination_id\"]`)\n\n countryOptions.addEventListener('change', function () {\n const selectedOption = this.options[this.selectedIndex]\n const dataName = selectedOption.dataset.name\n destinationLabel.innerHTML = dataName\n })\n}\n\n// Fetch handler in Contact Form\nconst contactForm = document.querySelector('.js-contact-us')\nconst typeRequestSelect = contactForm?.querySelector('#reason')\nconst destinationHotelTitle = contactForm?.querySelector('.js-destination-section-hotel')\nconst destinationStayTitle = contactForm?.querySelector('.js-destination-section-stay')\nconst clickButton = contactForm?.querySelector('.js-click-button')\nconst submitButton = contactForm?.querySelector('.js-submit-button')\n\nif (contactForm && typeRequestSelect) {\n handleCountryChange(contactForm)\n\n typeRequestSelect.addEventListener('change', function () {\n const flashMessageValidated = contactForm.querySelector('.alert-success', '.alert-danger')\n const isClaimRequest = typeRequestSelect.selectedIndex === 5\n\n if (flashMessageValidated) {\n flashMessageValidated.classList.add('hidden')\n flashMessageValidated.classList.remove('alert-success', 'alert-danger')\n }\n\n destinationHotelTitle.classList.toggle('hidden', isClaimRequest)\n submitButton.classList.toggle('hidden', isClaimRequest)\n destinationStayTitle.classList.toggle('hidden', !isClaimRequest)\n clickButton.classList.toggle('hidden', !isClaimRequest)\n\n if (isClaimRequest) {\n initCRMValidation()\n } else {\n clickButton.classList.add('hidden')\n submitButton.classList.remove('hidden')\n\n // TODO: Añadir la inicialización del formRequest con la mejora 775266 - DATO - eventos form con action KO\n console.log('Form Request')\n }\n })\n} else {\n // TODO: Añadir la inicialización del formRequest con la mejora 775266 - DATO - eventos form con action KO\n console.log('Form Request')\n}\ninitializeUtagEvents()\n","\n\n/**\n * Init form validation\n *\n * @param {object} $form - form to validate\n * @param {boolean} onlyVisible - if true validates only visible\n */\nfunction initValidation($form, onlyVisible) {\n // Form validation init\n let $required_fields = $form.find('[data-parsley-required]:not([data-parsley-errors-container])');\n\n FORMZ.required_fields.init($required_fields);\n\n let parsley_config = {\n errorsContainer: function (pe) {\n let $err = pe.$element.closest('.fz-col').find('.fz-error-container');\n return $err;\n }\n };\n\n if (onlyVisible) {\n parsley_config.excluded = 'input:hidden, select:hidden';\n }\n\n $form.parsley(parsley_config);\n}\n\nwindow.IB.forms = {\n initValidation: initValidation\n};\n","import dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\n// PY04776-590\n// Control the panel when the calendar is Open/Close\nexport const DATA_RANGE_PICKER_OPENED = 'dataRangePicker:open'\nconst DATA_RANGE_PICKER_OPENED_EVENT = new Event(DATA_RANGE_PICKER_OPENED)\n\nexport const DATA_RANGE_PICKER_CLOSED = 'dataRangePicker:close'\nconst DATA_RANGE_PICKER_CLOSED_EVENT = new Event(DATA_RANGE_PICKER_CLOSED)\n\ndayjs.extend(customParseFormat)\n\nfunction toggleInputsHandler(e) {\n e.preventDefault()\n var currentWrapper = this.closest('.wrapper')\n var locatorCode = currentWrapper.querySelector('.locator-code')\n var toggleInputs = currentWrapper.querySelector('.toggle-inputs')\n locatorCode.classList.toggle('hidden')\n toggleInputs.classList.toggle('hidden')\n}\n\nfunction init($wrapper) {\n if (!$wrapper.length) return\n\n const $form = $wrapper.find('form')\n\n // Refresh validation to ignore hidden inputs\n IB.forms && IB.forms.initValidation && IB.forms?.initValidation($form, true)\n\n // Datepicker init\n if ($wrapper.find('.single-datepicker-cnt').length) {\n const language = document.documentElement.getAttribute('data-js-lang')\n const date_format = $('html').attr('data-date-format')\n const start_of_week = $('html').attr('data-start-of-week')\n\n $wrapper\n .find('.single-datepicker-reservation')\n .dateRangePicker({\n autoClose: true,\n format: date_format,\n startOfWeek: start_of_week,\n language,\n startDate: new dayjs().format(date_format),\n singleDate: true,\n extraClass: 'margin-negative',\n singleMonth: true,\n showTopbar: false,\n })\n .on('datepicker-first-date-selected', function (ev, picker) {\n $(this).val(dayjs(picker.time).format(date_format))\n })\n .on('datepicker-open', function () {\n document.dispatchEvent(DATA_RANGE_PICKER_OPENED_EVENT)\n\n $('.date-picker-wrapper').css({\n left: $(this).offset().left + 10,\n top: $(this).offset().top - 100,\n width: 'auto',\n })\n setTimeout(function () {\n $('.real-today').trigger('focus')\n }, 500)\n })\n .on('datepicker-close', function () {\n document.dispatchEvent(DATA_RANGE_PICKER_CLOSED_EVENT)\n })\n\n var toggleInputs = document.querySelectorAll('.js-toggle-inputs')\n\n toggleInputs.forEach(function (element) {\n element.removeEventListener('click', toggleInputsHandler)\n element.addEventListener('click', toggleInputsHandler)\n })\n }\n\n // Form validation init\n IB.forms && IB.forms.initValidation && IB.forms.initValidation($wrapper.find('form'), true)\n}\n\nif (IB === undefined) {\n const IB = {}\n} else if (IB.forms === undefined) {\n IB.forms = {}\n}\n\nwindow.IB.forms.reservation_management = {\n init,\n}\n\nconst $js_reservation_management_form = $('.js-reservation-management-form')\nif ($js_reservation_management_form.length) IB.forms?.reservation_management.init($js_reservation_management_form)\n","import { currentDevice } from '../../core/utils/currentDevice'\nimport { readCookie, setCookie } from '../../utils/cookie_manager'\n\nconst adjustmentDevice = currentDevice.isMobile ? -265 : 10\n\n$(document).on('click', '.language-selector .language-selector__current', function (e) {\n e.preventDefault()\n const $target = $(this)\n\n calculateChildrenPosition($target)\n})\n\n$(document).on('click', '.language-selector li a', function () {\n var locale = $(this).data('locale')\n sessionStorage.removeItem('fastbooking_data')\n setCookie('update_utag_data', true)\n if (locale !== undefined) {\n setCookie('locale', locale)\n IB.cookieManager.deleteCookies(['language'])\n setCookie('language', locale, -1)\n }\n})\n\n$(document).on('click', '.language-elements li.language', function () {\n IB.cookieManager.deleteCookies(['language'])\n setCookie('language', \"\", -1)\n})\n\nfunction calculateChildrenPosition($target) {\n const $submenuWrapper = $target.closest('.language-selector').find('.drop-down-links')\n const menuItemPos = $target.position()\n\n if (!$submenuWrapper.is(':visible')) {\n let styles = {\n top: menuItemPos.top + $target.outerHeight() + adjustmentDevice,\n left: menuItemPos.left,\n }\n // If inside reb main nav, it should slide top\n if ($target.closest('.reb-main-nav__language-selector').length) {\n styles = {\n ...styles,\n transform: `translateY(calc(-100% - ${$target.closest('.language-selector').outerHeight()}px - 16px))`,\n }\n\n $submenuWrapper.addClass('to-top')\n }\n\n $submenuWrapper.css(styles)\n\n $submenuWrapper.slideToggle('fast')\n } else {\n $submenuWrapper.hide()\n }\n}\n\n$(function () {\n const cookieLocale = readCookie('locale')\n const languajeSelectorLinks = document.querySelector('ul.js-language-selector-links li.active a')\n const selectorLocale = languajeSelectorLinks !== null ? languajeSelectorLinks.getAttribute('data-locale') : null\n if (selectorLocale !== null && cookieLocale != selectorLocale) {\n sessionStorage.removeItem('fastbooking_data')\n setCookie('locale', selectorLocale)\n ajax_utag_callback()\n }\n\n const footer_locale_selector = document.querySelector('.footer-contact .language-selector')\n if (footer_locale_selector !== null) {\n const header_locale_selector = IB.is_in_mice\n ? document.querySelector('.mice-header .language-selector')\n : document.querySelector('.main-header-content .language-selector')\n if (header_locale_selector != null) {\n const clone_select = header_locale_selector.cloneNode(true)\n clone_select.classList.remove('not-hide-on-tablet')\n footer_locale_selector.replaceWith(clone_select)\n }\n }\n})\n","import { PasswordStrength } from './password_strength';\n\nwindow.Parsley.addValidator(\n 'passwordlengthpro',\n function (value, requirement) {\n if (value.length < 9) {return false;} else {return true;}\n },\n 32\n);\n\nwindow.Parsley.addValidator(\n 'passwordlengthweb',\n function (value, requirement) {\n if (value.length < 8) {return false;} else {return true;}\n },\n 32\n);\n\nwindow.Parsley.addValidator(\n 'passwordhasuppercase',\n function (value, requirement) {\n let username = $('#email');\n if (username.length == 0) {username = $('#iberostar_api_user_email');}\n username = username.val();\n\n let strength = PasswordStrength.test(username, value);\n if (strength.scoreFor('uppercase') < 1) {return false;} else {return true;}\n },\n 32\n);\n\nwindow.Parsley.addValidator(\n 'passwordhaslowercase',\n function (value, requirement) {\n let username = $('#email');\n if (username.length == 0) {username = $('#iberostar_api_user_email');}\n username = username.val();\n let strength = PasswordStrength.test(username, value);\n if (strength.scoreFor('lowercase') < 1) {return false;} else {return true;}\n },\n 32\n);\n\n\nwindow.Parsley.addValidator(\n 'passwordhasnumbers',\n function (value, requirement) {\n let username = $('#email');\n if (username.length == 0) {username = $('#iberostar_api_user_email');}\n username = username.val();\n let strength = PasswordStrength.test(username, value);\n if (strength.scoreFor('numbers_chars') < 1) {return false;} else {return true;}\n },\n 32\n);\n\nwindow.Parsley.addValidator(\n 'passwordincludeusername',\n function (value, requirement) {\n return validateUserName(value);\n },\n 32\n);\n\nwindow.Parsley.addValidator(\n 'passwordincludeusernameiberostarpro',\n function (value, requirement) {\n return validateUserName(value);\n },\n 32\n);\n\nfunction validateUserName(value) {\n let username = $('.username-to-check-in-password-field').val();\n /* Check if username is empty or not */\n if (username !== undefined && username.length > 0) {\n let strength = PasswordStrength.test(username.toLowerCase(), value.toLowerCase());\n if (strength.scoreFor('username') < 0) {return false;} else {return true;}\n } else {\n return true;\n }\n}\nwindow.Parsley.addValidator(\n 'passwordincludeemail',\n function (value, requirement) {\n let username = $('#email');\n if (username.length == 0) {username = $('#iberostar_api_user_email');}\n username = username.val();\n /* Check if email is nor empty*/\n if (username !== undefined && username.length > 0) {\n let strength = PasswordStrength.test(username, value);\n if (strength.scoreFor('username') < 0) {return false;} else {return true;}\n } else {\n return true;\n }\n },\n 32\n);\n\nwindow.Parsley.addValidator(\n 'passwordincludeemailname',\n function (value, requirement) {\n let username_before = $('#email');\n if (username_before.length == 0) {username_before = $('#iberostar_api_user_email');}\n username_before = username_before.val();\n /* Check if email is nor empty*/\n if (username_before !== undefined && username_before.length > 0) {\n username_before = username_before.split('@')[0];\n let strength_before = PasswordStrength.test(username_before, value);\n if (strength_before.scoreFor('username') < 0) {return false;} else {return true;}\n } else {\n return true;\n }\n },\n 32\n);\n\n\nwindow.Parsley.addMessage('es', 'passwordlengthpro', 'Longitud debe ser mayor de 8 caracteres');\nwindow.Parsley.addMessage('es', 'passwordlengthweb', 'Debe tener 8 caracteres o más');\nwindow.Parsley.addMessage('es', 'passwordhasuppercase', 'La password debe contener mayúsculas');\nwindow.Parsley.addMessage('es', 'passwordhaslowercase', 'La password debe contener minúsculas');\nwindow.Parsley.addMessage('es', 'passwordhasnumbers', 'La password debe contener números');\nwindow.Parsley.addMessage('es', 'passwordincludeusername', 'No puede contener el nombre del usuario');\nwindow.Parsley.addMessage('es', 'passwordincludeemail', 'La password no puede contener el email del usuario');\nwindow.Parsley.addMessage('es', 'passwordincludeemailname', 'La password no puede contener la parte anterior a la @');\n\n\nwindow.Parsley.addMessage('fr', 'passwordlengthpro', 'La longueur doit être supérieure à 8 caractères');\nwindow.Parsley.addMessage('fr', 'passwordlengthweb', 'Doit contenir 8 caractères ou plus');\nwindow.Parsley.addMessage('fr', 'passwordhasuppercase', 'Le mot de passe doit contenir en majuscules');\nwindow.Parsley.addMessage('fr', 'passwordhaslowercase', 'Le mot de passe doit contenir des lettres minuscules');\nwindow.Parsley.addMessage('fr', 'passwordhasnumbers', 'Le mot de passe doit contenir les numéros');\nwindow.Parsley.addMessage('fr', 'passwordincludeusername', 'Ne peut pas contenir le nom d utilisateur');\nwindow.Parsley.addMessage('fr', 'passwordincludeemail', 'Le mot de passe ne doit pas être votre adresse e-mail');\nwindow.Parsley.addMessage('fr', 'passwordincludeemailname', 'Le mot de passe ne peut pas contenir de caractères avant l’arrobase');\n\nwindow.Parsley.addMessage('de', 'passwordlengthpro', 'Länge muss größer sein als 8 Zeichen');\nwindow.Parsley.addMessage('de', 'passwordlengthweb', 'Muss mindestens 8 Zeichen haben');\nwindow.Parsley.addMessage('de', 'passwordhasuppercase', 'Das Passwort muss in Großbuchstaben enthalten');\nwindow.Parsley.addMessage('de', 'passwordhasnumbers', 'Das Passwort muss Zahlen enthalten');\nwindow.Parsley.addMessage('de', 'passwordhaslowercase', 'Das Passwort muss Kleinbuchstaben enthalten');\nwindow.Parsley.addMessage('de', 'passwordincludeusername', 'Darf nicht den Namen des Benutzername');\nwindow.Parsley.addMessage('de', 'passwordincludeemail', 'Die E-Mail-Adresse darf im Passwort nicht enthalten sein');\nwindow.Parsley.addMessage('de', 'passwordincludeemailname', 'Das Passwort darf nicht Teile vor dem At-Zeichen enthalten');\n\nwindow.Parsley.addMessage('en', 'passwordlengthpro', 'Length must be greater than 8 characters');\nwindow.Parsley.addMessage('en', 'passwordlengthweb', 'It must contain 8 characters or more');\nwindow.Parsley.addMessage('en', 'passwordhasuppercase', 'The password must contain uppercase letters');\nwindow.Parsley.addMessage('en', 'passwordhasnumbers', 'The password must contain numbers');\nwindow.Parsley.addMessage('en', 'passwordhaslowercase', 'The password must contain lowercase letters');\nwindow.Parsley.addMessage('en', 'passwordincludeusername', 'Username cannot be included');\nwindow.Parsley.addMessage('en', 'passwordincludeemail', 'The password should not contain the email address');\nwindow.Parsley.addMessage('en', 'passwordincludeemailname', 'The password should not contain the part appearing before the @ symbol');\n\nwindow.Parsley.addMessage('it', 'passwordlengthpro', 'Lunghezza deve essere maggiore di 8 caratteri');\nwindow.Parsley.addMessage('it', 'passwordlengthweb', 'Deve avere almeno 8 caratteri');\nwindow.Parsley.addMessage('it', 'passwordhasuppercase', 'La password deve contenere lettere maiuscole');\nwindow.Parsley.addMessage('it', 'passwordhasnumbers', 'La password deve contenere i numeri');\nwindow.Parsley.addMessage('it', 'passwordhaslowercase', 'La password deve contenere minuscole');\nwindow.Parsley.addMessage('it', 'passwordincludeusername', 'Non può includere il nome utente');\nwindow.Parsley.addMessage('it', 'passwordincludeemail', 'La password non deve contenere l’e-mail');\nwindow.Parsley.addMessage('it', 'passwordincludeemailname', 'La password non deve contenere la parte che precede la chiocciola');\n\nwindow.Parsley.addMessage('pt', 'passwordlengthpro', 'Comprimento deve ser maior do que 8 caracteres');\nwindow.Parsley.addMessage('pt', 'passwordlengthweb', 'Deve ter 8 carateres ou mais');\nwindow.Parsley.addMessage('pt', 'passwordhasuppercase', 'A senha deve conter letras maiúsculas');\nwindow.Parsley.addMessage('pt', 'passwordhasnumbers', 'A senha deve conter números');\nwindow.Parsley.addMessage('pt', 'passwordhaslowercase', 'A palavra-passe deve conter minúsculas');\nwindow.Parsley.addMessage('pt', 'passwordincludeusername', 'Não pode conter o nome de utilizador');\nwindow.Parsley.addMessage('pt', 'passwordincludeemail', 'A palavra-passe não deve conter o email');\nwindow.Parsley.addMessage('pt', 'passwordincludeemailname', 'A palavra-passe não deve conter nada antes de arroba');\n\nwindow.Parsley.addMessage('ru', 'passwordlengthpro', 'Длина должна быть больше, чем 8 символов');\nwindow.Parsley.addMessage('ru', 'passwordlengthweb', 'Длина должна быть не менее 8 знаков');\nwindow.Parsley.addMessage('ru', 'passwordhasuppercase', 'Пароль должен содержать заглавные буквы');\nwindow.Parsley.addMessage('ru', 'passwordhasnumbers', 'Пароль должен содержать цифры');\nwindow.Parsley.addMessage('ru', 'passwordhaslowercase', 'Пароль должен содержать строчные буквы');\nwindow.Parsley.addMessage('ru', 'parsley-passwordincludeusername', 'Не может содержать имя пользователя');\nwindow.Parsley.addMessage('ru', 'passwordincludeemail', 'Пароль не должен содержать адрес электронной почты');\nwindow.Parsley.addMessage('ru', 'passwordincludeemailname', 'Пароль не должен содержать начало адреса электронной почты');\n","import './formz.scss'\nimport './parsley.min'\nimport './parsley_password'\nimport './parsley_custom_validators'\n\n// PY04776-648 - 774241\nfunction importDinamicTextError(language) {\n if (language) {\n import(`./../../../../assets/javascripts/i18n/${language}`)\n } else {\n // Default language\n import(`./../../../../assets/javascripts/i18n/es`)\n }\n}\n\nfunction initFormz($required_fields) {\n $required_fields.each(function (idx, el) {\n /* Add error containers */\n $(el).closest('.fz-col').append($('