1 2document.addEventListener("DOMContentLoaded", function() { 3 4 let changeAria = function (){ 5 let cookieSettingsLink = document.querySelectorAll('a[href="#ekdcm_showBanner"]'); 6 for (let i = 0, l = cookieSettingsLink.length; i < l; i++) { 7 cookieSettingsLink[i].setAttribute('aria-expanded', 'false'); 8 } 9 } 10 11 if (!document.getElementById('tx-ekd-consentmanager')) { 12 13 const blocked = document.querySelectorAll('.ekdps_blocked'); 14 for (var i = 0, l = blocked.length; i < l; i++) { 15 const be = blocked[i]; 16 if (be.querySelector('button[data-for]')) { 17 be.querySelector('button[data-for]').addEventListener('click', function (ev) { 18 ev.stopPropagation(); 19 ev.preventDefault(); 20 ekdcm_enableByContentId(this.dataset.for) 21 }); 22 } 23 if (be.querySelector('button[data-release]')) { 24 be.querySelector('button[data-release]').addEventListener('click', function (ev) { 25 ev.stopPropagation(); 26 ev.preventDefault(); 27 28 let releaseToggle = document.getElementById(this.dataset.release); 29 if (releaseToggle) { 30 releaseToggle.checked = true; 31 document.getElementById('tx-ekd-consentmanager-confirm').click(); 32 } 33 }); 34 } 35 } 36 37 38 39 ajax({ 40 url: '/index.php?type=99199', 41 method: 'GET', 42 }).then(function (data) { 43 44 var parser = new DOMParser(); 45 var doc = parser.parseFromString('<doc>'+data+'</doc>', "text/html"); 46 var part = doc.querySelector('doc').firstElementChild; 47 48 document.body.insertBefore(part,document.body.firstElementChild); 49 50 /* 51 52 Click on 'accept all' triggers the click on all checkboxed in the accept list 53 54 */ 55 56 document.getElementById('tx-ekd-consentmanager-accept').addEventListener('click', function (ev) { 57 ev.stopPropagation(); 58 ev.preventDefault(); 59 const checks = document.querySelectorAll('#tx-ekd-consentmanager input[type="checkbox"]'); 60 for (let i = 0, l = checks.length; i < l; i++) { 61 checks[i].checked = true; 62 } 63 document.getElementById('tx-ekd-consentmanager-confirm').click(); 64 }); 65 66 /* 67 68 this opens the detailed list of options 69 70 */ 71 72 document.getElementById('tx-ekd-consentmanager-full').addEventListener('click', function (ev) { 73 ev.stopPropagation(); 74 ev.preventDefault(); 75 document.getElementById('tx-ekd-consentmanager').classList.add('full'); 76 }); 77 78 79 /* 80 81 this opens the detailed list of options 82 83 */ 84 85 document.getElementById('tx-ekd-consentmanager-full-link').addEventListener('click', function (ev) { 86 ev.stopPropagation(); 87 ev.preventDefault(); 88 document.getElementById('tx-ekd-consentmanager').classList.add('full'); 89 }); 90 91 /* 92 93 this disabled all options and closes the window 94 95 */ 96 97 document.getElementById('tx-ekd-consentmanager-deny').addEventListener('click', function (ev) { 98 ev.stopPropagation(); 99 ev.preventDefault(); 100 const checks = document.querySelectorAll('#tx-ekd-consentmanager input[type="checkbox"]'); 101 for (let i = 0, l = checks.length; i < l; i++) { 102 checks[i].checked = false; 103 } 104 document.getElementById('tx-ekd-consentmanager-confirm').click(); 105 }); 106 107 108 /* 109 110 confirm action 111 112 */ 113 document.getElementById('tx-ekd-consentmanager-confirm').addEventListener('click', function (ev) { 114 ev.stopPropagation(); 115 ev.preventDefault(); 116 117 118 let cookies = ekdcm_getCookies(); 119 cookies.seen = true; 120 const checks = document.querySelectorAll('#tx-ekd-consentmanager input[type="checkbox"]'); 121 for (let i = 0, l = checks.length; i < l; i++) { 122 //console.log(checks[i].checked,checks[i].value); 123 cookies[checks[i].id] = checks[i].checked; 124 } 125 ekdcm_setCookies(cookies); 126 document.getElementById('tx-ekd-consentmanager').classList.remove('open'); 127 document.getElementById('tx-ekd-consentmanager').classList.remove('full'); 128 changeAria(); 129 }); 130 131 132 /* 133 134 handle all close buttons 135 136 */ 137 const closebtn = document.querySelectorAll('button.tx-ekd-consentmanager-close'); 138 139 for (var i = 0, l = closebtn.length; i < l; i++) { 140 closebtn[i].addEventListener('click', function (ev) { 141 ev.stopPropagation(); 142 ev.preventDefault(); 143 document.getElementById('tx-ekd-consentmanager').classList.remove('open'); 144 document.getElementById('tx-ekd-consentmanager').classList.remove('full'); 145 changeAria(); 146 }); 147 } 148 149 150 /* 151 152 check if the seen cookie is set, otherwise display the consentbanner. 153 If it is set, act on the preferences 154 155 */ 156 if (!ekdcm_checkForScanjob()) { 157 let cookies = ekdcm_getCookies(); 158 if (!cookies.seen) { 159 ekdcm_showBanner(); 160 } else { 161 ekdcm_actOnCookies(cookies); 162 } 163 } 164 }); 165 } 166 167 let cmlinks = document.querySelectorAll('a[href$="#ekdcm_showBanner"]'); 168 for (const elem of cmlinks) { 169 //elem.setAttribute("aria-role", "button"); 170 //elem.setAttribute("aria-label", "Show dialog with GDPR settings"); 171 elem.addEventListener('click',function(ev) { 172 ev.stopPropagation(); 173 ev.preventDefault(); 174 ekdcm_showBanner(); 175 if( document.querySelector('#tx-ekd-consentmanager').classList.contains('open') ) { 176 elem.setAttribute("aria-expanded", "true"); 177 }else{ 178 elem.setAttribute("aria-expanded", "false"); 179 } 180 }); 181 } 182 183}); 184 185var ekdcm_showBanner = function() { 186 document.getElementById('tx-ekd-consentmanager').classList.add('open'); 187 let cookieSettingsLink = document.querySelectorAll('a[href="#ekdcm_showBanner"]'); 188 for (let i = 0, l = cookieSettingsLink.length; i < l; i++) { 189 cookieSettingsLink[i].setAttribute('aria-expanded', 'true'); 190 } 191 192 let cookies = ekdcm_getCookies(); 193 for (const key in cookies) { 194 if (document.querySelector('#tx-ekd-consentmanager input#'+key)) { 195 document.querySelector('#tx-ekd-consentmanager input#'+key).checked = cookies[key]; 196 } 197 } 198} 199 200var ekdcm_enableByContentId = function(uid) 201{ 202 ekdcm_enableByElement(document.getElementById('ekdps_info_'+uid)); 203} 204 205var ekdcm_enableByContentByIdentifier = function(id) 206{ 207 ekdcm_enableByElement(document.getElementById(id)); 208} 209 210var ekdcm_enableByElement = function(element) 211{ 212 if (element) { 213 const contentid = element.dataset.for; 214 const template = document.getElementById(contentid); 215 const content = template.content.cloneNode(true); 216 if (content) { 217 218 const scripts = content.querySelectorAll('script[src]'); 219 for (var i=0,l=scripts.length;i<l;i++) { 220 scripts[i].onload = function() { 221 document.dispatchEvent(new Event("DOMContentLoaded", { 222 bubbles: true, 223 cancelable: true 224 })); 225 } 226 } 227 228 let initfnc = null; 229 if (element.dataset.init) { 230 initfnc = element.dataset.init; 231 } 232 233 //console.log(initfnc,1); 234 if (!initfnc) { 235 let elemwithinitfunc = content.querySelector('[data-function]'); 236 if(elemwithinitfunc) { 237 initfnc = elemwithinitfunc.dataset['function']; 238 239 //console.log(elemwithinitfunc,elemwithinitfunc.dataset,elemwithinitfunc.dataset.function,elemwithinitfunc.dataset['function'],initfnc); 240 241 } 242 } 243 244 //console.log(initfnc,2); 245 element.parentNode.insertBefore(content,element); 246 element.parentNode.removeChild(element); 247 248 document.dispatchEvent(new Event("DOMContentLoaded", { 249 bubbles: true, 250 cancelable: true 251 })); 252 if (initfnc) { 253 try { 254 console.log('executing '+initfnc); 255 executeFunctionByName(initfnc,window) 256 } catch (e) { 257 console.error('initfunc '+initfnc+' not found',e) 258 } 259 } 260 } 261 } 262} 263 264var ekdcm_getCookies = function() 265{ 266 let cookies = {seen:0} 267 let cookiesraw = Cookies.get('EKD_CB1');
268 if (cookiesraw) { 269 cookies = JSON.parse(cookiesraw); 270 } 271 return cookies; 272} 273var ekdcm_checkForScanjob = function() { 274 let externalcontent = Cookies.get('testaccept'); 275 if (externalcontent) { 276 let elements = document.querySelectorAll('.ekdps_blocked'); 277 278 for (var i=0,l=elements.length;i<l;i++) { 279 ekdcm_enableByElement(elements[i]); 280 } 281 let initfunctions = document.querySelectorAll('input[data-initfunction]'); 282 let seenFunction = []; 283 let initf = null; 284 for (var i=0,l=initfunctions.length;i<l;i++) { 285 initf = initfunctions[i]; 286 if (initf && initf.dataset.addclass && initf.dataset.addclass.length > 0) { 287 try { 288 document.getElementsByTagName('html')[0].classList.add(initf.dataset.addclass); 289 //console.log('addclass '+initf.dataset.addclass+' executed'); 290 } catch (e) { 291 //console.error('addclass '+initf.dataset.addclass+' failed',e) 292 } 293 } 294 295 if (initf && initf.dataset.initfunction && initf.dataset.initfunction.length > 0) { 296 try { 297 executeFunctionByName(initf.dataset.initfunction, window); 298 seenFunction.push(initf.dataset.initfunction); 299 //console.log('initfunc '+initf.dataset.initfunction+' executed'); 300 } catch (e) { 301 //console.error('initfunc '+initfnc+' not found',e) 302 } 303 } 304 } 305 if (!seenFunction.includes('matomoinit') && typeof matomoinit === 'function') { 306 executeFunctionByName('matomoinit',window); 307 seenFunction.push('matomoinit'); 308 } 309 310 return true; 311 } 312 return false; 313}; 314var ekdcm_setCookies = function(cookies) 315{ 316 Cookies.set('EKD_CB1',cookies,{ expires: 180, path:'/' }); 317 ekdcm_actOnCookies(cookies); 318} 319 320var ekdcm_actOnCookies = function(cookies) 321{ 322 cookies = cookies || ekdcm_getCookies(); 323 //console.log(cookies); 324 for (const key in cookies) { 325 //console.log(cookies[key]); 326 if (cookies[key]) { 327 let elements = document.querySelectorAll('[data-entry="'+key+'"]'); 328 //console.log(elements); 329 for (var i=0,l=elements.length;i<l;i++) { 330 ekdcm_enableByElement(elements[i]); 331 } 332 333 let initf = document.getElementById(key); 334 if (initf && initf.dataset.addclass && initf.dataset.addclass.length > 0) { 335 try { 336 document.getElementsByTagName( 'html' )[0].classList.add(initf.dataset.addclass); 337 //console.log('addclass '+initf.dataset.addclass+' executed'); 338 } catch (e) { 339 //console.error('addclass '+initf.dataset.addclass+' failed',e) 340 } 341 } 342 if (initf && initf.dataset.initfunction && initf.dataset.initfunction.length > 0) { 343 try { 344 executeFunctionByName(initf.dataset.initfunction,window); 345 //console.log('initfunc '+initf.dataset.initfunction+' executed'); 346 } catch (e) { 347 //console.error('initfunc '+initfnc+' not found',e) 348 } 349 350 } 351 } 352 } 353 354 // run the always active stuff 355 document.querySelectorAll('#tx-ekd-consentmanager .always-active').forEach((elem)=>{ 356 if (elem.dataset.initfunction && elem.dataset.initfunction.length > 0) { 357 try { 358 executeFunctionByName(elem.dataset.initfunction,window); 359 //console.log('initfunc '+initf.dataset.initfunction+' executed'); 360 } catch (e) { 361 //console.error('initfunc '+initfnc+' not found',e) 362 } 363 } 364 if (elem.dataset.addclass && elem.dataset.addclass.length > 0) { 365 try { 366 document.getElementsByTagName( 'html' )[0].classList.add(elem.dataset.addclass); 367 //console.log('addclass '+initf.dataset.addclass+' executed'); 368 } catch (e) { 369 //console.error('addclass '+initf.dataset.addclass+' failed',e) 370 } 371 } 372 }); 373} 374// Cookie handler 375 376!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function g(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}return function e(l){function C(e,n,o){var t;if("undefined"!=typeof document){if(1<arguments.length){if("number"==typeof(o=g({path:"/"},C.defaults,o)).expires){var r=new Date;r.setMilliseconds(r.getMilliseconds()+864e5*o.expires),o.expires=r}o.expires=o.expires?o.expires.toUTCString():"";try{t=JSON.stringify(n),/^[\{\[]/.test(t)&&(n=t)}catch(e){}
376n=l.write?l.write(n,e):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=(e=(e=encodeURIComponent(String(e))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var i="";for(var c in o)o[c]&&(i+="; "+c,!0!==o[c]&&(i+="="+o[c]));return document.cookie=e+"="+n+i}e||(t={});for(var a=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,f=0;f<a.length;f++){var p=a[f].split("="),d=p.slice(1).join("=");this.json||'"'!==d.charAt(0)||(d=d.slice(1,-1));try{var u=p[0].replace(s,decodeURIComponent);if(d=l.read?l.read(d,u):l(d,u)||d.replace(s,decodeURIComponent),this.json)try{d=JSON.parse(d)}catch(e){}if(e===u){t=d;break}e||(t[u]=d)}catch(e){}}return t}}return(C.set=C).get=function(e){return C.call(C,e)},C.getJSON=function(){return C.apply({json:!0},[].slice.call(arguments))},C.defaults={},C.remove=function(e,n){C(e,"",g(n,{expires:-1}))},C.withConverter=e,C}(function(){})}); 377 378 379 380 381var executeFunctionByName = function(functionName, context /*, args */) { 382 var args = Array.prototype.slice.call(arguments, 2); 383 var namespaces = functionName.split("."); 384 var func = namespaces.pop(); 385 for (var i = 0; i < namespaces.length; i++) { 386 context = context[namespaces[i]]; 387 } 388 return context[func].apply(context, args); 389}
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.