PageSourceSearch

https://www.patraix.org/wp-content/plugins/ginger/front/js/cookies-enabler.min.js?ver=7.1.2

js patraix.org collected 2026-10-02 13:38:21 UTC 8,740 bytes, 180 lines download raw bytes

1 function strpos(e, n, t) {
2    var s = (e + "").indexOf(n, t || 0);
3    return -1 === s ? !1 : s
4}
5
6window.COOKIES_ENABLER = window.COOKIES_ENABLER || function () {
7    "use strict";
8
9    function e() {
10        var e, n;
11        for (e = 1; e < arguments.length; e++) for (n in arguments[e]) arguments[e].hasOwnProperty(n) && (arguments[0][n] = arguments[e][n]);
12        return arguments[0]
13    }
14
15    function n(e, n, t) {
16        var s;
17        return function () {
18            var a = this, i = arguments, r = function () {
19                s = null, t || e.apply(a, i)
20            }, o = t && !s;
21            clearTimeout(s), s = setTimeout(r, n), o && e.apply(a, i)
22        }
23    }
24
25    function t(e, n) {
26        do if (s(e, n)) return e; while (e = e.parentNode);
27        return null
28    }
29
30    function s(e, n) {
31        return (" " + e.className + " ").indexOf(" " + n + " ") > -1
32    }
33
34    var a, i, r, o = {
35        scriptClass: "ce-script",
36        iframeClass: "ce-iframe",
37        acceptClass: "ce-accept",
38        disableClass: "ce-disable",
39        dismissClass: "ce-dismiss",
40        bannerClass: "ce-banner",
41        bannerHTML: null !== document.getElementById("ce-banner-html") ? document.getElementById("ce-banner-html").innerHTML : '<p>This website uses cookies. <a href="#" class="ce-accept">Enable Cookies</a></p>',
42        eventScroll: !1,
43        scrollOffset: 200,
44        clickOutside: !1,
45        cookieName: "ce-cookie",
46        cookieDuration: "365",
47        forceBannerClass: "ginger-banner bottom dialog dark force",
48        forceEnable: !1,
49        forceEnableText: '<div class="ginger-button-wrapper"><div class="ginger-button"><a href="#" class="ginger-accept">Enable Cookie</a></div></div>',
50        iframesPlaceholder: !0,
51        iframesPlaceholderHTML: null !== document.getElementById("ce-iframePlaceholder-html") ? document.getElementById("ce-iframePlaceholder-html").innerHTML : '<p>To view this content you need to<a href="#" class="ce-accept">Enable Cookies</a></p>',
52        iframesPlaceholderClass: "ce-iframe-placeholder",
53        onEnable: "",
54        onDismiss: "",
55        onDisable: "",
56        forceReload: !1
57    }, c = function () {
58        Math.abs(window.pageYOffset - r) > a.scrollOffset && "N" != g.get() && u()
59    }, l = function () {
60        i = {
61            accept: document.getElementsByClassName(a.acceptClass),
62            disable: document.getElementsByClassName(a.disableClass),
63            banner: document.getElementsByClassName(a.bannerClass),
64            bannerForce: document.getElementsByClassName(a.forceBannerClass),
65            dismiss: document.getElementsByClassName(a.dismissClass)
66        };
67        var e, n = i.accept, s = n.length, o = i.disable, l = o.length, d = i.dismiss, p = d.length;
68        for (a.eventScroll && window.addEventListener("load", function () {
69            r = window.pageYOffset, window.addEventListener("scroll", c)
70        }), a.clickOutside && document.addEventListener("click", function (e) {
71            var n = e.target;
72            return t(n, a.iframesPlaceholderClass) || t(n, a.disableClass) || t(n, a.bannerClass) || t(n, a.dismissClass) || t(n, a.disableClass) ? !1 : void("N" != g.get() && u())
73        }), e = 0; s > e; e++) n[e].addEventListener("click", function (e) {
74            e.preventDefault(), u(e)
75        });
76        for (e = 0; l > e; e++) o[e].addEventListener("click", function (e) {
77            e.preventDefault(), f(e)
78        });
79        for (e = 0; p > e; e++) d[e].addEventListener("click", function (e) {
80            e.preventDefault(), m.dismiss()
81        })
82    }, d = function (n) {
83        if (a = e({}, o, n), "Y" == g.get()) "function" == typeof a.onEnable && a.onEnable(), y.get_async(), b.get(), p.get(); else if ("N" == g.get()) {
84            var t = document.getElementById("disqus_thread");
85            null != t && (t.style.display = "none"), 0 != a.forceEnable && m.forceAccept(), "function" == typeof a.onDisable && a.onDisable(), p.hide(), l()
86        } else {
87            var t = document.getElementById("disqus_thread");
88            null != t && (t.style.display = "none"), m.create(), p.hide(), l()
89        }
90    }, u = n(function (e) {
91        if ("undefined" != typeof e && "click" === e.type && e.preventDefault(), "Y" != g.get()) {
92            y.get_async(), g.set(), b.get(), p.get(), p.removePlaceholders(), m.dismiss();
93            var n = document.getElementById("disqus_thread");
94            null != n && (n.style.display = "block"), window.removeEventListener("scroll", c), "function" == typeof a.onEnable && a.onEnable(), 1 == a.forceReload && location.reload()
95        }
96    }, 250, !1), f = function (e) {
97        "undefined" != typeof e && "click" === e.type && e.preventDefault(), "N" != g.get() && (g.
97set("N"), m.dismiss(), window.removeEventListener("scroll", c), "function" == typeof a.onDisable && a.onDisable())
98    }, m = function () {
99        function e() {
100            var e = '<div class="' + a.bannerClass + '">' + a.bannerHTML + "</div>";
101            document.body.insertAdjacentHTML("beforeend", e)
102        }
103
104        function n() {
105            var e = '<div class="' + a.forceBannerClass + '">' + a.forceEnableText + "</div>";
106            document.body.insertAdjacentHTML("beforeend", e)
107        }
108
109        function t() {
110            i.bannerForce[0] && (i.bannerForce[0].style.display = "none"), i.banner[0] && (i.banner[0].style.display = "none"), "function" == typeof a.onDismiss && a.onDismiss()
111        }
112
113        return {create: e, dismiss: t, forceAccept: n}
114    }(), g = function () {
115        function e(e) {
116            var n, t, s = "undefined" != typeof e ? e : "Y";
117            a.cookieDuration ? (n = new Date, n.setTime(n.getTime() + 24 * a.cookieDuration * 60 * 60 * 1e3), t = "; expires=" + n.toGMTString()) : t = "", document.cookie = a.cookieName + "=" + s + t + "; path=/";
118            var i = "undefined" != typeof ginger_logger ? ginger_logger : "N";
119            "Y" == i && gingerAjaxLogTime(s)
120        }
121
122        function n() {
123            var e, n, t, s = document.cookie.split(";"), i = s.length;
124            for (e = 0; i > e; e++) if (n = s[e].substr(0, s[e].indexOf("=")), t = s[e].substr(s[e].indexOf("=") + 1), n = n.replace(/^\s+|\s+$/g, ""), n == a.cookieName) return unescape(t)
125        }
126
127        return {set: e, get: n}
128    }(), p = function () {
129        function e(e) {
130            var n = document.createElement("div");
131            n.className = a.iframesPlaceholderClass, n.innerHTML = a.iframesPlaceholderHTML, e.parentNode.insertBefore(n, e)
132        }
133
134        function n() {
135            var e, n = document.getElementsByClassName(a.iframesPlaceholderClass), t = n.length;
136            for (e = t - 1; e >= 0; e--) n[e].remove()
137        }
138
139        function t() {
140            var n, t, s = document.getElementsByClassName(a.iframeClass), i = s.length;
141            for (t = 0; i > t; t++) n = s[t], n.style.display = "none", a.iframesPlaceholder && e(n)
142        }
143
144        function s() {
145            var e, n, t, s = document.getElementsByClassName(a.iframeClass), i = s.length;
146            for (t = 0; i > t; t++) n = s[t], e = n.attributes["data-ce-src"].value, n.src = e, n.style.display = "block"
147        }
148
149        return {hide: t, get: s, removePlaceholders: n}
150    }(), b = function () {
151        function e() {
152            var e, n, t, s, i = document.getElementsByClassName(a.scriptClass), r = i.length,
153                o = document.createDocumentFragment();
154            for (e = 0; r > e; e++) if (i[e].hasAttribute("data-ce-src")) "undefined" == typeof postscribe && postscribe(i[e].parentNode, '<script src="' + i[e].getAttribute("data-ce-src") + '"></script>'); else {
155                for (t = document.createElement("script"), t.type = "text/javascript", n = 0; n < i[e].attributes.length; n++) s = i[e].attributes[n], s.specified && "type" != s.name && "class" != s.name && t.setAttribute(s.name, s.value);
156                t.innerHTML = i[e].innerHTML, o.appendChild(t)
157            }
158            document.body.appendChild(o)
159        }
160
161        function n() {
162            "undefined" != typeof async_ginger_script
163        }
164
165        return {get: e, get_async: n}
166    }(), y = function () {
167        function e() {
168            if ("undefined" != typeof async_ginger_script) {
169                var e, n = async_ginger_script;
170                for (e = 0; e < n.length; ++e) {
171                    var t = document.createElement("script");
172                    t.type = "text/javascript", t.src = n[e], document.getElementsByTagName("head")[0].appendChild(t)
173                }
174            }
175        }
176
177        return {get_async: e}
178    }();
179    return {init: d, enableCookies: u, dismissBanner: m.dismiss}
180}();

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.