PageSourceSearch

https://mediq.de/-/media/Base-Themes/XA-API/Scripts/xa.js

js mediq.de collected 2026-09-24 12:37:56 UTC 4,201 bytes, 109 lines download raw bytes

1var XA = XA || (function ($, document) {
2    var api = {}, onPreInitHandlers, onPostInitHandlers, modules = {};
3    onPreInitHandlers = new Array();
4    onPostInitHandlers = new Array();
5    api.register = function (name, api, init) {
6        modules[name] = {
7            name: name,
8            api: api,
9            init: init || api.init || (function () { })
10        };
11    };
12    api.hasPageModes = function () { return !!(window.Sitecore && window.Sitecore.PageModes); };
13    api.registerOnPreInitHandler = function (handler) { onPreInitHandlers.push(handler); };
14    api.registerOnPostInitHandler = function (handler) { onPostInitHandlers.push(handler); };
15    var initScheduled = false;
16    api.init = function () {
17        if (!initScheduled) {
18            initScheduled = true;
19            XA.ready(function () {
20                try {
21                    for (var name in modules)
22                        if (modules.hasOwnProperty(name)) {
23                            $xa.each(onPreInitHandlers, function (i, h) { h.process(name, modules[name]); });
24                            modules[name].init();
25                            $xa.each(onPostInitHandlers, function (i, h) { h.process(name, modules[name]); });
26                        }
27                }
28                finally {
29                    initScheduled = false;
30                }
31            });
32        }
33    };
34    api.ready = function (fn) {
35        $(document).ready(fn);
36    };
37    api.component = {};
38    api.connector = {};
39    api.cookies = {
40        createCookie: function (name, value, days) {
41            if (days) {
42                var date = new Date();
43                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
44                var expires = "; expires=" + date.toUTCString();
45            }
46            else {
47                expires = "";
48            }
49            document.cookie = name + "=" + value + expires + "; path=/";
50        },
51        readCookie: function (name) {
52            var nameEQ = name + "=";
53            var ca = document.cookie.split(';');
54            for (var i = 0; i < ca.length; i++) {
55                var c = ca[i];
56                while (c.charAt(0) == ' ') {
57                    c = c.substring(1, c.length);
58                }
59                if (c.indexOf(nameEQ) == 0) {
60                    return c.substring(nameEQ.length, c.length);
61                }
62            }
63            return null;
64        },
65        removeCookieWarning: function () {
66            var cookieWarning = $xa(".privacy-warning");
67            cookieWarning.remove();
68        }
69    };
70    api.queryString = {
71        getQueryParam: function (variable) {
72            if (variable != null) {
73                variable = variable.toLocaleLowerCase();
74            }
75            var query = window.location.search.substring(1);
76            var vars = query.split("&");
77            for (var i = 0; i < vars.length; i++) {
78                var pair = vars[i].split("=");
79                if (decodeURIComponent(pair[0].toLocaleLowerCase()) === variable) {
80                    return decodeURIComponent(pair[1]);
81                }
82            }
83            return null;
84        }
85    };
86    var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
87    var eventListenerSupported = window.addEventListener;
88    api.dom = {
89        observeDOM: function (obj, callback) {
90            if (MutationObserver) {
91                var obs = new MutationObserver(function (mutations) {
92                    if (mutations[0].addedNodes.length || mutations[0].removedNodes.length)
93                        callback();
94                });
95                var options = {
96                    childList: true,
97                    subtree: true
98                };
99                obs.observe(obj, options);
100            }
101            else if (eventListenerSupported) {
102                obj.addEventListener('DOMNodeInserted', callback, false);
103                obj.addEventListener('DOMNodeRemoved', callback, false);
104            }
105        }
106    };
107    return api;
108})($, document);
109XA.init();

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.