1 (function($) { 2 $(function() { 3 4$.getScript('files/schaffer/layout/scripts/cookieconsent/js-cookie/src/js.cookie.js',function(){ 5 $(document).on("click", "span.removeCookie", (function() { 6 7 if (Cookies.get('securityToken') !== null) { 8 Cookies.remove('securityToken'); 9 } 10 11 12 location.reload(); 13 })); 14}); 15 16//load styles 17function loadCSS(url) { 18 var link = document.createElement("link"); 19 link.type = "text/css"; 20 link.rel = "stylesheet"; 21 link.href = url; 22 document.getElementsByTagName("head")[0].appendChild(link); 23} 24 25 26 27//Declare used cookies 28var cookieUsers = { 29 'essential': 'ESSENZIELL', 30 'marketing': 'MARKETING', 31 'external-media': 'EXTERNE MEDIEN', 32 }; 33 34// Link to logo 35var linkLogo =""; 36 37// Link to logo 38var linkPrivacy ="/datenschutz.html"; 39 40// Link to logo 41var linkImprint ="/impressum.html"; 42 43// google Analytics string 44/* var googleAnalyticsString = "UA-110085859-1"; */ 45var googleAnalyticsString = "G-WR6MH5XKP3"; 46 47// google typekitstring 48var TypekitString = "hbc5jot"; 49var fbString = '1115377939094686'; 50//var gtString = 'GTM-MX4HNPH'; 51 52// List of cookies 53var expireDate = new Date(); 54expireDate.setTime(expireDate.getTime() + (365 * 24 * 60 * 60 * 1000)); 55 56var cookieList = { 57 'essential': { 58 'name': 'ESSENZIELL', 59 'description':'Essenzielle Cookies ermöglichen grundlegende Funktionen und sind für die einwandfreie Funktion der Website erforderlich.', 60 'cookies': { 61 'ws-cookie': { 62 'name':'ws-cookie', 63 'vendor':'web-surfers', 64 'usage':'Speichert die erlaubten/verbotenen Cookie Einstellungen', 65 'technical_name':'ws-cookie', 66 'expire_date':''+expireDate.toDateString() +'', 67 }, 68 'securityToken': { 69 'name':'securityToken', 70 'vendor':'web-surfers', 71 'usage':'Zeigt den Status des Cookieplugins', 72 'technical_name':'securityToken', 73 'expire_date':''+expireDate.toDateString() +'', 74 }, 75 'PHPSESSID': { 76 'name':'PHPSESSID', 77 'vendor':'Php', 78 'usage':'Cookie, das von Anwendungen generiert wird, die auf der PHP-Sprache basieren. Dies ist eine allgemeine Kennung, die zum Verwalten von Benutzersitzungsvariablen verwendet wird. Normalerweise handelt es sich um eine zufällig generierte Zahl. Die Art und Weise, wie sie verwendet wird, kann für die Site spezifisch sein. Ein gutes Beispiel ist jedoch die Beibehaltung des Anmeldestatus für einen Benutzer zwischen den Seiten.', 79 'technical_name':'PHPSESSID', 80 'expire_date':''+expireDate.toDateString() +'', 81 }, 82 'csrf_contao_csrf_token': { 83 'name':'csrf_contao_csrf_token', 84 'vendor':'Contao Content Management System', 85 'usage':'Schützt die Website vor Cross Site Request Forgery Angriffen.', 86 'technical_name':'csrf_contao_csrf_token', 87 'expire_date':''+expireDate.toDateString() +'', 88 } 89 }, 90 }, 91 92 'marketing':{ 93 'name': 'MARKETING', 94 'description':'Marketing-Cookies werden von Drittanbietern oder Publishern verwendet, um personalisierte Werbung anzuzeigen. Sie tun dies, indem sie Besucher über Websites hinweg verfolgen.', 95 'cookies': { 96 '_ga': { 97 'name':'_ga', 98 'vendor':'google.com', 99 'usage':'Enthält eine zufallsgenerierte User-ID. Anhand dieser ID kann Google Analytics wiederkehrende User auf dieser Website wiedererkennen und die Daten von früheren Besuchen zusammenführen.', 100 'technical_name':'_ga', 101 'expire_date':''+expireDate.toDateString() +'', 102 }, 103 '__ga_******': { 104 'name':'_ga_******', 105 'vendor':'google.com', 106 'usage':'Enthält eine zufallsgenerierte User-ID. Anhand dieser ID kann Google Analytics wiederkehrende User auf dieser Website wiedererkennen und die Daten von früheren Besuchen zusammenführen.', 107 'technical_name':'_ga_******', 108 'expire_date':''+expireDate.toDateString() +'', 109 }, 110 '_fbp': { 111 'name':'_fbp',
112 'vendor':'facebook.com', 113 'usage':'Wird von Facebook genutzt, um eine Reihe von Werbeprodukten anzuzeigen, zum Beispiel Echtzeitgebote dritter Werbetreibender.', 114 'technical_name':'_fbp', 115 'expire_date':''+expireDate.toDateString() +'', 116 }, 117 }, 118 }, 119 120 'external-media':{ 121 'name': 'EXTERNE MEDIEN', 122 'description':'Cookies die von Videoplattformen, Social-Media-Plattformen oder zur Kartendarstellung gesetzt werden.', 123 'cookies': { 124 125 126 127 }, 128 }, 129}; 130 131//Functions 132 133 function setGTManager() { 134(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 135new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 136j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 137'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 138})(window,document,'script','dataLayer', gtString); 139 140$('body').append('<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=' + gtString+ 'height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>'); 141} 142 143//set th fbString cs cookie 144 function setFbPixel() { 145 146 if(fbString){ 147!function(f,b,e,v,n,t,s) 148{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 149n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 150if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 151n.queue=[];t=b.createElement(e);t.async=!0; 152t.src=v;s=b.getElementsByTagName(e)[0]; 153s.parentNode.insertBefore(t,s)}(window, document,'script', 154'https://connect.facebook.net/en_US/fbevents.js'); 155fbq('init', fbString); 156//allgemeiner wuw-pixel: 157fbq('track', 'PageView'); 158 159if($('div.facebookpixel').length >= 1){ 160 var produktID = $('div.facebookpixel').attr('id'); 161 fbq('track', 'ViewContent', 162Â Â { 163Â Â Â Â content_type: 'product', 164Â Â Â Â content_ids: produktID 165Â Â }); 166} 167 168 $('body').append('<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=' + fbString + '&ev=PageView&noscript=1" /><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=625035211767169&ev=PageView&noscript=1" /></noscript>'); 169 } 170 171 } 172 173 //set the Analytics cookie 174 function setAnalytics() { 175 /* (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 176 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 177 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 178 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 179 180 var disableStr = 'ga-disable-' + googleAnalyticsString; 181 if (document.cookie.indexOf(disableStr + '=true') > -1) { 182 window[disableStr] = true; 183 } 184 function gaOptout() { 185 document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; 186 window[disableStr] = true; 187 alert('Google Analytics ist deaktiviert'); 188 } 189 ga('create', googleAnalyticsString, 'auto'); 190 ga('set', 'anonymizeIp', true); 191 ga('send', 'pageview'); */ 192 193 //GTManager 194 var head = document.getElementsByTagName('head')[0]; 195 var tagscript = document.createElement('script'); 196 var initscript = document.createElement('script'); 197 initscript.type = 'text/javascript'; 198 initscript.src = 'https://www.googletagmanager.com/gtag/js?id=' + googleAnalyticsString; 199 head.appendChild(initscript); 200 tagscript.innerHTML = "window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config','" + googleAnalyticsString + "')"; 201 202 head.appendChild(tagscript); 203 204 }; 205 206 207 function setTypekit() { 208 loadCSS('https://use.typekit.net/' + TypekitString + '.css'); 209 } 210 211 var MapErrorTextbox = ""+ 212 "<div class='iframe-error-box'>"+ 213 "<h5>Aufgrund deiner Cookie-Einstellungen kann die Googlemap nicht angezeigt werden</h5>"+ 214 "<span class='removeCookie'>Cookie-Einstellungen anpassen</span>"+ 215 "</div>"+ 216 ""; 217 218 function loadMapframe(){ 219
220 if( $("iframe[data-src^='https://www.google']").length >= 1){ 221 $("iframe[data-src^='https://www.google']").each(function(){ 222 $(this).parent().removeClass('errorbox').find('.error').remove(); 223 $(this).attr('src', $(this).attr('data-src')); 224 }); 225 } 226 } 227 228 function setMapFramePlaceholder() { 229 230 231 if( $("iframe[data-src^='https://www.google']").length >= 1){ 232 233 $("iframe[data-src^='https://www.google']").each(function(){ 234 235 if( $(this).parent().find('.error').length <= 0){ 236 $(this).parent().addClass('errorbox').prepend('<div class="error">' + MapErrorTextbox + '</div>'); 237 } 238 var dataSRC = $(this).attr('data-src'); 239 }); 240 241 var iframes = document.querySelectorAll('iframe'); 242 243 for (var i = 0; i < iframes.length; i++) { 244 if( iframes[i].getAttribute("src") !== null){ 245 iframes[i].parentNode.removeChild(iframes[i]); 246 } 247 248 } 249 } 250 251 } 252 253// function loadChat(){ 254// !function(a,e){Array.isArray(window.__GrChatData__)?window.__GrChatData__.push(e):window.__GrChatData__=[e]; 255// var r=document.createElement("script");r.defer=!0;var t=document.getElementsByTagName("script")[0]; 256// t.parentNode.insertBefore(r,t),r.src="https://i.getresponse.chat/embedded_chat.js"}
257// (0,{urlParams:"c=e6e8f09f3677f02eca30c2724d774ebf6e89008391e5ce6c7bdd0c5d67",iuv:"v1",bottom:"0",right:"80"}); 258// } 259 260 261 262 function loadYouTube(){ 263 if( $("iframe").length >= 1){ 264 $("iframe").each(function(){ 265 $(this).parent().find('.error').remove(); 266 $(this).attr('src', $(this).attr('data-src')); 267 }); 268 } 269 } 270 //load youtube only if 271 272 // Error text if External media is unchecked 273 var youtubeErrorTextbox = ""+ 274 "<div class='youtube-error-box'>"+ 275 "<h5>Aufgrund deiner Cookie-Einstellungen kann dir dieses YouTube-Video nicht angezeigt werden</h5>"+ 276 "<span class='removeCookie'>Cookie-Einstellungen anpassen</span>"+ 277 "</div>"+ 278 ""; 279 280 //remove youtube script 281 var video = ''; 282 function setYTPlaceholder() { 283 284 285 if( ($("iframe[data-src^='https://www.youtube']").length >= 1) || ($("iframe[data-src^='https://www.youtube-nocookie']").length >= 1) ){ 286 $("iframe[data-src^='https://www.youtube'], iframe[data-src^='https://www.youtube-nocookie']").each(function(){ 287 288 if(typeof $(this).attr('src') == 'undefined') { // strict equality comparison doesn't work 289 $(this).parent().prepend('<div class="error">' + youtubeErrorTextbox + '</div>') 290 } 291 292 293 294 }); 295 } 296 else if( $(".videoWrapper").length >= 1){ 297 298 } 299 300 } 301 302 303 304 305 // todo: newsletter 306 307 308 function loadNewsletterSignup(){ 309 if( $("#newsletter_signup").length >= 1){ 310 $("#newsletter_signup").each(function(){ 311 $(this).parent().find('.error').remove(); 312 $(this).attr('src', $(this).attr('data-src')); 313 }); 314 } 315 } 316 317
318 // Error text if External media is unchecked 319 var newsletterErrorTextbox = ""+ 320 "<div class='youtube-error-box'>"+ 321 "<h5>Aufgrund deiner Cookie-Einstellungen können wir dir dieses Newsletter-Formular nicht zeigen</h5>"+ 322 "<span class='removeCookie'>Cookie-Einstellungen anpassen</span>"+ 323 "</div>"+ 324 ""; 325 326 //remove script 327 328 function setNewsletterPlaceholder() { 329 330 331 if($("#newsletter_signup").length >= 1) 332 { 333 $("#newsletter_signup").each(function(){ 334 335 if(typeof $(this).attr('src') == 'undefined') { // strict equality comparison doesn't work 336 $(this).parent().prepend('<div class="error">' + newsletterErrorTextbox + '</div>') 337 } 338 339 340 341 }); 342 } 343 344 345 } 346 347 348 349 350 // end: newsletter 351 352 353 354 355 356 357 358 359 $(function() { 360 setMapFramePlaceholder(); 361 setYTPlaceholder(); 362 setNewsletterPlaceholder(); 363 364 var cookies = getCookie('securityToken'); 365 if (cookies != null) { 366 execCookieScripts(cookies.split(',')); 367 } else { 368 setUpCookieForm(); 369 } 370 }); 371 372 // Cookie functions 373 function setCookie(name, value, days) { 374 var expires = ''; 375 if (days) { 376 var date = new Date(); 377 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 378 expires = '; expires=' + date.toUTCString(); 379 } 380 document.cookie = name + '=' + (value || '') + expires + '; path=/'; 381 } 382 383 function getCookie(name) { 384 var nameEQ = name + '='; 385 var ca = document.cookie.split(';'); 386 for (var i = 0; i < ca.length; i++) { 387 var c = ca[i]; 388 while (c.charAt(0) == ' ') c = c.substring(1, c.length); 389 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 390 } 391 return null; 392 } 393 394 function eraseCookie(name) { 395 document.cookie = name + '=; Max-Age=-99999999;'; 396 } 397 398 function execCookieScripts(cookies) { 399 jQuery.each(cookies, function(index, value) { 400 if (value !== "") { 401 addCookies(value) 402 } 403 }); 404 } 405 406 407 function addCookies(id) { 408 var element = $("#checkbox-"+id); 409 switch(id) { 410 case "marketing": 411 setAnalytics(); 412 setFbPixel(); 413 //setGTManager(); 414 break; 415 case "external-media": 416 //loadMapframe(); 417 //loadYouTube(); 418 loadYouTube(); 419 loadNewsletterSignup(); 420 // setTypekit(); 421 // loadChat(); 422 423 break; 424 case "essential": 425 426 break; 427 default: 428 429 } 430 431 } 432 433 var cookiestring = "mrm"; 434 $(document).on("click", "[data-cookie-accept]", (function() { 435 436 $.each(cookieList, function( index, value ) { 437 438 //if(index != "external-media"){ 439 if($("#checkbox-"+index).is(':checked')){ 440 addCookies(index); 441 cookiestring +=","+index; 442 } 443 444 445 446 }); 447 setCookie('securityToken',cookiestring, '365'); 448 449 450 })); 451 452 $(document).on("click", "[data-cookie-accept-all]", (function() { 453 454 $.each(cookieList, function( index, value ) { 455 456 addCookies(index); 457 cookiestring +=","+index; 458 459 }); 460 setCookie('securityToken', cookiestring, '365'); 461 462 })); 463 464 465 466 467 468 469 /** 470 *Create cookie detail html 471 * @cookie = array(name,vendor,usage,technical_name,expire_date)all string 472 * @return = string 473 */ 474 function getCookieDetailHTML(cookie) { 475 var html=''+ 476 '<table>'+ 477 '<tbody><tr>'+ 478 '<th>Name</th>'+ 479 '<td>'+cookie["name"]+'</td>'+ 480 '</tr>'+ 481 '<tr>'+ 482 '<th>Anbieter</th>'+ 483 '<td>'+cookie["vendor"]+'</td>'+ 484 '</tr>'+ 485 '<tr>'+ 486 '<th>Zweck</th>'+ 487 '<td>'+cookie["usage"]+'</td>'+ 488 '</tr>'+ 489 '<tr>'+ 490 '<th>Cookie Name</th>'+ 491 '<td>'+cookie["technical_name"]+'</td>'+ 492 '</tr>'+ 493 '<tr>'+ 494 '<th>Cookie Laufzeit</th>'+ 495 '<td>'+cookie["expire_date"]+'</td>'+ 496 '</tr>'+ 497 '</tbody></table>'; 498 return html; 499 } 500 501 /** 502 * Create cookie Category html 503 * @cookieCategory = array(string name,string description,array cookies) 504 * @return = string 505 */ 506 function getCookieCategoryHTML(cookieCategory) { 507 var innerHtml = "" 508 // generate cookie HTML 509 510 var i = 0; 511 jQuery.each(cookieCategory["cookies"], function(index, cookie) { 512 innerHtml += getCookieDetailHTML(cookie); 513 i ++; 514 }); 515 516 var html = ''+ 517 '<div class="bcac-item">'+ 518 '<div class="d-flex flex-row">'+ 519 '<div class="w-75">'+ 520 '<h4>'+cookieCategory["name"]+' ('+ i +')</h4>'+ 521 '</div>'+ 522 '<div class="w-25 text-right">'+ 523 '</div>'+ 524 '</div>'+ 525 '<div class="d-block">'+ 526 '<p>'+cookieCategory["description"]+'</p>'+ 527 '<p class="text-center">
527'+ 528 '<a class="cursor d-block" data-cookie-accordion-target="'+cookieCategory["name"]+'">'+ 529 ' <span data-cookie-accordion-status="show">Cookie-Informationen anzeigen</span>'+ 530 '<span data-cookie-accordion-status="hide" class="ws-hide">Cookie-Informationen ausblenden</span>'+ 531 '</a>'+ 532 '</p>'+ 533 ' </div>'+ 534 '<div class="ws-hide" data-cookie-accordion-parent="'+cookieCategory["name"]+'">'+ 535 //inner loop start 536 innerHtml + 537 '</div>'+ 538 '</div> '; 539 return html; 540 } 541 542 function setUpCookieForm() { 543 var enabledCookies = []; 544 // Append form with used cookies 545 var cookieFormCheckboxes = ''; 546 var disabledString = "disabled"; 547 var checkedString = "checkded"; 548 jQuery.each(cookieUsers, function(index, value) { 549 550 551 cookieFormCheckboxes += 552 '<li>\n' + 553 '<label for="checkbox-'+ index +'" class="ws-checkbox">\n'+ value+ 554 '<input id="checkbox-'+ index +'" type="checkbox" name="cookieGroup[]" value="'+ index +'" '+checkedString + ' ' + disabledString+' data-ws-cookie-checkbox="">\n' + 555 '<div class="ws-checkbox-indicator"></div></label>\n' + 556 '</li>'; 557 if(disabledString){disabledString=""} 558 if(checkedString){checkedString=""} 559 }); 560 561 //create html for cookie description tab 562 var cookieHtml =""; 563 jQuery.each(cookieList, function(index, cookieCategory) { 564 cookieHtml += getCookieCategoryHTML(cookieCategory); 565 }); 566 567if ( document.documentElement.lang.toLowerCase() === "de" ) { 568// DEUTSCH 569 570 $('body').append( 571 '<div id="wsCookieBox" class="wsCookie">\n'+ 572 '<div class="bottom-left ws-block-content ws-bg-animation show-cookie-box ws-bg-dark" style="">\n'+ 573 '<div class="ws-box-wrap" style="width: 100vw; max-width: 375px;">\n'+ 574 '<div class="ws-box ws-box-advanced animated fadeInDown">\n'+ 575 '<div class="cookie-box">\n'+ 576 '<div class="container">\n' + 577 '<div class="row">\n' + 578 '<div class="col-12">\n' + 579 ' <div class="ws-flex-center">\n' + 580 581 ' <h3>Cookieeinstellungen</h3>\n' + 582 ' </div >\n' + 583 ' <p>\n' + 584 ' Ich nutze Cookies auf meiner Website. Einige von ihnen sind essenziell,\n'+ 585 'während andere mir helfen, diese Website und ihre Nutzung fortlaufend für Sie zu verbessern.\n' + 586 ' </p>\n' + 587 ' <ul>\n' + 588 589 cookieFormCheckboxes + 590 591 ' </ul>\n' + 592 ' <p class="ws-accept"><a class="ws-btn ws-btn-accept-all cursor" data-cookie-accept-all="">Weiter und alles akzeptieren</a></p>\n' + 593 ' <p class="ws-accept"><a class="ws-btn cursor" data-cookie-accept="">Oben stehende Auswahl übernehmen</a></p>\n' + 594 ' <p class="ws-manage"><a class="cursor" data-cookie-individual="">Individuelle Datenschutzeinstellungen</a></p>\n' + 595 ' <p class="ws-legal">\n' + 596 ' <a class="cursor" data-cookie-individual="">Cookie-Details</a><span class="ws-separator"></span><a href="'+linkPrivacy+'">Datenschutzerklärung</a><span class="ws-separator"></span><a href="'+linkImprint+'">Impressum</a></p>\n' + 597 ' </div>\n' + 598 '</div>\n' + 599 '</div>\n' + 600 '</div>\n' + 601 602 '<div class="cookie-preference">'+ 603 '<div class="container not-visible" >'+ 604 '<div class="row no-gutters">'+ 605 '<div class="col-12">'+ 606 '<div class="row no-gutters align-items-top">'+ 607 '<div class="col-2">'+ 608 609 '</div>'+ 610 '<div class="col-10">'+ 611 '<h3>Datenschutzeinstellungen</h3>'+ 612 '<p>Hier finden Sie eine Ãbersicht über alle verwendeten Cookies. Sie können Ihre Einwilligung zu ganzen Kategorien geben oder sich weitere Informationen anzeigen lassen und so nur bestimmte Cookies auswählen.</p>'+ 613 614 '<div class="row no-gutters align-items-center">
614'+ 615 '<div class="col-12 col-sm-7">'+ 616 '<p class="ws-accept">'+ 617 '<a class="ws-btn ws-btn-accept-all cursor" data-cookie-accept-all="">Weiter und alles akzeptieren</a>'+ 618 '<a class="ws-btn cursor" data-cookie-accept="">Oben stehende Auswahl übernehmen</a></p>'+ 619 '</div>'+ 620 '<div class="col-12 col-sm-5">'+ 621 '<p class="ws-refuse">'+ 622 '<a class="cursor" data-cookie-back="">Zurück</a> </p>'+ 623 '</div>'+ 624 '</div>'+ 625 '</div>'+ 626 '</div>'+ 627 628 '<div data-cookie-accordion="">'+ 629 630 // cookie details 631 cookieHtml+ 632 633 634 '<div class="d-flex justify-content-between">'+ 635 '<p class="ws-branding flex-fill">'+ 636 '<p class="ws-legal flex-fill"><a href="'+linkPrivacy+'">Datenschutzerklärung</a><span class="ws-separator"></span><a href="'+linkImprint+'">Impressum</a></p>'+ 637 '</div>'+ 638 '</div>'+ 639 '</div>'+ 640 '</div>'+ 641 '</div>'+ 642 '</div>'+ 643 '</div>'+ 644'</div>'+ 645'</div>'); 646 647} else { 648// NEDERLANDS 649 650 $('body').append( 651 '<div id="wsCookieBox" class="wsCookie">\n'+ 652 '<div class="bottom-left ws-block-content ws-bg-animation show-cookie-box ws-bg-dark" style="">\n'+ 653 '<div class="ws-box-wrap" style="width: 100vw; max-width: 375px;">\n'+ 654 '<div class="ws-box ws-box-advanced animated fadeInDown">\n'+ 655 '<div class="cookie-box">\n'+ 656 '<div class="container">\n' + 657 '<div class="row">\n' + 658 '<div class="col-12">\n' + 659 ' <div class="ws-flex-center">\n' + 660 661 ' <h3>Cookie-instellingen</h3>\n' + 662 ' </div >\n' + 663 ' <p>\n' + 664 ' We gebruiken cookies op onze website. Sommige zijn essentieel,\n'+ 665 'terwijl andere ons helpen om deze website en het gebruik ervan voor u voortdurend te verbeteren.\n' + 666 ' </p>\n' + 667 ' <ul>\n' + 668 669 cookieFormCheckboxes + 670 671 ' </ul>\n' + 672 ' <p class="ws-accept"><a class="ws-btn ws-btn-accept-all cursor" data-cookie-accept-all="">Ga door en accepteer alles</a></p>\n' + 673 ' <p class="ws-accept"><a class="ws-btn cursor" data-cookie-accept="">Accepteer de bovenstaande selectie</a></p>\n' + 674 ' <p class="ws-manage"><a class="cursor" data-cookie-individual="">Individuele privacy-instellingen</a></p>\n' + 675 ' <p class="ws-legal">\n' + 676 ' <a class="cursor" data-cookie-individual="">Cookie-Details</a><span class="ws-separator"></span><a href="'+linkPrivacy+'">Datenschutzerklärung</a><span class="ws-separator"></span><a href="'+linkImprint+'">Impressum</a></p>\n' + 677 ' </div>\n' + 678 '</div>\n' + 679 '</div>\n' + 680 '</div>\n' + 681 682 '<div class="cookie-preference">'+ 683 '<div class="container not-visible" >'+ 684 '<div class="row no-gutters">'+ 685 '<div class="col-12">'+ 686 '<div class="row no-gutters align-items-top">'+ 687 '<div class="col-2">'+ 688 689 '</div>'+ 690 '<div class="col-10">'+ 691 '<h3>Datenschutzeinstellungen</h3>'+ 692 '<p>Hier finden Sie eine Ãbersicht über alle verwendeten Cookies. Sie können Ihre Einwilligung zu ganzen Kategorien geben oder sich weitere Informationen anzeigen lassen und so nur bestimmte Cookies auswählen.</p>'+ 693 694 '<div class="row no-gutters align-items-center">'+ 695 '<div class="col-12 col-sm-7">'+ 696 '<p class="ws-accept">'+ 697 '<a class="ws-btn ws-btn-accept-all cursor" data-cookie-accept-all="">Ga door en accepteer alles</a>'+ 698 '<a class="ws-btn cursor" data-cookie-accept="">Accepteer de bovenstaande selectie</a></p>'+ 699 '</div>'+ 700 '<div class="col-12 col-sm-5">'+ 701 '<p class="ws-refuse">'+ 702 '<a class="cursor" data-cookie-back="">
702terug</a> </p>'+ 703 '</div>'+ 704 '</div>'+ 705 '</div>'+ 706 '</div>'+ 707 708 '<div data-cookie-accordion="">'+ 709 710 // cookie details 711 cookieHtml+ 712 713 714 '<div class="d-flex justify-content-between">'+ 715 '<p class="ws-branding flex-fill">'+ 716 '<p class="ws-legal flex-fill"><a href="'+linkPrivacy+'">Datenschutzerklärung</a><span class="ws-separator"></span><a href="'+linkImprint+'">Impressum</a></p>'+ 717 '</div>'+ 718 '</div>'+ 719 '</div>'+ 720 '</div>'+ 721 '</div>'+ 722 '</div>'+ 723 '</div>'+ 724'</div>'+ 725'</div>'); 726 727} 728 729 730 731 } 732 733 734 735 736// cookiecode 737 738 739 740!function(o) { 741 o = $ 742 window.wsCookie = function() { 743 //"use strict"; 744 745 var e = "data-cookie-accordion", t = "data-cookie-accordion-parent", n = "data-cookie-accordion-status", i = "data-cookie-accordion-target", a = "#wsCookieBox input[type='checkbox']", s = "#wsCookieBox", c = "#CookieBoxWrap", r = "data-ws-cookie-group", l = "#CookieBox input[type='checkbox'][name='cookieGroup[]']", d = "data-cookie-accept", h = "data-cookie-accept-all", u = "data-cookie-back", b = "data-cookie-individual", k = "data-cookie-refuse", p = "data-ws-cookie-preference", f = ".ws-cookie-preference", v = "data-ws-cookie-switch", g = ".ws-btn-switch-status", m = "data-ws-cookie-unblock", x = "data-ws-cookie-type", C = "data-ws-cookie-id", y = "data-ws-script-blocker-id", w = "data-ws-script-blocker-js-handle", B = "input[type='checkbox'][name='unblockAll']", L = "data-ws-cookie-uid", _ = "data-ws-cookie-consent-history", O = ".wsCookie", I, j = {}, S = {}, T = {}, D = {}, A = { 746 scriptBlockerId: {}, 747 jsHandle: {} 748 749 }, P = !1, H = { 750 consents: {}, 751 expires: null, 752 uid: null, 753 version: null 754 }, N = "ws-cookie", R = function(e, t, n) { 755 return "about:blank" !== window.location.href && (I = o.extend({ 756 ajaxURL: "", 757 language: "en", 758 animation: "1", 759 animationDelay: "", 760 animationIn: "fadeIn", 761 animationOut: "fadeOut", 762 blockContent: "", 763 boxLayout: "box", 764 boxLayoutAdvanced: "0", 765 automaticCookieDomainAndPath: "", 766 cookieDomain: "", 767 cookiePath: "", 768 cookieLifetime: "365", 769 crossDomainCookie: [], 770 cookieBeforeConsent: "", 771 cookiesForBots: "1", 772 cookieVersion: "1", 773 hideCookieBoxOnPages: [], 774 respectDoNotTrack: "", 775 reloadAfterConsent: "", 776 showCookieBox: "1", 777 cookieBoxIntegration: "javascript", 778 ignorePreSelectStatus: "1", 779 cookies: [] 780 }, e), 781 j = t, 782 S = n, 783 Y(), 784 _o(), 785 null === H.uid && (H.uid = co()), 786 I.cookieBeforeConsent && ("function" == typeof Object ? 0 === Object.entries(H.consents).length && Co() : console.log("Cookie before consent not supported in IE 11.")), 787 U(), 788 o(document).on("click", "[" + m + "]", bo), 789 o(document).on("click", "[" + p + "]", z), 790 o(document).on("click", f, z), 791 o(document).on("change", "[" + v + "]", q), 792 o("[" + _ + "]").length && yo(), 793 Bo(), 794 o("[" + L + "]").length && o("[" + L + "]").each((function() { 795 o(this).html(H.uid) 796 } 797 )), 798 !0) 799 }, U = function() { 800 o(c).length && "SCRIPT" === o(c)[0].tagName && o("body").append(o(c).html()), 801 o(document).on("click", "[" + d + "]", (function() { 802 Q(), 803 J() 804 } 805 )), 806 o(document).on("click", "[" + h + "]", (function() { 807 V() 808 } 809 )), 810 o(document).on("click", "[" + u + "]", (function() { 811 E() 812 } 813 )), 814 o(document).on("click", "[" + b + "]", (function() { 815 816 M() 817 } 818 )), 819 o(document).on("click", "[" + k + "]", (function() { 820 var e = []; 821 822 o(l + ":checked").each((function() { 823 -1 === e.indexOf(this.value) && (o(this).trigger("click"), 824 e.push(this.value)) 825 } 826 )), 827 Q(), 828 J() 829 } 830 )), 831 $(), 832 W(), 833 F(), 834 !0 === K() ? (ro(), 835 lo(), 836 ho()) : I.showCookieBox && (0 === I.hideCookieBoxOnPages.length || -1 === I.hideCookieBoxOnPages.indexOf(window.location.protocol + "//" + window.location.hostname + window.location.pathname) ? I.cookiesForBots && /bot|googlebot|crawler|spider|robot|crawling/i.test(navigator.userAgent.toLowerCase()) ? (Z(I.cookies, !1), 837 ro(), 838 lo(), 839 ho()) : I.respectDoNotTrack && void 0 !== navigator.doNotTrack && "1" === navigator.doNotTrack ? (Z({ 840 essential: I.cookies.essential 841 }, !1), 842 ro(), 843 lo(), 844 ho()) : G(!0) : (ro(), 845 lo(), 846 ho())) 847 }, G = function(e) { 848 o("body").addClass("ws-position-fix"), 849 void 0 === e && (e = !1); 850 var t = o(l) 851 , n = null; 852 return Object.keys(H.consents).length ? (o("[" + r + "]").each((function() { 853 -1 === Object.keys(H.consents).indexOf(this.dataset.wsCookieGroup) && o(this).addClass("ws-hide") 854 } 855 )), 856 t.length && "1" === I.boxLayoutAdvanced && t.each((function() { 857 n = this.value, 858 "string" == typeof this.dataset.wsCookieCheckbox && ("object" == typeof H.consents[n] ? o(this).prop("checked", !0) : o(this).prop("checked", !1)) 859 } 860 ))) : t.length && t.each((function() { 861 n = this.value, 862 "1" === I.boxLayoutAdvanced && "1" === I.ignorePreSelectStatus && !1 === P && "essential" !== n && (o(this).prop("checked", !1), 863 o(a + "[name='cookies[" + n + "][]']").prop("checked", !1).change()) 864 } 865 )), 866 I.blockContent ? (o(s + " > div").addClass("ws-block-content"), 867 I.animation ? (o(s + " > div").addClass("ws-bg-animation"), 868 setTimeout((function() { 869 o(s + " > div").addClass("ws-bg-dark") 870 } 871 ), 25)) : o(s + " > div").addClass("ws-bg-dark")) : o(".ws-" + I.boxLayout + "-wrap").addClass("ws-position-fixed"), 872 o(s + " > div").css("display", ""), 873 o(s + " > div").addClass("show-cookie-box"), 874 I.animation && o(s + " .ws-" + I.boxLayout).addClass("animated " + I.animationIn + (e && I.animationDelay ? " delay-1s" : "")), 875 !0 876 }, J = function() {
877 return I.animation && (o(s + " .ws-" + I.boxLayout).removeClass("delay-1s "), 878 o(s + " .ws-" + I.boxLayout).removeClass(I.animationIn), 879 o(s + " .ws-" + I.boxLayout).addClass(I.animationOut)), 880 o(s + " > div").addClass("ws-hide"), 881 I.blockContent ? o(s + " > div").removeClass("ws-bg-dark") : o(".ws-" + I.boxLayout + "-wrap").addClass("ws-position-fixed"), 882 setTimeout((function() { 883 o(".ws-" + I.boxLayout + "-wrap").removeAttr("style"), 884 o(".ws-" + I.boxLayout + " .cookie-box .container").removeAttr("style"), 885 o(".ws-" + I.boxLayout + " .cookie-preference .container").removeAttr("style"), 886 I.animation && (o(".ws-" + I.boxLayout).removeClass("animated"), 887 o(".ws-" + I.boxLayout).removeClass("delay-1s"), 888 o(".ws-" + I.boxLayout).removeClass(I.animationIn), 889 o(".ws-" + I.boxLayout).removeClass(I.animationOut)), 890 o(s + " > div").removeClass("show-cookie-box"), 891 I.blockContent && o(s + " > div").removeClass("ws-block-content") 892 } 893 ), I.animation ? 1e3 : 0), 894 o("body").removeClass("ws-position-fix"), 895 !0 896 }, M = function() { 897 var e = o(l) 898 , t = null 899 , n = null; 900 e.length && e.each((function() { 901 t = this.value, 902 Object.keys(H.consents).length ? !1 === P && (void 0 !== H.consents[t] ? (o(this).prop("checked", !0), 903 o(this).change(), 904 (n = o(a + "[name='cookies[" + t + "][]']")).each((function() { 905 -1 !== H.consents[t].indexOf(this.value) ? o(this).prop("checked", !0) : o(this).prop("checked", !1), 906 o(this).change() 907 } 908 ))) : (o(this).prop("checked", !1), 909 o(this).change(), 910 o(a + "[name='cookies[" + t + "][]']").prop("checked", !1).change())) : ("1" === I.ignorePreSelectStatus && !1 === P && (o(this).prop("checked", !1), 911 o(s + " [" + r + "='" + this.value + "']").addClass("ws-hide")), 912 o(this).change(), 913 (n = o(a + "[name='cookies[" + t + "][]']")).each((function() { 914 "1" === I.ignorePreSelectStatus && !1 === P && o(this).prop("checked", !1), 915 o(this).change() 916 } 917 ))) 918 } 919 )), 920 o(".ws-" + I.boxLayout + " .cookie-box .container").animate({ 921 height: 0, 922 opacity: 0 923 }, (function() { 924 o(".ws-" + I.boxLayout + "-wrap").animate({ 925 width: "100vw", 926 maxWidth: "box" === I.boxLayout ? "768px" : "100%" 927 }, "box" === I.boxLayout ? 400 : 0, (function() { 928 var e = o(".ws-" + I.boxLayout + " .cookie-preference .container")[0].scrollHeight; 929 o(".ws-" + I.boxLayout + " .cookie-preference .container").animate({ 930 height: "80vh", 931 maxHeight: e, 932 opacity: 1 933 }) 934 } 935 )) 936 } 937 )) 938 }, E = function() { 939 o(".ws-" + I.boxLayout + " .cookie-preference .container").animate({ 940 height: 0, 941 opacity: 0 942 }, (function() { 943 o(".ws-" + I.boxLayout + "-wrap").animate({ 944 maxWidth: "box" === I.boxLayout ? "375px" : "100%" 945 }, "box" === I.boxLayout ? 400 : 0, (function() { 946 var e = o(".ws-" + I.boxLayout + " .cookie-box .container")[0].scrollHeight + "px"; 947 o(".ws-" + I.boxLayout + " .cookie-box .container").animate({ 948 height: e, 949 opacity: 1 950 }) 951 } 952 )) 953 } 954 )) 955 }, z = function(e) { 956 return void 0 !== e && e.preventDefault(), 957 o(".ws-" + I.boxLayout + " .cookie-box .container").css("height", 0), 958 o(".ws-" + I.boxLayout + " .cookie-box .container").css("opacity", 0), 959 o(".ws-" + I.boxLayout + "-wrap").css({ 960 width: "100vw", 961 maxWidth: "box" === I.boxLayout ? "768px" : "100%" 962 }), 963 G(!1), 964 setTimeout((function() { 965 M() 966 } 967 ), 500), 968 !0 969 }, $ = function() { 970 o("[" + e + "]").on("click", "[" + i + "]", (function() { 971 var i = o(this).closest("[" + e + "]"); 972 i.find("[" + t + "]:visible").length && (i.find("[" + n + "='hide']").addClass("ws-hide"), 973 i.find("[" + n + "='show']").removeClass("ws-hide"), 974 i.find("[" + t + "]:visible").slideUp()), 975 i.find("[" + t + "='" + this.dataset.cookieAccordionTarget + "']:hidden").length && (o(this).children("[" + n + "='show']").addClass("ws-hide"), 976 o(this).children("[" + n + "='hide']").removeClass("ws-hide"), 977 i.find("[" + t + "='" + this.dataset.cookieAccordionTarget + "']").slideDown()) 978 } 979 )) 980 }, V = function() { 981 var e = o(l) 982 , t = null 983 , n = null; 984 e.length && e.each((function() { 985 t = this.value, 986 o(this).prop("checked", !0), 987 o(this).change(), 988 (n = o(a + "[name='cookies[" + t + "][]']")).each((function() { 989 o(this).prop("checked", !0), 990 o(this).change() 991 } 992 )) 993 } 994 )), 995 Q(), 996 J() 997 }, W = function() { 998 o(document).on("click", l, (function() { 999 P = !0, 1000 this.checked ? (o(a + "[name='cookies[" + this.value + "][]']").prop("checked", !0).change(), 1001 o(l + "[value='" + this.value + "']").prop("checked", !0), 1002 o(s + " [" + r + "='" + this.value + "']").length && o(s + " [" + r + "='" + this.value + "']").removeClass("ws-hide")) : (o(a + "[name='cookies[" + this.value + "][]']").prop("checked", !1).change(), 1003 o(l + "[value='" + this.value + "']").prop("checked", !1), 1004 o(s + " [" + r + "='" + this.value + "']").length && o(s + " [" + r + "='" + this.value + "']").addClass("ws-hide")) 1005 } 1006 )) 1007 }, F = function() { 1008 o(document).on("click", a + "[name^='cookies']", (function() { 1009 P = !0, 1010 this.checked && (o(l + "[value='" + this.dataset.cookieGroup + "']").prop("checked", !0).change(), 1011 o(s + " [" + r + "='" + this.dataset.cookieGroup + "']").length && o(s + " [" + r + "='" + this.dataset.cookieGroup + "']").removeClass("ws-hide")) 1012 } 1013 )) 1014 }, q = function() { 1015 !0 === this.checked ? (o(this).parent().parent().children(g).children().last(
1015).css("display", "none"), 1016 o(this).parent().parent().children(g).children().first().css("display", "inline-block")) : (o(this).parent().parent().children(g).children().first().css("display", "none"), 1017 o(this).parent().parent().children(g).children().last().css("display", "inline-block")) 1018 }, Q = function() { 1019 var e = { 1020 essential: I.cookies.essential 1021 } 1022 , t = o(l + ":checked") 1023 , n = o(a + "[name^='cookies']:checked"); 1024 if (t.length && (t.each((function() { 1025 this.value.length && new RegExp(/^[a-z-_]{3,}$/).test(this.value) && "essential" !== this.value && (e[this.value] = []) 1026 } 1027 )), 1028 n.length && n.each((function() { 1029 this.value.length && "string" == typeof this.dataset.cookieGroup && new RegExp(/^[a-z-_]{3,}$/).test(this.value) && new RegExp(/^[a-z-_]{3,}$/).test(this.dataset.cookieGroup) && e[this.dataset.cookieGroup].push(this.value) 1030 } 1031 ))), 1032 Object.keys(H.consents).length) 1033 for (var i in H.consents) 1034 if (void 0 !== e[i]) 1035 for (var s in H.consents[i]) 1036 -1 === e[i].indexOf(H.consents[i][s]) && uo(i, H.consents[i][s]); 1037 else if (void 0 !== j[i]) 1038 for (var c in j[i]) 1039 uo(i, c); 1040 Z(e, !1), 1041 "1" !== I.reloadAfterConsent && (ro(), 1042 lo(), 1043 ho()) 1044 }, K = function() { 1045 var o = !1; 1046 return "string" == typeof H.version && (H.version === I.cookieVersion ? o = !0 : H.consents = {}), 1047 o 1048 }, X = function(o, e) { 1049 var t = { 1050 name: "", 1051 value: "" 1052 }; 1053 if (void 0 === e && (e = !1), 1054 e && (o = o.replace("*", "")), 1055 document.cookie.length) 1056 for (var n = document.cookie.split(";"), i = 0; i < n.length; i++) 1057 try { 1058 n[i] = decodeURIComponent(n[i]); 1059 var a = n[i].split("=") 1060 , s = void 0 !== a[0] ? a[0].trim() : "" 1061 , c = void 0 !== a[1] ? a[1].trim() : ""; 1062 e ? -1 !== s.indexOf(o) && (t.name = s, 1063 t.value = c) : s === o && (t.name = s, 1064 t.value = c) 1065 } catch (o) { 1066 console.log("The cookie is spoiled:"), 1067 console.dir(n[i]), 1068 console.dir(o) 1069 } 1070 return t 1071 }, Y = function() { 1072 if (document.cookie.length) 1073 for (var o = document.cookie.split(";"), e = 0; e < o.length; e++) 1074 try { 1075 o[e] = decodeURIComponent(o[e]); 1076 var t = o[e].split("=") 1077 , n = void 0 !== t[0] ? t[0].trim() : "" 1078 , i = void 0 !== t[1] ? t[1].trim() : ""; 1079 if (n === N) { 1080 var a = JSON.parse(decodeURIComponent(i)); 1081 void 0 !== a.domainPath ? a.domainPath === I.cookieDomain + I.cookiePath && (H = a) : H = a 1082 } 1083 } catch (t) { 1084 console.log("The cookie is spoiled:"), 1085 console.dir(o[e]), 1086 console.dir(t) 1087 } 1088 return H 1089 }, Z = function(o, e) { 1090 var t = {} 1091 , n = "" 1092 , i = []; 1093 if (!1 === e || !1 === K()) { 1094 var a = new Date; 1095 a.setTime(a.getTime() + 24 * parseInt(I.cookieLifetime) * 60 * 60 * 1e3), 1096 n = a.toUTCString() 1097 } else 1098 n = H.expires; 1099 t.consents = o, 1100 t.domainPath = I.cookieDomain + I.cookiePath, 1101 t.expires = n, 1102 t.uid = H.uid, 1103 t.version = I.cookieVersion, 1104 void 0 === t.consents.essential && (t.consents.essential = I.cookies.essential), 1105 i.push(N + "=" + encodeURIComponent(JSON.stringify(t))), 1106 "" !== I.cookieDomain && "" === I.automaticCookieDomainAndPath && i.push("domain=" + I.cookieDomain), 1107 i.push("path=" + I.cookiePath), 1108 i.push("expires=" + n), 1109 document.cookie = i.join(";"), 1110 Y(), 1111 Co(), 1112 wo() 1113 }, oo = function(o, e, t) { 1114 var n = "" 1115 , i = {} 1116 , a = [] 1117 , s = "" 1118 , c = new Date; 1119 return null == e || !1 === e ? "" !== I.cookieDomain && "" === I.automaticCookieDomainAndPath && (n = I.cookieDomain) : n = e, 1120 void 0 === t && (t = !1), 1121 (i = X(o, t)).name.length && (a.push(i.name + "="), 1122 "" !== n && a.push("domain=" + n), 1123 a.push("path=" + I.cookiePath), 1124 c.setTime(c.getTime() - 864e5), 1125 s = c.toUTCString(), 1126 a.push("expires=" + s), 1127 document.cookie = a.join(";")), 1128 !0 1129 }, eo = function(o, e) { 1130 "string" == typeof o && o.length && new RegExp(/^[a-z-_]{3,}$/).test(o) && (void 0 === H.consents[o] && (H.consents[o] = []), 1131 "string" == typeof e && new RegExp(/^[a-z-_]{3,}$/).test(e) && -1 === H.consents[o].indexOf(e) && H.consents[o].push(e)), 1132 Z(H.consents, !0) 1133 }, to = function(o, e) { 1134 if ("string" == typeof o && o.length && new RegExp(/^[a-z-_]{3,}$/).test(o)) { 1135 var t = !0; 1136 "string" == typeof e && new RegExp(/^[a-z-_]{3,}$/).test(e) && void 0 !== H.consents[o] && -1 !== H.consents[o].indexOf(e) && (H.consents[o].splice(H.consents[o].indexOf(e), 1), 1137 t = !1), 1138 !0 === t && void 0 !== H.consents[o] && delete H.consents[o] 1139 } 1140 Object.keys(H.consents).length && Z(H.consents, !0) 1141 }, no = function(o, e) { 1142 return eo(o, e), 1143 !0 1144 }, io = function(o, e) { 1145 return to(o, e), 1146 uo(o, e), 1147 !0 1148 }, ao = function(o) { 1149 var e = !1; 1150 for (var t in H.consents) 1151 -1 !== H.consents[t].indexOf(o) && (e = !0); 1152 return e 1153 }, so, co = function() { 1154 function o() { 1155 var o = ""; 1156 if ("object" == typeof window.crypto) { 1157 var e = "abcdefhgihjklmnopqrstuvwxyz0123456789" 1158 , t = 0 1159 , n = new Uint32Array(4); 1160 for (window.crypto.getRandomValues(n); t < 4; t++)
1161 o += e[n[t] % 37] 1162 } else 1163 o = Math.floor(65536 * (1 + Math.random())).toString(16).substring(1); 1164 return o 1165 } 1166 return o() + o() + "-" + o() + o() + "-" + o() + o() + "-" + o() + o() 1167 }, ro = function() { 1168 for (var e in H.consents) 1169 for (var t in H.consents[e]) { 1170 var n = H.consents[e][t]; 1171 void 0 !== j[e] && void 0 !== j[e][n] && void 0 !== j[e][n].optInJS && (o("body").append(xo(j[e][n].optInJS)), 1172 j[e][n].optInJS = "") 1173 } 1174 }, lo = function() { 1175 o("[" + x + "='cookie-group']").each((function() { 1176 if (void 0 !== H.consents[this.dataset.wsCookieId]) { 1177 var e = ""; 1178 e = "javascript" === I.cookieBoxIntegration ? xo(this.firstChild.innerHTML) : xo(this.innerHTML), 1179 o(this).prev().length ? o(this).prev().after(e) : o(this).parent().prepend(e), 1180 this.parentNode.removeChild(this) 1181 } 1182 } 1183 )) 1184 }, ho = function() { 1185 o("[" + x + "='cookie']").each((function() { 1186 for (var e in H.consents) 1187 if (-1 !== H.consents[e].indexOf(this.dataset.wsCookieId)) { 1188 var t = ""; 1189 t = "javascript" === I.cookieBoxIntegration ? xo(this.firstChild.innerHTML) : xo(this.innerHTML), 1190 o(this).prev().length ? o(this).prev().after(t) : o(this).parent().prepend(t), 1191 this.parentNode.removeChild(this) 1192 } 1193 } 1194 )) 1195 }, uo = function(e, t) { 1196 void 0 !== j[e] && void 0 !== j[e][t] && void 0 !== j[e][t].optOutJS && (o("body").append(xo(j[e][t].optOutJS)), 1197 j[e][t].optOutJS = "") 1198 }, bo = function(e) { 1199 e.preventDefault(); 1200 var t = o(this).parents(".wsCookie"), n, i = "", a = null, s = !1; 1201 if (i = t.find("[" + x + "='content-blocker']")[0].dataset.wsCookieId, 1202 void 0 !== S[i] && void 0 !== S[i].settings.unblockAll && "1" === S[i].settings.unblockAll && (s = !0), 1203 (a = t.find(B)).length && (s = !!a[0].checked), 1204 s) 1205 for (var c in o("[" + x + "='content-blocker'][" + C + "='" + i + "']").each((function() { 1206 ko(o(this).parents(".wsCookie")) 1207 } 1208 )), 1209 I.cookies) 1210 -1 !== I.cookies[c].indexOf(i) && no(c, i); 1211 else 1212 ko(t) 1213 }, ko = function(o) { 1214 var e = o.find("[" + x + "='content-blocker']") 1215 , t = ""; 1216 if (e.length) { 1217 var n = ""; 1218 t = e[0].dataset.wsCookieId, 1219 void 0 !== S[t].settings.executeGlobalCodeBeforeUnblocking && "1" === S[t].settings.executeGlobalCodeBeforeUnblocking && void 0 === T[t] && (S[t].global(S[t]), 1220 T[t] = !0), 1221 n = "javascript" === I.cookieBoxIntegration ? xo(e[0].firstChild.innerHTML) : xo(e[0].innerHTML); 1222 var i = setInterval((function() { 1223 var e = !0; 1224 if (void 0 !== D[t]) { 1225 var a; 1226 if (void 0 !== D[t].scriptBlockerId) 1227 for (a in D[t].scriptBlockerId) 1228 !0 !== mo(D[t].scriptBlockerId[a], "scriptBlockerId") && (e = !1); 1229 if (void 0 !== D[t].scriptBlockerId) 1230 for (a in D[t].jsHandle) 1231 !0 !== mo(D[t].jsHandle[a], "jsHandle") && (e = !1) 1232 } 1233 !0 === e && (clearInterval(i), 1234 o.prev().length ? o.prev().after(n) : o.parent().prepend(n), 1235 void 0 !== S[t].settings.executeGlobalCodeBeforeUnblocking && "0" !== S[t].settings.executeGlobalCodeBeforeUnblocking || void 0 === T[t] && (S[t].global(S[t]), 1236 T[t] = !0), 1237 S[t].init(o.prev()[0], S[t]), 1238 o[0].parentNode.removeChild(o[0])) 1239 } 1240 ), 50) 1241 } 1242 }, po, fo = function(e) { 1243 var t = "[" + y + "='" + e + "']"; 1244 return o(t).length && (A.scriptBlockerId[e] = o(t).length, 1245 go(t, e, "scriptBlockerId")), 1246 !0 1247 }, vo = function(e) { 1248 var t = "[" + w + "='" + e + "']"; 1249 return o(t).length && (A.jsHandle[e] = o(t).length, 1250 go(t, e, "jsHandle")), 1251 !0 1252 }, go = function(e, t, n) { 1253 var i = o(e)[0]; 1254 if (void 0 !== i) { 1255 var a = document.createElement("script"); 1256 "string" == typeof i.dataset.websurfersScriptBlockerSrc ? (a.src = i.dataset.websurfersScriptBlockerSrc, 1257 a.onload = function() { 1258 A[n][t]--, 1259 go(e, t, n) 1260 } 1261 , 1262 i.parentNode.insertBefore(a, i), 1263 i.parentNode.removeChild(i)) : (a.type = "text/javascript", 1264 a.innerHTML = i.innerHTML, 1265 i.parentNode.insertBefore(a, i), 1266 i.parentNode.removeChild(i), 1267 A[n][t]--, 1268 go(e, t, n)) 1269 } 1270 return !0 1271 }, mo = function(o, e) { 1272 var t = !1; 1273 return void 0 !== A[e][o] && 0 === A[e][o] && (t = !0), 1274 t 1275 }, xo = function(o) { 1276 return decodeURIComponent(Array.prototype.map.call(window.atob(o), (function(o) { 1277 return "%" + ("00" + o.charCodeAt(0).toString(16)).slice(-2) 1278 } 1279 )).join("")) 1280 }, Co = function() { 1281 !1 === /bot|googlebot|crawler|spider|robot|crawling/i.test(navigator.userAgent.toLowerCase()) && o.aja
1281x(I.ajaxURL, { 1282 type: "POST", 1283 data: { 1284 action: "websurfers_cookie_handler", 1285 type: "log", 1286 language: I.language, 1287 cookieData: H 1288 } 1289 }).done((function() { 1290 I.reloadAfterConsent && Object.keys(H.consents).length > 0 && location.reload(!0) 1291 } 1292 )) 1293 }, wo = function() { 1294 if (I.crossDomainCookie.length) 1295 for (var e in I.crossDomainCookie) { 1296 var t = I.crossDomainCookie[e]; 1297 o("body").append('<iframe class="ws-hide" src="' + t + "?__wsCookieCall=cDC&cookieLang=" + I.language + "&cookieData=" + encodeURIComponent(JSON.stringify(H)) + '"></iframe>') 1298 } 1299 }, Bo = function() { 1300 o(O + " [name^='wsCookie']").each((function() { 1301 ao(this.value) ? this.checked = !0 : this.checked = !1, 1302 o(this).change() 1303 } 1304 )), 1305 o(document).on("change", O + " [name^='wsCookie']", (function() { 1306 this.checked ? no(this.dataset.cookieGroup, this.value) : io(this.dataset.cookieGroup, this.value) 1307 } 1308 )) 1309 }, Lo, _o = function() { 1310 /*if (Object.keys(j).length) 1311 for (var o in j) 1312 if (Object.keys(j[o]).length) 1313 for (var e in j[o]) 1314 if (void 0 !== j[o][e].settings && void 0 !== j[o][e].settings.blockCookiesBeforeConsent && "1" === j[o][e].settings.blockCookiesBeforeConsent && void 0 !== j[o][e].cookieNameList && !1 === ao(e)) 1315 for (var t in j[o][e].cookieNameList) 1316 oo(t, null, -1 !== t.indexOf("*"))*/ 1317 }; 1318 return { 1319 addConsent: no, 1320 allocateScriptBlockerToContentBlocker: function(o, e, t) { 1321 "scriptBlockerId" !== t && "jsHandle" !== t || (void 0 === D[o] && (D[o] = { 1322 scriptBlockerId: [], 1323 jsHandle: [] 1324 }), 1325 -1 === D[o][t].indexOf(e) && D[o][t].push(e)) 1326 }, 1327 checkCookieConsent: ao, 1328 checkCookieGroupConsent: function(o) { 1329 var e = !1; 1330 return void 0 !== H.consents[o] && (e = !0), 1331 e 1332 }, 1333 deleteCookie: oo, 1334 getCookie: Y, 1335 hideCookieBox: J, 1336 init: R, 1337 initSwitchConsentButtonStatus: Bo, 1338 openCookiePreference: z, 1339 removeConsent: io, 1340 showCookieBox: G, 1341 unblockContentId: function(e) { 1342 o("[" + x + "='content-blocker'][" + C + "='" + e + "']").each((function() { 1343 ko(o(this).parents(".wsCookie")) 1344 } 1345 )) 1346 }, 1347 unblockScriptBlockerId: fo, 1348 unblockScriptBlockerJSHandle: vo 1349 } 1350 }() 1351}(jQuery); 1352 1353 1354 1355try { 1356 1357jQuery(document).ready(function() { 1358 var wsCookieContentBlocker = { 1359 "facebook": { 1360 "id": "facebook", 1361 "global": function(contentBlockerData) {}, 1362 "init": function(el, contentBlockerData) { 1363 if (typeof FB === "object") { 1364 FB.XFBML.parse(el.parentElement); 1365 } 1366 }, 1367 "settings": { 1368 "executeGlobalCodeBeforeUnblocking": false 1369 } 1370 }, 1371 "default": { 1372 "id": "default", 1373 "global": function(contentBlockerData) {}, 1374 "init": function(el, contentBlockerData) {}, 1375 "settings": { 1376 "executeGlobalCodeBeforeUnblocking": false 1377 } 1378 }, 1379 "googlemaps": { 1380 "id": "googlemaps", 1381 "global": function(contentBlockerData) {}, 1382 "init": function(el, contentBlockerData) {}, 1383 "settings": { 1384 "executeGlobalCodeBeforeUnblocking": false 1385 } 1386 }, 1387 "instagram": { 1388 "id": "instagram", 1389 "global": function(contentBlockerData) {}, 1390 "init": function(el, contentBlockerData) { 1391 if (typeof instgrm === "object") { 1392 instgrm.Embeds.process(); 1393 } 1394 }, 1395 "settings": { 1396 "executeGlobalCodeBeforeUnblocking": false 1397 } 1398 }, 1399 "openstreetmap": { 1400 "id": "openstreetmap", 1401 "global": function(contentBlockerData) {}, 1402 "init": function(el, contentBlockerData) {}, 1403 "settings": { 1404 "executeGlobalCodeBeforeUnblocking": false 1405 } 1406 }, 1407 "twitter": { 1408 "id": "twitter", 1409 "global": function(contentBlockerData) {}, 1410 "init": function(el, contentBlockerData) {}, 1411 "settings": { 1412 "executeGlobalCodeBeforeUnblocking": false 1413 } 1414 }, 1415 "vimeo": { 1416 "id": "vimeo", 1417 "global": function(contentBlockerData) {}, 1418 "init": function(el, contentBlockerData) {}, 1419 "settings": { 1420 "executeGlobalCodeBeforeUnblocking": false,
1421 "saveThumbnails": false, 1422 "videoWrapper": false 1423 } 1424 }, 1425 "youtube": { 1426 "id": "youtube", 1427 "global": function(contentBlockerData) {}, 1428 "init": function(el, contentBlockerData) {}, 1429 "settings": { 1430 "executeGlobalCodeBeforeUnblocking": false, 1431 "changeURLToNoCookie": false, 1432 "saveThumbnails": false, 1433 "thumbnailQuality": "maxresdefault", 1434 "videoWrapper": false 1435 } 1436 } 1437 }; 1438 (function() { 1439 var wsCookieLoaded = null; 1440 var wsCookieInit = false; 1441 var wsCookieCheck = function() { 1442 if (typeof window.wsCookie === "object" && wsCookieInit === false) { 1443 wsCookieInit = true; 1444 clearInterval(wsCookieLoaded); 1445 window.wsCookie.init( wsCookieContentBlocker); 1446 } 1447 }; 1448 wsCookieLoaded = setInterval(wsCookieCheck, 50); 1449 wsCookieCheck(); 1450 } 1451 )(); 1452}); 1453} catch (e) { 1454console.error("An error has occurred: " + e.message); 1455} 1456 1457 }); 1458 1459 })(jQuery);
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.