{"version":3,"file":"js/53223-4a8e297e0f3a72c2477c.js","mappings":"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AED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,gBAAiB,CAChB,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,cAAe,CACd,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,KACA,MAED,eAAgB,CACf,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,aAAc,CACb,KACA,MAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,OAED,WAAY,CACX,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,WAAY,CACX,MACA,OAED,UAAW,CACV,MACA,OAED,WAAY,CACX,MACA,OAED,gBAAiB,CAChB,MACA,OAED,WAAY,CACX,KACA,MAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,eAAgB,CACf,MACA,OAED,UAAW,CACV,MACA,OAED,UAAW,CACV,MACA,OAED,gBAAiB,CAChB,MACA,OAED,UAAW,CACV,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,aAAc,CACb,MACA,OAED,UAAW,CACV,MACA,QAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUhP,MAAK,KAC7B,IAAI2I,EAAI,IAAIsG,MAAM,uBAAyBL,EAAM,KAEjD,MADAjG,EAAEzI,KAAO,mBACHyI,CAAC,IAIT,IAAIuG,EAAMR,EAAIE,GAAM/H,EAAKqI,EAAI,GAC7B,OAAOL,EAAoBlG,EAAEuG,EAAI,IAAIlP,MAAK,IAClC6O,EAAoBM,EAAEtI,EAAI,KAEnC,CACA8H,EAAoBS,KAAO,IAAOxK,OAAOwK,KAAKV,GAC9CC,EAAoB9H,GAAK,MACzBwI,EAAOC,QAAUX,C","sources":["webpack://cms-web/./app/frontend/src/core/analytics/partner_set_cookies.js","webpack://cms-web/./app/frontend/src/utils/isInModal.js","webpack://cms-web/./app/frontend/src/core/analytics/shared.analytics.js","webpack://cms-web/./app/frontend/src/core/analytics/utag_events.js","webpack://cms-web/./app/frontend/src/core/utils/locale.js","webpack://cms-web/./app/frontend/src/utils/events_delegation.js","webpack://cms-web/./app/frontend/src/utils/utilities.js","webpack://cms-web/./node_modules/dayjs/locale/ lazy ^\\.\\/.*\\.js$ namespace object"],"sourcesContent":["/* eslint-disable no-use-before-define */\n/* eslint-disable no-jquery/no-jquery-constructor */\n/* eslint-disable no-jquery/no-other-utils */\n/* global utag_data */\n\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\nimport { readCookie, setCookie, setCookies } from '../../utils/cookie_manager'\n\ndayjs.extend(customParseFormat)\n\nexport const EVENT_PARTNER_UPDATED = 'partner:updated'\nconst eventPartnerUpdated = new CustomEvent(EVENT_PARTNER_UPDATED, { detail: { isPartnerValid: true } })\nconst isFhiPage = document.querySelector('html').dataset.fhiTest !== undefined\n\n$(function () {\n set_cookie_from_param('token_partner', 'token_partner', 1)\n set_cookie_from_param('idCliente', 'crm_id', 10)\n set_partner()\n\n set_userID()\n set_exact_target_cookies()\n set_cookie_from_param('affId', 'affId', 1)\n set_cookie_from_param('network', 'network', 1)\n if (\n IB.urlParser.getParam('cjevent') !== undefined &&\n IB.urlParser.getParam('cp') === 'INGENIOUS' &&\n IB.urlParser.getParam('utm_source') === 'ingenious'\n ) {\n const param_value = getUrlVars()['cjevent']\n setCookie('cjevent', param_value, 30, null, '.iberostar.com')\n }\n hide_myibe_references()\n})\n\nfunction set_partner() {\n const no_partner = getUrlVars()['NoPartner']\n if (typeof no_partner !== 'undefined') {\n exit_partner(function () {\n IB.partner.hidePartnerLogo()\n })\n return\n }\n\n if ($.cookie('cp') !== undefined) utag_data['campaign_cp_origin'] = $.cookie('cp')\n else if ($.cookie('cp_no_prom') !== undefined) utag_data['campaign_cp_origin'] = $.cookie('cp_no_prom')\n\n var cp = getUrlVars()['cp'] || ($.cookie('exit_partner') !== '1' ? $.cookie('campaign_cp_origin') : '')\n if (cp === '')\n cp = getUrlVars()['cp_no_prom'] || ($.cookie('exit_partner') !== '1' ? $.cookie('campaign_cp_no_prom_origin') : '')\n\n if (typeof cp !== 'undefined' && cp !== '') {\n const actual_cookie = readCookie('cp')\n const actual_cookie_no_prom = readCookie('cp_no_prom')\n\n if (\n (actual_cookie === null && actual_cookie_no_prom === null) ||\n (actual_cookie !== cp && actual_cookie_no_prom !== cp)\n ) {\n $.ajax({\n dataType: 'JSON',\n type: 'GET',\n url: `/partners_duration/${cp}`,\n }).then(function (msg) {\n if (msg && msg.partner !== undefined && msg.partner.code === cp) {\n const is_promo = msg.partner.promotional !== undefined ? msg.partner.promotional : false\n const promo_expires = is_promo ? msg.partner.cookies_duration : '-1'\n const no_promo_expires = is_promo ? '-1' : msg.partner.cookies_duration\n\n const cookies = [\n { name: 'exit_partner', value: '1', expires: '-1' },\n { name: 'cp', value: msg.partner.code, expires: promo_expires },\n { name: 'cp_partpdv', value: msg.partner.partpdv, expires: promo_expires },\n { name: 'cp_name', value: msg.partner.name, expires: promo_expires },\n { name: 'cp_image', value: msg.partner.image_url, expires: promo_expires },\n { name: 'cp_no_prom', value: msg.partner.code, expires: no_promo_expires },\n { name: 'cp_no_prom_partpdv', value: msg.partner.partpdv, expires: no_promo_expires },\n { name: 'cp_no_prom_name', value: msg.partner.name, expires: no_promo_expires },\n { name: 'cp_no_prom_image', value: msg.partner.image_url, expires: no_promo_expires },\n {\n name: 'cp_expires_at',\n value: dayjs().add(msg.partner.cookies_duration, 'days').format('YYYYMMDDHHmm'),\n expires: msg.partner.cookies_duration,\n },\n { name: 'cp_promotional', value: msg.partner.promotional, expires: msg.partner.cookies_duration },\n { name: 'cp_to_crs', value: msg.partner.code, expires: msg.partner.cookies_duration },\n ]\n\n if (actual_cookie !== null && actual_cookie !== '') {\n cookies.push({ name: 'cppv', value: actual_cookie, expires: msg.partner.cookies_duration })\n }\n if (actual_cookie_no_prom !== null && actual_cookie_no_prom !== '') {\n cookies.push({ name: 'cp_no_prom_pv', value: actual_cookie_no_prom, expires: msg.partner.cookies_duration })\n }\n\n const base_domain = document.domain.split('.').slice(-2).join('.')\n\n if (is_promo)\n cookies.push({\n name: 'campaign_cp_no_prom',\n value: msg.partner.code,\n domain: `.${base_domain}`,\n expires: '-1',\n })\n else {\n cookies.push({ name: 'campaign_cp', value: msg.partner.code, domain: `.${base_domain}`, expires: '-1' })\n cookies.push({ name: 'campaign_cp_no_prom', value: msg.partner.code, domain: `.${base_domain}` })\n }\n utag_data['campaign_cp'] = msg.partner.code\n\n if (is_promo) {\n cookies.push({ name: 'campaign_cp_origin', value: msg.partner.code, domain: `.${base_domain}` })\n cookies.push({\n name: 'campaign_cp_no_prom_origin',\n value: msg.partner.code,\n domain: `.${base_domain}`,\n expires: '-1',\n })\n } else {\n cookies.push({\n name: 'campaign_cp_origin',\n value: msg.partner.code,\n domain: `.${base_domain}`,\n expires: '-1',\n })\n cookies.push({ name: 'campaign_cp_no_prom_origin', value: msg.partner.code, domain: `.${base_domain}` })\n }\n\n const tduid = getUrlVars()['tduid']\n if (typeof tduid !== 'undefined') {\n cookies.push({ name: 'cp_tduid', value: tduid, expires: promo_expires })\n cookies.push({ name: 'cp_no_prom_tduid', value: tduid, expires: no_promo_expires })\n }\n\n setCookies(cookies, function () {\n try {\n IB.partner.updatePartner()\n IB.partner.showPartnerLogo()\n document.dispatchEvent(eventPartnerUpdated)\n IB.segmented_messages_banner.init()\n } catch (error) {\n // Error\n }\n })\n\n utag_data['campaign_cp_origin'] = cp\n }\n })\n }\n }\n}\n\nexport function add_user_info(utag_user_data) {\n if (utag_user_data !== null && typeof utag_data !== 'undefined' && utag_data !== null) {\n if (noEmpty($.cookie('user_id'))) {\n const user_id =\n $.cookie('user_id') === 'not set' || $.cookie('user_id') === 'uninformed' ? '' : $.cookie('user_id')\n utag_user_data['user_id'] = user_id\n } else {\n utag_user_data['user_id'] = ''\n }\n if (noEmpty($.cookie('user_points'))) {\n const user_points = $.cookie('user_points') === 'not set' ? 'uninformed' : $.cookie('user_points')\n utag_user_data['user_points'] = user_points\n }\n if (noEmpty($.cookie('user_level'))) {\n const user_level = $.cookie('user_level') === 'not set' ? 'uninformed' : $.cookie('user_level')\n utag_user_data['user_level'] = user_level\n }\n if (noEmpty($.cookie('visitor_type'))) {\n const visitor_type = $.cookie('visitor_type') === 'not set' ? 'uninformed' : $.cookie('visitor_type')\n utag_user_data['visitor_type'] = visitor_type\n }\n if (utag_user_data.hasOwnProperty('points_redeemed') && $.cookie('points_redeemed') !== undefined) {\n utag_user_data['points_redeemed'] = $.cookie('points_redeemed')\n }\n\n const user_id = getUrlVars()['idCliente']\n if (user_id !== null || user_id !== undefined) {\n const base_domain = document.domain.split('.').slice(-2).join('.')\n utag_user_data['user_id'] = user_id\n setCookie('user_id', user_id, null, null, `.${base_domain}`)\n }\n\n sessionStorage.setItem('utag_user', JSON.stringify(utag_user_data))\n utag_data = $.extend({}, utag_data, utag_user_data)\n\n if (utag_data['page_is_logged'] === 'true') utag_data['promo_is_miiberostar'] = 'true'\n else utag_data['promo_is_miiberostar'] = 'false'\n }\n}\n\nfunction set_cookie_from_param(param_name, cookie_name, expires) {\n const param_value = getUrlVars()[param_name]\n if (typeof param_value !== 'undefined') {\n const actual_cookie = readCookie(cookie_name)\n if (!actual_cookie || actual_cookie.value !== param_value) {\n setCookie(cookie_name, param_value, expires)\n }\n }\n}\n\nexport function exit_partner(callback) {\n IB.cookieManager.deleteCookies(\n [\n 'cp',\n 'cp_image',\n 'cp_expires_at',\n 'cppv',\n 'exit_partner',\n 'cp_name',\n 'cp_promotional',\n 'campaign_cp',\n 'campaign_cp_origin',\n 'campaign_cp_ck',\n 'cp_partpdv',\n 'cp_no_prom',\n 'cp_no_prom_partpdv',\n 'cp_no_prom_name',\n 'cp_no_prom_image',\n 'campaign_cp_no_prom',\n 'campaign_cp_no_prom_origin',\n 'cp_to_crs',\n 'token_partner',\n ],\n callback\n )\n}\n\nfunction set_userID() {\n const idClient = getUrlVars()['idCliente']\n const cookieIdClientExpiration = 365\n\n if (typeof idClient !== 'undefined') {\n setCookie('idCliente', idClient, cookieIdClientExpiration)\n }\n}\n\nfunction set_exact_target_cookies() {\n const EXACT_TARGET_PARAMS = ['idCliente', 'CampaignId', 'j', 'e', 'l', 'u', 'jb', 'mid']\n for (let i = 0; i < EXACT_TARGET_PARAMS.length; i++) {\n const value = getUrlVars()[EXACT_TARGET_PARAMS[i]]\n if (typeof value === 'undefined') {\n return\n }\n }\n for (let i = 0; i < EXACT_TARGET_PARAMS.length; i++) {\n set_cookie_from_param(EXACT_TARGET_PARAMS[i], `exact_target_${EXACT_TARGET_PARAMS[i]}`, 30)\n }\n}\n\nexport function getUrlVars() {\n const vars = {}\n window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {\n vars[key] = value\n })\n return vars\n}\n\nexport function noEmpty(value) {\n return value !== undefined && value !== null && value.length > 0\n}\n\nfunction hide_myibe_references() {\n let cp = readCookie('cp')\n if (!cp) cp = readCookie('cp_no_prom') !== null ? readCookie('cp_no_prom') : IB.urlParser.getParam('cp')\n const myibe_hide_cps = $('html').data('myibe-hide-cps')\n\n if (cp && myibe_hide_cps && myibe_hide_cps.indexOf(cp.toLowerCase()) != -1) {\n $('.js-myibe-hide').hide()\n }\n}\n","/**\n * Checks if an element is inside a modal\n */\nconst isInModal = elem => {\n if (!elem) return false\n\n return Boolean(elem.closest('.js-modal') || elem.closest('.fancybox-container'))\n}\n\nexport default isInModal\n","/* eslint-disable no-constant-binary-expression */\n/* eslint-disable no-undef */\n/**\n * A futuro este será el archivo que se encargará de inicializar los eventos compartidos\n * El objetivo es dejar utag_events sólo con las clases de funcionalidad relacionadas con utag\n * pero que no tengan que ver con la inicialización de eventos\n */\nimport on from '../../utils/events_delegation'\nimport isInModal from '../../utils/isInModal'\nimport { getCleanedString, normalizeString } from '../../utils/utilities'\n\nimport { getUrlVars } from './partner_set_cookies'\nimport { sendUtagEvent } from './utag_events'\n\nfunction updateUtagPageCurrency() {\n // eslint-disable-next-line no-jquery/no-other-utils\n utag_data['page_currency'] = $.cookie('currency')\n // eslint-disable-next-line no-jquery/no-other-utils\n utag_data.page_currency = $.cookie('currency')\n}\n\nexport const getPageVariation = () => document.querySelector('html').dataset.fhiTest || 'control'\n\nfunction productImpressionObserver(selector) {\n for (let i = 0; i < selector.length; ++i) {\n IB.utag_eec_events.productImpressionObserver.observe(selector[i])\n }\n}\n\nfunction sendProductImpressionObserver() {\n const hotels_info_with_filtering = document.querySelectorAll('div.wrapper.hotels-info-with-filtering')\n const hotel_list = document.querySelectorAll('div.block.hotel-list.js-webpack-block')\n const best_offers_blocks = document.querySelectorAll('.best-offers-block')\n\n if (hotels_info_with_filtering.length) {\n productImpressionObserver(hotels_info_with_filtering)\n }\n if (hotel_list.length) {\n productImpressionObserver(hotel_list)\n }\n if (best_offers_blocks.length) {\n productImpressionObserver(best_offers_blocks)\n }\n}\n\n// TODO PY05032 No sabemos para que es esto, se deja aqui para una futura revisión\n\nfunction listenerDestinationMapEvent() {\n const destination_event = window['addEventListener']\n const messageEvent = 'message'\n\n destination_event(\n messageEvent,\n function (e) {\n if (e.data === 'view hotel') {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'destinations',\n event_act: 'interactive map',\n event_lbl: 'see hotel',\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n }\n if (e.data === 'view photos') {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'destinations',\n event_act: 'interactive map',\n event_lbl: 'see photos',\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n }\n if (e.data === 'drilldown') {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'destinations',\n event_act: 'interactive map',\n event_lbl: 'click',\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n }\n },\n false\n )\n}\n\nexport function initializeSharedEvents() {\n /* Hotel information html: open_item, review_helper, review_decorator*/\n document.querySelectorAll('.utag-see-complete-opinion').forEach(element => {\n element.addEventListener('click', function () {\n sendUtagEvent({\n data: {\n event_name: 'hotel_reviews',\n event_cat: 'hotel information',\n event_act: 'see opinions',\n event_lbl: 'read complete opinion',\n event_purpose: 'inspiration',\n event_structure: isInModal(this) ? 'popup' : 'body',\n },\n })\n })\n })\n\n /* gueest_opinions, hotel_information_ratings */\n document.addEventListener('click', function (event) {\n var target = event.target\n\n if (target.matches('.utag-see-hotel-reviews')) {\n sendUtagEvent({\n data: {\n event_name: 'hotel_reviews',\n event_cat: 'hotel information',\n event_act: 'see opinions',\n event_lbl: 'see reviews',\n event_purpose: 'inspiration',\n event_structure: 'body',\n },\n })\n }\n })\n /* multimedia_gallery_helper, tour, gallery, virtual_tour */\n\n document.querySelectorAll('.utag-view-360').forEach(element => {\n element.addEventListener('click', function () {\n sendUtagEvent({\n data: {\n event_name: 'hotel_multimedia_360',\n event_cat: 'hotel information',\n event_act: 'see multimedia info',\n event_lbl: '360',\n event_purpose: 'inspiration',\n event_structure: 'popup',\n page_variation: getPageVariation(),\n },\n })\n })\n })\n /* Fin Hotel information */\n /* lightbox_decorator, MainNavUser.vue, form(agency_sessions), header_pro,\n header_staragent, header_user_image_icon, header(views/layouts),\n main_nav_links(view/layouts), main_nav_links(nhp_presidential),\n mobile_header(nhp_presidential), header(shared/fb), form(staragent/session)\n */\n\n on({\n eventName: 'click',\n selector: '.utag-ib-register',\n handler() {\n const loginButton = document.querySelector('.utag-ib-register')\n const registerType = loginButton.dataset.utagIbRegisterType || ''\n\n sendUtagEvent({\n data: {\n event_name: 'select_sign_up',\n event_cat: 'lead',\n event_act: 'click sign up',\n event_lbl: normalizeString(registerType),\n event_purpose: 'loyalty',\n event_structure: normalizeString(registerType),\n },\n })\n },\n })\n\n /** single_offer(multi_offers_slider), offer(offers_index_with_filter) */\n document.querySelectorAll('.utag-offer-view').forEach(element => {\n element.addEventListener('click', function (event) {\n const event_lbl = event.target.getAttribute('data-offer-title')\n\n sendUtagEvent({\n data: {\n event_name: 'offers_apply',\n event_cat: 'offers',\n event_act: 'apply offer',\n event_lbl,\n event_purpose: 'booking',\n event_structure: 'body',\n },\n })\n })\n })\n\n // CALL CENTER EVENTS\n // call_click_contact\n document.addEventListener('click', function (event) {\n var target = event.target\n let structure = ''\n\n // botón en header\n if (\n target.matches('.main-header-content .mobile-call-center') ||\n target.matches('.people-content .three-more-rooms')\n ) {\n structure = 'header'\n }\n\n // botón en header en mobile\n if (target.matches('.mobile-header-cnt span.mobile-button-text')) {\n structure = 'header'\n }\n\n // botón en header en rebranding\n if (target.matches('span.reb-header__nav-item.mobile-call-center')) {\n structure = 'header'\n }\n\n // click contact button - popup\n if (target.matches('.utag-contact-button')) {\n structure = 'popup'\n }\n if (target.matches('.hotel-gallery__contact .mobile-call-center')) {\n structure = 'popup'\n }\n\n // click contact button - footer\n if (target.matches('.footer-contact-container .mobile-call-center')) {\n structure = 'footer'\n }\n if (target.matches('.footer-contact-container .footer-contact-form')) {\n structure = 'footer'\n }\n\n // click contact button - body\n if (target.matches('a.utag-ib-contact')) {\n structure = 'body'\n }\n\n if (structure !== '') {\n sendUtagEvent({\n data: {\n event_name: 'call_click_contact',\n event_cat: 'call center',\n event_act: 'click contact button',\n event_lbl: '',\n event_structure: structure,\n event_purpose: 'information',\n page_variation: getPageVariation(),\n },\n })\n }\n })\n\n // call_to_call\n document.addEventListener('click', function (event) {\n const target = event.target\n let structure = ''\n\n if (target.matches('.mobile-fastbooking a.secondary-btn')) {\n structure = 'sticky'\n }\n\n if (target.matches('.mobile-cta-sticky-bar .call-btn')) {\n structure = 'sticky'\n }\n\n if (target.matches('.phone-list-number a.big-number, #box-call-center a')) {\n structure = 'popup'\n }\n\n if (target.matches('#phone-list-numbers ul li p a')) {\n structure = 'popup'\n }\n\n if (target.matches('.phone-number.mobile-only')) {\n structure = 'body'\n }\n\n if (structure !== '') {\n sendUtagEvent({\n data: {\n event_name: 'call_to_call',\n event_cat: 'call center',\n event_act: 'click to call',\n event_lbl: '',\n event_structure: structure,\n event_purpose: 'information',\n page_variation: getPageVariation(),\n },\n })\n }\n })\n\n // BOOKING EVENTS\n // book_room\n /* price_and button */\n document.addEventListener('click', function (event) {\n const pageVariation = document.querySelector('html').dataset.fhiTest === undefined ? 'rational' : 'inmersive'\n var target = event.target\n\n if (target.matches('.utag-room-book-now, .room-list a.btn-with-arrow')) {\n const utag_hotel_info = target.dataset.utagHotelInfo\n\n const data = {\n data: {\n event_name: 'book_room',\n event_cat: 'book now',\n event_act: 'book room',\n event_lbl: target.dataset.hotelRoomName,\n event_structure: 'body',\n event_purpose: 'booking',\n page_variation: pageVariation,\n },\n }\n\n if (pageVariation === 'rational') {\n if (utag_hotel_info !== undefined) {\n data.data = Object.assign({}, data.data, utag_hotel_info)\n\n // Initilize new visitor session id simulting GA sessions\n IB.VisitorSessionId.initNewVisitorSessionId()\n }\n }\n\n sendUtagEvent(data)\n }\n\n if (target.matches('.modal-compare-rooms .btn-floating-fastbooking')) {\n const dataRoomId = event.target.getAttribute('data-room-id')\n let room_label = ''\n const selectedRoom = document.querySelector(`#modal-choose-rooms .room.selected[data-id=\"${dataRoomId}\"]`)\n\n if (selectedRoom) {\n room_label = selectedRoom.dataset.roomId\n }\n\n sendUtagEvent({\n data: {\n event_name: 'book_room',\n event_cat: 'book now',\n event_act: 'book room',\n event_lbl: room_label,\n event_structure: 'body',\n event_purpose: 'booking',\n pageVariation,\n },\n })\n }\n })\n\n /**\n * Offers events\n */\n document.addEventListener('click', function (event) {\n var target = event.target\n let event_lbl = ''\n\n if (target.matches('.utag-special-offers-all')) {\n event_lbl = 'highlight'\n } else if (target.matches('.utag-special-offers-all-menu')) {\n event_lbl = 'menu'\n }\n\n if (!event_lbl.length) return\n\n const event_name = 'offers'\n const event_cat = 'offers'\n const event_act = 'view all deals'\n const event_purpose = 'inspiration'\n const event_structure = 'body'\n\n sendUtagEvent({\n data: {\n event_name,\n event_cat,\n event_act,\n event_lbl,\n event_purpose,\n event_structure,\n },\n })\n })\n\n document.addEventListener(\n 'click',\n function (event) {\n var target = event.target\n\n if (target.matches('.landing-typekit-header #open-legal')) {\n sendUtagEvent({\n data: {\n event_cat: 'offers',\n event_name: 'offers',\n event_act: 'view offer conditions',\n event_lbl: '',\n event_purpose: 'information',\n event_structure: 'body',\n },\n })\n }\n },\n { once: true }\n )\n\n /**\n * Social events\n */\n document.addEventListener('click', function (event) {\n var target = event.target\n let event_act = ''\n let event_lbl = ''\n let event_purpose = ''\n const event_structure = event.target.closest('.js-main-footer') ? 'footer' : 'body'\n\n if (\n target.matches('.footer-contact-left .social-links a, .social-list a, .footer-contact-container .social-links a')\n ) {\n event_act = 'follow'\n event_lbl = target.dataset.networkName\n event_purpose = 'loyalty'\n } else if (target.matches('.last-search-card a.shared')) {\n event_act = 'share search'\n event_lbl = target.dataset.hotel\n event_purpose = 'loyalty'\n } else if (target.matches('.utag-shared-hotel')) {\n event_act = 'share search'\n event_lbl = target.dataset.hotelNameShared\n event_purpose = 'loyalty'\n } else if (\n target.matches(\n '.share-list a, .share-list button, .share-container a.share, .social-container a, .social-share-list .share'\n )\n ) {\n event_act = 'send search by'\n event_lbl = target.dataset.networkName\n event_purpose = 'information'\n }\n\n if (!event_act.length) return\n\n sendUtagEvent({\n data: {\n event_name: 'social_events',\n event_cat: 'social events',\n event_act,\n event_lbl,\n event_purpose,\n event_structure,\n },\n })\n })\n\n /**\n * Interacción con la cabeza del menú principal de la web\n **/\n document.addEventListener('click', function (event) {\n var target = event.target\n\n let event_lbl = ''\n let event_purpose = 'information'\n\n if (target.matches('.utag-cio-main-menu, li .utag-cio-mobile-main-menu')) {\n event_lbl = 'check in online'\n } else if (target.matches('.utag-mro-main-menu, li .utag-mro-mobile-main-menu')) {\n event_lbl = 'my room online'\n event_purpose = 'postbooking'\n } else if (target.matches('.utag-bookings-lightbox, li.utag-bookings-mobile-main-menu')) {\n event_lbl = 'modify booking'\n }\n\n if (!event_lbl.length) return\n\n const event_act = 'manage my bookings'\n const event_cat = 'main-menu menu'\n\n sendUtagEvent({\n data: {\n event_name: 'menu_main',\n event_cat,\n event_act,\n event_lbl,\n event_purpose,\n event_structure: 'header',\n },\n })\n })\n\n document.addEventListener('click', function (event) {\n const target = event.target\n\n if (target && target.matches('.language-selector li a')) {\n const main_header = target.closest('.main-header')\n const event_structure = main_header ? 'header' : 'footer'\n\n sendUtagEvent({\n data: {\n event_name: 'change_language',\n event_cat: 'change page info',\n event_act: 'language',\n event_lbl: target.dataset.locale,\n event_purpose: 'information',\n event_structure,\n page_variation: getPageVariation(),\n },\n })\n }\n })\n\n /* Evento moneda - change_currency */\n document.addEventListener('change', function (event) {\n const target = event.target\n\n if (target && target.matches('form.currency-form select')) {\n const event_cat = 'change currency info'\n const event_act = 'currency'\n const event_lbl = target.value\n\n // Actualizamos el valor de utag page currency con el valor de la cookie cuando se produzca un cambio de moneda\n updateUtagPageCurrency()\n\n sendUtagEvent({\n data: {\n event_name: 'change_currency',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'booking',\n event_structure: target.closest('.footer-selectors') !== null ? 'footer' : 'header',\n },\n })\n } else if (target.matches('.booking-links .modify-booking, .bottom-links a.link-modify')) {\n const event_cat = 'manage my booking'\n const event_act = 'modify booking'\n const event_lbl = ''\n\n sendUtagEvent({\n data: {\n event_name: 'manage_booking',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'postbooking',\n event_structure: 'body',\n },\n })\n } else if (target.matches('.booking-links .print')) {\n const event_cat = 'manage my booking'\n const event_act = 'print booking'\n const event_lbl = ''\n\n sendUtagEvent({\n data: {\n event_name: 'manage_booking',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'postbooking',\n event_structure: 'body',\n },\n })\n } else if (target.matches('.repeat-reservation')) {\n const event_cat = 'manage my booking'\n const event_act = 'repeat booking'\n const event_lbl = ''\n\n sendUtagEvent({\n data: {\n event_name: 'manage_booking',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'booking',\n event_structure: 'body',\n },\n })\n } else if (target.matches('.booking-links .exchange-points')) {\n const event_cat = 'manage my booking'\n const event_act = 'exchange booking'\n const event_lbl = ''\n\n sendUtagEvent({\n data: {\n event_name: 'manage_booking',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'booking',\n event_structure: 'body',\n },\n })\n } else if (target.matches('.reserve-index-list li.cancel a')) {\n const event_cat = 'manage my booking'\n const event_act = 'cancel booking'\n const event_lbl = ''\n\n sendUtagEvent({\n data: {\n event_name: 'manage_booking',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'booking',\n event_structure: 'body',\n },\n })\n } else if (target.matches('.booking-links .complain')) {\n const event_cat = 'manage my booking'\n const event_act = 'complain'\n const event_lbl = ''\n\n sendUtagEvent({\n data: {\n event_name: 'manage_booking',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'postbooking',\n event_structure: 'body',\n },\n })\n }\n })\n\n document.querySelectorAll('.js-hotel-map-link').forEach(element => {\n element.classList.add('utag-initialized')\n\n if (element.classList.contains('utag-initialized')) {\n return\n }\n\n element.addEventListener('click', function () {\n sendUtagEvent({\n data: {\n event_name: 'hotel_map',\n event_cat: 'hotel information',\n event_act: 'view map',\n event_lbl: '',\n event_purpose: 'inspiration',\n event_structure: 'body',\n },\n })\n })\n })\n\n /*\n Utag home banner. Present in:\n - home megabanner slider\n - video looping\n - video with fastbooking\n - video with vertical fastbooking\n */\n on({\n eventName: 'click',\n selector: '.utag-header-banner-promotion',\n handler() {\n let utag_data = {\n enh_action: 'promo_click',\n event_name: 'select_promotion',\n event_cat: 'ecommerce',\n event_act: 'promo click',\n promotion_creative: ['home|home|video with fastbooking'],\n event_purpose: 'booking',\n event_structure: 'body',\n }\n\n let item_data = {}\n const promotion_id = this.dataset.promotionId\n const promotion_name = this.dataset.promotionName\n const slide_index = this.closest('.js-slide-element')?.dataset.slideIndex\n\n item_data = promotion_id && { ...item_data, promotion_id: [promotion_id] }\n item_data = promotion_name && { ...item_data, event_lbl: promotion_name, promotion_name: [promotion_name] }\n item_data = slide_index && { ...item_data, promotion_position: [parseInt(slide_index, 10) + 1] }\n\n utag_data = { ...utag_data, ...item_data }\n\n if (item_data.promotion_id[0] !== '' && item_data.promotion_name[0] !== '') {\n sendUtagEvent({ data: utag_data })\n }\n },\n })\n\n //---------------------------------- Home with fastbooking --------------------------------------//\n if (document.querySelector('.home-page .utag-home-banner') !== null) {\n document\n .querySelector('.home-page .utag-home-banner')\n .addEventListener('homeWithFastbookingAnalytics', function () {\n const home_items = document.querySelectorAll('.home-page .utag-home-banner .items .item')\n const home_length = document.querySelectorAll('.home-page .utag-home-banner .items .item').length\n\n var utag_data = {\n enh_action: 'impression list',\n event_cat: 'ecommerce',\n event_act: 'promotion impression list',\n non_interaction: '1',\n promotion_id: [],\n promotion_name: [],\n promotion_creative: [],\n promotion_position: [],\n }\n\n let position = 0\n for (let index = 0; index < home_length; index++) {\n if (home_items[index].classList.contains('initial')) {\n utag_data.promotion_id.push('wave-of-change')\n utag_data.promotion_name.push('wave of change')\n utag_data.promotion_creative.push('home|home|video with fastbooking')\n utag_data.promotion_position.push((position + 1).toString())\n position += 1\n } else if (home_items[index].id === 'megabanner-item-template') {\n const dataHotelName = home_items[index].querySelector('[data-hotel-name]')\n if (dataHotelName && dataHotelName.dataset.hotelName.length > 0) {\n const hotel_name = dataHotelName.dataset.hotelName.toLowerCase()\n utag_data.promotion_id.push(hotel_name.replaceAll(' ', '-'))\n utag_data.promotion_name.push(hotel_name)\n home_items[index].children[0].setAttribute('data-promotion-id', hotel_name.replaceAll(' ', '-'))\n home_items[index].children[0].setAttribute('data-promotion-name', hotel_name)\n utag_data.promotion_creative.push('home|home|video with fastbooking')\n utag_data.promotion_position.push((position + 1).toString())\n position += 1\n }\n } else {\n const dataPromoId = home_items[index].querySelector('[data-promotion-id]')\n const dataPromoName = home_items[index].querySelector('[data-promotion-name]')\n if (\n dataPromoId &&\n dataPromoName &&\n dataPromoId.dataset.promotionId !== '' &&\n dataPromoName.dataset.promotionName !== ''\n ) {\n utag_data.promotion_id.push(dataPromoId.dataset.promotionId)\n utag_data.promotion_name.push(dataPromoName.dataset.promotionName)\n utag_data.promotion_creative.push('home|home|video with fastbooking')\n utag_data.promotion_position.push((position + 1).toString())\n position += 1\n }\n }\n }\n\n if (\n utag_data.promotion_id !== [] &&\n utag_data.promotion_name !== [] &&\n utag_data.promotion_creative !== [] &&\n utag_data.promotion_position !== []\n ) {\n sendUtagEvent({ data: utag_data })\n }\n })\n }\n\n /* Evento play del modal video */\n document.querySelectorAll('.js-modal-video, .js-video').forEach(element => {\n element.addEventListener('click', function () {\n sendUtagEvent({\n data: {\n event_name: 'multimedia',\n event_cat: 'videos',\n event_act: 'play',\n event_lbl: 'youtube-video',\n event_purpose: 'inspiration',\n event_structure: 'body',\n },\n })\n })\n })\n\n const toggleViewMoreButton = document.querySelector('.js-link-see-more')\n const viewMoreButton = toggleViewMoreButton?.querySelector('.utag-see-more')\n\n viewMoreButton?.addEventListener('click', function () {\n const block = viewMoreButton.closest('.js-pack-block')\n const blockName = block.dataset.blockLayout.replace('_', ' ')\n const blockTitle = block.querySelector('.block-title')\n const category = blockName\n const action = 'see more'\n const label =\n blockTitle.dataset.utagBlockTitle !== undefined ? blockTitle.dataset.utagBlockTitle : blockTitle.innerText\n sendUtagEvent({\n data: {\n event_name: 'introduction_module',\n event_cat: category,\n event_act: action,\n event_lbl: getCleanedString(label),\n event_purpose: 'inspiration',\n event_structure: 'body',\n },\n })\n })\n\n document.querySelector('.utag-contact-ibe')?.addEventListener('submit', event => {\n var target = event.target\n\n if (target.matches('.utag-contact-ibe')) {\n var reasonSelect = document.querySelector('.contact-us form #reason')\n var selectedOption = reasonSelect.selectedOptions[0]\n const event_act = selectedOption.dataset.utagType\n\n reasonSelect = document.querySelector('.contact-us form #type_of_reason')\n selectedOption = reasonSelect.selectedOptions[0]\n const event_lbl = selectedOption.dataset.utagReason\n\n sendUtagEvent({\n data: {\n event_name: 'contact_form',\n event_cat: 'contact form',\n event_act,\n event_lbl,\n event_purpose: 'information',\n event_structure: 'body',\n },\n })\n }\n })\n\n // TODO PY05032 Reviw this, where is showing\n document.querySelectorAll('.hotel-list-link').forEach(hotelList => {\n hotelList.addEventListener('click', () => {\n sendProductImpressionObserver()\n })\n })\n\n // TODO PY05032 Reviw this, where is showing\n // Send event on select forms with options.\n // you can see a example on unsubscribe.html.erb on web\n\n document.querySelector('form[data-form-event-type=\"collection-radio-button\"]')?.addEventListener('submit', e => {\n const event_cat = e.target.data('form-event-category')\n const event_act = e.target.data('form-event-action')\n\n // event_lab should be a selected option on form\n const nameRadio = e.target.data('form-event-radio-to-send')\n\n const selectdRadio = e.target.find(`[name=\"unsubscribe[${nameRadio}]\"]:checked`)\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat,\n event_act,\n event_lbl: selectdRadio.val(),\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n })\n\n listenerDestinationMapEvent()\n\n // ---------------------------------------------------------------- //\n\n // TODO PY05032 No encontrados\n\n /* eslint-disable no-jquery/no-other-utils */\n /* eslint-disable no-jquery/no-each-collection */\n /* eslint-disable no-jquery/no-data */\n /* eslint-disable no-jquery/no-text */\n /* eslint-disable no-jquery/no-val */\n /* eslint-disable no-jquery/no-attr */\n /* eslint-disable no-jquery/no-class */\n /* eslint-disable no-jquery/no-is */\n /* eslint-disable no-jquery/no-jquery-constructor */\n /* eslint-disable no-jquery/no-other-methods */\n // TODO PY05032 LEGAL NOTICE\n $(document).on('click', '.legal-notice', function () {\n const category = 'hotel information'\n const action = 'see legal content'\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: '',\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n })\n\n // TODO PY05032 JOB\n $(document).on('click', '.job-vacancies a.secondary-btn', function () {\n const category = 'jobs iberostar'\n const action = 'see career oportunities'\n const label = ''\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n $(document).on('click', '.send-cv a.secondary-btn', function () {\n const category = 'jobs iberostar'\n const action = 'enter cv'\n const label = ''\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n // TODO PY05032 DOWNLOAD\n $(document).on('click', '.download', function () {\n const category = 'download'\n const action = 'information room'\n const label = $(this).data('utag-hotel-download-pdf') ? $(this).data('utag-hotel-download-pdf') : ''\n const page_section = $(this).data('utag-page-section')\n ? $(this).data('utag-page-section')\n : utag_data['page_section']\n const page_type = $(this).data('utag-page-type') ? $(this).data('utag-page-type') : utag_data['page_type']\n const page_category = $(this).data('utag-page-category')\n ? $(this).data('utag-page-category')\n : utag_data['page_category']\n utag_data['page_section'] = page_section\n utag_data['page_type'] = page_type\n utag_data['page_category'] = page_category\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n // TODO PY05032 WEB CHECK IN\n $(document).on('submit', 'form#form_wci', function () {\n const origin_options = ['confirmation-booking-page', 'confirmation-booking-email', 'pre-stay-email'] // Add black list label options\n const origin_checkin = getUrlVars()['origin_checkin']\n const origin_checkin_in_url = indexOf(origin_options, origin_checkin)\n\n const category = 'checkin online'\n const action = 'send check in'\n const label = origin_checkin_in_url !== -1 ? origin_checkin.replace(/-/g, ' ') : 'web check in'\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n // TODO PY05032 MANAGE MY BOOKINGS\n\n $(document).on('click', '.booking-categories-cnt li a', function () {\n const category = 'manage my booking'\n const action = 'filter my booking'\n const label = $(this).data('utag-my-booking-filter')\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n // TODO PY05032 OFFERS\n\n $(document).on('click', '.special-offers-banner .utag-promo-link', function () {\n const event_cat = 'offers detail'\n const event_act = 'offers highlight'\n const event_lbl = $(this).data('utag-eec').promotion_position\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n // TODO PY05032 MY IBEROSTAR INFO\n $(document).on('click', '.my-iberostar-info a', function () {\n const category = 'searcher'\n const action = 'more information'\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: '',\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n // TODO PY05032 INTERACTIVE MAP\n\n $(document).on('click', '.b-destination-map .iframe-container', function () {\n const destination = $(this).data('destination')\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'destinations',\n event_act: 'interactive map',\n event_lbl: destination,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n // TODO PY05032 JOIN NOW\n $(document).on('click', '.join-now', function () {\n const category = 'affiliates'\n const action = 'join now'\n const label = ''\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n // TODO PY05032 FREE TOUR\n $(document).on('click', '#utag-freetours-form .utag-form-button', function () {\n if ($('.utag-form').parsley().validate()) {\n const hotel = $('#hotel_id option:selected').data('utag-hotel').toLowerCase()\n const freetour_name = $('#freetour_id option:selected').data('utag-name').toLowerCase()\n const checkin = $('#check_in').val()\n\n let pax = ''\n if (parseInt($('#pax option:selected').val(), 10) < 10) {\n pax = `0${$('#pax option:selected').text()}`\n } else {\n pax = $('#pax option:selected').text()\n }\n\n const category = 'freetour form'\n const action = `${hotel}-${freetour_name}`\n const label = `${pax}-${checkin}`\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n }\n })\n\n // TODO PY05032 LEAD\n $(document).on('click', '.utag-lead-event', function () {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'lead',\n event_act: 'click sign up',\n event_lbl: 'offers',\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n $(document).on('click', 'input.utag-pre-lead', function () {\n const checked = $(this).is(':checked')\n const category = 'lead'\n const action = 'pre lead'\n const label = ''\n if (checked === true) {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n }\n })\n\n $(document).on('click', '.legal-text-with-title a, .offer-layout a, .header-customized a', function () {\n const href = $(this).attr('href') || ''\n if (href.includes('lightbox_type=registration') && !$(this).hasClass('utag-ib-register')) {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'lead',\n event_act: 'click sign up',\n event_lbl: 'offers',\n event_purpose: '',\n event_structure: '',\n },\n })\n }\n\n if (href.includes('lightbox_type=login') && !$(this).hasClass('utag-ib-login')) {\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: 'lead',\n event_act: 'click sign up',\n event_lbl: 'offers',\n event_purpose: '',\n event_structure: '',\n },\n })\n }\n })\n\n // TODO PY05032 WEDDING\n\n $(document).on('submit', 'form.wedding-form', function () {\n const type_request = $('#type_request :checked').data().utagValue\n const type_event = $('#type_event :checked').data().utagValue\n const country = $('#country').val() ? getCleanedString($('#country').val().trim().toLowerCase()) : ''\n const wedding_date = `${$('#date_day :checked').val()}/${+$('#date_month :checked').val()}/${$(\n '#date_year :checked'\n ).val()}`\n const destination = $('#preferred_destination :checked').data().utagValue\n const number_guest = $('#number_guests').val()\n\n const lbl = `${type_request}-${type_event}-${country}-${wedding_date}-${destination}-${number_guest}`\n\n sendUtagEvent({\n data: {\n event_name: 'quote_wedding',\n event_cat: 'wedding',\n event_act: 'request-event-origin-dd/MM/YYYY-destination-guest',\n event_lbl: lbl,\n event_purpose: 'booking',\n event_structure: 'body',\n },\n })\n })\n // TODO PY05032 MAIN-MENU\n $(document).on('click', '.js-notification-link', function () {\n const category = 'menu-main menu'\n const action = 'alerts'\n const label = $(this).data('notification-title-en')\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n },\n })\n })\n\n //METRIC EXPERIENCIE MENU HOTELS AND DESTINATIONS\n on({\n eventName: 'click',\n selector: '.utag-experience-menu-link',\n handler() {\n const event_cat = 'main-menu menu'\n const event_act = 'hotels and destinations'\n let event_lbl = ''\n\n const experience = $(this).data('utag-experience')\n if (experience === 'all-in') {\n event_lbl = 'all inclusive'\n } else if (experience === 'star_prestige') {\n event_lbl = 'star prestige'\n } else {\n event_lbl = experience\n }\n\n sendUtagEvent({\n data: {\n event_name: 'menu_main',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'information',\n event_structure: 'header',\n },\n })\n },\n })\n\n $(document).on('click', '.js-all-experiences-link-main-menu', function () {\n const event_cat = 'main-menu menu'\n const event_act = 'view all hotels and destinations'\n const event_lbl = 'specialty'\n\n sendUtagEvent({\n data: {\n event_name: 'menu_main',\n event_cat,\n event_act,\n event_lbl,\n event_purpose: 'information',\n event_structure: 'header',\n },\n })\n })\n\n // TODO PY05032 ROOM INFO, utag-room-info no in the html\n $(document).on('click', '.hotel-one-landing-page a.utag-room-info', function () {\n const category = 'hotel information'\n const action = 'view more room detail'\n const label = ''\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n })\n\n // TODO PY05032 Hotel info Video click, video-filters, utag-info-video no in the html\n $(document).on('click', '.video-filters, .utag-info-video', function () {\n const category = 'hotel information'\n const action = 'see multimedia info'\n const label = 'videos'\n sendUtagEvent({\n data: {\n event_name: '',\n event_cat: category,\n event_act: action,\n event_lbl: label,\n event_purpose: '',\n event_structure: '',\n page_variation: isFhiPage ? fhiPageType : 'control',\n },\n })\n })\n}\n","import { initializeSharedEvents } from './shared.analytics'\n\n/**\n * Utag Stack sender variables\n */\nlet utagStack = []\nlet isUtagBeingObserved = false\nconst MAX_ATTEMPTS = 20\n\n/**\n * Try to send a utag event. If utag not defined yet, store the event in a stack\n * and try to send it 20 times before cancelling.\n * @param {Object} { type, data }\n */\nexport const queueUtagEvent = ({ type = 'link', data }) => {\n if (typeof utag !== 'undefined') {\n // We use setTimeout in order to not use the main thread processing time\n // TODO: Change to Web Workers\n setTimeout(() => utag[type](data), 0)\n } else {\n utagStack.push({ type, data })\n\n if (isUtagBeingObserved) return\n\n isUtagBeingObserved = true\n let attempts = 0\n\n /* eslint-disable */\n function checkUtagDefined() {\n if ((typeof utag !== 'undefined' && typeof utag.gdpr !== 'undefined') || attempts === MAX_ATTEMPTS) {\n clearInterval(check_utag)\n\n utagStack.forEach(({ type, data }) => {\n utag[type](data)\n })\n\n utagStack = []\n }\n attempts += 1\n }\n /* eslint-enable */\n\n const check_utag = setInterval(checkUtagDefined, 500)\n }\n}\n\nconst searcherEvents = new Set()\n\nfunction checkOnceTimeEvent(eventData) {\n const onceTimeEvents = ['searcher', 'searcher fly']\n const eventStructure = ['sticky', 'body']\n if (onceTimeEvents.includes(eventData.event_cat) && eventStructure.includes(eventData.event_structure)) {\n const eventKey = `${eventData.event_cat}__${eventData.event_act}__${eventData.event_structure}`\n if (searcherEvents.has(eventKey)) {\n return true\n }\n searcherEvents.add(eventKey)\n }\n return false\n}\n\n/**\n * The function sendUtagEvent is used to send events to utag/GA4\n * @param {{type : 'link', data : { event_name: 'searcher_hotel', event_cat: 'searcher', event_act: 'discount', event_lbl: 'discount for residents', event_purpose: 'booking', event_structure: 'body'}}} dataObjectExample Example of data object\n */\nexport const sendUtagEvent = ({ type = 'link', data }) => {\n // Check if the event is a once time event\n if (checkOnceTimeEvent(data)) return\n IB.VisitorSessionId.initNewVisitorSessionId()\n queueUtagEvent({ type, data })\n}\n\nfunction sendSearchEvent() {\n // Not working in Safari, in Private Browsing Mode\n try {\n var utag_search_info = JSON.parse(sessionStorage.getItem('utag_search_info'))\n if (utag_search_info.search_term === 'not set') {\n utag_search_info.search_term = 'destination'\n }\n if (\n typeof utag_data !== 'undefined' &&\n (['funnel', 'experiences', 'search', 'offers', 'my iberostar', 'destination'].indexOf(utag_data.page_section) !=\n -1 ||\n (utag_data.page_section === 'hotel' && utag_search_info['event_lbl'] === 'without dates'))\n ) {\n if (typeof utag !== 'undefined') {\n sendUtagEvent({ data: utag_search_info })\n //setCookie('fastbooking_data_utag', false, -1)\n IB.cookieManager.deleteCookies(['fastbooking_data_utag'])\n sessionStorage.removeItem('utag_search_info')\n }\n }\n } catch (e) {\n console.warn(`Utag Send search event: ${e}`)\n console.warn(\n 'Your web browser does not support storing settings locally. In Safari, the most common cause of this is using Private Browsing Mode. Some settings may not save or some features may not work properly for you.'\n )\n }\n}\n\nexport function sendCatAndOptionalEvents(cat, info = {}) {\n const mandatory_events = {\n event_cat: cat,\n }\n\n const events = { ...mandatory_events, ...info }\n\n sendUtagEvent({ data: events })\n}\n\nexport function get_utag_search_info() {\n if ($.cookie('fastbooking_data_utag') === undefined || $.cookie('fastbooking_data_utag') == '') {\n return\n }\n\n $.ajax({\n dataType: 'JSON',\n type: 'GET',\n url: '/ajax_contents/search_utag_info/',\n success(data) {\n // Not working in Safari, in Private Browsing Mode\n try {\n $.each(data, function (key, value) {\n if (value === '' || value === null || value === 'not set' || value === 'uninformed') {\n delete data[key]\n }\n })\n utag_data = $.extend({}, utag_data, data)\n sessionStorage.setItem('utag_search_info', JSON.stringify(data))\n sendSearchEvent()\n } catch (e) {\n console.log(`Utag utag_search_info: ${e}`)\n console.log(\n 'Your web browser does not support storing settings locally. In Safari, the most common cause of this is using Private Browsing Mode. Some settings may not save or some features may not work properly for you.'\n )\n }\n },\n })\n}\n\ninitializeSharedEvents()\n","import dayjs from 'dayjs'\n\nconst htmlElement = document.documentElement\n\nexport const getCurrentLocale = () => htmlElement.dataset.jsLang\n\nexport const getCurrentHtmlLang = () => htmlElement.getAttribute('lang')\n\nexport const getPrefix = () => {\n const prefix = htmlElement.getAttribute('prefix')\n return prefix !== '/' ? prefix : ''\n}\n\nexport const setSyncDayjsLocale = (lang = getCurrentLocale()) => {\n dayjs.locale(lang)\n}\n\nexport const setAsyncDayjsLocale = (lang = getCurrentLocale(), callback) => {\n import(`dayjs/locale/${lang}.js`).then(() => {\n dayjs.locale(lang)\n callback && callback()\n })\n}\n","/**\n * @param {object} event\n * @param {string} event.eventName - Event name (click, keyup, etc)\n * @param {string} event.selector - Node triggering the event\n * @param {string} event.parent - Node event listener\n * @param {function} event.handler - Callback\n * @example on({ eventName: 'click', selector: '.js-class', handler: 'handlerButton', once: false})\n *\n */\nfunction on({ eventName, selector, parent = document, handler, once = false }) {\n parent.addEventListener(\n eventName,\n function (event) {\n const elements = parent.querySelectorAll(selector)\n const path = event.composedPath()\n path.forEach(function (node) {\n elements.forEach(function (elem) {\n if (node === elem) {\n handler.call(elem, event)\n }\n })\n })\n },\n { capture: true, once }\n )\n}\n\nexport default on\n","/**\n * Removes all accents and diacritics from a string and converts into lowercase\n * @param {string} string\n * @returns {string} - normalized string\n */\nexport const normalizeString = string =>\n string\n .normalize('NFD')\n .toLowerCase()\n .replace(/[\\u0300-\\u036f]/g, '')\n\nexport function getCleanedString(string) {\n // Lo queremos devolver limpio en minusculas\n let cleanedString = string.toLowerCase()\n\n // Quitamos acentos y \"ñ\". Fijate en que va sin comillas el primer parametro\n cleanedString = cleanedString.replace(/á/gi, 'a')\n cleanedString = cleanedString.replace(/é/gi, 'e')\n cleanedString = cleanedString.replace(/í/gi, 'i')\n cleanedString = cleanedString.replace(/ó/gi, 'o')\n cleanedString = cleanedString.replace(/ú/gi, 'u')\n cleanedString = cleanedString.replace(/ñ/gi, 'n')\n return cleanedString\n}\n\n/* eslint-disable */\nexport function cleaned_title(title) {\n return title\n ? title\n .replace('-', '')\n .replace('|', '')\n .replace(/[^a-zA-Z0-9| ]/, '')\n .toLowerCase()\n : ''\n}\n\nexport function search_action_type(place_value) {\n if (place_value === null) return ''\n let action = 'destination'\n switch (place_value.charAt(0)) {\n case 's':\n action = 'specialty'\n break\n case 'h':\n action = 'hotel'\n break\n case 'd':\n action = 'destination'\n break\n }\n return action\n}\n\nexport function cloneJson(data) {\n return JSON.parse(JSON.stringify(data))\n}\n\n/* eslint-disable */\n// Vanilla js extend from http://youmightnotneedjquery.com/\nexport function extend(out) {\n out = out || {};\n\n for (let i = 1; i < arguments.length; i++) {\n if (!arguments[i]) {continue;}\n\n for (let key in arguments[i]) {\n if (arguments[i].hasOwnProperty(key)) {out[key] = arguments[i][key];}\n }\n }\n\n return out;\n}\n\n/**\n * Función recursiva que busca un objeto con una propiedad específica y un valor específico dentro de un\n * array de objetos anidados.\n *\n * @param {array} array El array de objetos en el que se busca el objeto.\n * @param {string} propiedad El nombre de la propiedad que se busca en el objeto.\n * @param {string} valor El valor de la propiedad que se busca.\n *\n * @returns {object|null} El objeto encontrado, o `null` si no se encontró el objeto.\n */\nexport function findChildrenInNestedArray(array, property, value) {\n // Si el array está vacío, devolver null\n if (array.length === 0) {\n return null\n }\n\n // Si el primer elemento del array tiene la propiedad y el valor coincide, devolver el elemento\n if (array[0].hasOwnProperty(property) && array[0][property] === value) {\n return array[0]\n }\n\n // Si el primer elemento del array no tiene la propiedad o el valor no coincide, buscar el objeto en los hijos del elemento\n for (const children of array[0].children) {\n const result = findChildrenInNestedArray([children], property, value)\n if (result) {\n return result\n }\n }\n\n // Si no se encontró el objeto en el primer elemento del array, buscar el objeto en el resto del array\n const arraySliced = array.slice(1)\n return findChildrenInNestedArray(arraySliced, property, value)\n}\n\n\nexport function getCookie(id) {\n const value = document.cookie.match(`(^|;)?${id}=([^;]*)(;|$)`)\n return value ? unescape(value[2]) : null\n}\n","var map = {\n\t\"./af.js\": [\n\t\t50257,\n\t\t50257\n\t],\n\t\"./am.js\": [\n\t\t51312,\n\t\t51312\n\t],\n\t\"./ar-dz.js\": [\n\t\t73144,\n\t\t73144\n\t],\n\t\"./ar-iq.js\": [\n\t\t59100,\n\t\t59100\n\t],\n\t\"./ar-kw.js\": [\n\t\t54012,\n\t\t54012\n\t],\n\t\"./ar-ly.js\": [\n\t\t78985,\n\t\t78985\n\t],\n\t\"./ar-ma.js\": [\n\t\t60312,\n\t\t60312\n\t],\n\t\"./ar-sa.js\": [\n\t\t69266,\n\t\t69266\n\t],\n\t\"./ar-tn.js\": [\n\t\t36836,\n\t\t36836\n\t],\n\t\"./ar.js\": [\n\t\t71965,\n\t\t71965\n\t],\n\t\"./az.js\": [\n\t\t60981,\n\t\t60981\n\t],\n\t\"./be.js\": [\n\t\t70455,\n\t\t70455\n\t],\n\t\"./bg.js\": [\n\t\t66329,\n\t\t66329\n\t],\n\t\"./bi.js\": [\n\t\t42043,\n\t\t42043\n\t],\n\t\"./bm.js\": [\n\t\t44511,\n\t\t44511\n\t],\n\t\"./bn-bd.js\": [\n\t\t10453,\n\t\t10453\n\t],\n\t\"./bn.js\": [\n\t\t86130,\n\t\t86130\n\t],\n\t\"./bo.js\": [\n\t\t40033,\n\t\t40033\n\t],\n\t\"./br.js\": [\n\t\t71942,\n\t\t71942\n\t],\n\t\"./bs.js\": [\n\t\t2661,\n\t\t2661\n\t],\n\t\"./ca.js\": [\n\t\t79778,\n\t\t79778\n\t],\n\t\"./cs.js\": [\n\t\t82088,\n\t\t82088\n\t],\n\t\"./cv.js\": [\n\t\t37531,\n\t\t37531\n\t],\n\t\"./cy.js\": [\n\t\t49034,\n\t\t49034\n\t],\n\t\"./da.js\": [\n\t\t61241,\n\t\t61241\n\t],\n\t\"./de-at.js\": [\n\t\t88471,\n\t\t88471\n\t],\n\t\"./de-ch.js\": [\n\t\t80030,\n\t\t57649\n\t],\n\t\"./de.js\": [\n\t\t83989,\n\t\t83989\n\t],\n\t\"./dv.js\": [\n\t\t16796,\n\t\t16796\n\t],\n\t\"./el.js\": [\n\t\t29899,\n\t\t29899\n\t],\n\t\"./en-au.js\": [\n\t\t64984,\n\t\t64984\n\t],\n\t\"./en-ca.js\": [\n\t\t36338,\n\t\t36338\n\t],\n\t\"./en-gb.js\": [\n\t\t63179,\n\t\t63179\n\t],\n\t\"./en-ie.js\": [\n\t\t28624,\n\t\t28624\n\t],\n\t\"./en-il.js\": [\n\t\t39759,\n\t\t39759\n\t],\n\t\"./en-in.js\": [\n\t\t85041,\n\t\t85041\n\t],\n\t\"./en-nz.js\": [\n\t\t34450,\n\t\t34450\n\t],\n\t\"./en-sg.js\": [\n\t\t74084,\n\t\t74084\n\t],\n\t\"./en-tt.js\": [\n\t\t54182,\n\t\t54182\n\t],\n\t\"./en.js\": [\n\t\t6285,\n\t\t6285\n\t],\n\t\"./eo.js\": [\n\t\t80270,\n\t\t80270\n\t],\n\t\"./es-do.js\": [\n\t\t59214,\n\t\t59214\n\t],\n\t\"./es-mx.js\": [\n\t\t74778,\n\t\t74778\n\t],\n\t\"./es-pr.js\": [\n\t\t35693,\n\t\t35693\n\t],\n\t\"./es-us.js\": [\n\t\t60983,\n\t\t60983\n\t],\n\t\"./es.js\": [\n\t\t23146,\n\t\t23146\n\t],\n\t\"./et.js\": [\n\t\t26835,\n\t\t26835\n\t],\n\t\"./eu.js\": [\n\t\t18732,\n\t\t18732\n\t],\n\t\"./fa.js\": [\n\t\t83375,\n\t\t83375\n\t],\n\t\"./fi.js\": [\n\t\t61703,\n\t\t61703\n\t],\n\t\"./fo.js\": [\n\t\t21157,\n\t\t21157\n\t],\n\t\"./fr-ca.js\": [\n\t\t93371,\n\t\t93371\n\t],\n\t\"./fr-ch.js\": [\n\t\t58828,\n\t\t58828\n\t],\n\t\"./fr.js\": [\n\t\t38802,\n\t\t38802\n\t],\n\t\"./fy.js\": [\n\t\t65655,\n\t\t65655\n\t],\n\t\"./ga.js\": [\n\t\t79614,\n\t\t79614\n\t],\n\t\"./gd.js\": [\n\t\t5281,\n\t\t5281\n\t],\n\t\"./gl.js\": [\n\t\t89049,\n\t\t89049\n\t],\n\t\"./gom-latn.js\": [\n\t\t81615,\n\t\t81615\n\t],\n\t\"./gu.js\": [\n\t\t16290,\n\t\t16290\n\t],\n\t\"./he.js\": [\n\t\t11369,\n\t\t11369\n\t],\n\t\"./hi.js\": [\n\t\t96045,\n\t\t96045\n\t],\n\t\"./hr.js\": [\n\t\t90156,\n\t\t90156\n\t],\n\t\"./ht.js\": [\n\t\t36202,\n\t\t36202\n\t],\n\t\"./hu.js\": [\n\t\t25689,\n\t\t25689\n\t],\n\t\"./hy-am.js\": [\n\t\t68688,\n\t\t68688\n\t],\n\t\"./id.js\": [\n\t\t25527,\n\t\t25527\n\t],\n\t\"./is.js\": [\n\t\t29638,\n\t\t29638\n\t],\n\t\"./it-ch.js\": [\n\t\t56379,\n\t\t56379\n\t],\n\t\"./it.js\": [\n\t\t32967,\n\t\t32967\n\t],\n\t\"./ja.js\": [\n\t\t97051,\n\t\t97051\n\t],\n\t\"./jv.js\": [\n\t\t22946,\n\t\t22946\n\t],\n\t\"./ka.js\": [\n\t\t40714,\n\t\t40714\n\t],\n\t\"./kk.js\": [\n\t\t97064,\n\t\t97064\n\t],\n\t\"./km.js\": [\n\t\t44062,\n\t\t44062\n\t],\n\t\"./kn.js\": [\n\t\t29211,\n\t\t29211\n\t],\n\t\"./ko.js\": [\n\t\t55860,\n\t\t55860\n\t],\n\t\"./ku.js\": [\n\t\t59110,\n\t\t59110\n\t],\n\t\"./ky.js\": [\n\t\t4034,\n\t\t4034\n\t],\n\t\"./lb.js\": [\n\t\t62312,\n\t\t62312\n\t],\n\t\"./lo.js\": [\n\t\t67123,\n\t\t67123\n\t],\n\t\"./lt.js\": [\n\t\t39790,\n\t\t39790\n\t],\n\t\"./lv.js\": [\n\t\t41220,\n\t\t41220\n\t],\n\t\"./me.js\": [\n\t\t36708,\n\t\t36708\n\t],\n\t\"./mi.js\": [\n\t\t84784,\n\t\t84784\n\t],\n\t\"./mk.js\": [\n\t\t5210,\n\t\t5210\n\t],\n\t\"./ml.js\": [\n\t\t1955,\n\t\t1955\n\t],\n\t\"./mn.js\": [\n\t\t50053,\n\t\t50053\n\t],\n\t\"./mr.js\": [\n\t\t87425,\n\t\t87425\n\t],\n\t\"./ms-my.js\": [\n\t\t44817,\n\t\t44817\n\t],\n\t\"./ms.js\": [\n\t\t19794,\n\t\t19794\n\t],\n\t\"./mt.js\": [\n\t\t50299,\n\t\t50299\n\t],\n\t\"./my.js\": [\n\t\t31008,\n\t\t31008\n\t],\n\t\"./nb.js\": [\n\t\t70122,\n\t\t70122\n\t],\n\t\"./ne.js\": [\n\t\t24339,\n\t\t24339\n\t],\n\t\"./nl-be.js\": [\n\t\t91040,\n\t\t91040\n\t],\n\t\"./nl.js\": [\n\t\t94324,\n\t\t94324\n\t],\n\t\"./nn.js\": [\n\t\t38782,\n\t\t38782\n\t],\n\t\"./oc-lnc.js\": [\n\t\t62282,\n\t\t62282\n\t],\n\t\"./pa-in.js\": [\n\t\t79601,\n\t\t79601\n\t],\n\t\"./pl.js\": [\n\t\t26138,\n\t\t26138\n\t],\n\t\"./pt-br.js\": [\n\t\t45543,\n\t\t45543\n\t],\n\t\"./pt.js\": [\n\t\t24370,\n\t\t24370\n\t],\n\t\"./rn.js\": [\n\t\t61282,\n\t\t61282\n\t],\n\t\"./ro.js\": [\n\t\t45521,\n\t\t45521\n\t],\n\t\"./ru.js\": [\n\t\t57399,\n\t\t57399\n\t],\n\t\"./rw.js\": [\n\t\t34041,\n\t\t34041\n\t],\n\t\"./sd.js\": [\n\t\t97629,\n\t\t97629\n\t],\n\t\"./se.js\": [\n\t\t71358,\n\t\t71358\n\t],\n\t\"./si.js\": [\n\t\t10538,\n\t\t10538\n\t],\n\t\"./sk.js\": [\n\t\t46496,\n\t\t46496\n\t],\n\t\"./sl.js\": [\n\t\t86645,\n\t\t86645\n\t],\n\t\"./sq.js\": [\n\t\t8034,\n\t\t8034\n\t],\n\t\"./sr-cyrl.js\": [\n\t\t23570,\n\t\t23570\n\t],\n\t\"./sr.js\": [\n\t\t5519,\n\t\t5519\n\t],\n\t\"./ss.js\": [\n\t\t77944,\n\t\t77944\n\t],\n\t\"./sv-fi.js\": [\n\t\t8677,\n\t\t8677\n\t],\n\t\"./sv.js\": [\n\t\t51467,\n\t\t51467\n\t],\n\t\"./sw.js\": [\n\t\t45796,\n\t\t45796\n\t],\n\t\"./ta.js\": [\n\t\t3113,\n\t\t3113\n\t],\n\t\"./te.js\": [\n\t\t58725,\n\t\t58725\n\t],\n\t\"./tet.js\": [\n\t\t55557,\n\t\t55557\n\t],\n\t\"./tg.js\": [\n\t\t68099,\n\t\t68099\n\t],\n\t\"./th.js\": [\n\t\t58690,\n\t\t58690\n\t],\n\t\"./tk.js\": [\n\t\t81295,\n\t\t81295\n\t],\n\t\"./tl-ph.js\": [\n\t\t70791,\n\t\t70791\n\t],\n\t\"./tlh.js\": [\n\t\t78164,\n\t\t78164\n\t],\n\t\"./tr.js\": [\n\t\t97152,\n\t\t97152\n\t],\n\t\"./tzl.js\": [\n\t\t72142,\n\t\t72142\n\t],\n\t\"./tzm-latn.js\": [\n\t\t63127,\n\t\t63127\n\t],\n\t\"./tzm.js\": [\n\t\t5101,\n\t\t5101\n\t],\n\t\"./ug-cn.js\": [\n\t\t99782,\n\t\t99782\n\t],\n\t\"./uk.js\": [\n\t\t35570,\n\t\t35570\n\t],\n\t\"./ur.js\": [\n\t\t49865,\n\t\t49865\n\t],\n\t\"./uz-latn.js\": [\n\t\t68067,\n\t\t68067\n\t],\n\t\"./uz.js\": [\n\t\t56977,\n\t\t56977\n\t],\n\t\"./vi.js\": [\n\t\t59223,\n\t\t59223\n\t],\n\t\"./x-pseudo.js\": [\n\t\t18043,\n\t\t18043\n\t],\n\t\"./yo.js\": [\n\t\t84290,\n\t\t84290\n\t],\n\t\"./zh-cn.js\": [\n\t\t22224,\n\t\t22224\n\t],\n\t\"./zh-hk.js\": [\n\t\t31992,\n\t\t31992\n\t],\n\t\"./zh-tw.js\": [\n\t\t83480,\n\t\t83480\n\t],\n\t\"./zh.js\": [\n\t\t46556,\n\t\t46556\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 = 76776;\nmodule.exports = webpackAsyncContext;"],"names":["dayjs","customParseFormat","eventPartnerUpdated","CustomEvent","detail","isPartnerValid","document","querySelector","dataset","fhiTest","add_user_info","utag_user_data","utag_data","noEmpty","$","cookie","user_id","user_points","user_level","visitor_type","hasOwnProperty","undefined","getUrlVars","base_domain","domain","split","slice","join","setCookie","sessionStorage","setItem","JSON","stringify","extend","set_cookie_from_param","param_name","cookie_name","expires","param_value","actual_cookie","readCookie","value","exit_partner","callback","IB","cookieManager","deleteCookies","vars","window","location","href","replace","m","key","length","partner","hidePartnerLogo","cp","actual_cookie_no_prom","ajax","dataType","type","url","then","msg","code","is_promo","promotional","promo_expires","cookies_duration","no_promo_expires","cookies","name","partpdv","image_url","add","format","push","tduid","setCookies","updatePartner","showPartnerLogo","dispatchEvent","segmented_messages_banner","init","error","set_partner","idClient","cookieIdClientExpiration","set_userID","EXACT_TARGET_PARAMS","i","set_exact_target_cookies","urlParser","getParam","myibe_hide_cps","data","indexOf","toLowerCase","hide","hide_myibe_references","elem","Boolean","closest","getPageVariation","productImpressionObserver","selector","utag_eec_events","observe","initializeSharedEvents","querySelectorAll","forEach","element","addEventListener","sendUtagEvent","event_name","event_cat","event_act","event_lbl","event_purpose","event_structure","isInModal","this","event","target","matches","page_variation","on","eventName","handler","registerType","utagIbRegisterType","normalizeString","getAttribute","structure","pageVariation","utag_hotel_info","utagHotelInfo","hotelRoomName","Object","assign","VisitorSessionId","initNewVisitorSessionId","dataRoomId","room_label","selectedRoom","roomId","once","networkName","hotel","hotelNameShared","locale","page_currency","classList","contains","enh_action","promotion_creative","item_data","promotion_id","promotionId","promotion_name","promotionName","slide_index","slideIndex","promotion_position","parseInt","home_items","home_length","non_interaction","position","index","toString","id","dataHotelName","hotelName","hotel_name","replaceAll","children","setAttribute","dataPromoId","dataPromoName","toggleViewMoreButton","viewMoreButton","block","blockName","blockLayout","blockTitle","category","label","utagBlockTitle","innerText","getCleanedString","reasonSelect","selectedOption","selectedOptions","utagType","utagReason","hotelList","hotels_info_with_filtering","hotel_list","best_offers_blocks","sendProductImpressionObserver","e","nameRadio","selectdRadio","find","val","isFhiPage","fhiPageType","destination_event","page_section","page_type","page_category","origin_checkin","destination","parsley","validate","freetour_name","checkin","pax","text","action","is","attr","includes","hasClass","lbl","utagValue","trim","experience","utagStack","isUtagBeingObserved","searcherEvents","Set","_ref3","eventData","eventKey","has","checkOnceTimeEvent","_ref","utag","setTimeout","attempts","checkUtagDefined","gdpr","clearInterval","check_utag","_ref2","setInterval","queueUtagEvent","sendCatAndOptionalEvents","cat","events","arguments","get_utag_search_info","success","each","utag_search_info","parse","getItem","search_term","removeItem","console","warn","sendSearchEvent","log","htmlElement","documentElement","getCurrentLocale","jsLang","getPrefix","prefix","setSyncDayjsLocale","lang","setAsyncDayjsLocale","parent","elements","composedPath","node","call","capture","string","normalize","cleanedString","cleaned_title","title","search_action_type","place_value","charAt","cloneJson","findChildrenInNestedArray","array","property","result","getCookie","match","unescape","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","Error","ids","t","keys","module","exports"],"sourceRoot":""}