PageSourceSearch

https://www.immenreuth.de/wp-content/themes/ragnarok/assets/scripts//cookiechoices.js?ver=2.1.0

js immenreuth.de collected 2026-10-02 18:04:00 UTC 6,192 bytes, 171 lines download raw bytes

1/*
2 Copyright 2014 Google Inc. All rights reserved.
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 */
16
17(function(window) {
18
19  if (!!window.cookieChoices) {
20    return window.cookieChoices;
21  }
22
23  var document = window.document;
24  // IE8 does not support textContent, so we should fallback to innerText.
25  var supportsTextContent = 'textContent' in document.body;
26
27  var cookieChoices = (function() {
28
29    var cookieName = 'displayCookieConsent';
30    var cookieConsentId = 'cookieChoiceInfo';
31    var dismissLinkId = 'cookieChoiceDismiss';
32
33    function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
34      var butterBarStyles = 'position:fixed;width:100%;background-color:#eee;' +
35          'margin:0;left:0;bottom:0;padding:4px;z-index:1000;text-align:center;';
36
37      var cookieConsentElement = document.createElement('div');
38      cookieConsentElement.id = cookieConsentId;
39      cookieConsentElement.style.cssText = butterBarStyles;
40      cookieConsentElement.appendChild(_createConsentText(cookieText));
41
42      if (!!linkText && !!linkHref) {
43        cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
44      }
45      cookieConsentElement.appendChild(_createDismissLink(dismissText));
46      return cookieConsentElement;
47    }
48
49    function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
50      var glassStyle = 'position:fixed;width:100%;height:100%;z-index:999;' +
51          'top:0;left:0;opacity:0.5;filter:alpha(opacity=50);' +
52          'background-color:#ccc;';
53      var dialogStyle = 'z-index:1000;position:fixed;left:50%;top:50%';
54      var contentStyle = 'position:relative;left:-50%;margin-top:-25%;' +
55          'background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;';
56
57      var cookieConsentElement = document.createElement('div');
58      cookieConsentElement.id = cookieConsentId;
59
60      var glassPanel = document.createElement('div');
61      glassPanel.style.cssText = glassStyle;
62
63      var content = document.createElement('div');
64      content.style.cssText = contentStyle;
65
66      var dialog = document.createElement('div');
67      dialog.style.cssText = dialogStyle;
68
69      var dismissLink = _createDismissLink(dismissText);
70      dismissLink.style.display = 'block';
71      dismissLink.style.textAlign = 'right';
72      dismissLink.style.marginTop = '8px';
73
74      content.appendChild(_createConsentText(cookieText));
75      if (!!linkText && !!linkHref) {
76        content.appendChild(_createInformationLink(linkText, linkHref));
77      }
78      content.appendChild(dismissLink);
79      dialog.appendChild(content);
80      cookieConsentElement.appendChild(glassPanel);
81      cookieConsentElement.appendChild(dialog);
82      return cookieConsentElement;
83    }
84
85    function _setElementText(element, text) {
86      if (supportsTextContent) {
87        element.textContent = text;
88      } else {
89        element.innerText = text;
90      }
91    }
92
93    function _createConsentText(cookieText) {
94      var consentText = document.createElement('span');
95      _setElementText(consentText, cookieText);
96      return consentText;
97    }
98
99    function _createDismissLink(dismissText) {
100      var dismissLink = document.createElement('a');
101      _setElementText(dismissLink, dismissText);
102      dismissLink.id = dismissLinkId;
103      dismissLink.href = '#';
104      dismissLink.style.marginLeft = '24px';
105      return dismissLink;
106    }
107
108    function _createInformationLink(linkText, linkHref) {
109      var infoLink = document.createElement('a');
110      _setElementText(infoLink, linkText);
111      infoLink.href = linkHref;
112      infoLink.target = '_blank';
113      infoLink.style.marginLeft = '8px';
114      return infoLink;
115    }
116
117    function _dismissLinkClick() {
118      _saveUserPreference();
119      _removeCookieConsent();
120      return false;
121    }
122
123    function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
124      if (_shouldDisplayConsent()) {
125        _removeCookieConsent();
126        var consentElement = (isDialog) ?
127            _createDialogElement(cookieText, dismissText, linkText, linkHref) :
128            _createHeaderElement(cookieText, dismissText, linkText, linkHref);
129        var fragment = document.createDocumentFragment();
130        fragment.appendChild(consentElement);
131        document.body.appendChild(fragment.cloneNode(true));
132        document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
133      }
134    }
135
136    function showCookieConsentBar(cookieText, dismissText, linkText, linkHref) {
137      _showCookieConsent(cookieText, dismissText, linkText, linkHref, false);
138    }
139
140    function showCookieConsentDialog(cookieText, dismissText, linkText, linkHref) {
141      _showCookieConsent(cookieText, dismissText, linkText, linkHref, true);
142    }
143
144    function _removeCookieConsent() {
145      var cookieChoiceElement = document.getElementById(cookieConsentId);
146      if (cookieChoiceElement != null) {
147        cookieChoiceElement.parentNode.removeChild(cookieChoiceElement);
148      }
149    }
150
151	function _saveUserPreference() {
152	    // Set the cookie expiry to one year after today.
153	    var expiryDate = new Date();
154	    expiryDate.setFullYear(expiryDate.getFullYear() + 1);
155	    document.cookie = cookieName + '=y; path=/; expires=' + expiryDate.toGMTString();
156	}
157
158    function _shouldDisplayConsent() {
159      // Display the header only if the cookie has not been set.
160      return !document.cookie.match(new RegExp(cookieName + '=([^;]+)'));
161    }
162
163    var exports = {};
164    exports.showCookieConsentBar = showCookieConsentBar;
165    exports.showCookieConsentDialog = showCookieConsentDialog;
166    return exports;
167  })();
168
169  window.cookieChoices = cookieChoices;
170  return cookieChoices;
171})(this);

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.