PageSourceSearch

https://2hlivingleon.com/wp-content/plugins/mirai-core/js/micore-front.js?ver=b9999a5064d679e5434065d8a5ed5ba5

js 2hlivingleon.com collected 2026-10-07 00:40:19 UTC 6,302 bytes, 166 lines download raw bytes

1// add booking integrations in the selected elements
2function micore_load_integration_content() {
3    // loyalty login
4    if (!jQuery('#micore_temporal_loyalty_content').length) return;
5
6    // insert into
7    jQuery(jQuery('.micore-into-loyalty-target').text()).each(function () {
8        jQuery(this).append(jQuery('#micore_temporal_loyalty_content>div + div').clone());
9    });
10
11    // insert before 
12    jQuery(jQuery('.micore-before-loyalty-target').text()).each(function () {
13        jQuery(this).before(jQuery('#micore_temporal_loyalty_content>div + div').clone());
14    });
15
16    // insert after 
17    jQuery(jQuery('.micore-after-loyalty-target').text()).each(function () {
18        jQuery(this).after(jQuery('#micore_temporal_loyalty_content>div + div').clone());
19    });
20
21    jQuery('#micore_temporal_loyalty_content').remove();
22}
23
24// overwrite old booking urls
25function micore_overwrite_core_urls() {
26    const $overwriteBookingDiv = jQuery('#micore_overwrite_booking_url');
27    if (!$overwriteBookingDiv.length) return;
28
29    const forwarderUrl = $overwriteBookingDiv.data('url');
30    const targets = ($overwriteBookingDiv.data('target') || '').split(',').map(t => t.trim()).filter(Boolean);
31    const cssInitialSelectors = ['#', '.'];
32
33    targets.forEach(target => {
34        const firstChar = target[0];
35
36        if (cssInitialSelectors.includes(firstChar) && jQuery(target).length) {
37            jQuery(target).attr('mirai-forwarder-url', forwarderUrl).off('click').on('click', function (e) {
38                e.preventDefault();
39                window.location.href = jQuery(this).attr('mirai-forwarder-url');
40            });
41        } else {
42            const $linkMatch = jQuery(`[href*="${target}"]`);
43            if ($linkMatch.length) {
44                $linkMatch.off().attr('href', forwarderUrl);
45            }
46        }
47    });
48
49    $overwriteBookingDiv.remove();
50}
51
52// update finder integrations language
53function micore_update_language_parameters() {
54    const forwarderBaseUrl = 'reservation.mirai.com/XMAS/';
55    const $targets = jQuery(
56        `[href*="${forwarderBaseUrl}"]:not([href*="&lang="]), [mirai-forwarder-url*="${forwarderBaseUrl}"]:not([mirai-forwarder-url*="&lang="])`
57    );
58
59    if (!$targets.length) return;
60
61    // get current lang
62    const currentLang = (jQuery('html').attr('lang') || 'en').trim().substring(0, 2);
63
64    // for every target - url or element
65    $targets.each(function () {
66        const $target = jQuery(this);
67        const attributeType = $target.attr('href') !== undefined ? 'href' : 'mirai-forwarder-url';
68        const originalUrl = $target.attr(attributeType);
69
70        if (originalUrl && originalUrl.includes('#url=true')) {
71            const updatedUrl = originalUrl.replace('#url=true', `&lang=${currentLang}#url=true`);
72            $target.attr(attributeType, updatedUrl);
73        }
74    });
75}
76
77// overwrite core options
78function micore_get_custom_core_options() {
79    const coreParams = {};
80
81    // overwrite chan selector value
82    if (jQuery('#micore_chain_selector_value').length) {
83        coreParams.chainSelectorValue = parseInt(jQuery('#micore_chain_selector_value').data('value'));
84    }
85
86    // overwrite hsri
87    if (jQuery('#micore_hsri').length) {
88        coreParams.hsri = jQuery('#micore_hsri').data('value');
89    }
90
91    // overwrite promocode
92    if (jQuery('#micore_promocode').length) {
93        coreParams.promocode = jQuery('#micore_promocode').data('value');
94    }
95
96    return coreParams;
97}
98
99// set offset action for fixed finder
100function micore_fixed_finder_offset() {
101    // get fixed finder
102    const $fixedFinder = jQuery('#micore_fixed_finder[data-offset]');
103
104    // check if data-offset exists in the dom
105    if (!$fixedFinder.length) return;
106
107    // get finder offset value
108    const offsetTarget = $fixedFinder.data('offset');
109
110    // check if offset value is not a number
111    if (isNaN(parseInt(offsetTarget))) {
112        // check if offset value exist has element in the dom
113        if (jQuery(offsetTarget).length) {
114            // overwrite offset value with scroll y position + he
114ight of the target element
115            jQuery($fixedFinder).data('offset', jQuery(offsetTarget).offset().top + jQuery(offsetTarget).outerHeight());
116        }
117        // if element not exist in the dom the offset value is overwrite to 10
118        else {
119            jQuery($fixedFinder).data('offset', 10);
120        }
121    }
122
123    // set function on scroll
124    jQuery(window).on('scroll', function () {
125        // compare window scroll y position with offset value to add or remove offset active class
126        $fixedFinder.toggleClass('micore-offset-active', window.scrollY > parseInt($fixedFinder.data('offset')));
127    });
128}
129
130// reload core components inside elementor pop ups
131function micore_load_core_components_in_elementor_popups() {
132    // check if there are a core component inside pop up
133    if (jQuery('body:not(.elementor-editor-active) [data-elementor-type="popup"] [data-mirai-component]').length && typeof Mirai === 'object') {
134        // remove html content of component and ready attribute
135        jQuery('[data-elementor-type="popup"] [data-mirai-component]').removeAttr('data-ready');
136        jQuery('[data-elementor-type="popup"] [data-mirai-component] > [data-role]').remove();
137
138        // reload core components
139        window.Mirai.core();
140
141        // overwrite default core values
142        setTimeout(() => {
143            window.Mirai.Event.publish("setStore", micore_get_custom_core_options());
144        }, 500);
145    }
146}
147
148micore_load_integration_content();
149
150// ON LOAD CORE
151document.addEventListener('MIRAI:EVENT:core:events:ready', function () {
152    // ON LOAD FINDER
153    window.Mirai.Event.subscribe('finderLoaded', function ({ calendar, occupation, place, promocode } = {}) {
154        window.Mirai.Event.publish("setStore", micore_get_custom_core_options());
155    });
156});
157
158jQuery(document).ready(function () {
159    micore_overwrite_core_urls();
160    micore_update_language_parameters();
161    micore_fixed_finder_offset();
162});
163
164jQuery(document).on('elementor/popup/show', function () {
165    micore_load_core_components_in_elementor_popups();
166});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.