{"version":3,"file":"js/10281-cbbc66038a36d74996ab.js","mappings":"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","sources":["webpack://cms-web/./app/frontend/src/blocks/hotels_info_with_filtering_mice/dependencies/booking_results.js","webpack://cms-web/./app/frontend/src/vendors/layer_handler_ecc/layer_handler_eec.js"],"sourcesContent":["import '../../../vendors/layer_handler_ecc/layer_handler_eec';\nimport { setCookie } from '../../../utils/cookie_manager';\nimport { updatePricesInfo } from '../../../shared/update_prices/update_prices';\n\n$(function () {\n let paginationUpdated = false;\n\n function init() {\n // Get search term from place to go select options and update title with it\n let $place = $('.results-header').find('.place');\n if ($place.length) {\n let text_to_replace = $('[name=\"vo_booking[place_to_go]\"]').find('option[value=' + $place.text() + ']').first()\n .text();\n if (text_to_replace) {\n $place.text('\"' + text_to_replace + '\"');\n $place.closest('.t-h2').show();\n } else {\n $('.results-header').hide();\n }\n }\n\n // Query job to retrieve prices\n if ($('#job_id').length > 0) {\n let price_custom_message = $('#job_id').data('price-custom-message') || '0';\n watchJob($('#job_id').val(), price_custom_message);\n }\n\n\n $(document).on('change', '.js-myibe-toggle', function () {\n let url = $(this).data('url');\n let $text = $(this).closest('.js-toggle-wrapper').find('.js-toggle-text');\n let toggle_text = $(this).hasClass('active') ? $text.data('toggle-on') : $text.data('toggle-off');\n if ($(this).hasClass('active')) {setCookie('show_myibe_discount', 'true');} else {setCookie('show_myibe_discount', 'false', \"-1\");}\n // Change text near the toggle\n $text.html(toggle_text);\n $.ajax({\n type: 'GET',\n dataType: 'script',\n url: url\n });\n });\n\n //sets default value for crsPricesUpdated variable\n if (localStorage.getItem('crsPricesUpdated')) {\n localStorage.setItem('crsPricesUpdated', 'false');\n }\n }\n\n function watchJob(jid, price_custom_message) {\n setTimeout(() => {\n let lang = document.documentElement.getAttribute('data-js-lang');\n lang = lang != 'es' ? '/' + lang : '';\n let $hotelMapLink = $('a.hotel-map-link');\n if (!$hotelMapLink.closest('.js-footer-filter-buttons').length) $hotelMapLink.hide();\n $.getJSON(lang + '/crs_availabilities_jobs/' + jid + '/?price_custom_message=' + price_custom_message, function (job) {\n // While the job is not finished\n if (job.at != job.total) {\n setTimeout(function () {\n watchJob(jid, price_custom_message);\n }, 1000);\n } else {\n $('#watch-job').remove();\n if (!$hotelMapLink.closest('.js-footer-filter-buttons').length) $hotelMapLink.show();\n }\n $(document).trigger('price_displayed');\n if (job.at == job.total) {\n sessionStorage.setItem('crs_prices', JSON.stringify(job));\n processValues(job);\n }\n });\n }, 5000);\n }\n\n function processPrices(div, html_replacements, orders) {\n let result = html_replacements[$(div).data('id')];\n let order = orders[$(div).data('id')];\n if (result) {\n let $this = $(div);\n let $fb_btn;\n $this.removeClass('wait');\n $this.find('.call-to-action').replaceWith(result);\n $fb_btn = $this.find('a.js-book-btn');\n if (typeof $fb_btn !== 'undefined') {\n let link_url = $fb_btn.attr('href');\n let activMyIbeValue = ($('.js-myibe-toggle').hasClass('active') ? 1 : 0);\n if (typeof link_url !== 'undefined') {\n link_url = link_url + (link_url.indexOf('?') != -1 ? '&activeMiIB=' + activMyIbeValue : 'activeMiIB=' + activMyIbeValue);\n $fb_btn.attr('href', link_url);\n }\n }\n\n if ($this.find('.badges-and-price').length) {\n let $r = $('
').html(result);\n let $type = ($r.find('.type').length == 0 ? $r.find('.prev-type') : $r.find('.type'));\n let $highlight = $r.find('.highlight');\n let $hint_cnt = $r.find('.hint-cnt');\n let $not_available = $r.find('.not-available-message');\n let $price_cnt = $('');\n let datas = $r.find('[data-curr-converter][data-hotel-id]').data();\n $price_cnt.append($type, $highlight, $hint_cnt, $not_available);\n $this.find('.badges-and-price').html($price_cnt);\n // Añadimos los datas para el conversor:\n try {\n if (datas !== undefined) {\n $.each(datas, function (key, value) {\n $this.find('.badges-and-price .highlight').attr('data-' + key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(), value);\n $this.find('.badges-and-price .highlight').addClass('t-price');\n });\n }\n } catch (e) {\n console.log(e);\n }\n }\n if (IB.currentDevice === 'mobile') {\n let $call_to_action = $this.find('.call-to-action');\n $this.find('.info-price').append($call_to_action.find('.highlight').parent('div'), $call_to_action.find('.hint-cnt'));\n }\n LayerHandlerEec.pushVisibleProducts($this.find('.call-to-action a[data-ecc-product]'));\n }\n }\n\n function processMyIbePills(div, html_myibes) {\n let result = html_myibes[$(div).data('id')];\n if (result) {\n let $this = $(div);\n $this.find('.myibe-discount').replaceWith(result);\n if ($('.js-myibe-toggle').hasClass('active')) {$this.find('.myibe-discount').show();} else {$this.find('.myibe-discount').hide();}\n }\n }\n\n function processMyIbeTags(div, html_myibe_tags) {\n let result = html_myibe_tags[$(div).data('id')];\n if (result) {\n let $this = $(div);\n $this.find('.discounts').replaceWith(result);\n }\n }\n\n function processMyIbeFancybox(div, html_myibe_discounts) {\n let result = html_myibe_discounts[$(div).data('id')];\n if (result) {\n let $this = $(div);\n let $discountsFancybox = $this.find('#discounts-' + $(div).data('code'));\n if($discountsFancybox !== undefined)\n $discountsFancybox.html(result);\n if ($('.js-myibe-toggle').hasClass('active') === true) {\n $('.discounts-fancybox .desc .my-iberostar').removeClass('hidden');\n } else {\n $('.discounts-fancybox .desc .my-iberostar').addClass('hidden');\n }\n }\n }\n\n function processValues(job) {\n $('.result-hotel:not(.completed)').each(function (i, div) {\n if (job?.hotel_ids_order_price && !paginationUpdated) {\n let paginationUpdateEvent = new Event('pagination:update');\n paginationUpdateEvent.hotelIDs = job.hotel_ids_order_price;\n paginationUpdateEvent.hotelIDsWithoutPrice = job.hotel_ids_without_price;\n paginationUpdateEvent.fromCRSPricesSync = true;\n paginationUpdated = true;\n document.dispatchEvent(paginationUpdateEvent);\n }\n if (job.html_replacements) {\n processPrices(div, JSON.parse(job.html_replacements), JSON.parse(job.orders));\n }\n\n if (job.html_myibes) {\n processMyIbePills(div, JSON.parse(job.html_myibes));\n }\n\n if (job.html_myibe_tags) {\n processMyIbeTags(div, JSON.parse(job.html_myibe_tags));\n }\n\n if (job.html_myibe_discounts) {\n processMyIbeFancybox(div, JSON.parse(job.html_myibe_discounts));\n }\n });\n\n //Forces prices to be updated with the correct currency type\n IB.currencyForm.forceUpdate();\n\n //updates crsPricesUpdated to true, because there is a new crsPrices variable\n localStorage.setItem('crsPricesUpdated', 'true');\n const updateCTAs = new Event('updateCTAs');\n document.getElementById('fb-results').dispatchEvent(updateCTAs);\n if(job?.hotel_ids_without_price) {\n let paginationUpdateEvent = new Event('availability:finished');\n paginationUpdateEvent.idsToAppend = JSON.parse(job.hotel_ids_without_price);\n paginationUpdateEvent.fromCRSPricesSync = true;\n document.dispatchEvent(paginationUpdateEvent);\n }\n if (job.html_replacements) {\n $(document).trigger('availability:processed', [Object.keys(JSON.parse(job.html_replacements))]);\n }\n\n updatePricesInfo()\n }\n\n function forceCRSprices(job) {\n job = job || sessionStorage.getItem('crs_prices');\n job = JSON.parse(job);\n processValues(job);\n }\n\n function replaceHtmlWithCRSinfo(job) {\n makeReplacements(job, '.result-hotel:not(.completed)');\n $(document).trigger('price_displayed');\n\n if (job.html_replacements) {\n $(document).trigger('availability:processed', [Object.keys(JSON.parse(job.html_replacements))]);\n }\n updatePricesInfo()\n }\n\n function makeReplacements(job, elements) {\n $(elements).each(function (i, div) {\n if (job.html_replacements) {\n processPrices(div, JSON.parse(job.html_replacements), JSON.parse(job.orders));\n }\n\n if (job.html_myibes) {\n processMyIbePills(div, JSON.parse(job.html_myibes));\n }\n\n if (job.html_myibe_tags) {\n processMyIbeTags(div, JSON.parse(job.html_myibe_tags));\n }\n\n if (job.html_myibe_discounts) {\n processMyIbeFancybox(div, JSON.parse(job.html_myibe_discounts));\n }\n\n $(div).find('[data-tooltip]').each(function (index, element) {\n IB.tooltip.init($(element));\n });\n });\n }\n\n IB.booking_results = {\n init: init,\n watchJob: watchJob,\n processValues: processValues,\n forceCRSprices: forceCRSprices\n };\n}(jQuery));\n","(function(global) {\n var LayerHandlerEec = {};\n global.LayerHandlerEec = LayerHandlerEec;\n\n LayerHandlerEec.init = function(gtm_id) {\n //Bindeamos los clicks de productos y promos, y las búsquedas desde fastbooking.\n this.bindEvents();\n //Mandamos las impresiones de los productos y las promociones de algunos módulos. Se juega con los selectores para identificar exactamente qué se manda\n //Algunos módulos mandarán impresiones también al avanzar la tab o el carrusel\n this.pushVisiblePromotions(\".home-static-banner a[data-ecc-promo]\");\n\n this.pushVisiblePromotions(\".offers-index-list .card-container .call-to-action a[data-ecc-promo]\");\n this.pushVisibleProducts(\".offers-index-list .card-container .call-to-action a[data-ecc-product]\");\n this.pushVisiblePromotions(\".offers-list .card-container .call-to-action a[data-ecc-promo]\");\n this.pushVisibleProducts(\".offers-list .card-container .call-to-action a[data-ecc-product]\");\n\n this.pushVisibleProducts(\".destination-tabs-list .js-tab.active .js-tab.active .card-container .call-to-action a[data-ecc-product]\");\n this.pushVisibleProducts(\".hotel-list .card-container .call-to-action a[data-ecc-product]\");\n\n if ($('.masonry-modules').length && IB.currentDevice === 'mobile') {\n //Nada aquí, lo hacemos en el masonry_modules.js, masonry_offers, etc.\n }else{\n this.pushVisiblePromotions(\".masonry-modules div[class*='masonry-link'] [data-ecc-promo]\");\n this.pushVisibleProducts(\".masonry-modules div[class*='masonry-link'] [data-ecc-product]\");\n this.pushVisibleProducts(\".masonry-modules div[class*='masonry-offer'] [data-ecc-product]\");\n this.pushVisiblePromotions(\".offers-in-a-row [data-ecc-promo]\");\n this.pushVisibleProducts(\".offers-in-a-row [data-ecc-product]\");\n this.pushVisiblePromotions(\".multi-offers-slider [data-ecc-promo]\");\n this.pushVisibleProducts(\".multi-offers-slider [data-ecc-product]\");\n\n //this.pushVisibleProducts(\".near-hotels-slider .card-container a[data-ecc-product]:visible\");\n }\n };\n\n LayerHandlerEec.bindEvents = function() {\n this.bindClicks();\n this.bindSearchs();\n };\n\n LayerHandlerEec.pushVisiblePromotions = function(selector) {\n promos = [];\n $(selector).each(function(){\n data = LayerHandlerEec.promoBaseData(this);\n if(data !== null) {\n promos.push(data);\n }\n });\n if (promos.length > 0){\n data = {\"ecommerce\": { \"promoView\": { \"promotions\": promos } } };\n this.pushData(data);\n }\n };\n\n LayerHandlerEec.pushVisibleProducts = function(selector) {\n products = [];\n currencyCode = \"\";\n is_fastbooking_result_page = (window.location.pathname.indexOf('/bookings') != -1 || window.location.pathname.indexOf('/reservas') != -1);\n is_still_working = $('#watch-job').length > 0;\n $(selector).each(function(){\n data = LayerHandlerEec.productBaseData(this);\n if(data !== null) {\n currencyCode = data[\"currency\"];\n delete data[\"currency\"];\n delete data[\"cart\"];\n if (is_fastbooking_result_page && is_still_working) {\n data[\"dimension194\"] = \"Buscando precios\";\n }\n products.push(data);\n }\n });\n if (products.length > 0){\n data = {\"ecommerce\": { \"currencyCode\": currencyCode, \"impressions\": products } };\n if (is_fastbooking_result_page && !is_still_working) {\n data[\"event\"] = \"loadProductDetails\";\n }\n this.pushData(data);\n }\n };\n\n LayerHandlerEec.bindClicks = function() {\n document.body.addEventListener('click', function(event) {\n var element = event.target,\n data;\n data = this.promoClickData(element);\n this.pushData(data);\n data = this.productClickData(element);\n this.pushData(data);\n }.bind(this));\n }\n\n LayerHandlerEec.bindSearchs = function() {\n document.body.addEventListener('submit', function(event) {\n var element = event.target;\n\n data = this.searchBaseData(element);\n //Rellenamos el resto de datos del bloque y de la página\n if (data !== undefined){\n scr = $(element).closest(\"div\").find(\"script[id*=ee-block]\")\n if (scr.length > 0){\n block_data = JSON.parse($(scr).html());\n data[\"dimension190\"] = block_data[\"title\"];\n data[\"dimension193\"] = block_data[\"type\"];\n }\n data[\"dimension196\"] = this.getPageData()[\"subcategory\"];\n data = {\"event\": \"addToCart\", \"ecommerce\": { \"add\": { \"products\": [data] } } } ;\n this.pushData(data);\n }\n }.bind(this));\n }\n\n LayerHandlerEec.promoClickData = function(element) {\n data = this.promoBaseData(element);\n if (data !== null) {\n data = {\"event\": \"promotionClick\", \"ecommerce\": { \"promoClick\": { \"promotions\": [data] } } };\n }\n return data;\n }\n\n LayerHandlerEec.promoBaseData = function(element) {\n data = this.getElementData(element, 'data-ecc-promo');\n if (data !== null) {\n data = JSON.parse(data);\n block_data = this.getBlockData(data[\"block\"]);\n delete data[\"block\"];\n if (data[\"size\"] !== undefined) {\n switch (data[\"size\"]) {\n case 'masonry-link1x1':\n data[\"creative\"] = \"280x280\";\n break;\n case 'masonry-link2x1':\n data[\"creative\"] = \"570x280\";\n break;\n case 'masonry-link2x2':\n data[\"creative\"] = \"570x570\";\n break;\n }\n delete data[\"size\"];\n }else{\n data[\"creative\"] = block_data[\"type\"];\n }\n\n data[\"moduleTitleProm\"] = block_data[\"title\"];\n data[\"moduleTypeProm\"] = block_data[\"type\"];\n data[\"contentTypeProm\"] = data[\"category\"];\n delete data[\"category\"];\n data[\"position\"] = this.getPageData(data[\"block\"])[\"category\"];\n }\n return data;\n }\n\n LayerHandlerEec.productClickData = function(element) {\n data = this.productBaseData(element);\n if (data !== null) {\n if (data[\"cart\"] == true){\n currencyCode = data[\"currency\"];\n delete data[\"cart\"];\n delete data[\"currency\"];\n delete data[\"hotel\"];\n data = {\"event\": \"addToCart\", \"ecommerce\": { \"currencyCode\": currencyCode, \"add\": { \"products\": [data] } } } ;\n }else\n if(data[\"hotel\"] == true){\n delete data[\"hotel\"];\n data = {\"event\": \"viewProductDetails\", \"ecommerce\": { \"detail\": { \"actionField\": { \"list\": data[\"list\"] }, \"products\": [data] } } };\n }\n else{\n data = {\"ecommerce\": { \"detail\": { \"actionField\": { \"list\": data[\"list\"] }, \"products\": [data] } } };\n }\n }\n return data;\n }\n\n LayerHandlerEec.productBaseData = function(element) {\n var data = this.getElementData(element, 'data-ecc-product')\n if (data !== null) {\n data = JSON.parse(data);\n hotel_data = IB.hotels_data.check() ? LayerHandlerEec.recoverHotelDataFromJson(\"h\" + data[\"id\"]) : IB.hotels_data.get(function(){ LayerHandlerEec.recoverHotelDataFromJson(\"h\" + data[\"id\"])});\n if (hotel_data){\n data[\"name\"] = hotel_data[\"name\"];\n data[\"id\"] = hotel_data[\"id\"];\n data[\"category\"] = hotel_data[\"category\"];\n data[\"hotel\"] = true;\n }\n block_data = this.getBlockData(data[\"block\"]);\n delete data[\"block\"];\n data[\"dimension190\"] = block_data[\"title\"];\n data[\"dimension193\"] = block_data[\"type\"];\n if (data[\"price\"] !== null && data[\"price\"] != \"0\"){\n data[\"dimension194\"] = \"Dispo\";\n }else{\n data[\"dimension194\"] = \"NoDispo\";\n }\n\n page_data = this.getPageData();\n data[\"list\"] = page_data[\"category\"];\n data[\"dimension196\"] = page_data[\"subcategory\"];\n\n delete data[\"size\"];\n }\n return data;\n }\n\n LayerHandlerEec.searchBaseData = function(element) {\n var hotel_id, data;\n //Si vamos a saltar a CRS (buscamos un hotel y buscamos con fechas), buscamos ese hotel en el JSON y rellenamos los datos\n if ($(element).find(\"[name*=check_in_date]\").val() == \"\" || $(element).find(\"[name*=check_out_date]\").val() == \"\"){\n return data;\n }\n if ($(element).find(\"[name*=place_to_go]\").length > 0) {\n hotel_id = $(element).find(\"[name*=place_to_go]\").val();\n if (!hotel_id.match(\"^h\")) {\n hotel_id = LayerHandlerEec.recoverHotelFromPlaceToGo(hotel_id);\n }\n }else{\n hotel_id = \"h\" + $(element).find(\"[name*=hotel_id]\").val();\n }\n if (hotel_id) {\n data = (IB.hotels_data.check() ? LayerHandlerEec.recoverHotelDataFromJson(hotel_id) : IB.hotels_data.get(function(){LayerHandlerEec.recoverHotelDataFromJson(hotel_id)}));\n }\n return data;\n }\n\n LayerHandlerEec.recoverHotelFromPlaceToGo = function(id) {\n if (!id.match(\"^d\")){\n return null;\n }\n //Cogemos el destino actual y todos los destinos hijos\n var hotels_data = JSON.parse(sessionStorage.getItem('fastbooking_data'));\n if(hotels_data === undefined)\n return null;\n var destination_ids = current_ids = [id];\n do {\n var child_destinations = $.grep(hotels_data[\"destinations\"][1], function( n, i ) {\n return $.inArray(n[\"data\"][\"parent_id\"], current_ids) >= 0;\n });\n current_ids = [];\n for (var i = 0; i < child_destinations.length; i++) {\n destination_ids.push(child_destinations[i][\"id\"]);\n current_ids.push(child_destinations[i][\"id\"]);\n }\n } while (current_ids.length > 0);\n\n //Buscamos los hoteles de esos destinos, si solo es un hotel lo devolvemos\n var hotels = $.grep(hotels_data[\"hotels\"][1], function( n, i ) {\n return $.inArray(n[\"data\"][\"destination\"], destination_ids) >= 0;\n });\n if (hotels.length == 1) {\n return hotels[0][\"id\"];\n }else{\n return null;\n }\n }\n\n LayerHandlerEec.recoverHotelDataFromJson = function(hotel_id) {\n var data;\n var hotels_data = IB.hotels_data.getData();\n //Buscamos el hotel en el Json\n const hotel = $.grep(hotels_data[\"hotels\"][1], function( n, i ) {\n return n[\"id\"] == hotel_id;\n });\n if (hotel.length > 0){\n var category = \"\";\n //Buscamos los destinos para rellenar el árbol hacia arriba\n var destination_id = hotel[0][\"data\"][\"destination\"];\n while (destination_id != \"d\"){\n const destination = $.grep(hotels_data[\"destinations\"][1], function( n, i ) {\n return n[\"id\"] == destination_id;\n })\n category = \"/\" + destination[0][\"data\"][\"title_es\"] + category;\n destination_id = destination[0][\"data\"][\"parent_id\"];\n }\n\n data = {\"name\": hotel[0][\"title\"], \"id\": hotel[0][\"data\"][\"code\"], \"category\": category }\n }\n return data;\n }\n\n LayerHandlerEec.getElementData = function(element, attribute) {\n var data = null;\n do {\n data = element.getAttribute(attribute);\n element = element.parentElement;\n } while (element && element.parentElement && data === null);\n return data;\n }\n\n LayerHandlerEec.getBlockData = function(id) {\n var $eeBlock = $('#ee-block-' + id);\n\n if (id == 0 || $eeBlock.length < 1) {\n return {};\n } else {\n return JSON.parse($eeBlock.html());\n }\n }\n\n LayerHandlerEec.getPageData = function() {\n return JSON.parse($('#eec-page-data').html());\n }\n\n LayerHandlerEec.pushData = function(data) {\n if(data !== null) {\n dataLayer.push(data);\n }\n }\n})(window);\n"],"names":["$","paginationUpdated","watchJob","jid","price_custom_message","setTimeout","lang","document","documentElement","getAttribute","$hotelMapLink","closest","length","hide","getJSON","job","at","total","remove","show","trigger","sessionStorage","setItem","JSON","stringify","processValues","processPrices","div","html_replacements","orders","result","data","$fb_btn","$this","removeClass","find","replaceWith","link_url","attr","activMyIbeValue","hasClass","indexOf","$r","html","$type","$highlight","$hint_cnt","$not_available","$price_cnt","datas","append","undefined","each","key","value","replace","toLowerCase","addClass","e","console","log","IB","currentDevice","$call_to_action","parent","LayerHandlerEec","pushVisibleProducts","processMyIbePills","html_myibes","processMyIbeTags","html_myibe_tags","processMyIbeFancybox","html_myibe_discounts","$discountsFancybox","i","hotel_ids_order_price","paginationUpdateEvent","Event","hotelIDs","hotelIDsWithoutPrice","hotel_ids_without_price","fromCRSPricesSync","dispatchEvent","parse","currencyForm","forceUpdate","localStorage","updateCTAs","getElementById","idsToAppend","Object","keys","updatePricesInfo","booking_results","init","$place","text_to_replace","text","first","val","on","url","this","$text","toggle_text","setCookie","ajax","type","dataType","getItem","forceCRSprices","global","gtm_id","bindEvents","pushVisiblePromotions","bindClicks","bindSearchs","selector","promos","promoBaseData","push","pushData","products","currencyCode","is_fastbooking_result_page","window","location","pathname","is_still_working","productBaseData","body","addEventListener","event","element","target","promoClickData","productClickData","bind","searchBaseData","scr","block_data","getPageData","getElementData","getBlockData","hotel_data","hotels_data","check","recoverHotelDataFromJson","get","page_data","hotel_id","match","recoverHotelFromPlaceToGo","id","destination_ids","current_ids","child_destinations","grep","n","inArray","hotels","getData","hotel","category","destination_id","destination","attribute","parentElement","$eeBlock","dataLayer"],"sourceRoot":""}