PageSourceSearch

https://orthodoxcanarias.ru/assets/js/main_funtions.js

js orthodoxcanarias.ru collected 2026-10-03 01:28:35 UTC 160,662 bytes, 3,568 lines download raw bytes

1    var $window = $(window);
2    var $document = $(document);
3    var $document_body = $(document.body);
4    var scroll = $(window).scrollTop();
5    
6    var dates = new Array();
7    var limits = new Array();
8    var ATLANTICO = {};
9
10!function(a, b) {
11    var c = function() {
12        b(a.lazySizes), a.removeEventListener("lazyunveilread", c, !0)
13    };
14    b = b.bind(null, a, a.document), "object" == typeof module && module.exports ? b(require("lazysizes")) : a.lazySizes ? c() : a.addEventListener("lazyunveilread", c, !0)
15    }(window, function(a, b, c) {
16    "use strict";
17
18    function d(a, c) {
19        if (!g[a]) {
20            var d = b.createElement(c ? "link" : "script"),
21                e = b.getElementsByTagName("script")[0];
22            c ? (d.rel = "stylesheet", d.href = a) : d.src = a, g[a] = !0, g[d.src || d.href] = !0, e.parentNode.insertBefore(d, e)
23        }
24    }
25    var e, f, g = {};
26    b.addEventListener && (f = /\(|\)|\s|'/, e = function(a, c) {
27        var d = b.createElement("img");
28        d.onload = function() {
29            d.onload = null, d.onerror = null, d = null, c()
30        }, d.onerror = d.onload, d.src = a, d && d.complete && d.onload && d.onload()
31    }, addEventListener("lazybeforeunveil", function(a) {
32        if (a.detail.instance == c) {
33            var b, g, h, i;
34            a.defaultPrevented || ("none" == a.target.preload && (a.target.preload = "auto"), b = a.target.getAttribute("data-link"), b && d(b, !0), b = a.target.getAttribute("data-script"), b && d(b), b = a.target.getAttribute("data-require"), b && (c.cfg.requireJs ? c.cfg.requireJs([b]) : d(b)), h = a.target.getAttribute("data-bg"), h && (a.detail.firesLoad = !0, g = function() {
35                a.target.style.backgroundImage = "url(" + (f.test(h) ? JSON.stringify(h) : h) + ")", a.detail.firesLoad = !1, c.fire(a.target, "_lazyloaded", {}, !0, !0)
36            }, e(h, g)), i = a.target.getAttribute("data-poster"), i && (a.detail.firesLoad = !0, g = function() {
37                a.target.poster = i, a.detail.firesLoad = !1, c.fire(a.target, "_lazyloaded", {}, !0, !0)
38            }, e(i, g)))
39        }
40    }, !1))
41    });
42    !function(a, b) {
43    var c = b(a, a.document);
44    a.lazySizes = c, "object" == typeof module && module.exports && (module.exports = c)
45    }("undefined" != typeof window ? window : {}, function(a, b) {
46    "use strict";
47    var c, d;
48    if (function() {
49            var b, c = {
50                lazyClass: "lazyload",
51                loadedClass: "lazyloaded",
52                loadingClass: "lazyloading",
53                preloadClass: "lazypreload",
54                errorClass: "lazyerror",
55                autosizesClass: "lazyautosizes",
56                srcAttr: "data-src",
57                srcsetAttr: "data-srcset",
58                sizesAttr: "data-sizes",
59                minSize: 40,
60                customMedia: {},
61                init: !0,
62                expFactor: 1.5,
63                hFac: .8,
64                loadMode: 2,
65                loadHidden: !0,
66                ricTimeout: 0,
67                throttleDelay: 125
68            };
69            d = a.lazySizesConfig || a.lazysizesConfig || {};
70            for (b in c) b in d || (d[b] = c[b])
71        }(), !b || !b.getElementsByClassName) return {
72        init: function() {},
73        cfg: d,
74        noSupport: !0
75    };
76        var e = b.documentElement,
77        f = a.Date,
78        g = a.HTMLPictureElement,
79        h = "addEventListener",
80        i = "getAttribute",
81        j = a[h],
82        k = a.setTimeout,
83        l = a.requestAnimationFrame || k,
84        m = a.requestIdleCallback,
85        n = /^picture$/i,
86        o = ["load", "error", "lazyincluded", "_lazyloaded"],
87        p = {},
88        q = Array.prototype.forEach,
89        r = function(a, b) {
90            return p[b] || (p[b] = new RegExp("(\\s|^)" + b + "(\\s|$)")), p[b].test(a[i]("class") || "") && p[b]
91        },
92        s = function(a, b) {
93            r(a, b) || a.setAttribute("class", (a[i]("class") || "").trim() + " " + b)
94        },
95        t = function(a, b) {
96            var c;
97            (c = r(a, b)) && a.setAttribute("class", (a[i]("class") || "").replace(c, " "))
98        },
99        u = function(a, b, c) {
100            var d = c ? h : "removeEventListener";
101            c && u(a, b), o.forEach(function(c) {
102                a[d](c, b)
103            })
104        },
105        v = function(a, d, e, f, g) {
106            var h = b.createEvent("Event");
107            return e || (e = {}), e.instance = c, h.initEvent(d, !f, !g), h.detail = e, a.dispatchEvent(h), h
108        },
109        w = function(b, c) {
110            var e;
111            !g && (e = a.picturefill || d.pf) ? (c && c.src && !b[i]("srcset") && b.setAttribute("srcset", c.src), e({
112                reevaluate: !0,
113                elements: [b]
114            })) : c && c.src && (b.src = c.src)
115        },
116        x = function(a, b) {
117            return (getComputedStyle(a, null) || {})[b]
118        },
119        y = function(a, b, c) {
120            for (c = c || a.offsetWidth; c < d.minSize && b && !a._lazysizesWidth;) c = b.offsetWidth, b = b.parentNode;
121            return c
122        },
123        z = function() {
124            var a, c, d = [],
125                e = [],
126                f = d,
127                g = function() {
128                    var b = f;
129                    for (f = d.length ? e : d, a = !0, c = !1; b.length;) b.shift()();
130                    a = !1
131                },
132                h = function(d, e) {
133                    a && !e ? d.apply(this, arguments) : (f.push(d), c || (c = !0, (b.hidden ? k : l)(g)))
134                };
135            return h._lsFlush = g, h
136        }(),
137        A = function(a, b) {
138            return b ? function() {
139                z(a)
140            } : function() {
141                var b = this,
142                    c = arguments;
143                z(function() {
144                    a.apply(b, c)
145                })
146            }
147        },
148        B = function(a) {
149            var b, c = 0,
150                e = d.throttleDelay,
151                g = d.ricTimeout,
152                h = function() {
153                    b = !1, c = f.now(), a()
154                },
155                i = m && g > 49 ? function() {
156                    m(h, {
157                        timeout: g
158                    }), g !== d.ricTimeout && (g = d.ricTimeout)
159                } : A(function() {
160                    k(h)
161                }, !0);
162            return function(a) {
163                var d;
164                (a = !0 === a) && (g = 33), b || (b = !0, d = e - (f.now() - c), d < 0 && (d = 0), a || d < 9 ? i() : k(i, d))
165            }
166        },
167        C = function(a) {
168            var b, c, d = 99,
169                e = function() {
170                    b = null, a()
171                },
172                g = function() {
173                    var a = f.now() - c;
174                    a < d ? k(g, d - a) : (m || e)(e)
175                };
176            return function() {
177                c = f.now(), b || (b = k(g, d))
178            }
179        },
180        D = function() {
181            var g, m, o, p, y, D, F, G, H, I, J, K, L = /^img$/i,
182                M = /^iframe$/i,
183                N = "onscroll" in a && !/(gle|ing)bot/.test(navigator.userAgent),
184                O = 0,
185                P = 0,
186                Q = 0,
187                R = -1,
188                S = function(a) {
189                    Q--, (!a || Q < 0 || !a.target) && (Q = 0)
190                },
191                T = function(a) {
192                    return null == K && (K = "hidden" == x(b.body, "visibility")), K || !("hidden" == x(a.parentNode, "visibility") && "hidden" == x(a, "visibility"))
193                },
194                U = function(a, c) {
195                    var d, f = a,
196                        g = T(a);
197                    for (G -= c, J += c, H -= c, I += c; g && (f = f.offsetParent) && f != b.body && f != e;)(g = (x(f, "opacity") || 1) > 0) && "visible" != x(f, "overflow") && (d = f.getBoundingClientRect(), g = I > d.left && H < d.right && J > d.top - 1 && G < d.bottom + 1);
198                    return g
199                },
200                V = function() {
201                    var a, f, h, j, k, l, n, o, q, r, s, t, u = c.elements;
202                    if ((p = d.loadMode) && Q < 8 && (a = u.length)) {
203                        for (f = 0, R++; f < a; f++)
204                            if (u[f] && !u[f]._lazyRace)
205                                if (!N || c.prematureUnveil && c.prematureUnveil(u[f])) ba(u[f]);
206                                else if ((o = u[f][i]("data-expand")) && (l = 1 * o) || (l = P), r || (r = !d.expand || d.expand < 1 ? e.clientHeight > 500 && e.clientWidth > 500 ? 500 : 370 : d.expand, c._defEx = r, s = r * d.expFactor, t = d.hFac, K = null, P < s && Q < 1 && R > 2 && p > 2 && !b.hidden ? (P = s, R = 0) : P = p > 1 && R > 1 && Q < 6 ? r : O), q !== l && (D = innerWidth + l * t, F = innerHe
206ight + l, n = -1 * l, q = l), h = u[f].getBoundingClientRect(), (J = h.bottom) >= n && (G = h.top) <= F && (I = h.right) >= n * t && (H = h.left) <= D && (J || I || H || G) && (d.loadHidden || T(u[f])) && (m && Q < 3 && !o && (p < 3 || R < 4) || U(u[f], l))) {
207                            if (ba(u[f]), k = !0, Q > 9) break
208                        } else !k && m && !j && Q < 4 && R < 4 && p > 2 && (g[0] || d.preloadAfterLoad) && (g[0] || !o && (J || I || H || G || "auto" != u[f][i](d.sizesAttr))) && (j = g[0] || u[f]);
209                        j && !k && ba(j)
210                    }
211                },
212                W = B(V),
213                X = function(a) {
214                    var b = a.target;
215                    if (b._lazyCache) return void delete b._lazyCache;
216                    S(a), s(b, d.loadedClass), t(b, d.loadingClass), u(b, Z), v(b, "lazyloaded")
217                },
218                Y = A(X),
219                Z = function(a) {
220                    Y({
221                        target: a.target
222                    })
223                },
224                $ = function(a, b) {
225                    try {
226                        a.contentWindow.location.replace(b)
227                    } catch (c) {
228                        a.src = b
229                    }
230                },
231                _ = function(a) {
232                    var b, c = a[i](d.srcsetAttr);
233                    (b = d.customMedia[a[i]("data-media") || a[i]("media")]) && a.setAttribute("media", b), c && a.setAttribute("srcset", c)
234                },
235                aa = A(function(a, b, c, e, f) {
236                    var g, h, j, l, m, p;
237                    (m = v(a, "lazybeforeunveil", b)).defaultPrevented || (e && (c ? s(a, d.autosizesClass) : a.setAttribute("sizes", e)), h = a[i](d.srcsetAttr), g = a[i](d.srcAttr), f && (j = a.parentNode, l = j && n.test(j.nodeName || "")), p = b.firesLoad || "src" in a && (h || g || l), m = {
238                        target: a
239                    }, s(a, d.loadingClass), p && (clearTimeout(o), o = k(S, 2500), u(a, Z, !0)), l && q.call(j.getElementsByTagName("source"), _), h ? a.setAttribute("srcset", h) : g && !l && (M.test(a.nodeName) ? $(a, g) : a.src = g), f && (h || l) && w(a, {
240                        src: g
241                    })), a._lazyRace && delete a._lazyRace, t(a, d.lazyClass), z(function() {
242                        var b = a.complete && a.naturalWidth > 1;
243                        p && !b || (b && s(a, "ls-is-cached"), X(m), a._lazyCache = !0, k(function() {
244                            "_lazyCache" in a && delete a._lazyCache
245                        }, 9)), "lazy" == a.loading && Q--
246                    }, !0)
247                }),
248                ba = function(a) {
249                    if (!a._lazyRace) {
250                        var b, c = L.test(a.nodeName),
251                            e = c && (a[i](d.sizesAttr) || a[i]("sizes")),
252                            f = "auto" == e;
253                        (!f && m || !c || !a[i]("src") && !a.srcset || a.complete || r(a, d.errorClass) || !r(a, d.lazyClass)) && (b = v(a, "lazyunveilread").detail, f && E.updateElem(a, !0, a.offsetWidth), a._lazyRace = !0, Q++, aa(a, b, f, e, c))
254                    }
255                },
256                ca = C(function() {
257                    d.loadMode = 3, W()
258                }),
259                da = function() {
260                    3 == d.loadMode && (d.loadMode = 2), ca()
261                },
262                ea = function() {
263                    if (!m) {
264                        if (f.now() - y < 999) return void k(ea, 999);
265                        m = !0, d.loadMode = 3, W(), j("scroll", da, !0)
266                    }
267                };
268            return {
269                _: function() {
270                    y = f.now(), c.elements = b.getElementsByClassName(d.lazyClass), g = b.getElementsByClassName(d.lazyClass + " " + d.preloadClass), j("scroll", W, !0), j("resize", W, !0), j("pageshow", function(a) {
271                        if (a.persisted) {
272                            var c = b.querySelectorAll("." + d.loadingClass);
273                            c.length && c.forEach && l(function() {
274                                c.forEach(function(a) {
275                                    a.complete && ba(a)
276                                })
277                            })
278                        }
279                    }), a.MutationObserver ? new MutationObserver(W).observe(e, {
280                        childList: !0,
281                        subtree: !0,
282                        attributes: !0
283                    }) : (e[h]("DOMNodeInserted", W, !0), e[h]("DOMAttrModified", W, !0), setInterval(W, 999)), j("hashchange", W, !0), ["focus", "mouseover", "click", "load", "transitionend", "animationend"].forEach(function(a) {
284                        b[h](a, W, !0)
285                    }), /d$|^c/.test(b.readyState) ? ea() : (j("load", ea), b[h]("DOMContentLoaded", W), k(ea, 2e4)), c.elements.length ? (V(), z._lsFlush()) : W()
286                },
287                checkElems: W,
288                unveil: ba,
289                _aLSL: da
290            }
291        }(),
292        E = function() {
293            var a, c = A(function(a, b, c, d) {
294                    var e, f, g;
295                    if (a._lazysizesWidth = d, d += "px", a.setAttribute("sizes", d), n.test(b.nodeName || ""))
296                        for (e = b.getElementsByTagName("source"), f = 0, g = e.length; f < g; f++) e[f].setAttribute("sizes", d);
297                    c.detail.dataAttr || w(a, c.detail)
298                }),
299                e = function(a, b, d) {
300                    var e, f = a.parentNode;
301                    f && (d = y(a, f, d), e = v(a, "lazybeforesizes", {
302                        width: d,
303                        dataAttr: !!b
304                    }), e.defaultPrevented || (d = e.detail.width) && d !== a._lazysizesWidth && c(a, f, e, d))
305                },
306                f = function() {
307                    var b, c = a.length;
308                    if (c)
309                        for (b = 0; b < c; b++) e(a[b])
310                },
311                g = C(f);
312            return {
313                _: function() {
314                    a = b.getElementsByClassName(d.autosizesClass), j("resize", g)
315                },
316                checkElems: g,
317                updateElem: e
318            }
319        }(),
320        F = function() {
321            !F.i && b.getElementsByClassName && (F.i = !0, E._(), D._())
322        };
323        return k(function() {
324        d.init && F()
325    }), c = {
326        cfg: d,
327        autoSizer: E,
328        loader: D,
329        init: F,
330        uP: w,
331        aC: s,
332        rC: t,
333        hC: r,
334        fire: v,
335        gW: y,
336        rAF: z
337    }
338    });
339    
340
341    Date.prototype.yyyymmdd = function() {
342        var yyyy = this.getFullYear().toString();
343        var mm = (this.getMonth() + 1).toString();
344        var dd = this.getDate().toString();
345        return yyyy + (mm[1] ? mm : "0" + mm[0]) + (dd[1] ? dd : "0" + dd[0]);
346    };
347
348
349    var sel_left_category = $('#sel-left-category');
350    var $sticky = $('#sidebarRight');   
351    
352    var app = {
353        initialize: function() {
354            this.bindEvents();
355            if ($("#anchors-menu").length) {
356                this.anchorsMenu();
357            }
358        },
359        bindEvents: function() {
360            if ($('input.icheck').length) {
361                $('input.icheck').iCheck({
362                    checkboxClass: 'icheckbox_square-blue',
363                    radioClass: 'iradio_square-blue',
364                    increaseArea: '20%',
365                    checkedClass: 'checked',
366                });
367            }
368            if ($('body.evtDetails').hasClass('computer')) {
369                if ($('body.evtDetails').data('hz') == 1) {}
370            }
371            $('#rango_date').on('shown.bs.collapse', function(e) {
372                $(this).closest(".input-group").find("[href='#" + $(this).attr("id") + "']").addClass("active");
373            });
374            $('#rango_date').on('hide.bs.collapse', function(e) {
375                $(this).closest(".input-group").find("[href='#" + $(this).attr("id") + "']").removeClass("active");
376            });
377            var total = 0;
378            setTimeout(function() {
379                $('#domNode').find('li[data-mark="marked"]').each(function() {
380                    var counter = $(this).attr('data-count');
381                    total += parseInt($(this).attr('data-count'), 10);
382                });
383            }, 2000);
384        },
385        anchorsMenu: function() {
386            var thishash = "";
387            $("#anchors-menu a[href^='#']").on('click', function(e) {
388                e.preventDefault();
389                //console.log($(this.hash))
390                var $this = $(this);
391                thishash = $(this.hash).selector
392                $('#anchors-menu a.is-active').removeClass('is-active');
393                $('html, body').animate({
394                    scrollTop: $(this.hash).offset().top - 130
395                }, 300, function() {
396                    $this.addClass('is-active');
397                });
398
399                $('#accordion-descripcion').find('.collapse.show').removeClass('in');
400                var regx = "/#/g";
401                var newthishash= thishash.replace(eval(regx), '');
402               // $('div[aria-labelledby="'+newthishash+'"]').collapse("toggle");
403                $('div[aria-labelledby="'+newthishash+'"]').collapse("toggle");
404                //$('#accordion-descripcion').find('.collapse:not(".in")').collapse('show');
405            });
406        },
407        widgetCollapsedUP: function(elm, panelbd) {
408            $('h4#' + elm).removeClass('ui-accordion-header-active ui-state-activ');
409            $('h4#' + elm).attr({
410                'aria-selected': 'false',
411                'aria-expanded': 'fade'
412            });
413            $('h4#' + elm).removeClass('ui-state-hover ui-accordion-header-active ui-state-active ui-corner-top')
414            $('h4#' + elm).find('.panel-heading-icons>i').addClass('colored');
415            $('h4#' + elm).addClass('panel-collapsed');
416            $('#' + panelbd).attr({
417                'aria-hidden': 'true',
418                style: 'display: none;'
419            });
420            $('#' + panelbd).removeClass('ui-accordion-content-active');
421        },
422        widgetCollapsedIN: function(elm, panelbd) {
423            $('h4#' + elm).addClass('ui-accordion-header-active ui-state-activ');
424            $('h4#' + elm).removeClass('panel-collapsed');
425            $('h4#' + elm).attr({
426                'aria-selected': 'true',
427                'aria-expanded': 'fade'
428            });
429            $('h4#' + elm).addClass('ui-state-hover ui-accordion-header-active ui-state-active ui-corner-top')
430            $('h4#' + elm).find('.panel-heading-icons>i').removeClass('colored');
431            $('#' + panelbd).attr({
432                'aria-hidden': 'true',
433                style: 'display: block;'
434            });
435            $('#' + panelbd).addClass('ui-accordion-content-active');
436        },
437        viewzoneEvent: function(catNr, $this) {
438            var $radios = $($this);
439            zonaCheck = $($radios).val();
440        },
441        searchHotelZona: function($this, mb) {
442            (mb == 'MOB' && typeof mb != "undefined") ? app.select2Hotel('MOB'): app.select2Hotel('PC');
443            $('#select2hotel-wrapper').addClass('active').removeClass('hidden');
444            //$('#select2zona-wrapper').removeClass('active').addClass('hidden');
445        },
446        markHotelZone: function($this, mb) {
447            var $option = $($this).val();
448            if ($option == 'hoteles') {
449                $('#select2hotel-wrapper').addClass('active').removeClass('hidden');
450                $('#select2zona-wrapper').removeClass('active').addClass('hidden');
451                var $select2hotel = $('#select2hotel');
452                $select2hotel.select2({
453                    placeholder: $LBLselHOTEL,
454                    allowClear: true
455                }).on('select2:select', function(event) {
456                    var inputData = event.params.data;
457                    var values = inputData.id.split("|");
458                    document.location.href = "/includes/js-hotel_zona.php?hCode=" + values[0] + "&zCode=" + values[1];
459                });
460            } else {
461                $('#select2zona-wrapper').addClass('active').removeClass('hidden');
462                $('#select2hotel-wrapper').removeClass('active').addClass('hidden');
463                var $select2zona = $('#select2zona');
464                $select2zona.select2({
465                    placeholder: $LBLselZONA,
466                    allowClear: true
467                }).on('select2:select', function(event) {
468                    var inputData = event.params.data;
469                    document.location.href = "/includes/js-hotel_zona.php?hCode=&zCode=" + inputData.id;
470                });
471            }
472        },
473        postZoneEvent: function($this) {
474            zonaCheck = $($this).val();
475            $('form#switchZone').submit();
476        },
477        price_slider: function(priceFrom, priceTo) {
478            var price_slider = {
479                    range: true,
480                    min: priceFrom,
481                    step: 10,
482                    max: priceTo,
483                    values: [priceFrom, priceTo],
484                    slide: function(event, ui) {
485                        min = ui.values[0],
486                        max = ui.values[1];
487                        $("#price_slider").val(min + ".00 € - " + max + ".00 €");
488                    },
489                    stop: function(event, ui) {
490                        showProducts(min, max);
491                    },
492                },
493                min, max;
494            $("#slider-range").slider(price_slider);
495            min = $("#slider-range").slider("values", 0);
496            max = $("#slider-range").slider("values", 1);
497            $("#price_slider").val(min + ".00 € - " + max + ".00 €");
498        },
499        duration_slider: function(timeFrom, timeTo) {
500            var datTime = $('#touroffer').find('li[data-time]');
501            var duration_slider = {
502                    range: true,
503                    min: 0,
504                    max: 24,
505                    values: [0, 12],
506                    slide: function(event, ui) {
507                        min = ui.values[0],
508                        max = ui.values[1];
509                        $("#duration_slider").val(min + ":00 h - " + max + ":00 h");
510                    },
511                    stop: function(event, ui) {
512                        filterDuration(min, max);
513                    },
514                },
515                min, max;
516            $("#duration-slider-range").slider(duration_slider);
517            min = $("#duration-slider-range").slider("values", 0);
518            max = $("#duration-slider-range").slider("values", 1);
519            $("#duration_slider").val(min + ":00 h - " + max + ":00 h");
520        },
521        BTN_floatingSocialShare: function() {
522            $("body").floatingSocialShare({
523                place: "top-left",
524                counter: true,
525                twitter_counter: false,
526                buttons: ["facebook", "google-plus", "twitter", "instagram"],
527                title: document.title,
528                url: window.location.href,
529                text: {
530                    'default': 'share with ',
531                    'facebook': 'share with facebook',
532                    'google-plus': 'share with g+'
533                },
534                text_title_case: false,
535                description: $('meta[name="description"]').attr("content"),
536                media: $('meta[property="og:image"]').attr("content"),
537                target: true,
538                popup: true,
539                popup_width: 400,
540                popup_height: 300
541            });
542        },
543        destroyfiltrosFechas: function() {
544            var $container;
545            $('.view-category-list').each(function() {
546                if ($(this).hasClass('active')) {
547                    $container = '#' + $(this).attr('id');
548                }
549            });
550            var tipoList = $($container).attr('data-tipo');
551            $($container).each(function() {
552                var ulElement = $(this).find('ul li');
553                if (tipoList == 'listContent') {
554                    $(ulElement).find('.product-grid-view').each(function(index) {
555                        $(this).find('.product-desc.left').children('.dest-icon.actividad-detail').addClass('hidden');
556                        $(this).find('.product-desc.center').children('.dest-icon.actividad-detail').removeClass('hidden');
557                        $(this).find('.dispo-dates').children('.avail_dates.center').addClass('hidden');
558                    });
559                } else {
560                    $(this).find('.dispo-dates').children('.avail_dates.box_grid_days').addClass('hidden');
561                }
562            });
563        },
564        filtroFechas: function(startDate, endDate) {
565            var $category = '',
566                $container;
567            $('#domNode>li').find("input[type='checkbox']:checked").each(function() {
568                $category = $(this).val();
569            });
570            $('.view-category-list').each(function() {
571                if ($(this).hasClass('active')) {
572                    $container = '#' + $(this).attr('id');
573                }
574            });
575            var tipoList = $($container).attr('data-tipo');
576            var prefijo = (tipoList == 'gridContent') ? 'g' : 'e';
577            var data = {
578                'category': $category,
579                "typeList": tipoList,
580                'startdat': startDate,
581                'enddat': endDate
582            };
583            $.ajax({
584                type: "POST",
585                url: "./actividades-list.php",
586                data: data,
587                success: function(data) {
588                    $($container).html('<ul class="' + prefijo + $category + '">' + data + '</ul>');
589                    if (tipoList == 'listContent') {
590                        $($container).each(function() {
591                            var ulElement = $(this).find('li');
592                            $(ulElement).find('.product-grid-view').each(function(index) {
593                                var elementId = $(this).attr('id');
594                                $('#' + elementId + '').addClass('activity-rangos');
595                                $(this).find('.product-desc.left').children('.dest-icon.actividad-detail').removeClass('hidden');
596                                $(this).find('.product-desc.center').children('.dest-icon.actividad-detail').addClass('hidden');
597                                $(this).find('.dispo-dates').children('.avail_dates.center').removeClass('hidden');
598                            });
599                        });
600                    } else {
601                        $($container).each(function() {
602                            var ulElement = $(this).find('li');
603                            $(this).find('.dispo-dates').children('.avail_dates.box_grid_days').removeClass('hidden');
604                        });
605                    }
606                }
607            });
608            setTimeout(function() {
609                var $tooltip = $('[data-toggle="tooltip"]');
610                if ($tooltip.length > 0) {
611                    $tooltip.tooltip();
612                }
613            }, 4000);
614        },
615        rangosDate: function() {
616            var config = {
617                locale: $("#lang").val(),
618                inline: true,
619                minDate: "today",
620                altInput: false,
621                dateFormat: 'd-m-Y',
622                mode: "range",
623                onReady: [function(selectedDates, dateStr, instance) {}],
624                onChange: [function(selectedDates, dateStr, instance, date) {
625                    var dateArr = selectedDates.map(date => this.formatDate(date, "d-m-Y"));
626                    var $adddays = moment(selectedDates[0], 'YYYY/MM/DD').add(24, 'days').format('DD/MM/YYYY');
627                    this.set('minDate', dateArr[0]);
628                    this.set('maxDate', $adddays);
629                    $('.dayContainer').each(function(index, el) {
630                        if ($(this).find('span').hasClass('endRange')) {
631                            $('#widget--panel--calender').find('.ipanel-heading-icons').addClass('colored');
632                            $('#widget--panel--calender').find('.panel-title--calender').html(dateArr[0] + ' - ' + dateArr[1]);
633                            app.filtroFechas(dateArr[0], dateArr[1]);
634                            if ($('#widget--zonas').hasClass('hidden')) {
635                                $('#widget--zonas').removeClass('hidden');
636                            }
637                            $('#widget--panel--calender').trigger('click');
638                        } else {
639                            if (!$('.avail_dates.center').hasClass('hidden')) {
640                                app.destroyfiltrosFechas();
641                            }
642                        }
643                    });
644                }],
645                onDayCreate: [function(dObj, dStr, fp, dayElem) {}],
646            }
647            flatpickr('#date-range', config);
648            $('.panel-heading-icons-calender').on('click', '.calenderlabel>a', function(e) {
649                e.preventDefault();
650                $(this).closest('.tooltips.calenderlabel').addClass('hidden');
651                $('#rango_fechas').removeClass('hidden');
652                flatpickr('#date-range', config);
653                $('.panel-heading-icons-calender').find('.icon-wrapper').removeClass('hidden');
654                $('.panel-title-calender.category').find('.text-sidebar-right.calendar').html('Filtro entre Fechas');
655                app.rangosDate();
656                app.destroyfiltrosFechas();
657            });
658        },
659        loadPage: function(lang, dCode, zona, typeList) {
660            var cats = [];
661            $("[name='categorias']:checked").each(function(index, elem) {
662                cats.push($(elem).val());
663            });
664            $("#resType").val(typeList);
665            var data = {
666                "category": cats.join(','),
667                "lang": lang,
668                "zonadCode": dCode,
669                "zonaSalida": zona,
670                "typeList": typeList
671            };
672            $.ajax({
673                type: "POST",
674                url: "./actividades-list.php",
675                data: data,
676                success: function(result) {
677                    $('#results').html(result);
678                }
679            });
680        },
681        filterZone: function() {
682            var param = "";
683            if ($("#zone").val() != '') {
684                param = "_" + $("#zone").val();
685            }
686        },
687        initContactMap: function() {
688            var $el = document.getElementsByClassName('map');
689            var coordLat = 28.053854;
690            var coordLng = -16.611618;
691            var myLatLng = {
692                lat: 28.053854,
693                lng: -16.611618
694            };
695            var myOptions = {
696                zoom: 15,
697                scrollwheel: false,
698                mapTypeControl: false,
699                scaleControl: false,
700                streetViewControl: false,
701                draggable: false,
702                disableDefaultUI: false,
703                center: new google.maps.LatLng(coordLat, coordLng),
704                mapTypeId: google.maps.MapTypeId.ROADMAP
705            };
706            for (var i = 0, l = $el.length; i < l; i++) {
707                var $mId = $el[i].getAttribute("id");
708                var map = new google.maps.Map(document.getElementById($mId), myOptions);
709            }
710            var marker = new google.maps.Marker({
711                position: myLatLng,
712                map: map,
713                title: 'ATLANTIC DOLPHIN TRAVEL S.L.'
714            });
715        },
716        scroll_to_anchor: function(anchor_id, pix) {
717            var tag = $("#" + anchor_id + "");
718            $('html,body').animate({
719                scrollTop: tag.offset().top - pix
720            }, 1500, 'easeInOutExpo');
721        },
722        getCustomerData: function() {
723            var $lefHeight;
724            $('ul#myTab.nav-tabs a[href="#shopCart"]').tab('show');
725            $('ul#myTab.nav-tabs a').on('shown.bs.tab', function(event) {
726                
727                if (event.target.hash === '#shopCart') {
728                    $('html, body').animate({
729                        scrollTop: 0
730                    }, 800);
731                }
732            });
733        },
734        changeEvent: function(excCode, pvpa, pvpc, pvpos, $this, $d) {
735            var adlts = document.getElementById("adults").value;
736            var chldn = document.getElementById("children").value;
737            var infn = document.getElementById("infants").value;
738            var numb = new Number(((adlts * pvpa) + (chldn * pvpc) + (infn * pvpos)));
739            $("#idExc").val(excCode);
740            $("#PVPA").val(pvpa);
741            $("#PVPC").val(pvpc);
742            $("#PVPOS").val(pvpos);
743            $('.numbers-row').find('#adults').attr('data-code', excCode);
744            $('.numbers-row').find('#children').attr('data-code', excCode);
745            $('.numbers-row').find('#infants').attr('data-code', excCode);
746            
747            try {
748                $("#pricea").attr('data-price', pvpa).html(pvpa + "&nbsp;€");
749                $("#pricec").attr('data-price', pvpc).html(pvpc + "&nbsp;€");
750                $("#pricei").attr('data-price', pvpos).html(pvpos + "&nbsp;€");
751            } catch (err) {
752
753            }
754            
755            try {
756                $("#pricea").val(pvpa);
757                $("#pricec").val(pvpc);
758                $("#pricei").val(pvpos);
759            } catch (err) {
760
761            }
762            
763            var resultAdl = (pvpa * adlts);
764            $('.total_price_adults').html(resultAdl.toFixed(2) + '&nbsp;€');
765            var resultChd = (pvpc * chldn);
766            $('.total_price_child').html(resultChd.toFixed(2) + '&nbsp;€');
767            var resultInf = (pvpos * infn);
768            $('.total_price_infant').html(resultInf.toFixed(2) + '&nbsp;€');
769            $("#pricei").html(pvpos + "&nbsp;€");
770            var sumAddExtras = 0;
771            
772            $('.options-extras-infos ul').each(function() {
773                $(this).children('li').find('span.opadPrice').each(function() {
774                    var current = $(this);
775                    var datPrice = current.data('price');
776                    sumAddExtras += parseInt(datPrice, 10);
777                });
778            });
779
780            precioTotal = parseFloat(sumAddExtras + numb);
781            $("#TOTAL").attr('data-num', numb.toFixed(2)).find('span').html(precioTotal.toFixed(2)+" €");
782
783            $("#CALENDAR").removeClass('hidden');
784            $("#TWIN").addClass('hidden');
785            //$("#TWIN").datepicker('destroy');
786            $("#CALENDAR").html("<div style='width:100%;text-align:center;'><img src='/img/loading.gif' border='0' /><br></div><div style='width:100%;text-align:center;'>Cargando, por favor espere....</div>");
787            $.ajax({
788                type: "GET",
789                url: "calendar.php?idExc=" + excCode + "&lang=" + $("#lang").val()+"&afId="+$("#afId").val(),
790                success: function(html) {
791                    $("#CALENDAR").html(html);
792                }
793            });
794        },
795        offset(el) {
796            var rect = el.offset(),
797            scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
798            scrollTop = window.pageYOffset || document.documentElement.scrollTop;
799            return { top: rect.top + scrollTop }
800        },
801        callchangeEvent: function(evname, evId, excCode, pvpa, pvpc, pvpos, coma, comc, comos, intCode, map) {
802            var div = $(".widget-result-includes-content");
803            var label = $("#row" + excCode).find('span.text-overflow-x').text();
804            $('#widget--entradas--options').find('a.widget-entradas-options').html(evname);
805			
806            $('div[rel="widget--evt--description"]').find('.ocollapsible__header').trigger('click').html('<i class="icon icon_document"></i>'+evname);
807            $('div[rel="widget--includes-panels"]').find('.ocollapsible__header').trigger('click');
808            
809            $("#FECHA").val("");
810            $("#message-contact").html("");
811            $("#message-contact").addClass('hidden');
812            $("#intCode").val(intCode);
813            $('#widget--dataDays').addClass('hidden');
814            
815            if ($('#dataDays').css('display') != 'none') {
816                $('#dataDays').toggle();
817            }
818
819            $('#widget--panel--pax').addClass('hidden');
820            
821            if ($('#amount-pax').css('display') != 'none') {
822                $('#amount-pax').toggle();
823            }
824
825            $('#dataDays').find('.dtime-simple-list').html("");
826            $("#TOTAL").find('span').html("0.00 €");
827            
828            try {
829                $("#SUBTOTAL").find('span').html("0.00 €");
830            } catch (err) {}
831                    
832 //           app.widgetCollapsedUP('widget--zonas--hotels', 'switchZone');
833
834            $("#adults").val(0);
835            $("#children").val(0);
836            $("#infants").val(0);
837            $("#COSTA").val(Number(pvpa - coma).toFixed(2));
838            $("#COSTC").val(Number(pvpc - comc).toFixed(2));
839            $("#COSTOS").val(Number(pvpos - comos).toFixed(2));
840        
841            var $optionTable = $('table.at-price-table ').find('tr.ev_' + evId + '');
842            //var $optionUl = $('#liev_' + evId);
843            var $optionUl = $('ul#domNode').find('li.ev_' + evId + '');
844
845            $('table.at-price-table ').find('tr').removeClass('selectedRow');
846            $('#domNode.table.options_booking').find('li').removeClass('selectedRow');
847            
848            $($optionTable).addClass('selectedRow');
849            $($optionUl).addClass('selectedRow');
850            
851            var $trTable = $('table.at-price-table');
852            var $UlList = $('#domNode.table.options_booking');
853            
854            if ($($trTable).find('tr.selectedRow').length) {
855                $($optionTable).each(function() {
856                    $($optionTable).find("input[type='radio']").iCheck('check');
857                    var $label = $("#row" + excCode).find('span').text();
858                    $('.panel-title-options').find('.text-sidebar-right').html($label);
859                });
860            }
861
862            $(".collapse").removeClass("in");
863            $("#info_"+evId).addClass("in");
864
865            //if ($($UlList).find('li.selectedRow').length) {
866            $($optionUl).each(function(i, e) {
867                $($optionUl).find("input[type='radio']").iCheck('check'); 
868            });
869            
870            //});
871            //}
872
873            app.changeEvent(excCode, pvpa, pvpc, pvpos);
874			
875			
876			$('#widget--entradas--options').click();
877            $('#widget--panel--calender').removeClass('hidden');
878                
879            app.widgetCollapsedIN('widget--panel--calender', 'panel-calendario');
880            
881            if ($('#widget--panel-amount').hasClass('hidden')) {
882                $('#widget--panel-amount').removeClass('hidden');
883            }
884
885            if ($('#widget--entradas--addExtras').hasClass('hidden')) {
886                $('#widget--entradas--addExtras').removeClass('hidden');
887				$('#add-extra-options').show();
888            }
889
890            if (map != "") {
891                route = map;
892				app.callRouteMap();
893            } 
894        },
895        cmapZonas: function(data) {
896            $('#zon_collapseMap').removeClass('hidden');
897            var locations = [];
898            $('#map-canvas-multipointer').html('').removeClass('hidden').addClass('active');
899            for (var i = 0, len = data.length; i < len; i++) {
900                var name = data[i]['name'];
901                var address = data[i]['name'];
902                var theLT = data[i]['dloc'];
903                theLAT = theLT.toString().split(",");
904                if (theLT != ',' && theLT != 'Not found' && theLT != 'undefined' && theLT != NaN) {
905                    var lat = parseFloat(theLAT[0]);
906                    var lng = parseFloat(theLAT[1]);
907                    locations.push([name, lat, lng]);
908                }
909            }
910            var map = new google.maps.Map(document.getElementById('map-canvas-multipointer'), {
911                zoom: 0,
912                center: new google.maps.LatLng(locations[1][0], locations[2][0]),
913                mapTypeId: google.maps.MapTypeId.ROADMAP
914            });
915            var infowindow = new google.maps.InfoWindow();
916            var marker, i;
917            var markers = new Array();
918            for (i = 0; i < locations.length; i++) {
919                marker = new google.maps.Marker({
920                    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
921                    map: map
922                });
923                markers.push(marker);
924                google.maps.event.addListener(marker, 'click', (function(marker, i) {
925                    return function() {
926                        infowindow.setContent(locations[i][0]);
927                        infowindow.open(map, marker);
928                    }
929                })(marker, i));
930            }
931            var bounds = new google.maps.LatLngBounds();
932            $.each(markers, function(index, marker) {
933                bounds.extend(marker.position);
934            });
935            map.fitBounds(bounds);
936            var listener = google.maps.event.addListener(map, "idle", function() {
937                map.setZoom(12);
938                google.maps.event.removeListener(listener);
939            });
940            $('#close_collapseMap').removeClass('hidden');
941        },
942        cmapHotel: function(data) {
943            var locations = [],
944                theLAT = '';
945            var name = data.text;
946            var theLT = data.dloc;
947            theLAT = theLT.toString().split(",");
948            if (theLT != 'Not found' && theLT != 'undefined' && theLT != NaN) {
949                var lat = parseFloat(theLAT[0]);
950                var lng = parseFloat(theLAT[1]);
951                locations.push([name, lat, lng]);
952            }
953            var uluru = {
954                lat: lat,
955                lng: lng
956            };
957            var map = new google.maps.Map(document.getElementById('map-canvas-multipointer'), {
958                zoom: 16,
959                center: uluru
960            });
961            var contentString = '<div id="content">' + '<h3 id="firstHeading" class="firstHeading">' + name + '</h3></div>';
962            var infowindow = new google.maps.InfoWindow({
963                content: contentString
964            });
965            var marker = new google.maps.Marker({
966                position: uluru,
967                map: map,
968                title: name
969            });
970            marker.addListener('click', function() {
971                infowindow.open(map, marker);
972            });
973            $('#close_collapseMap').removeClass('hidden');
974        },
975        select2Hotel: function($this, $d) {
976            var $select2hotel = $('#select2hotel');
977            $select2hotel.select2({
978                placeholder: $LBLselHOTEL,
979                allowClear: true,
980                dropdownPosition: 'below',
981                templateResult: function(data, container) {
982                    if (data.element) {
983                        $(container).attr('lebel', $(data.element).attr("level"));
984                        $(container).attr('data-type', $(data.element).attr("data-type"));
985                    }
986                    return data.text;
987                }
988            }).on('select2:select', function(event) {
989                var inputData = event.params.data;
990                $('#widget--zonas--hotels').find('.widget-zonas-hotels.zona-wraper-title').html(inputData.text);
991                if ($('#widget--zonas--hotels').length) {
992                    app.widgetCollapsedUP('widget--zonas--hotels', 'switchZone');
993                    app.widgetCollapsedIN('widget--entradas--options', 'entradas-options-list');
994                }
995                if ($('#widget--switch--hotelzone').length) {
996                    $('#widget--switch--hotelzone').find('.widget-zonas-hotels.zona-wraper-title').html(inputData.text);
997                    $('#widget--switch--hotelzone').trigger('click');
998                }
999                var values = inputData.id.split("|");
1000                $("#hCode").val(values[0]);
1001                $("#zoneCode").val(values[1]);
1002                $zNorth = 0;
1003                $zSouth = 0;
1004                $nArr = new Array();
1005                $sArr = new Array();
1006                
1007                $('#domNode').find('li').each(function() {
1008                    var counter = $(this).attr('zId');
1009                    if (counter == 2) {
1010                        $zNorth++;
1011                        $nArr.push($(this).attr('data-row'));
1012                        if(values[1]!=11)$(this).addClass("hidden");
1013                    } else if (counter == 1) {
1014                        $sArr.push($(this).attr('data-row'));
1015                        $zSouth++;
1016                        if(values[1]==11)$(this).addClass("hidden");
1017                    }
1018                });
1019                if ((values[1] == 11 && $zNorth == 1) || $zSouth == 1) {
1020                    $('#row' + $nArr[0]).trigger('click');
1021                }
1022            });
1023            $($select2hotel).on('select2:close', function(e) {
1024                var value = $(e.currentTarget).find("option:selected").val();
1025                if ($d == 'PC') {
1026                    if (typeof value !== 'undefined') {} else {
1027                        $('#widget--switch--hotelzone').find('.widget-zonas-hotels.zona-wraper-title').html('Desea servicio de Transfer?');
1028                    }
1029                } else if ($d == 'MOB') {
1030                    if (typeof value !== 'undefined') {} else {
1031                        $('h4.panel-title.zona').find('a.zona-wraper-title').html('Elegir Hotel o Zona Residencial');
1032                    }
1033                }
1034            });
1035        },
1036        callRouteMap: function() {	
1037			if (route != "") {
1038            	$("#widget--result--view-map").html('<iframe src="' + route + '" style="position: relative;width:100%;height:500px;" frameborder="0" style="border:0"></iframe>');
1039				$('#headding--result--view-map').removeClass('hidden');
1040				$('#headding--result--view-map').find('.collapsible__header').attr('aria-expanded','true')
1041				$('#widget--result--view-map').addClass('show');
1042				$('#widget--result--view-map').removeClass('hidden');
1043            } else {
1044				$('#headding--result--view-map').addClass('hidden');
1045				$('#headding--result--view-map').find('.collapsible__header').attr('aria-expanded','false')
1046				$('#widget--result--view-map').removeClass('show');
1047				$('#widget--result--view-map').addClass('hidden');
1048			}
1049        },
1050        callMap: function(lat, long) {
1051            var mapObject;
1052            var mapOptions = {
1053                zoom: 15,
1054                center: new google.maps.LatLng(latitud, longitud),
1055                mapTypeId: google.maps.MapTypeId.ROADMAP,
1056                mapTypeControl: false,
1057                mapTypeControlOptions: {
1058                    style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
1059                    position: google.maps.ControlPosition.LEFT_CENTER
1060                },
1061                panControl: false,
1062                panControlOptions: {
1063                    position: google.maps.ControlPosition.TOP_RIGHT
1064                },
1065                zoomControl: true,
1066                zoomControlOptions: {
1067                    style: google.maps.ZoomControlStyle.LARGE,
1068                    position: google.maps.ControlPosition.TOP_RIGHT
1069                },
1070                scrollwheel: false,
1071                scaleControl: false,
1072                scaleControlOptions: {
1073                    position: google.maps.ControlPosition.TOP_LEFT
1074                },
1075                streetViewControl: true,
1076                streetViewControlOptions: {
1077                    position: google.maps.ControlPosition.LEFT_TOP
1078                }
1079            };
1080            
1081			mapObject = new google.maps.Map(document.getElementById('map-canvas-open'), mapOptions);
1082                var marker = new google.maps.Marker({
1083                    position: new google.maps.LatLng(lat, long),
1084                    icon: '/assets/img/map-marker.png',
1085                    map: mapObject
1086                });
1087        },
1088        slideonPanel: function(nam, thise) {
1089            var $this = $(thise);
1090            if (!$this.hasClass('panel-collapsed')) {
1091                $this.parents('.panel-' + nam + '').find('.panel-body-' + nam + '').slideUp(400);
1092                $this.addClass('panel-collapsed');
1093                $this.find('span.clickable i').removeClass('arrow_carrot-2up').addClass('arrow_carrot-2down');
1094                $this.parents('.panel-' + nam + '.panel-primary-' + nam + '').addClass('widget-border-radius');
1095                switch (nam) {
1096                    case 'zona':
1097                        $('.panel-zona.panel-primary-zona').addClass('addbackground');
1098                        $('.panel-heading-icons-zona').find('i').addClass('colored');
1099                        $('#switchZone').removeClass('widget-border');
1100                        $('.widget.category-list-wraper.zonas-hotels').removeClass('widget-border');
1101                        $('.zonas-hotels.category-list-wraper').find('.search-form-date-filter').removeClass('widget-border');
1102                        break;
1103                    case 'options':
1104                        $('.panel-options.panel-primary-options').addClass('addbackground');
1105                        $('.panel-title-options').find('i').addClass('colored');
1106                        $('#optionsCategorys').removeClass('bg-white');
1107                        break;
1108                    case 'language':
1109                        $('.panel-language.panel-primary-language').addClass('addbackground');
1110                        $('.panel-title-language').find('i').addClass('colored');
1111                        $('.panel-language.panel-primary-language').addClass('widget-border-radius');
1112                        $('#language-list.category-list-wraper').removeClass('bg-white');
1113                        break;
1114                    case 'calender':
1115                        $('.panel-calender.panel-primary-calender').addClass('addbackground');
1116                        $('.panel-title-calender').find('i').addClass('colored');
1117                        $('.widget.category-list-wraper.entradas-calendar').removeClass('widget-border');
1118                        break;
1119                    case 'pax':
1120                        $('.panel-pax.panel-primary-pax').addClass('addbackground');
1121                        $('.panel-title-pax').find('i').addClass('colored');
1122                        break;
1123                    case 'prices':
1124                        $('.panel-prices.panel-primary-prices').addClass('addbackground');
1125                        $('.panel-title-prices').find('i').addClass('colored');
1126                        $('#widgetPrices.widget ').removeClass('bg-white');
1127                        break;
1128                    case 'duration':
1129                        $('.panel-duration.panel-primary-duration').addClass('addbackground');
1130                        $('.panel-title-duration').find('i').addClass('colored');
1131                        $('.panel-duration.panel-primary-duration').removeClass('widget-border');
1132                        $('#widgetDuration.widget ').removeClass('bg-white');
1133                        break;
1134                    case 'dtime':
1135                        $('.panel-dtime.panel-primary-dtime').addClass('addbackground');
1136                        $('.panel-title-dtime').find('i').addClass('colored');
1137                        $('.panel-dtime.panel-primary-dtime').removeClass('widget-border');
1138                        break;
1139                    case 'addExtra':
1140                        $('.panel-addExtra.panel-primary-addExtra').addClass('addbackground');
1141                        $('.panel-title-addExtra').find('i').addClass('colored');
1142                        break;
1143                }
1144            } else {
1145                $this.parents('.panel-' + nam + '').find('.panel-body-' + nam + '').slideDown(600);
1146                $this.removeClass('panel-collapsed');
1147                $this.find('span.clickable i').removeClass('arrow_carrot-2down').addClass('arrow_carrot-2up');
1148                $this.parents('.panel-' + nam + '.panel-primary-' + nam + '').removeClass('widget-border-radius');
1149                switch (nam) {
1150                    case 'zona':
1151                        $('.panel-zona.panel-primary-zona').removeClass('addbackground');
1152                        $('.panel-title-zona').find('i').removeClass('colored');
1153                        $('.widget.category-list-wraper.zonas-hotels').addClass('widget-border');
1154                        break;
1155                    case 'options':
1156                        $('.panel-options.panel-primary-options').removeClass('addbackground');
1157                        $('.panel-title-options').find('i').removeClass('colored');
1158                        $('#optionsCategorys').addClass('bg-white');
1159                        break;
1160                    case 'language':
1161                        $('.panel-language.panel-primary-language').removeClass('addbackground');
1162                        $('.panel-title-language').find('i').removeClass('colored');
1163                        $('#language-list.category-list-wraper').addClass('bg-white');
1164                        break;
1165                    case 'calender':
1166                        $('.panel-calender.panel-primary-calender').removeClass('addbackground');
1167                        $('.panel-title-calender').find('i').removeClass('colored');
1168                        $('.widget.category-list-wraper.entradas-calendar').addClass('widget-border');
1169                        break;
1170                    case 'pax':
1171                        $('.panel-pax.panel-primary-pax').removeClass('addbackground');
1172                        $('.panel-title-pax').find('i').removeClass('colored');
1173                        break;
1174                    case 'prices':
1175                        $('.panel-prices.panel-primary-prices').removeClass('addbackground');
1176                        $('.panel-title-prices').find('i').removeClass('colored');
1177                        $('#widgetPrices.widget ').addClass('bg-white');
1178                        break;
1179                    case 'duration':
1180                        $('.panel-duration.panel-primary-duration').removeClass('addbackground');
1181                        $('.panel-title-duration').find('i').removeClass('colored');
1182                        $('.panel-duration.panel-primary-duration').addClass('widget-border');
1183                        $('#widgetDuration.widget ').addClass('bg-white');
1184                        break;
1185                    case 'dtime':
1186                        $('.panel-dtime.panel-primary-dtime').removeClass('addbackground');
1187                        $('.panel-title-dtime').find('i').removeClass('colored');
1188                        $('.panel-dtime.panel-primary-dtime').addClass('widget-border');
1189                        break;
1190                    case 'addExtra':
1191                        $('.panel-addExtra.panel-primary-addExtra').removeClass('addbackground');
1192                        $('.panel-title-addExtra').find('i').removeClass('colored');
1193                        break;
1194                }
1195            }
1196            $('div[class*="panel-heading-basket-resumen-"]').each(function() {
1197                $(this).removeClass('addbackground');
1198                $(this).closest('.widget-border').removeClass('widget-border-radius');
1199            });
1200        },
1201        categoryS2Zona: function(catNr) {
1202            var $select2zona = $(".js-data-zonas-ajax");
1203            $('#zon_collapseMap').on('click', function(e) {
1204                e.preventDefault();
1205                var $this = $(this);
1206                $('#map-canvas-multipointer').removeClass('hidden').addClass('active');
1207                $('html, body').animate({
1208                    scrollTop: 0
1209                }, 300, function() {});
1210            });
1211            $('#collapseMapp').on('shown.bs.collapse', function(e) {
1212                $('#zon_collapseMap').addClass('hidden');
1213                $('.icon-wrapper').find('i').removeClass('hidden');
1214            });
1215            $('#collapseMapp').on('hidden.bs.collapse', function(e) {
1216                $('#zon_collapseMap').removeClass('hidden');
1217                $('.icon-wrapper').find('i').addClass('hidden');
1218            });
1219        },
1220        getZonaTransfer: function() {
1221            if ($('#switchZone').hasClass('hidden')) {
1222                $('#switchZone').removeClass('hidden');
1223                $('#addExtraCheck').addClass('hidden');
1224            }
1225            $('input#addExtra_check').on('ifUnchecked', function(event) {
1226                $('#switchZone').addClass('hidden');
1227            });
1228        },
1229        length: function(obj) {
1230            return Object.keys(obj).length;
1231        },
1232        datesSessions: function($dat, $idExc) {
1233            app.widgetCollapsedIN('widget--dataDays', 'dataDays');
1234            $('#dataDays').find('.dtime-simple-list').removeClass('hidden').html("<div style='width:100%;text-align:center;'><img src='/img/loading.gif' border='0' /><br></div><div style='width:100%;text-align:center;'>Cargando, por favor espere....</div>");
1235            var dataget = {
1236                'lang': $("#lang").val(),
1237                'fecha': $dat,
1238                'idExc': $idExc,
1239                'intCode': $("#intCode").val()
1240            };
1241            var result = [];
1242            $.ajax({
1243                type: "POST",
1244                url: "includes/js-sessions.php",
1245                data: dataget,
1246                processData: true,
1247                cache: false,
1248                format: 'json',
1249                async: false,
1250                success: function(response) {
1251                    if (Object.keys(response).length) {
1252                        var $dDays = $.parseJSON(response);
1253                        var count = 0,
1254                            result = '';
1255                        $.each($dDays, function(index, value) {
1256                            var $value = value.time,
1257                                $time = $value.substr(0, 5);
1258                            result += '<li><div class="iradio">' + '<input class="icheck tav" type="radio" value="' + $time + '" name="times-av" id="times-av-' + index + '">&nbsp;&nbsp;<label for="times-av" class="tooltipster" data-toggle="tooltipz" data-placement="top">' + $time + '</label>' + '</div></li>';
1259                            count++;
1260                        });
1261                        if ($('#dataDays').css('display') == 'none') {
1262                            $('#dataDays').toggle();
1263                        }
1264                        $('#dataDays').find('.dtime-simple-list').removeClass('hidden').html('<ul>' + result + '</ul>');
1265                        $('input.icheck.tav').iCheck({
1266                            radioClass: 'iradio_square-blue',
1267                            increaseArea: '20%',
1268                            checkedClass: 'checked'
1269                        });
1270
1271                        $('#dataDays').find('label').on('click', function() {
1272                            $(this).closest('li').find('input.icheck').iCheck('toggle');
1273                        })
1274                        $('input.icheck.tav').on('ifChecked', function(event) {
1275                            $('.panel-title-dtime').find('p.text-sidebar-right').html($(this).val());
1276                            app.slideonPanel('dtime', '.panel-heading-dtime');
1277                        });
1278                        $("input.icheck.tav").on('ifChanged', function(e) {
1279                            $('#widget--dataDays').find('.widget-dataDays').html($(this).val());
1280                            $('#widget--dataDays').trigger('click');
1281                            app.showPaxPanel();
1282                        });
1283
1284						if(count==1) {
1285							$('#dataDays').find('label').click();
1286						}
1287                    } else {
1288                        $('#widget--dataDays').addClass('hidden').trigger('click');
1289                        $('.widget.category-list-wraper.entradas-dtime').remove();
1290                        $('#dataDays').find('.dtime-simple-list').html("");
1291                        app.showPaxPanel();
1292                    }
1293                }
1294            });
1295        },
1296        showPaxPanel: function() {
1297            //$('#widget--entradas--addExtras').removeClass('hidden').trigger('click');
1298            
1299             app.widgetCollapsedUP('widget--dataDays', 'dataDays');
1300           if ($('#widget--panel--pax').hasClass('hidden')) {
1301                $('#widget--panel--pax').removeClass('hidden');
1302                app.widgetCollapsedIN('widget--panel--pax', 'amount-pax');
1303            }
1304            if ($('.total-price-actions').hasClass('hidden')) {
1305                $('.total-price-actions').removeClass('hidden');
1306                $('.theiaStickySidebar').addClass('bottom-radius');
1307            }
1308            $('ul#domNode').find('li').each(function(j, li) {
1309                if ($(this).hasClass('selectedRow')) {
1310                    $('.panel-body-pax').find('.numbers-row').each(function() {
1311                        $(this).children('.inc').removeClass('disabled').attr('disabled', false);
1312                        $(this).children('.dec').removeClass('disabled').attr('disabled', false);
1313                    });
1314                    calTotal = true;
1315                }
1316            });
1317        },
1318        removeResumenDat: function(id) {
1319            var $actLi = $('ul.popupForm-add-options').find('li#' + id + '');
1320            $($actLi).each(function(index, el) {
1321                $(this).find('.button_inc').removeClass('disabled ');
1322                $(this).find('a#addExtra-elem').removeClass('hidden').end().find('#remove-addExtra-elem').addClass('hidden');
1323                $(this).find('#ex_adults_' + id + '').val('0').attr({
1324                    'data-nr': 0,
1325                    'data-rprice': 0
1326                }).end().find('#ex_children_' + id + '').val('0').attr({
1327                    'data-nr': 0,
1328                    'data-rprice': 0
1329                }).end().find('#ex_infants_' + id + '').val('0').attr({
1330                    'data-nr': 0,
1331                    'data-rprice': 0
1332                });
1333                $(this).find('.ex_total_price_adults').html('0.00 €').end().find('.ex_total_price_child').html('0.00 €').end().find('.ex_total_price_infant').html('0.00 €');
1334                $(this).find('#ex_TOTAL_' + id + '').html('0.00 €');
1335                $(this).find('h4>span').addClass('hidden');
1336                $(this).find('.icounter-price-qty input.qty2').removeClass('c-gray').end().find('.total').removeClass('c-gray');
1337                $(this).toggleClass('itemExist -1');
1338            });
1339            $.ajax({
1340                type: 'POST',
1341                url: "./includes/cart/removeExtraItem.php?prId=" + $("#rem_" + id).val(),
1342                success: function(response) {
1343                    app.removeAjaxExtra(id);
1344                }
1345            });
1346        },
1347        removeAjaxExtra: function(elm) {
1348            $('.options-extras-infos').each(function(index, el) {
1349                $(this).find('ul#' + elm + '').remove();
1350                $('.add-extra-options').find('.form-ajax-load.elm' + elm + '').removeClass('active');
1351                $('.add-extra-options').find('input#ex_adults_' + elm + '').val('');
1352                $('.add-extra-options').find('input#ex_adults_' + elm + '').removeAttr('data-rprice');
1353                $('.add-extra-options').find('input#ex_children_' + elm + '').val('');
1354                $('.add-extra-options').find('input#ex_infants_' + elm + '').val('');
1355                
1356                
1357                $('.add-extra-options.add_' + elm).closest('.addExtra-box').find('.addCheck-check-wrapper .addOpt-btn>i').removeClass('hidden').end().find('.addCheck-check-wrapper .selectOpt-btn>i').addClass('hidden');
1358                
1359                $('.remove-opt-btn.'+elm+'>i').addClass('hidden');
1360                $('.addOpt-btn.'+elm+'>i').removeClass('hidden');
1361                $('.selectOpt-btn.'+elm+'>i').addClass('hidden');
1362
1363                
1364                app.calculateTotal('');
1365            });
1366        },
1367		addToBasket: function() {
1368           var errors="";
1369           var adlts=$("#adults").val();
1370           var chlds=$("#children").val();
1371           var fecha= $("#FECHA").val();
1372         
1373           if(fecha=="") {
1374               errors += '<div class="error_message">'+lblDate+'</div>';
1375           }
1376         
1377           if((adlts<1) && (chlds<1)) {
1378               errors += '<div class="error_message">'+lblPax+'</div>';
1379           }
1380         
1381          if(errors){
1382            $("#message-contact").removeClass('hidden');
1383              $("#message-contact").html('<div class="error_message">'+lblTitle+'</div>'+errors);
1384          } else {
1385			var form = $("#booking");
1386			var dat = $(form).serializeArray();
1387            $.ajax({
1388				type: "POST",
1389                 url: "includes/cart/add_cart_items.php",
1390                 data: dat,
1391                 success: function (response) {
1392                     $('#LBLADDED').removeClass('hidden');
1393                     $('#getmoreBooking').addClass('disabled-link');
1394                     $('#cart-continue-button').addClass('disabled-link');
1395					 
1396
1397                     window.setTimeout(function(){
1398                       $('#LBLADDED').fadeOut('fast').addClass('hidden');
1399					   window.location.href = '/entradas.php?cCode=ES&dCode=TFS&zCode=&cats='+$("#tCode").val();
1400                     }, 2000); 
1401                  }
1402            });	
1403          }
1404		},
1405        resumenDat: function(id, itmName, PVPA, PVPC, PVPOS) {
1406                                                    
1407            var adlts=$('#ex_adults_' + id).val();
1408            var chlds=$('#ex_children_' + id).val();
1409            var infts=$('#ex_infants_' + id).val();             
1410            var $actLi = $('ul.popupForm-add-options').find('li#' + id + '');
1411            var dataBasket = {
1412                'tCode': $('#evAddcode_' + id).data('tcode'),
1413                'idNum': $('#evAddcode_' + id).data('idnum'),
1414                'idExc': id,
1415                'adults': adlts,
1416                'children': chlds,
1417                'infants': infts
1418            };
1419            if ($('#ex_adults_' + id + '').val() > 0) {
1420                $.ajax({
1421                    type: "POST",
1422                    url: "./includes/cart/add_cart_items.php",
1423                    data: dataBasket,
1424                    success: function(data) {
1425                        if (data != "") {
1426                            $("#rem_" + id).val(data);
1427                            var dataget = [{
1428                                'id': id,
1429                                'bId': data,
1430                                'itmName': itmName,
1431                                'adulto': {
1432                                    'PVPA': PVPA,
1433                                    'PVPAc': adlts
1434                                },
1435                                'child': {
1436                                    'PVPC': PVPC,
1437                                    'PVPCc': chlds
1438                                },
1439                                'infant': {
1440                                    'PVPOS': PVPOS,
1441                                    'PVPOSc': infts
1442                                }
1443                            }];
1444                            $.ajax({
1445                                type: 'POST',
1446                                url: "./includes/js-extra-options.php",
1447                                data: {
1448                                    'dataget': dataget
1449                                },
1450                                processData: true,
1451                                cache: false,
1452                                async: false,
1453                                success: function(response) {
1454
1455                                    if (response != '') {
1456                                        $("#err_extra" + id).addClass('hidden');
1457                                        $('.options-extras-infos').each(function(index, el) {
1458                                            if ($(this).find('ul#add_' + id).length == 0) {
1459                                                $('.options-extras-infos').append(response);
1460                                                setTimeout(function() {
1461                                                    var $panelElm = $('.panel-body-addExtra').find('.add-extra-options.add_' + id);
1462                                                    $($panelElm).each(function(index, el) {
1463                                                        $(this).find('.addCheck-check-wrapper.add_' + id + ' .addOpt-btn>i').addClass('hidden').end().find('.addCheck-check-wrapper .selectOpt-btn>i').removeClass('hidden');
1464                                                        $(this).find('.addExtra-box').find('span.remove-opt-btn>i').removeClass('hidden');
1465                                                    });
1466                                                    $($actLi).find('a#addExtra-elem').addClass('hidden').end().find('#remove-addExtra-elem').removeClass('hidden');
1467                                                    $($actLi).find('.button_inc').addClass('disabled ').end().find('h4>span').removeClass('hidden');
1468                                                }, 500);
1469                                            } else {
1470                                                $(this).find('ul#add_' + id).remove();
1471                                                $('.options-extras-infos').append(response);
1472                                            }
1473                                        });
1474                                        
1475                                        $('#incOptions').addClass('hidden');
1476                                        
1477                                        
1478                                    }
1479                                }
1480                            });
1481                            app.calculateTotal('');
1482                        }
1483                    }
1484                });
1485            } else {
1486                $("#err_extra" + id).removeClass('hidden');
1487            }
1488        },
1489        calcultaleExtra: function($code) {
1490            var adlt = ($('#ex_adults').val() * 1);
1491            var chld = ($('#ex_children').val() * 1);
1492            var babes = ($('#ex_infants').val() * 1);
1493            var pvpa = ($('#ex_PVPA').val() * 1);
1494            var pvpc = ($('#ex_PVPC').val() * 1);
1495            var pvpo = ($('#ex_PVPOS').val() * 1);
1496            var pvp = (adlt * pvpa) + (chld * pvpc) + (babes * pvpo);
1497            var pvpadlt = (adlt * pvpa);
1498            var pvpchild = (chld * pvpc);
1499            var pvpinfant = (babes * pvpo);
1500            var sumaAdls = Number(pvpadlt);
1501            var sumaChild = Number(pvpchild);
1502            var sumaInfant = Number(pvpinfant);
1503            var num = Number(pvpadlt + pvpchild + pvpinfant);
1504			
1505            $('.ex_total_price_adults').html(sumaAdls.toFixed(2) + "&nbsp;€");
1506            $('input#ex_adults').attr('data-rPrice', sumaAdls.toFixed(2));
1507            $('.add-extra-options').find('input#ex_PVPA').val(sumaAdls);
1508            $('.add-extra-options').find('input#ex_adults').val($('input#ex_adults').attr('data-nr'));
1509            $('#ex_children').attr('data-rPrice', sumaChild.toFixed(2));
1510            $('.ex_total_price_child').html(sumaChild.toFixed(2) + "&nbsp;€");
1511            $('.add-extra-options').find('input#ex_PVPC').val(sumaChild);
1512            $('.add-extra-options').find('input#ex_children').val($('input#ex_children').attr('data-nr'));
1513            if ($('#ex_infants').attr('data-nr') > 0) {
1514                $('#ex_infants').attr('data-rPrice', sumaInfant.toFixed(2));
1515                $('.ex_total_price_infant').html(sumaInfant.toFixed(2) + "&nbsp;€");
1516                $('.add-extra-options').find('input#ex_PVPOS').val(sumaInfant);
1517                $('.add-extra-options').find('input#ex_infants').val($('input#ex_infants').attr('data-nr'));
1518            }
1519            if ($('#ex_pricei').attr('data-price') == '0.00') {
1520                $('#ex_pricei').find('.numbers-row').attr('disabled', 'true');
1521                $('.ex_total_price_infant').attr('disabled', 'true');
1522            }
1523
1524			var total=Number($("#TOTAL").attr('data-num')*1);
1525            var numadd = total+num;
1526
1527            $("#TOTAL").attr('data-num', numadd.toFixed(2)).find('span').html(numadd.toFixed(2)+" €");
1528
1529
1530            $('#ex_TOTAL_' + $code + '').html(num.toFixed(2) + " €");
1531            $("#addExtra-elem").attr('data-sumTotal', num.toFixed(2));
1532            //$('#widget--entradas--addExtras').trigger('click').addClass('panel-collapsed');
1533        },
1534        ajaxLoadExtras: function($d) {
1535            var $form_ajax_load = $('.form-ajax-load'),
1536                $this = '',
1537                $code = '';
1538            $istVal = 0;
1539            $('.addCheck-check-wrapper').children('input[id^="ex_PVP"]').each(function() {
1540                $istVal += Number($(this).val() * 1);
1541            });
1542            $('.form-ajax-load').on('click', function(event) {
1543                $this = $(this);
1544                $code = $(this).attr('data-rel');
1545            });
1546            if ($form_ajax_load.length > 0 && $istVal > 0) {
1547                $form_ajax_load.magnificPopup({
1548                    modal: false,
1549                    callbacks: {
1550                        elementParse: function(item) {
1551                            postData = {
1552                                action: 'post_adData',
1553                                adlNr: $(item.el[0]).attr('data-adl'),
1554                                childNr: $(item.el[0]).attr('data-child'),
1555                                infNr: $(item.el[0]).attr('data-inf')
1556                            }
1557                            var mp = $.magnificPopup.instance;
1558                            mp.st.ajax.settings.data = postData;
1559                        },
1560                        parseAjax: function(mfpResponse) {},
1561                        ajaxContentAdded: function() {
1562                            $('.popupForm-add-options').find('.row').each(function(index, el) {
1563                                if ($(this).hasClass('itemExist')) {
1564                                    var $ulAddx = $(this).attr('id');
1565                                    $(this).find('.button_inc').addClass('disabled ');
1566                                    $(this).find('a#addExtra-elem').addClass('hidden').end().find('#remove-addExtra-elem').removeClass('hidden');
1567                                    $(this).find('#ex_adults_' + $ulAddx + '').val('0').attr({
1568                                        'data-nr': 0,
1569                                        'data-rprice': 0
1570                                    }).end().find('#ex_children_' + $ulAddx + '').val('0').attr({
1571                                        'data-nr': 0,
1572                                        'data-rprice': 0
1573                                    }).end().find('#ex_infants_' + $ulAddx + '').val('0').attr({
1574                                        'data-nr': 0,
1575                                        'data-rprice': 0
1576                                    });
1577                                    $(this).find('.ex_total_price_adults').html('0.00 €').end().find('.ex_total_price_child').html('0.00 €').end().find('.ex_total_price_infant').html('0.00 €');
1578                                    $(this).find('.icounter-price-qty input.qty2').addClass('c-gray').end().find('.total').addClass('c-gray');
1579                                    $(this).find('#ex_TOTAL_' + $ulAddx + '').html('0.00 €');
1580                                }
1581                            });
1582                            if ($d != 'MOB') {
1583                                $('.scrollbar-outer.popup-form-add-options').scrollbar({
1584                                    "autoScrollSize": true
1585                                });
1586                            }
1587                            $('.tooltipster').tooltipster({
1588                                animation: 'fade',
1589                                delay: 200,
1590                                trigger: 'hover',
1591                                debug: false
1592                            });
1593                            $('#addExtra-elem-cancel').on("click", function(e) {
1594                                $('.mfp-close').trigger('click');
1595                            });
1596                            $(".button_inc.add_extra").on("click", function(e) {
1597                                e.preventDefault();
1598                                var $button = $(this),
1599                                    $ulInfo = $('.options-extras-infos').find('ul');
1600                                var oldValue = $button.parent().find("input").val();
1601                                if ($(this).hasClass("inc")) {
1602                                    var newVal = parseFloat(oldValue) + 1;
1603                                } else {
1604                                    if (oldValue > 1) {
1605                                        var newVal = parseFloat(oldValue) - 1;
1606                                    } else {
1607                                        newVal = 0;
1608                                    }
1609                                }
1610                                var idn = '#' + $button.parent().find("input").attr('id');
1611                                var cdode = $button.attr('data-idnr');
1612                                $button.parent().find("input").val(newVal).attr('data-nr', newVal);
1613                                var ex_adNr = idn.substring(idn.lastIndexOf("_"));
1614                                app.calculateTotal('');
1615
1616                            });
1617                            var showChar = 140;
1618                            var ellipsestext = "...";
1619                            var moretext = "ver más >";
1620                            var lesstext = "ver menos";
1621                            $('form#popup_form_add_options').find('.row').each(function() {
1622                                var $content = $(this).attr('id');
1623                                var content = $(this).find('.more.e_' + $content + ' p:first').html();
1624                                if (typeof content !== "undefined") {
1625                                    if (content.length > showChar) {
1626                                        var c = content.substr(0, showChar);
1627                                        var h = content.substr(showChar, content.length - showChar);
1628                                        var html = c + '<span class="moreellipses">' + ellipsestext + '&nbsp;</span><span class="morecontent"><span>' + h + '</span>&nbsp;&nbsp;<a href="" class="morelink">' + moretext + '</a></span>';
1629                                        $(this).find('.more.e_' + $content + ' p:first').html(html);
1630                                    }
1631                                }
1632                            });
1633                            $(".morelink").click(function() {
1634                                if ($(this).hasClass("less")) {
1635                                    $(this).removeClass("less");
1636                                    $(this).html(moretext);
1637                                } else {
1638                                    $(this).addClass("less");
1639                                    $(this).html(lesstext);
1640                                }
1641                                $(this).parent().prev().toggle();
1642                                $(this).prev().toggle();
1643                                return false;
1644                            });
1645                        }
1646                    },
1647                    type: 'ajax',
1648                    ajax: {
1649                        settings: {
1650                            method: "POST",
1651                            data: {}
1652                        }
1653                    },
1654                    removalDelay: 300,
1655                    closeBtnInside: true,
1656                    showCloseBtn: true,
1657                    fixedContentPos: true,
1658                    mainClass: 'mfp-fade mfp-options-wrapper mfp-options-in',
1659                });
1660            } else {
1661                $('a.form-ajax-load').click(function(event) {
1662                    event.preventDefault();
1663                    return false;
1664                });
1665            }
1666        },
1667        calculateTotal: function(idExc) {
1668            var vals = idExc.split("_");
1669            if (typeof vals[1] !== 'undefined') {
1670                var itemId = vals[1];
1671                var adlt = ($("#adults_" + itemId).val() * 1);
1672                var chld = ($("#children_" + itemId).val() * 1);
1673                var babes = ($("#infants_" + itemId).val() * 1);
1674                var pvpafld = $("#PVPA_" + itemId).val();
1675                var pvpcfld = $("#PVPC_" + itemId).val();
1676                var pvpofld = $("#PVPO_" + itemId).val();
1677                var pvpaarr = pvpafld.split(" ");
1678                var pvpcarr = pvpcfld.split(" ");
1679                var pvpoarr = pvpofld.split(" ");
1680                var pvpa = (pvpaarr[0] * 1);
1681                var pvpc = (pvpcarr[0] * 1);
1682                var pvpo = (pvpoarr[0] * 1);
1683                var pvp = (adlt * pvpa) + (chld * pvpc) + (babes * pvpo);
1684                var num = Number(pvp);
1685                var discount = $("#discount" + itemId).val();
1686                if (discount > 0) {
1687                    $("#pvp" + itemId).html(num.toFixed(2) + " €");
1688                    var dscnt = (pvp * (discount / 100));
1689                    num = Number(pvp - dscnt);
1690                }
1691                $("#price" + itemId).html("<strong>" + num.toFixed(2) + " €</strong>");
1692                $.post('includes/editProduct.php?prId=' + itemId + "&adults=" + $("#adults_" + itemId).val() + "&children=" + $("#children_" + itemId).val() + "&infants=" + $("#infants_" + itemId).val(), function(data) {
1693                    var datos = data.split("|");
1694                    $("#pvphtml").html("<b>" + datos[0] + "</b>");
1695                    $("#pricehtml").html("<span class='amount text-right width-100 font-25'><b>" + datos[1] + "</b></span>");
1696                });
1697            } else {
1698                var adlt = ($("#adults").val() * 1);
1699                var chld = ($("#children").val() * 1);
1700                var babes = ($("#infants").val() * 1);
1701                var pvpa = ($("#PVPA").val() * 1);
1702                var pvpc = ($("#PVPC").val() * 1);
1703                var pvpo = ($("#PVPOS").val() * 1);
1704                var pvp = (adlt * pvpa) + (chld * pvpc) + (babes * pvpo);
1705                var pvpadlt = (adlt * pvpa);
1706                var pvpchild = (chld * pvpc);
1707                var pvpinfant = (babes * pvpo);
1708                var num = Number(pvp);
1709                var sumaAdls = Number(pvpadlt);
1710                var sumaChild = Number(pvpchild);
1711                var sumaInfant = Number(pvpinfant);
1712                switch (idExc) {
1713                    case '#adults':
1714                        $('input#adults').closest('.st_adults').find('.total_price_adults').html(sumaAdls.toFixed(2) + " €");
1715                        break;
1716                    case '#children':
1717                        $('input#children').closest('.st_child').find('.total_price_child').html(sumaChild.toFixed(2) + " €");
1718                        break;
1719                    case '#infants':
1720                        $('input#infants').closest('.st_infant').find('.total_price_infant').html(sumaInfant.toFixed(2) + " €");
1721                        break;
1722                }
1723                var elmCod = '';
1724                var ttotales = 0,
1725                    ulArray = [],
1726                    numadd = 0;
1727                if ($('.options-extras-infos').find('ul').length) {
1728                    $('.options-extras-infos').find('ul').each(function(i) {
1729                        elmClass = $(this).attr('class');
1730                        ulArray.push({
1731                            'className': elmClass,
1732                            'elCod': $(this).attr('id')
1733                        });
1734                    });
1735                }
1736                if (typeof ulArray["className"] !== undefined) {
1737                    for (var i = 0; i < ulArray.length; i++) {
1738                        ttotales += ($('#adTotal-' + ulArray[i]['elCod']).val() * 1);
1739                        ttotales += ($('#chTotal-' + ulArray[i]['elCod']).val() * 1);
1740                        ttotales += ($('#infTotal-' + ulArray[i]['elCod']).val() * 1);
1741                        var counterLi = ulArray.length;
1742                        if (counterLi > 0) {
1743                            $('#widget--entradas--addExtras').find('a.widget-entradas-addExtras').html('Opciones Incluidas: ' + counterLi);
1744                            $('#widget--entradas--addExtras').addClass('panel-collapsed');
1745                        }
1746                    }
1747                }
1748				
1749                if (ttotales > 0) {
1750                    var numadd = Number(ttotales + num);
1751                } else {
1752                    var numadd = Number(num);
1753                }			
1754				
1755				var ex_adlt = $('#ex_adults').val() ;
1756				if (typeof ex_adlt !== 'undefined') {
1757					var adlt = ($('#ex_adults').val() * 1);
1758					var chld = ($('#ex_children').val() * 1);
1759					var babes = ($('#ex_infants').val() * 1);
1760					var pvpa = ($('#ex_PVPA').val() * 1);
1761					var pvpc = ($('#ex_PVPC').val() * 1);
1762					var pvpo = ($('#ex_PVPOS').val() * 1);
1763					var pvp = (adlt * pvpa) + (chld * pvpc) + (babes * pvpo);
1764					var pvpadlt = (adlt * pvpa);
1765					var pvpchild = (chld * pvpc);
1766					var pvpinfant = (babes * pvpo);
1767					var sumaAdls = Number(pvpadlt);
1768					var sumaChild = Number(pvpchild);
1769					var sumaInfant = Number(pvpinfant);
1770					var exnum = Number(pvpadlt + pvpchild + pvpinfant);
1771					
1772					$('.ex_total_price_adults').html(sumaAdls.toFixed(2) + "&nbsp;€");
1773					$('input#ex_adults').attr('data-rPrice', sumaAdls.toFixed(2));
1774					$('.add-extra-options').find('input#ex_PVPA').val(sumaAdls);
1775					$('.add-extra-options').find('input#ex_adults').val($('input#ex_adults').attr('data-nr'));
1776					$('#ex_children').attr('data-rPrice', sumaChild.toFixed(2));
1777					$('.ex_total_price_child').html(sumaChild.toFixed(2) + "&nbsp;€");
1778					$('.add-extra-options').find('input#ex_PVPC').val(sumaChild);
1779					$('.add-extra-options').find('input#ex_children').val($('input#ex_children').attr('data-nr'));
1780					if ($('#ex_infants').attr('data-nr') > 0) {
1781						$('#ex_infants').attr('data-rPrice', sumaInfant.toFixed(2));
1782						$('.ex_total_price_infant').html(sumaInfant.toFixed(2) + "&nbsp;€");
1783						$('.add-extra-options').find('input#ex_PVPOS').val(sumaInfant);
1784						$('.add-extra-options').find('input#ex_infants').val($('input#ex_infants').attr('data-nr'));
1785					}
1786					if ($('#ex_pricei').attr('data-price') == '0.00') {
1787						$('#ex_pricei').find('.numbers-row').attr('disabled', 'true');
1788						$('.ex_total_price_infant').attr('disabled', 'true');
1789					}
1790					
1791					numadd=Number(exnum+numadd);
1792				}
1793				
1794
1795				
1796                if ($("#discount").val() > 0) {
1797                    $("#SUBTOTAL").attr('data-num', numadd.toFixed(2)).find('span').html(numadd.toFixed(2)+" €");
1798                    var dscnt = (numadd.toFixed(2) * ($("#discount").val() / 100));
1799                    var num = Number(numadd.toFixed(2) - dscnt);
1800                    $("#TOTAL").attr('data-num', num.toFixed(2)).find('span').html(num.toFixed(2)+" €");
1801                } else {
1802                    $("#TOTAL").attr('data-num', numadd.toFixed(2)).find('span').html(numadd.toFixed(2)+" €");
1803                }
1804								
1805
1806            }
1807        },
1808        wanSpinEvent: function() {
1809            var adults = {
1810                maxValue: 30,
1811                minValue: 1,
1812                step: 1,
1813                inputWidth: 30,
1814                plusClick: function(elem) {
1815                    spinner.editProduct(elem);
1816                },
1817                minusClick: function(elem) {
1818                    spinner.editProduct(elem);
1819                }
1820            }
1821            var clild = {
1822                maxValue: 30,
1823                minValue: 0,
1824                step: 1,
1825                inputWidth: 30,
1826                plusClick: function(elem) {
1827                    spinner.editProduct(elem);
1828                },
1829                minusClick: function(elem) {
1830                    spinner.editProduct(elem);
1831                }
1832            }
1833            var babes = {
1834                maxValue: 30,
1835                minValue: 0,
1836                step: 1,
1837                inputWidth: 30,
1838                plusClick: function(elem) {
1839                    spinner.editProduct(elem);
1840                },
1841                minusClick: function(elem) {
1842                    spinner.editProduct(elem);
1843                }
1844            }
1845            $(".wan-spinner-1").WanSpinner(adults);
1846            $(".wan-spinner-2").WanSpinner(clild);
1847            $(".wan-spinner-3").WanSpinner(babes);
1848            var spinner = {
1849                editProduct: function(elem) {
1850                    console.log(elem);
1851                    var itemId = elem.attr("data-id");
1852                    var adlt = ($("#adults_" + itemId).val() * 1);
1853                    var chld = ($('input[name="children_' + itemId +'"]').val() * 1);
1854                    var babes = ($("#infants_" + itemId).val() * 1);
1855                    var pvpafld = $("#PVPA_" + itemId).val();
1856                    var pvpcfld = $("#PVPC_" + itemId).val();
1857                    var pvpofld = $("#PVPO_" + itemId).val();
1858                    var pvpa = Number(pvpafld * 1);
1859                    var pvpc = Number(pvpcfld * 1);
1860                    var pvpo = Number(pvpofld * 1);
1861                    var pvp = (adlt * pvpa) + (chld * pvpc) + (babes * pvpo);
1862                    var num = Number(pvp);
1863                    var discount = $("#discount" + itemId).val();
1864                    
1865                    var amountPax = adlt + chld + babes;
1866                    
1867                    var adultPrice = (adlt * pvpa) 
1868                    var adultdiscount = (adultPrice * ( discount / 100));
1869                    var adultPricediscount = Number(adultPrice - adultdiscount);
1870                    $('span.summary-adult-itm-price-total>b').html(adultPricediscount );
1871
1872                    var chldPrice = (chld * pvpc) 
1873                    var chlddiscount = (chldPrice * ( discount / 100));
1874                    var chldPricediscount = Number(chldPrice - chlddiscount);
1875                    console.log(chldPricediscount);
1876                    $('span.summary-children-itm-price-total>b').html(chldPricediscount);
1877
1878                    $('span.summary-itm-pax-total>b').html(adlt + chld + babes);
1879                    $('span.summary-adult-itm-price>b').html(adlt);
1880                    $('span.summary-child-itm-price>b').html(chld);
1881                    $('span.summary-infant-itm-price>b').html(babes);
1882
1883                    if (discount > 0) {
1884                        $("#pvp" + itemId).html(num.toFixed(2) + " €");
1885                        var dscnt = (pvp * (discount / 100));
1886                        num = Number(pvp - dscnt);
1887                    }
1888
1889                    $("#price" + itemId).html(num.toFixed(2) + " €");
1890
1891                    $.post('includes/editProduct.php?prId=' + itemId + "&adults=" + adlt + "&children=" + chld + "&infants=" + babes, function(data) {
1892                        var datos = data.split("|");
1893                        $("#pvphtml").html("<b>" + datos[0] + "</b>");
1894                        $("#pricehtml").html("<span class='amount text-right width-100 font-25'><b>" + datos[1] + "</b></span>");
1895                        $('span.summary-itm-price-resumen').html('<b>'+ datos[1] +'</b>');
1896                        $("#pricehtml2").html("<span class='amount text-right width-100 font-25'><b>" + datos[1] + "</b></span>");
1897						$("#resPax").html("<i class='icon icon_group'></i><br>"+(adlt + chld + babes)+" Pax");
1898						$("#resPrice").html("<i class='icon hicon-ticket4'></i><br>
1898"+datos[1]);
1899                    });
1900                }
1901            };
1902        },
1903        loadShopCart: function(id) {
1904            app.wanSpinEvent();
1905            var $rightHeight = $('#shopCart').find('.recht.sidebar').height();
1906            var $counItems = $('ul.left.sidebar.equal-height');
1907            var $counterItems = $($counItems).attr('data-count');
1908            $('.cart_item').find('.btns-spinner').fadeToggle('fast', function() {
1909                $('#shopCart').find('.left.sidebar').each(function() {
1910                    $lefHeight = $(this).height();
1911                });
1912            });
1913            var showChar = 140;
1914            var ellipsestext = "...";
1915            var moretext = "ver más >";
1916            var lesstext = "ver menos";
1917            $('ul.left.sidebar.equal--height').find('li').each(function() {
1918                var $content = $(this).attr('id');
1919                var content = $(this).find('.more.e_' + $content + ' p:first').html();
1920                if (typeof content !== "undefined") {
1921                    if (content.length > showChar) {
1922                        var c = content.substr(0, showChar);
1923                        var h = content.substr(showChar, content.length - showChar);
1924                        var html = c + '<span class="moreellipses">' + ellipsestext + '&nbsp;</span><span class="morecontent"><span>' + h + '</span>&nbsp;&nbsp;<a href="" class="morelink">' + moretext + '</a></span>';
1925                        $(this).find('.more.e_' + $content + ' p:first').html(html);
1926                    }
1927                }
1928            });
1929            $(".morelink").click(function() {
1930                if ($(this).hasClass("less")) {
1931                    $(this).removeClass("less");
1932                    $(this).html(moretext);
1933                } else {
1934                    $(this).addClass("less");
1935                    $(this).html(lesstext);
1936                }
1937                $(this).parent().prev().toggle();
1938                $(this).prev().toggle();
1939                return false;
1940            });
1941        },
1942        headerEmptyShopCart: function(id, cnt, device) {
1943            $.ajax({
1944                type: 'POST',
1945                url: "/includes/cart/removeCartItem.php?prId=" + id,
1946                success: function(response) {
1947                    if (cnt == 1) {
1948                        document.location.href = "/index.php";
1949                    } else {
1950                        $("#cart_items").html(response);
1951                        $(".cart_count").html((cnt - 1));
1952						if(device=='phone')
1953							document.location.reload();
1954                    }
1955                }
1956            });
1957        },
1958        removeProductShopCart: function(id, cnt, afId) {
1959            $.post('inc/removeProductShopCart.php?prId=' + id, function(data) {
1960                
1961                if (cnt == 1 || data == 0) {
1962                    document.location.href = "/index.php";
1963                } else {
1964                    $('a[data-id="' + id + '"]').closest('li#' + id + '.shopCart').remove();
1965                    $("#cart-products").find('.cart_count').html(cnt - 1);
1966                    $("#total_items").attr("data-count", (cnt - 1));
1967                    $('.body-overlay').addClass('hidden');
1968                    $('#customer_details').find('li#dp_' + id + '.shopCart').remove();
1969                    $('#rechtSidebar').find('div#pb_' + id + '.panel-basket-resumen').remove();
1970                    document.location.href = "/cesta.php";
1971                }
1972            });
1973        },
1974        getcommentsSupplie: function(idnr) {
1975            $('input#commentsSupplier_' + idnr + '').on('ifUnchecked', function(event) {
1976                $('textarea#comments-supplier_' + idnr + '').addClass('hidden');
1977            });
1978            $('input#commentsSupplier_' + idnr + '').on('ifChecked', function(event) {
1979                $('textarea#comments-supplier_' + idnr + '').removeClass('hidden');
1980            });
1981        },
1982        getCustomerDetails: function() {
1983            var $lefHeight;
1984            $('ul#myTab.nav-tabs a[href="#customer_details"]').tab('show');
1985            $('ul#myTab.nav-tabs a').on('shown.bs.tab', function(event) {
1986                if ($(window).width() > 767) {
1987                    $('#leftSidebar').each(function() {
1988                        $lefHeight = $('div#leftSidebar').height() + 200;
1989                    });
1990                    //$("#rechtSidebar").height($lefHeight - 100);
1991                }
1992                if (event.target.hash === '#customer_details') {
1993                    $('html, body').animate({
1994                        scrollTop: 0
1995                    }, 800);
1996                }
1997            });
1998        },
1999        printMap: function() {
2000            const $body = $('body');
2001            const $mapContainer = $('#map-canvas');
2002            const $mapContainerParent = $mapContainer.parent();
2003            const $printContainer = $('<div style="position:relative;">');
2004            $printContainer.height($mapContainer.height()).append($mapContainer).prependTo($body);
2005            const $content = $body.children().not($printContainer).not('script').detach();
2006            const $patchedStyle = $('<style media="print">').text('img { max-width: none !important; }a[href]:after { content: ""; }').appendTo('head');
2007            window.print();
2008            $body.prepend($content);
2009            $mapContainerParent.prepend($mapContainer);
2010            $printContainer.remove();
2011            $patchedStyle.remove();
2012        }
2013};
2014
2015function drawCalendar(ddays, datas, lmits, stdate, $idExc, $pProd) {
2016    dates=datas;
2017    limits=lmits;   
2018    
2019    var day = new Date();
2020    if (stdate > 0) {
2021        day.setDate(Number((day.getDate() * 1) + (stdate * 1)));
2022    } else if(datas.length==1) {
2023        var tmpd=(datas[0]+"");
2024        var month=tmpd.substring(4, 6);
2025        day.setDate(1);
2026        day.setMonth((month*1)-1);
2027    }
2028        //  $("#CALENDAR").datepicker("destroy");
2029        //  console.log("DRAW");
2030    $("#CALENDAR").datepicker('remove');
2031
2032    if ($pProd == 2) {
2033        var config = {
2034            locale: $("#lang").val(),
2035            inline: true,
2036            minDate: day,
2037            altInput: false,
2038            dateFormat: 'd-m-Y',
2039            mode: "range",
2040            onChange: [function(selectedDates, dateStr, instance) {
2041                var dateArr = selectedDates.map(date => this.formatDate(date, "d/m/Y"));
2042                var $shodate = dateArr;
2043                var $adddays = moment(selectedDates[0], 'YYYY/MM/DD').add(30, 'days').format('DD/MM/YYYY');
2044                this.set('minDate', dateArr[0]);
2045                this.set('maxDate', $adddays);
2046                $('.dayContainer').each(function(index, el) {
2047                    if ($(this).find('span').hasClass('endRange')) {
2048                        $('#FECHA').val(dateArr[0]);
2049						var days=Number(((selectedDates[1]-selectedDates[0])/86400000));
2050                        $('#days').val(days.toFixed(0));
2051						if(($("#mPer").val()*1)>days.toFixed(0)) {
2052							alert("Este producto requiere un minimum de "+$("#mPer").val()+" dias!");
2053						} else {
2054
2055                        $.ajax({
2056                            type: 'GET',
2057                            url: "includes/load_dayprices.php?days=" + $('#days').val() + "&fecha=" + $('#FECHA').val() + "&evId=" + $('#idExc').val(),
2058                            success: function(res) {
2059                                var values = res.split("|");
2060                                var adlts = $("#adults").val();
2061                                var numa = Number(values[2] * adlts);
2062                                $("#PVPA").val(values[2]);
2063                                $("#pricea").attr('data-price', values[2]).html(values[2] + "&nbsp;€");
2064                                $('.total_price_adults').html(values[2] + '&nbsp;€');
2065                                $("#TOTAL").find('span').html(numa.toFixed(2)+" €");
2066                                $("#COSTA").val(Number(values[2] - values[3]).toFixed(2));
2067                                $("#COSTC").val(0);
2068                                $("#COSTOS").val(0);
2069                                try {
2070                                    $("#pricea").val(values[2]);
2071                                    $("#pricec").val(0);
2072                                    $("#pricei").val(0);
2073                                } catch (err) {}
2074                            }
2075                        });
2076                        $('#widget--panel--calender').find('.widget-panel-calender.panel-title--calender').html(dateArr[0] + " - " + dateArr[1]);
2077        /*if (!$('#widget--entradas--addExtras').hasClass('.ui-accordion-header-active.ui-state-active')) {
2078                            app.ajaxLoadExtras('PC');
2079                        }
2080        */                  
2081        $('h4#widget--panel--calender').removeClass('ui-accordion-header-active ui-state-activ');
2082                        $('h4#widget--panel--calender').addClass('panel-collapsed');
2083                        $('h4#widget--panel--calender').attr({
2084                            'aria-selected': 'false',
2085                            'aria-expanded': 'fade'
2086                        });
2087                        $('h4#widget--panel--calender').removeClass('ui-state-hover ui-accordion-header-active ui-state-active ui-corner-top')
2088                        $('h4#widget--panel--calender').find('.panel-heading-icons>i').addClass('colored');
2089                        $('#panel-calendario').attr({
2090                            'aria-hidden': 'true',
2091                            style: 'display: none;'
2092                        });
2093                        $('#panel-calendario').removeClass('ui-accordion-content-active');
2094                        if ($("#intCode").val() != "" && $("#intCode").val() != -1) {
2095                            $('#widget--dataDays').removeClass('hidden').trigger('click');
2096                            app.datesSessions($selectedDate, $idExc);
2097                        } else {
2098                            app.showPaxPanel();
2099                        }
2100						}
2101                    } else {
2102                        if (!$('.avail_dates.center').hasClass('hidden')) {
2103                            app.destroyfiltrosFechas();
2104                        }
2105                    }
2106                });
2107            }],
2108            onDayCreate: [function(dObj, dStr, fp, dayElem) {}],
2109        }
2110        flatpickr('#CALENDAR', config);
2111    } else {
2112        var twin=new Array(21,22,23,38,837,2078,2752);
2113        if(twin.indexOf($idExc)!= -1) {
2114            $("#widget--panel--twin").addClass('hidden');           
2115            $("#TWIN").addClass('hidden');
2116            $('#CALENDAR').datepicker({
2117                format: "dd/mm/yyyy",
2118                startDate: day,
2119                maxViewMode: 0,
2120                weekStart: 1,
2121                language: $("#lang").val(),
2122                todayHighlight: true,
2123                changeMonth: true,
2124                toggleActive: true,
2125                autoclose: true,
2126                beforeShowDay: function(date) {
2127                    var ret = true;
2128                    var day = date.getDay();
2129                    if (day == 0) {
2130                        if (ddays[6] == 0) ret = false;
2131                    } else if (ddays[(day - 1)] == 0 || dftlimits == 0) ret = false;
2132                    for (var d = 0; d <= dates.length; d++) {
2133                        if (date.yyyymmdd() == dates[d]) {
2134                            if (limits[d] == 0) {
2135                                ret = false;
2136                                break;
2137                            } else {
2138                                ret = true;
2139                                break;
2140                            }
2141                        }
2142                    }
2143                    return ret;
2144                }
2145            }).on('changeDate', function(e) {
2146                var $selectedDate = e.format('yyyymmdd');
2147                calTotal = false;
2148                
2149
2150                $('#FECHA').val(e.format('dd/mm/yyyy'));
2151                $('#widget--panel--calender').find('.widget-panel-calender.panel-title--calender').html(e.format('dd/mm/yyyy')+" Siam Park");
2152                app.widgetCollapsedUP('widget--entradas--options', 'entradas-options-list');
2153
2154                $('h4#widget--panel--calender').removeClass('ui-accordion-header-active ui-state-activ');
2155                $('h4#widget--panel--calender').addClass('panel-collapsed');        
2156                            
2157                $('h4#widget--panel--calender').attr({
2158                	'aria-selected': 'false',
2159                	'aria-expanded': 'fade'
2160                });
2161                $('h4#widget--panel--calender').removeClass('ui-state-hover ui-accordion-header-active ui-state-active ui-corner-top')
2162                $('h4#widget--panel--calender').find('.panel-heading-icons>i').addClass('colored');
2163                $('#panel-calendario').attr({
2164                	'aria-hidden': 'true',
2165                    style: 'display: none;'
2166                });
2167				
2168				$('#panel-calendario').removeClass('ui-accordion-content-active');
2169                $("#widget--panel--twin").removeClass('hidden').trigger('click');
2170                $("#TWIN").removeClass('hidden');
2171                $("#TWIN").html("<div style='width:100%;text-align:center;'><img src='/img/loading.gif' border='0' /><br></div><div style='width:100%;text-align:center;'>Cargando, por favor espere....</div>");
2172                $.ajax({
2173					type: "GET",
2174					url: "twin.php?idExc=5&lang=" + $("#lang").val(),
2175					success: function(html) {
2176						$("#TWIN").html(html);
2177                    }
2178                });
2179
2180            }).on('changeMonth', function(e) {
2181                var fecha = e.date;
2182                var mes=(fecha.getMonth()+1);
2183                var dia=(fecha.getDate()<10?('0'+fecha.getDate()):fecha.getDate());
2184                document.getElementById("submiter").src="includes/js-limits.php?evId="+$idExc+"&langId="+$("#lang").val()+"&fecha="+fecha.getFullYear()+'-'+(mes<10?('0'+mes):mes)+'-01';
2185            }); 
2186        
2187    } else {
2188        $('#CALENDAR').datepicker({
2189            format: "dd/mm/yyyy",
2190            startDate: day,
2191            maxViewMode: 0,
2192            weekStart: 1,
2193            language: $("#lang").val(),
2194            todayHighlight: true,
2195            changeMonth: true,
2196            toggleActive: true,
2197            autoclose: true,
2198            beforeShowDay: function(date) {
2199                var ret = true;
2200                var day = date.getDay();
2201                if (day == 0) {
2202                    if (ddays[6] == 0) ret = false;
2203                } else if (ddays[(day - 1)] == 0 || dftlimits == 0) ret = false;
2204                for (var d = 0; d <= dates.length; d++) {
2205                    if (date.yyyymmdd() == dates[d]) {
2206                        if (limits[d] == 0) {
2207                            ret = false;
2208                            break;
2209                        } else {
2210                            ret = true;
2211                            break;
2212                        }
2213                    }
2214                }
2215                return ret;
2216            }
2217        }).on('changeDate', function(e) {
2218            var $selectedDate = e.format('yyyymmdd');
2219            calTotal = false;
2220			
2221			for (var d = 0; d <= dates.length; d++) {
2222				if($selectedDate == dates[d]) {
2223					dftlimits=limits[d]
2224					break;
2225				}
2226			}	
2227
2228
2229
2230            
2231            $('#FECHA').val(e.format('dd/mm/yyyy'));
2232            $('#widget--panel--calender').find('.widget-panel-calender.panel-title--calender').html(e.format('DD d/mm/yyyy'));
2233
2234            $('h4#widget--panel--calender').removeClass('ui-accordion-header-active ui-state-activ');
2235            $('h4#widget--panel--calender').addClass('panel-collapsed');
2236                        
2237                        
2238            $('h4#widget--panel--calender').attr({
2239              'aria-selected': 'false',
2240              'aria-expanded': 'fade'
2241            });
2242            $('h4#widget--panel--calender').removeClass('ui-state-hover ui-accordion-header-active ui-state-active ui-corner-top')
2243            $('h4#widget--panel--calender').find('.panel-heading-icons>i').addClass('colored');
2244            $('#panel-calendario').attr({
2245                  'aria-hidden': 'true',
2246                   style: 'display: none;'
2247            });
2248			document.getElementById("submiter").src="inc/load_prices.php?evId="+$idExc+"&fecha="+$("#FECHA").val()+"&s="+Math.random(100000);                        
2249			 app.widgetCollapsedUP('widget--entradas--options', 'entradas-options-list');        
2250             $('#panel-calendario').removeClass('ui-accordion-content-active');
2251                        
2252             if (havetime==1) {
2253                 $('#widget--dataDays').removeClass('hidden');
2254				 $('#dataDays').show();
2255                 app.datesSessions($selectedDate, $idExc);
2256             } else {
2257                 app.showPaxPanel();
2258             }
2259			 $("#adInfId").hide();
2260
2261        }).on('changeMonth', function(e) {
2262            var fecha = e.date;
2263            var mes=(fecha.getMonth()+1);
2264            var dia=(fecha.getDate()<10?('0'+fecha.getDate()):fecha.getDate());
2265            document.getElementById("submiter").src="includes/js-limits.php?evId="+$idExc+"&langId="+$("#lang").val()+"&fecha="+fecha.getFullYear()+'-'+(mes<10?('0'+mes):mes)+'-01';
2266        });
2267    }
2268    }
2269}
2270
2271function drawTwin(ddays, datas, lmits,  $idExc) {
2272    dates=datas;
2273    limits=lmits;
2274    
2275    var day = new Date();
2276    var tmpd=(datas[0]+"");
2277    var month=tmpd.substring(4, 6);
2278    day.setDate(1);
2279    day.setMonth((month*1)-1);
2280
2281    $("#TWIN").datepicker('remove');
2282    $('#TWIN').datepicker({
2283        format: "dd/mm/yyyy",
2284        startDate: day,
2285        maxViewMode: 0,
2286        weekStart: 1,
2287        language: $("#lang").val(),
2288        todayHighlight: true,
2289        changeMonth: true,
2290        toggleActive: true,
2291        autoclose: true,
2292        beforeShowDay: function(date) {
2293            var ret = true;
2294            var day = date.getDay();
2295            if (day == 0) {
2296                if (ddays[6] == 0) ret = false;
2297            } else if (ddays[(day - 1)] == 0 || dftlimits == 0) ret = false;
2298                for (var d = 0; d <= dates.length; d++) {
2299                    if (date.yyyymmdd() == dates[d]) {
2300                        if (limits[d] == 0) {
2301                            ret = false;
2302                            break;
2303                        } else {
2304                            ret = true;
2305                            break;
2306                        }
2307                    }
2308                }
2309                return ret;
2310            }
2311        }).on('changeDate', function(e) {
2312            var $selectedDate = e.format('yyyymmdd');
2313            calTotal = false;
2314
2315            $('#tDate').val(e.format('dd/mm/yyyy'));
2316            if($('#FECHA').val()==$('#tDate').val()) {
2317                alert($twinError);  
2318            } else {
2319                $('#widget--panel--twin').find('.widget-panel-calender.panel-title--calender').html(e.format('dd/mm/yyyy')+" Loro Parque");
2320    
2321                $('h4#widget--panel--twin').removeClass('ui-accordion-header-active ui-state-activ');
2322                $('h4#widget--panel--twin').addClass('panel-collapsed');
2323                            
2324                
2325                $('h4#widget--panel--twin').attr({
2326                    'aria-selected': 'false',
2327                    'aria-expanded': 'fade'
2328                });
2329                $('h4#widget--panel--twin').removeClass('ui-state-hover ui-accordion-header-active ui-state-active ui-corner-top')
2330                $('h4#widget--panel--twin').find('.panel-heading-icons>i').addClass('colored');
2331                $('#panel-twin').attr({
2332                    'aria-hidden': 'true',
2333                    style: 'display: none;'
2334                });
2335                $('#panel-twin').removeClass('ui-accordion-content-active');        
2336                app.showPaxPanel();
2337        }
2338        
2339        }).on('changeMonth', function(e) {
2340            var fecha = e.date;
2341            var mes=(fecha.getMonth()+1);
2342            var dia=(fecha.getDate()<10?('0'+fecha.getDate()):fecha.getDate());
2343            //alert(fecha.getFullYear()+'-'+(mes<10?('0'+mes):mes)+'-'+dia);
2344            document.getElementById("submiter").src="includes/js-twin.php?evId="+$idExc+"&langId="+$("#lang").val()+"&fecha="+fecha.getFullYear()+'-'+(mes<10?('0'+mes):mes)+'-01';
2345        });
2346}
2347
2348function refreshTwin() {
2349    $('#TWIN').datepicker('update');
2350}
2351
2352function refreshCalendar() {
2353    $('#CALENDAR').datepicker('update');
2354}
2355
2356function setDateLimit(mydates,mylimits) {
2357    dates=mydates;
2358    limits=mylimits;
2359}
2360    
2361function addCustomerLang(lang, lName) {
2362    $("#lang").val(lang);
2363    $('#widget--customer--lang').find('.widget-zonas-hotels.zona-wraper-title').html(lName);
2364    
2365    
2366    $("#CALENDAR").html("<div style='width:100%;text-align:center;'><img src='/img/loading.gif' border='0' /><br></div><div style='width:100%;text-align:center;'>Cargando, por favor espere....</div>");
2367    $.ajax({
2368        type: "GET",
2369        url: "calendar.php?idExc=" + $("#idExc").val() + "&lang=" + $("#lang").val()+"&afId="+$("#afId").val(),
2370        success: function(html) {
2371            $("#CALENDAR").html(html);
2372        }
2373    });
2374}
2375
2376function addPrices(name,price) {
2377	const precios=['pricea','pricec','pricei'];
2378	if(precios.includes(name)) {
2379		$("#"+name).html(price+' €');
2380	} else {
2381		$("#"+name).val(price);
2382	}
2383}
2384
2385function submitMe(idCar) {
2386    var errors = "";
2387    $("#carId").val(idCar);
2388    $("#get-booking").submit();
2389}
2390    
2391function previewPageCallback(n) {
2392    return {
2393        type: 'html',
2394        src: './pdf/books/html/preview/' + (Math.floor(n / 2) % 3 + 1) + '.html',
2395        interactive: true
2396    };
2397}
2398    
2399var template = {
2400    html: './pdf/templates/default-book-view.html',
2401    styles: ['./pdf/css/font-awesome.min.css', './pdf/css/short-white-book-view.css'],
2402    script: './pdf/js/default-book-view.js'
2403};
2404
2405var booksOptions = {
2406    preview: {
2407        pageCallback: previewPageCallback,
2408        pages: 200,
2409        propertiesCallback: function(props) {
2410            props.cover.padding = 0.003;
2411            props.sheet.color = 0x008080;
2412            return props;
2413        },
2414        template: template
2415    },
2416    Catalogo_2018: {
2417        pdf: './pdf/books/pdf/Catalogo_2018.pdf',
2418        downloadURL: './pdf/books/pdf/Catalogo_2018.pdf',
2419        propertiesCallback: function(props) {
2420            props.page.depth /= 3;
2421            props.cover.padding = 0.002;
2422            return props;
2423        },
2424        template: template
2425    },
2426};
2427    
2428var instance = {
2429    scene: undefined,
2430    options: undefined,
2431    node: $('#flip-book-window').find('.mount-node')
2432};
2433    
2434$('#flip-book-window').on('hidden.bs.modal', function() {
2435    instance.scene.dispose();
2436});
2437    
2438$('#flip-book-window').on('shown.bs.modal', function() {
2439    instance.scene = instance.node.FlipBook(instance.options);
2440});
2441
2442$('.books').find('img').click(function(e) {
2443    if (e.target.id) {
2444        instance.options = booksOptions[e.target.id];
2445        $('#flip-book-window').modal('show');
2446        $('.modal-backdrop').css('z-index', '-5');
2447    }
2448});
2449    
2450$(function() {
2451    $('#release-wrapper').css('margin-top', '-' + ($('#release-wrapper').height() + 20) + 'px');
2452    $('a[href="#release-history"]').toggle(function() {
2453        $('#release-wrapper').animate({
2454            marginTop: '0px'
2455        }, 600, 'linear');
2456    }, function() {
2457        $('#release-wrapper').animate({
2458            marginTop: '-' + ($('#release-wrapper').height() + 20) + 'px'
2459        }, 600, 'linear');
2460    });
2461    $('#download a').mousedown(function() {
2462        _gaq.push(['_trackEvent', 'download-button', 'clicked'])
2463    });
2464});
2465    
2466$(function() {
2467    setTimeout(function() {
2468    if ($("#menu-side-panel").length)
2469    {
2470        var viewport = $(window).width();
2471        if (viewport <= 759) {
2472            var $breadcrumbs = '';
2473        } else {
2474            var $breadcrumbs = 'breadcrumbs';
2475        }
2476        try {
2477        var $menu = $("#menu-side-panel").mmenu({
2478            setSelected: true,
2479            navbars: [{
2480                content: ['prev', $breadcrumbs, 'close']
2481            }, {
2482                position: 'bottom',
2483                content: ["<span class='instagram'><a class='left-icon-menu fa fa-instagram fa-lg' target='_blank' href='https://www.instagram.com/atlanticoexcursiones/?hl=es'></a></span>", "<span class='facebook'><a class='left-icon-menu fa fa-facebook fa-lg' target='_blank' href='https://www.facebook.com/AtlanticoTF/'></a></span>", "<span class='tripadvisor'><a class='left-icon-menu fa fa-tripadvisor fa-lg' target='_blank' href='https://www.tripadvisor.es/Attraction_Review-g187479-d10199684-Reviews-Atlantico_Excursiones-Tenerife_Canary_Islands.html'></a></span>", "<span class='youtube'><a class='left-icon-menu fa fa-youtube-square fa-lg' target='_blank' href='https://www.youtube.com/channel/UC_2EnHoUaal7mTOC38S
2483Bxig/videos'></a></span>"]
2484            }],
2485            extensions: {
2486                all: ["theme-white", "pagedim-black"],
2487                "(max-width: 767px)": ["fx-menu-slide"]
2488            }
2489        }); } catch(e) {}
2490        var $icon = $("#hamburger");
2491        var API = $menu.data("mmenu");
2492        $($menu).removeClass('hidden');
2493        setTimeout(function() {
2494            $('#menu-side-panel').find('.mm-navbars_top').addClass('addShadow');
2495        }, 500);
2496        $icon.on("click", function() {
2497            //console.log('click');
2498            API.open();
2499        });
2500        API.bind("open:finish", function() {
2501            $icon.addClass("is-active");
2502            $('#menuzord').find('#hamburger').addClass("is-active");
2503            $('#menu-side-panel').removeClass('mm-menu_closed').addClass('mm-menu_opened');
2504            $('.body-overlay').addClass('side-panel-open');
2505        });
2506        API.bind("close:finish", function() {
2507            setTimeout(function() {
2508                $icon.removeClass("is-active");
2509                $('#menuzord').find('#hamburger').removeClass("is-active");
2510                $('#menu-side-panel').removeClass('mm-menu_opened').addClass('mm-menu_closed');
2511                $('.body-overlay').removeClass('side-panel-open');
2512            }, 100);
2513        });
2514        $('[id*="info_"]').on('show.bs.collapse', function(e) {
2515            $(this).closest('li').find('.icon').removeClass('hicon-uniE071').addClass('hicon-uniE070');
2516            if (!$(e.target).is('.collapse.in')) {
2517                $('.collapse').collapse('hide');
2518            }
2519        });
2520        $('[id*="info_"]').on('hidden.bs.collapse', function() {
2521            $(this).closest('li').find('.icon').removeClass('hicon-uniE070').addClass('hicon-uniE071');
2522        });
2523        $('.mm-btn.mm-btn_prev.mm-navbar__btn').on('click', function(e) {
2524            $(this).closest('.mm-panel_opened').find('.mm-listview').each(function(index, el) {
2525                $(this).find('li').find('.collapse').collapse('hide');
2526            });
2527        });
2528    }
2529    },500);
2530});
2531
2532$('.has-side-panel .body-overlay').on('click', function(e) {
2533    $('#hamburger.mm-sticky').removeClass("is-active");
2534    $('.body-overlay').toggleClass('side-panel-open side-panel-close');
2535    $('body').removeClass('side-panel-open');
2536    $('body').addClass("mm-menu_closed");
2537    $('body').removeClass('mm-wrapper_blocking');
2538    $('#menu-side-panel').toggleClass('mm-menu_opened mm-menu_closed');
2539    $('#menu-side-panel').addClass('mm-menu_closed zxz');
2540    e.stopPropagation();
2541    return false;
2542});
2543
2544$('#hamburger.mm-sticky').on('click', function(e) {
2545    if ($('#menu-side-panel').hasClass('mm-menu_opened')) {
2546        $('#menu-side-panel').toggleClass('mm-menu_opened mm-menu_closed');
2547        $('.body-overlay').addClass('side-panel-open');
2548    } else {
2549        $('#menu-side-panel').toggleClass('mm-menu_closed mm-menu_opened');
2550        $('.body-overlay').toggleClass('side-panel-close side-panel-open');
2551    }
2552    e.stopPropagation();
2553});
2554    
2555function checkForCost(name) {
2556    var $si = false;
2557    var numa = Number($("#pricea").val());
2558    var numb = Number($("#COSTA").val());
2559    if (numa >= numb) {
2560        $("#PVPA").val($("#pricea").val());
2561    } else {
2562        $si = true;
2563        $("#pricea").val($("#COSTA").val());
2564        $("#PVPA").val($("#COSTA").val());
2565    }
2566    var numa = Number($("#pricec").val());
2567    var numb = Number($("#COSTC").val());
2568    if (numa >= numb) {
2569        $("#PVPC").val($("#pricec").val());
2570    } else {
2571        $si = true;
2572        $("#pricec").val($("#COSTC").val());
2573        $("#PVPC").val($("#COSTC").val());
2574    }
2575    var numa = Number($("#pricei").val());
2576    var numb = Number($("#COSTOS").val());
2577    if (numa >= numb) {
2578        $("#PVPOS").val($("#pricei").val());
2579    } else {
2580        $si = true;
2581        $("#pricei").val($("#COSTOS").val());
2582        $("#PVPOS").val($("#COSTOS").val());
2583    }
2584    if ($si) alert($tourCost);
2585    app.calculateTotal('');
2586}
2587
2588function loadContentLang(gCode, lang, eCode) {
2589    var activePanel = 0;
2590    $.ajax({
2591        type: 'POST',
2592        url: "./includes/load_content.php?gCode=" + gCode + "&lang=" + lang + "&eCode=" + eCode,
2593        cache: false,
2594        format: 'json',
2595        async: false,
2596        success: function(response) {
2597        if (response != '') {
2598            var data = $.parseJSON(response);
2599            //console.log(data);
2600            $.each(data, function(index, value) {
2601                var $block = value.desc;
2602                switch ($block) {
2603                    case 'description':
2604                        $('#widget--result--description').find('.card-body').html(value.text);
2605                        $('#headding--result--description').find('.collapsible__header').html(value.title);
2606                        break;
2607                    case 'willDo':
2608                        $('#widget--result--willDo').find('.card-body').html(value.text);
2609                        $('#headding--result--willDo').find('.collapsible__header').html(value.title);
2610                        break;
2611                    case 'faq':
2612                        $('#widget--result--faq').find('.card-body').html(value.text);
2613                        $('#headding--result--faq').find('.collapsible__header').html(value.title);
2614                        break;
2615                    case 'incluidos':
2616                        $('#evtDetails-includes-panels').find('.content-w-body ul#includes-elm').html(value.text);
2617                        $('#widget--result--includes').find('a[role=button]').html(value.title);
2618                        break;
2619                    case 'notinc':
2620                        $('#evtDetails-includes-panels').find('.content-w-body ul#notincludes-elm').html(value.text);
2621                        break;
2622                }
2623            });
2624        }
2625    }
2626    });
2627}
2628
2629function loadMapDetails(evCode) {
2630    var points = $("#mpoint" + evCode).val();
2631    var values = points.split("|");
2632    var mpoint = values[0];
2633	$("#showMapDetails"+evCode).load("includes/map_spdetails.php?hId=" + $("#hotelCode").val()+ "&evCode=" + evCode + "&pId=" + mpoint);
2634	$("#showMapDetails"+evCode).toggle();
2635	$("#mapbtn"+evCode).addClass('back-orange');
2636	$("#mapbtn"+evCode).html('<span class="maplabel"><a id="view_collapseMap'+evCode+'" href="javascript:closeMap('+evCode+');" class="form-ajax-load-spdetails close-btn btn_map btn mt-0"><i class="icon hicon-cancel" style="font-size:20px;"></i></a></span>');
2637}
2638
2639function closeMap(evCode) {
2640	$("#showMapDetails"+evCode).toggle();
2641	$("#mapbtn"+evCode).removeClass('back-orange');
2642	$("#mapbtn"+evCode).html('<span class="maplabel"><a id="view_collapseMap'+evCode+'" class="form-ajax-load-spdetails btn_map btn mt-0" href="javascript:loadMapDetails('+evCode+');"><i class="material-icons location_on" style="font-size:20px;"></i></a></span>');
2643}
2644
2645function loadAdOptions(evCode,gCode, lang) {    
2646    $.ajax({
2647        type: 'POST',
2648        url: "/includes/add-extra-options.php?evCode="+evCode+"&gCode="+gCode+"&lang="+lang,
2649        success: function(response) {
2650            $('.clone-includes-elm').html(response);
2651            $('#incOptions').removeClass('hidden');
2652            app.widgetCollapsedUP('widget--panel--pax', 'amount-pax');
2653			$(".elm"+evCode).addClass("font-weight-600");
2654			$(".add_"+evCode).find(".hicon-plus2").addClass("hidden");
2655			$(".add_"+evCode).find(".hicon-checkmark2").removeClass("hidden");
2656
2657            $(".button_inc.add_extra").on("click", function(e) {
2658                e.preventDefault();
2659                var $button = $(this);
2660                var oldValue = $button.parent().find("input").val();
2661                if ($(this).hasClass("inc")) {
2662                    var newVal = parseFloat(oldValue) + 1;
2663                } else {
2664                    if (oldValue > 1) {
2665                        var newVal = parseFloat(oldValue) - 1;
2666                    } else {
2667                        newVal = 0;
2668                    }
2669                }
2670                var idn = '#' + $button.parent().find("input").attr('id');
2671                var cdode = $button.attr('data-idnr');
2672                $button.parent().find("input").val(newVal).attr('data-nr', newVal);
2673                var ex_adNr = idn.substring(idn.lastIndexOf("_"));
2674                app.calculateTotal('');
2675            });
2676        }
2677    }); 
2678}
2679
2680$(document).on('click', '.tabs.nav-tabs li a', function(e) {
2681    $('.tabs.nav-tabs li').removeClass("activ");
2682    $(this).parent('li').addClass('activ');
2683});
2684
2685$(document).ready(function() {
2686
2687    if($('div#left-sidebar').length){
2688        $('div#left-sidebar').delay(800).animate({
2689            "opacity": "1"
2690        }, 700);
2691    }
2692
2693    $('#header.header.modern-header').removeClass('hidden');
2694    var options = {
2695        url: function(phrase) {
2696            return "inc/nameSearch.php";
2697        },
2698        getValue: "name",
2699        template: {
2700            type: "links",
2701            fields: {
2702                link: "link"
2703            }
2704        },
2705        ajaxSettings: {
2706            dataType: "json",
2707            method: "POST",
2708            data: {
2709                dataType: "json"
2710            }
2711        },
2712        preparePostData: function(data) {
2713            data.phrase = $("#home-search-text").val();
2714            return data;
2715        },
2716        list: {
2717            onSelectItemEvent: function() {
2718                var value = $("#home-search-text").getSelectedItemData().id;
2719                //console.log(value)
2720            },
2721            maxNumberOfElements: 8,
2722            match: {
2723                enabled: true
2724            },
2725            sort: {
2726                enabled: true
2727            }
2728        },
2729        requestDelay: 400
2730    };
2731
2732    if($("#home-search-text").length){
2733        $("#home-search-text").easyAutocomplete(options);
2734    }
2735    
2736    $("a[id^='download-']").click(function() {
2737        $.fileDownload($(this).attr('href'), {
2738            preparingMessageHtml: "The file download will begin shortly, please wait...",
2739            failMessageHtml: "There was a problem generating your report, please try again."
2740        });
2741        return false;
2742    });
2743
2744    $(document).on('click', '.home_category_list', function() {
2745        $(this).find('.info-title.total').addClass('changeBg');
2746    });
2747
2748
2749    $(document).on('click','body', function(e){
2750        var elem = $('.sm_cart');
2751        if ($(e.target).closest('.header-nav-wrapper').find('.sm_cart').length) {
2752            console.log("the click occured outside '#elem'");
2753          }  else{
2754             elem.css({'opacity': '0','display':'none'});
2755          } 
2756       
2757    });
2758	
2759	$(".search-box").click(function(){
2760    	$("#msrch").toggle();
2761		$(".logo-scroll-to-fixed-fixed").toggle();
2762  	});
2763});
2764    
2765   $(document).on('click', '.tabs.nav.nav-tabs li a', function(e) {
2766      $('.tabs.nav-tabs li').removeClass("activ");
2767      $(this).parent('li').addClass('activ');
2768      $('a[href="#booking-form"]').closest('li').removeClass('border-left');
2769   });
2770
2771   $(document).on('click', 'a[href="#register-form"]', function(e) {
2772      $('a[href="#booking-form"]').closest('li').removeClass('activ').addClass('border-left');
2773      $('a[href="#booking-form"]').removeClass('active');
2774      $('a[href="#register-form"]').removeClass('active');
2775   });
2776      
2777    function menuzord () {
2778        var $menuzord = $("#menuzord");
2779        if ($menuzord.length > 0) {
2780            $menuzord.menuzord({
2781                align: "left",
2782                effect: "slide",
2783                animation: "none",
2784                indicatorFirstLevel: "<i class='fa fa-angle-down'></i>",
2785                indicatorSecondLevel: "<i class='fa fa-angle-right'></i>"
2786            });
2787        }
2788
2789        var $menuzord_right = $("#menuzord-right");
2790        if ($menuzord_right.length > 0) {
2791            $menuzord_right.menuzord({
2792                align: "right",
2793                effect: "slide",
2794                animation: "none",
2795                indicatorFirstLevel: "<i class='fa fa-angle-down'></i>",
2796                indicatorSecondLevel: "<i class='fa fa-angle-right'></i>"
2797            });
2798        }
2799
2800        var $menuzord_side_panel = $("#menuzord-side-panel");
2801        if ($menuzord_side_panel.length > 0) {
2802            $menuzord_side_panel.menuzord({
2803                align: "right",
2804                effect: "slide",
2805                animation: "none",
2806                indicatorFirstLevel: "",
2807                indicatorSecondLevel: "<i class='fa fa-angle-right'></i>"
2808            });
2809        }
2810
2811        var $menuzord_vertical_nav = $("#menuzord-verticalnav");
2812        if ($menuzord_vertical_nav.length > 0) {
2813            $menuzord_vertical_nav.menuzord({
2814                align: "right",
2815                effect: "slide",
2816                animation: "none",
2817                indicatorFirstLevel: "<i class='fa fa-angle-down'></i>",
2818                indicatorSecondLevel: "<i class='fa fa-angle-right'></i>"
2819            });
2820        }
2821    }
2822
2823    function common() {
2824
2825        if($('.ps-single-no-search').length){
2826            $('.ps-single-no-search').select2({
2827                minimumResultsForSearch: -1,
2828                dropdownCssClass: "ps-dropdown-single"
2829            });
2830        }
2831
2832        if($('.ps-rating').length){    
2833            $('.ps-rating').each((index, value) => {
2834                var rate = $(value).attr('value');
2835                if ($(value).attr('value') === 0) {
2836                    rate = "0";
2837                }
2838                $(value).barrating({
2839                    theme: 'fontawesome-stars',
2840                    initialRating: rate,
2841                    readonly: 'true'
2842                });
2843            });
2844        }
2845
2846        $('.ps-rating--form').each((index, value) => {
2847            var rate = $(value).attr('data-value');
2848            if ($(value).attr('data-value') === 0) {
2849                rate = "0";
2850            }
2851            $(value).barrating({
2852                theme: 'fontawesome-stars',
2853                initialRating: rate
2854            });
2855        });
2856
2857        $('.ps-notify__close').on('click', function(event) {
2858            event.preventDefault();
2859            $('.ps-notify').hide();
2860        });
2861
2862        $(".ps-header__search .ps-input").on("change paste keyup", function () {
2863            if ($(this).val()) {
2864                $('.ps-search--result').addClass('active');
2865            } else {
2866                $('.ps-search--result').removeClass('active');
2867            }
2868        });
2869
2870        $('.ps-search--result').on('mouseleave', function (e) {
2871            $(this).removeClass('active');
2872        });
2873
2874        $('.open-search').on('click', function (event) {
2875            event.preventDefault();
2876            $('.ps-search').addClass('active');
2877        });
2878
2879        $('#close-search').on('click', function (event) {
2880            event.preventDefault();
2881            $('.ps-search').removeClass('active');
2882        });
2883
2884        $(".ps-search--mobile .ps-input").on("change paste keyup", function () {
2885            if ($(this).val()) {
2886                $('.ps-search--mobile .ps-search__result').addClass('active');
2887            } else {
2888                $('.ps-search--mobile .ps-search__result').removeClass('active');
2889            }
2890        });
2891
2892        $('.ps-section__toggle').on('click', function (event) {
2893            event.preventDefault();
2894            $('.ps-section--review-product .ps-form--review').slideToggle();
2895        });
2896
2897        $('.ps-block-control').on('click', function (event) {
2898            event.preventDefault();
2899            var parent = $(this).parent();
2900            parent.find('.ps-widget__content').slideToggle();
2901            $(this).toggleClass('active');
2902        });
2903
2904        if($('.js-example-basic-single').length){
2905            $('.js-example-basic-single').select2({
2906                dropdownCssClass: "ps-dropdown-input"
2907            });
2908        }
2909
2910        $('.toogle-password').on('click', function (event) {
2911            event.preventDefault();
2912            $(this).toggleClass('fa-eye');
2913            $(this).toggleClass('fa-eye-slash');
2914            var parent = $(this).parent().parent();
2915            var type = parent.find('input').attr('type') == 'password' ? 'text' : 'password';
2916            parent.find('input').attr('type', type);
2917        });
2918
2919        $('#create-account').on('click', function (event) {
2920            $('.ps-hidden[data-for="create-account"]').slideToggle();
2921        });
2922
2923        $('#ship-address').on('click', function (event) {
2924            $('.ps-hidden[data-for="ship-address"]').slideToggle();
2925        });
2926
2927        $('.shop-filter').on('click', function (event) {
2928            event.preventDefault();
2929            $(this).toggleClass('active');
2930            $('#filter-content').toggleClass('active');
2931        });
2932    }
2933
2934    function getTimeRemaining(endtime) {
2935        var t = Date.parse(endtime) - Date.parse(new Date());
2936        var seconds = Math.floor((t / 1000) % 60);
2937        var minutes = Math.floor((t / 1000 / 60) % 60);
2938        var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
2939        var days = Math.floor(t / (1000 * 60 * 60 * 24));
2940
2941        return {
2942            'total': t,
2943            'days': days,
2944            'hours': hours,
2945            'minutes': minutes,
2946            'seconds': seconds
2947        };
2948    }
2949
2950    function initializeClock(endtime) {
2951        var daysSpan =  $('.ps-countdown__days');
2952        var hoursSpan =  $('.ps-countdown__hours');
2953        var minutesSpan = $('.ps-countdown__minutes');
2954        var secondsSpan = $('.ps-countdown__seconds');
2955
2956        if (hoursSpan && minutesSpan && secondsSpan) {
2957            updateClock();
2958            var timeinterval = setInterval(updateClock, 1000);
2959        }
2960
2961        function updateClock() {
2962            var t = getTimeRemaining(endtime);
2963            
2964            var hoursText = ('0' + t.hours).slice(-2);
2965            var minutesText = ('0' + t.minutes).slice(-2);
2966            var secondsText = ('0' + t.seconds).slice(-2);
2967            var daysText = ('00' + t.days).slice(-3);
2968            
2969            daysSpan.each(function (index) {
2970                if (daysText >= 100) {
2971                    $(this).find('.first-1st').text(daysText.slice(0, 1));
2972                    $(this).find('.first-1st').css('display', 'inline-block');
2973                }
2974                $(this).find('.first').text(daysText.slice(1, 2));
2975                $(this).find('.last').text(daysText.slice(-1));
2976            });
2977
2978            hoursSpan.each(function (index) {
2979                $(this).find('.first').text(hoursText.slice(0, 1));
2980                $(this).find('.last').text(hoursText.slice(-1));
2981            });
2982
2983            minutesSpan.each(function (index) {
2984                $(this).find('.first').text(minutesText.slice(0, 1));
2985                $(this).find('.last').text(minutesText.slice(-1));
2986            });
2987
2988            secondsSpan.each(function (index) {
2989                $(this).find('.first').text(secondsText.slice(0, 1));
2990                $(this).find('.last').text(secondsText.slice(-1));
2991            });
2992
2993            if (t.total <= 0) {
2994                clearInterval(timeinterval);
2995            }
2996        }
2997    }
2998
2999    function countDown() {
3000        var deadline = new Date(Date.parse(new Date()) + 3000 * 60 * 60 * 1000);
3001        initializeClock(deadline);
3002    }
3003
3004    function stickyMenu() {
3005
3006        $(window).scroll(function (event) {
3007            var scroll = $(window).scrollTop();
3008            var innerWidth = $(window).innerWidth();
3009            if (scroll > 200 && innerWidth > 760) {
3010                $('.ps-header').addClass('ps-header--sticky');
3011            } else if (scroll > 700 && innerWidth < 760) {
3012                $('.ps-header').addClass('ps-header--sticky');
3013                $('.ps-search--result').removeClass('active');
3014            } else {
3015                $('.ps-header').removeClass('ps-header--sticky');
3016                $('.ps-navigation').css('display', '');
3017            }
3018
3019            if (scroll > 100) {
3020                $('.scroll-top').show();
3021            } else {
3022                $('.scroll-top').hide();
3023            }
3024        });
3025
3026        $('.ps-menu--sticky').on('click', function(event) {
3027            event.preventDefault();
3028            $('.ps-navigation').slideToggle();
3029        });
3030
3031        $('.scroll-top').on('click', function (e) {
3032            e.preventDefault();
3033            $('html,body').animate({ scrollTop: 0 }, 500);
3034        });
3035
3036    }
3037
3038    function smoothScrollingTo(target) {
3039        if (target) {
3040            $('html, body').animate({
3041                scrollTop: $(target).offset().top
3042            }, 500);
3043        }
3044    }
3045
3046    function subMenuToggle() {
3047        $('.menu--mobile .sub-toggle').on('click', function(e) {
3048            e.preventDefault();
3049            var current = $(this).parent();
3050            current.toggleClass('active');
3051        });
3052
3053        $('.mega-mobile .mega-mobile__heading a').on('click', function (e) {
3054            e.preventDefault();
3055            var current = $(this).closest('.mega-mobile');
3056            current.parent().toggleClass('active');
3057        });
3058
3059        $('#open-menu').on('click', function(e) {
3060            e.preventDefault();
3061            $('.ps-menu--slidebar').addClass('active');
3062            $(this).parent().addClass('active');
3063        });
3064
3065        $('#close-menu').on('click', function(e) {
3066            e.preventDefault();
3067            $('.ps-menu--slidebar').removeClass('active');
3068            $(this).parent().removeClass('active');
3069        });
3070
3071        // $('.ps-menu__sticky #menu-slide').on('click', function (e) {
3072        //     e.preventDefault();
3073        //     $('.ps-menu--slidebar').addClass('active');
3074        //     $('#open-menu').parent().addClass('active');
3075        // });
3076
3077        $('.menu-slide').on('click', function (e) {
3078            e.preventDefault();
3079            $('.ps-menu--slidebar').addClass('active');
3080            $('#open-menu').parent().addClass('active');
3081        });
3082
3083        $('#open-menu-top').on('click', function (e) {
3084            e.preventDefault();
3085            $('.ps-menu--slidebar').addClass('active');
3086            $(this).parent().addClass('active');
3087            $('.ps-header--mobile').addClass('slidebar-active');
3088        });
3089
3090        $('#close-menu-top').on('click', function (e) {
3091            e.preventDefault();
3092            $('.ps-menu--slidebar').removeClass('active');
3093            $(this).parent().removeClass('active');
3094            $('.ps-header--mobile').removeClass('slidebar-active');
3095        });
3096    }
3097
3098
3099    function slidePriceWidget() {
3100        var rangeSlider = document.getElementById('slide-price');
3101        if (rangeSlider) {
3102            var input0 = document.getElementById('slide-price-min');
3103            var input1 = document.getElementById('slide-price-max');
3104            var inputs = [input0, input1];
3105            noUiSlider.create(rangeSlider, {
3106                start: [0, 820],
3107                connect: true,
3108                step: 1,
3109                range: {
3110                    min: [1],
3111                    max: [1000]
3112                }
3113            });
3114
3115            rangeSlider.noUiSlider.on("update", function(values, handle) {
3116                inputs[handle].textContent  = '$' + values[handle];
3117            });
3118        }
3119    }
3120
3121    function lightgalleryVideos() {
3122        $('#ps-video-gallery').lightGallery();
3123    }
3124
3125    function backgroundImage() {
3126        var databackground = $('[data-background]');
3127        databackground.each(function () {
3128            if ($(this).attr('data-background')) {
3129                var image_path = $(this).attr('data-background');
3130                $(this).css({
3131                    backgroundImage: 'url(' + image_path + ')',
3132                });
3133            }
3134        });
3135    }
3136
3137    $(function() {
3138        common();
3139        countDown();
3140        stickyMenu();
3141        subMenuToggle();
3142    });
3143
3144   $(window).on('load', function() {
3145      $window.trigger("scroll");
3146      
3147      menuzord();
3148
3149      $('html, body').animate({
3150         scrollTop: 0
3151      }, 800);
3152      return false;
3153
3154      setTimeout(()=> {
3155         $('.ps-section--banner .ps-section__overlay').hide();
3156         //$('[data-toggle=tooltip]').tooltip();
3157      }, 2500);
3158   });
3159
3160   $window.on('scroll', function() {
3161      if ($window.scrollTop() > 600) {
3162         $('.scrollToTop').fadeIn();
3163         } else {
3164         $('.scrollToTop').fadeOut();
3165      } 
3166   });
3167
3168   $document_body.on('click', '.scrollToTop', function(e) {
3169       $('html, body').animate({
3170           scrollTop: 0
3171       }, 800);
3172       return false;
3173   });
3174
3175
3176
3177$('.hamburger-box').on('click', function(e) {
3178   //$icon.addClass("is-active");
3179   if($('#menuzord').find('#hamburger').hasClass( "is-active" )) 
3180   {
3181      $('#menuzord').find('#hamburger').removeClass("is-active");
3182   }
3183   else
3184   {
3185      $('#menuzord').find('#hamburger').addClass("is-active");
3186   }
3187   
3188   if($('#menu-side-panel').hasClass( "mm-menu_closed" )) 
3189   {
3190      $('#menu-side-panel').removeClass('mm-menu_closed');
3191   }
3192   else
3193   {
3194      $('#menu-side-panel').addClass('mm-menu_opened');
3195   }
3196   
3197   if($('.body-overlay').hasClass( "side-panel-open" )) 
3198   {
3199      $('.body-overlay').removeClass('side-panel-open');
3200   }
3201   else
3202   {
3203      $('.body-overlay').addClass('side-panel-open');
3204   }
3205});
3206
3207$('.has-side-panel .body-overlay').on('click', function(e) {
3208    $('#hamburger.mm-sticky').removeClass("is-active");
3209    $('.body-overlay').toggleClass('side-panel-open side-panel-close');
3210    $('body').removeClass('side-panel-open');
3211    $('body').addClass("mm-menu_closed");
3212    $('body').removeClass('mm-wrapper_blocking');
3213    $('#menu-side-panel').toggleClass('mm-menu_opened mm-menu_closed');
3214    $('#menu-side-panel').addClass('mm-menu_closed zxz');
3215    e.stopPropagation();
3216    return false;
3217});
3218
3219$('#hamburger.mm-sticky').on('click', function(e) {
3220    if ($('#menu-side-panel').hasClass('mm-menu_opened')) {
3221        $('#menu-side-panel').toggleClass('mm-menu_opened mm-menu_closed');
3222        $('.body-overlay').addClass('side-panel-open');
3223    } else {
3224        $('#menu-side-panel').toggleClass('mm-menu_closed mm-menu_opened');
3225        $('.body-overlay').toggleClass('side-panel-close side-panel-open');
3226    }
3227    e.stopPropagation();
3228});
3229
3230jQuery(function($) {
3231
3232     setTimeout(function() {
3233        if ($("#menu-side-panel").length)
3234        {
3235            var viewport = $(window).width();
3236            if (viewport <= 759) {
3237                var $breadcrumbs = '';
3238            } else {
3239                var $breadcrumbs = 'breadcrumbs';
3240            }
3241
3242            try 
3243            {
3244                var $menu = $("#menu-side-panel").mmenu({
3245                      setSelected: true,
3246                      navbars: [{
3247                          content: ['prev', $breadcrumbs, 'close']
3248                      }, {
3249                          position: 'bottom',
3250                          content: ["<span class='instagram'><a class='left-icon-menu fa fa-instagram fa-lg' target='_blank' href='https://www.instagram.com/atlanticoexcursiones/?hl=es'></a></span>", "<span class='facebook'><a class='left-icon-menu fa fa-facebook fa-lg' target='_blank' href='https://www.facebook.com/AtlanticoTF/'></a></span>", "<span class='tripadvisor'><a class='left-icon-menu fa fa-tripadvisor fa-lg' target='_blank' href='https://www.tripadvisor.es/Attraction_Review-g187479-d10199684-Reviews-Atlantico_Excursiones-Tenerife_Canary_Islands.html'></a></span>", "<span class='youtube'><a class='left-icon-menu fa fa-youtube-square fa-lg' target='_blank' href='https://www.youtube.com/channel/UC_2EnHoUaal7mTOC38S
3250Bxig/videos'></a></span>"]
3251                      }],
3252                      extensions: {
3253                          all: ["theme-white", "pagedim-black"],
3254                          "(max-width: 767px)": ["fx-menu-slide"]
3255                      }
3256                }); 
3257            } catch(e) {}
3258
3259            var $icon = $("#hamburger");
3260            var API = $menu.data("mmenu");
3261            $($menu).removeClass('hidden');
3262
3263            setTimeout(function() {
3264                $('#menu-side-panel').find('.mm-navbars_top').addClass('addShadow');
3265            }, 500);
3266
3267            $icon.on("click", function() {
3268                //console.log('click');
3269                //API.open();
3270            });
3271
3272           /* API.bind("open:finish", function() {
3273                $icon.addClass("is-active");
3274                $('#menuzord').find('#hamburger').addClass("is-active");
3275                 $('#menu-side-panel').removeClass('mm-menu_closed').addClass('mm-menu_opened');
3276                //$('.body-overlay').addClass('side-panel-open');
3277
3278            });
3279
3280            API.bind("close:finish", function() {
3281                setTimeout(function() {
3282                    $icon.removeClass("is-active");
3283                    $('#menuzord').find('#hamburger').removeClass("is-active");
3284                    $('#menu-side-panel').removeClass('mm-menu_opened').addClass('mm-menu_closed');
3285                    $('.body-overlay').removeClass('side-panel-open');
3286                }, 100);
3287            });*/
3288
3289            $('[id*="info_"]').on('show.bs.collapse', function(e) {
3290                $(this).closest('li').find('.icon').removeClass('hicon-uniE071').addClass('hicon-uniE070');
3291                if (!$(e.target).is('.collapse.in')) {
3292                    $('.collapse').collapse('hide');
3293                }
3294            });
3295
3296            $('[id*="info_"]').on('hidden.bs.collapse', function() {
3297                $(this).closest('li').find('.icon').removeClass('hicon-uniE070').addClass('hicon-uniE071');
3298            });
3299
3300            $('.mm-btn.mm-btn_prev.mm-navbar__btn').on('click', function(e) {
3301                $(this).closest('.mm-panel_opened').find('.mm-listview').each(function(index, el) {
3302                    $(this).find('li').find('.collapse').collapse('hide');
3303                });
3304            });
3305        }
3306    },500);
3307
3308    $.fn.showFirst = function(options) {
3309        var $group = $(this);
3310        var showFirst = new ShowFirst($group, options);
3311        showFirst.init();
3312        return showFirst;
3313    };
3314
3315    var defaults = {
3316        controlTemplate: '<li><a href="#" class="show-first-control">ver más</a></li>',
3317        count: 10,
3318        hasControl: true
3319    };
3320
3321    function ShowFirst($group, options) {
3322        // Handle arguments.
3323        this.$group = $group;
3324        this.settings = $.extend( {}, defaults, options );
3325
3326        // Set other properties.
3327        this.$items = this.$group.children();
3328        this.hasSurplus = this.$items.length > this.settings.count;
3329
3330        if (this.hasSurplus) {
3331          this.indexStartOfRest = this.settings.count;
3332          this.$itemsFirst = this.$items.slice(0, this.indexStartOfRest);
3333          this.$itemsRest = this.$items.slice(this.indexStartOfRest);
3334        }
3335    }
3336
3337    ShowFirst.prototype.init = function() {
3338        if (this.hasSurplus) {
3339          this.$itemsRest.hide();
3340
3341          if (this.settings.hasControl) {
3342            this.addControl();
3343          }
3344        }
3345    };
3346
3347    ShowFirst.prototype.addControl = function() {
3348        // Replace tokens in control template.
3349        var tokens = [
3350          {pattern: new RegExp("\\[TOTAL_COUNT\\]", "g"), value: this.$items.length},
3351          {pattern: new RegExp("\\[FIRST_COUNT\\]", "g"), value: this.$itemsFirst.length},
3352          {pattern: new RegExp("\\[REST_COUNT\\]", "g"), value: this.$itemsRest.length}
3353        ];
3354        this.controlWithValues = this.settings.controlTemplate;
3355        for (var i = 0; i < tokens.length; i++) {
3356          this.controlWithValues = this.controlWithValues.replace(tokens[i].pattern, tokens[i].value);
3357        }
3358
3359        // Insert control.
3360        this.$controlHtml = $(this.controlWithValues);
3361        this.$itemsFirst.last().after(this.$controlHtml);
3362
3363        // Customize control behavior.
3364        $(".show-first-control", this.$controlHtml).click($.proxy(function(event) {
3365          event.preventDefault();
3366          this.$controlHtml.toggle();
3367          this.$itemsRest.toggle();
3368        }, this));
3369    };
3370
3371    // Automatically create Show First elements based on class and data attributes.
3372    $(".show-first").each(function() {
3373        var $group = $(this);
3374        var options = {};
3375        options.controlTemplate = $group.data("show-first-control-template");
3376        options.count = $group.data("show-first-count");
3377        options.hasControl = $group.data("show-first-has-control");
3378        $group.showFirst(options);
3379    });
3380});
3381
3382
3383         
3384         function tourSearch(afId) {
3385            var name = $("#tsearch").val();
3386			var mode ='list_grid';
3387           	var cats = []; var pinteres = [];  var carctrstcs = []; var zonas = [];
3388			try {
3389			mode =  (document.getElementById('list_grid').style.display == 'none'?'grid_grid':'list_grid');
3390			} catch(error) {}
3391			
3392            $("[name='pinteres']:checked").each(function(index, elem) {
3393               pinteres.push($(elem).val());
3394            }); 
3395            $("[name='categorias']:checked").each(function(index, elem) {
3396               cats.push($(elem).val());
3397            }); 
3398            $("[name='carcteristics']:checked").each(function(index, elem) {
3399               carctrstcs.push($(elem).val());
3400            });   
3401			$("[name='salidas']:checked").each(function(index, elem) {
3402               zonas.push($(elem).val());
3403            });        
3404
3405			
3406            if(name.length>2) {
3407
3408               var data = {
3409                "srch": name,
3410               	"category": cats.join(','),
3411         		"pinteres": pinteres.join(','),
3412         		"crctstcs": carctrstcs.join(','),
3413               	"zonas": zonas.join(','),
3414				"typeList": mode,
3415				"afId": afId
3416               };
3417			   
3418               //console.log(data);
3419               $.ajax({
3420                  type: "POST",
3421                  url: "actividades-list.php",
3422                  data: data,
3423                  processData: true,
3424                  cache: false,
3425                  async: false,
3426                  	success: function(data) {
3427						$('head').append('<link rel="stylesheet" type="text/css" href="/assets/css/categories_page.css">');
3428                        $('#results').html('<div id="list_grid" class="ps-shop__content" style="display:block;">'+data+'</div>').addClass('is-render');
3429               		}
3430               });   
3431            }
3432         }
3433
3434
3435	function loadEpCalendar(idExc, lang) {
3436		$('#ep_fecha').toggle();
3437		$('#ep_pax').hide();
3438	}
3439	
3440	function loadEpPax(idExc) {
3441		$('#ep_pax').toggle();		
3442	}
3443	
3444	function checkPax(idExc, adults, children, infants) {
3445		$('#adults_'+idExc+' option').each(function() {
3446			$(this).remove();
3447		});
3448	
3449		$('#children_'+idExc+' option').each(function() {
3450			$(this).remove();
3451		});		
3452			
3453		$('#infants_'+idExc+' option').each(function() {
3454			$(this).remove();
3455		});	
3456		for(var o=0;o<=dftlimits && o<40;o++) {
3457			$("#adults_"+idExc).append(new Option(o, o));		
3458			$("#children_"+idExc).append(new Option(o, o));		
3459			$("#infants_"+idExc).append(new Option(o, o));		
3460		}
3461		
3462		if((adults+children+infants)>dftlimits) {
3463			$('alerta'+idExc).html('Quedan solo <b>'+dftlimits+'</b> plazas disponibles para este dia.');
3464			$('alerta'+idExc).show();
3465			$('#editEpButton').prop('disabled', true);	
3466			$('#editEpButton').css("background-color", "rgb(196, 224, 236)");
3467		} else {
3468			$('#alerta'+idExc).hide();
3469			$("#adults_"+idExc +" option[value='"+adults+"']").attr("selected", true);
3470			$("#children_"+idExc +" option[value='"+children+"']").attr("selected", true);
3471			$("#infants_"+idExc +" option[value='"+infants+"']").attr("selected", true);	
3472			$('#editEpButton').prop('disabled', false);	
3473			$('#editEpButton').css("background-color", "var(--blue-color);");
3474		}
3475	}
3476	
3477function changeEpPax(idExc) {
3478	var adlts=($("#adults_"+idExc).val()*1);
3479    var chlds=($("#children_"+idExc).val()*1);
3480    var infnts=($("#infants_"+idExc).val()*1);
3481	var pax=((adlts*1)+(chlds*1)+(infnts*1));
3482
3483	if(pax>dftlimits) {
3484		$('#alerta'+idExc).html('Quedan solo <b>'+dftlimits+'</b> plazas disponibles para este dia.');
3485		$('#alerta'+idExc).show();
3486		$('#editEpButton').prop('disabled', true);	
3487		$('#editEpButton').css("background-color", "rgb(196, 224, 236)");
3488		
3489	} else {
3490		$('#alerta'+idExc).hide();
3491		$('#editEpButton').prop('disabled', false);	
3492		$('#editEpButton').css("background-color", "var(--blue-color);");
3493	}
3494	
3495	var aprc=($('#PVPA_'+idExc).val()*adlts);
3496	var cprc=($('#PVPC_'+idExc).val()*chlds);
3497	var iprc=($('#PVPO_'+idExc).val()*infnts);
3498	var tprc=Number(aprc+cprc+iprc);
3499	$("#epPricehtml").html('<b>'+tprc.toFixed(2)+' €</b>');
3500
3501}
3502	
3503function saveModification(itemId, idNum) {
3504    
3505	var adlt = ($("#adults_" + idNum).val() * 1);
3506    var chld = ($('#children_' + idNum).val() * 1);
3507    var babes = ($("#infants_" + idNum).val() * 1);
3508	var pvpa = Number($("#PVPA_" + itemId).val() * 1);
3509    var pvpc = Number($("#PVPC_" + itemId).val() * 1);
3510    var pvpo = Number($("#PVPO_" + itemId).val() * 1);
3511    var pvp = (adlt * pvpa) + (chld * pvpc) + (babes * pvpo);
3512    var num = Number(pvp);
3513  
3514 	$("#price" + itemId).html(num.toFixed(2) + " €");
3515	$("#adults_" + itemId).val(adlt);
3516	$("#children_" + itemId).val(chld);
3517	$("#infants_" + itemId).val(babes);
3518
3519	$("#adlts" + itemId).html(adlt);
3520	$("#chld" + itemId).html(chld);
3521	$("#infnt" + itemId).html(babes);
3522	
3523	$("#data" + itemId).html($('#ep_fecha_ttl').html());
3524	var fecha=$('#ep_fecha_ttl').html();
3525	var datas=fecha.split("/");
3526	$("#FECHA" + itemId).val(datas[2]+"-"+datas[1]+"-"+datas[0]);
3527    $('#payDate'+itemId).html(fecha);
3528    $('#payPax'+itemId).html("<b>"+(adlt + chld + babes)+"</b> Pax");
3529    $('#payPrice'+itemId).html("<b>"+num.toFixed(2)+" €</b>");
3530
3531	$.post('inc/editProduct.php?prId=' + itemId + "&adults=" + adlt + "&children=" + chld + "&infants=" + babes+ "&fecha=" + $('#ep_fecha_ttl').html(), function(data) {
3532		var datos = data.split("|");
3533//		$("#pvphtml").html("<b>" + datos[0] + "</b>");
3534		$("#pricehtml").html("<span class='amount text-right width-100 font-25'><b>" + datos[1] + "</b></span>");
3535        $("#pricehtml2").html('<span class="amount text-right width-100 font-25"><b>'+ datos[1] +'</b></span>');
3536		
3537		$("#resDate"+ itemId).html('<span class="material-icons calendar_month"></span><br>'+$('#ep_fecha_ttl').html());
3538		$("#resPax"+ itemId).html('<span class="material-icons person"></span><br>'+(adlt + chld + babes)+" Pax");
3539		$("#resPrice"+ itemId).html('<span class="material-icons confirma_number"></span><br>'+num.toFixed(2) + " €");		
3540		
3541	});	
3542	closeModal();
3543}
3544
3545const btnToolbar=() => {
3546   $('div.evt-item.add-share').on({
3547       mouseenter: function () {
3548      
3549         $(this).find('.tool-items.toolbar-icons').addClass('show');
3550         $(this).find('.arrow').addClass('show');
3551       },
3552       mouseleave: function () {
3553          $(this).find('.tool-items.toolbar-icons').removeClass('show');
3554          $(this).find('.arrow').removeClass('show');
3555       }
3556   });
3557};
3558
3559function openChat() {
3560	var win = window.open('https://wa.me/+34628567336', '_blank');
3561	if (win) {
3562		//Browser has allowed it to be opened
3563		win.focus();
3564	} else {
3565		//Browser has blocked it
3566		alert('Please allow popups for this website');
3567	}		
3568}

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.