PageSourceSearch

https://susanne-schaffer.de/files/schaffer/layout/scripts/cookieconsent/cookie.js?v=b1517b2b

js susanne-schaffer.de collected 2026-10-02 06:36:03 UTC 57,622 bytes, 1,459 lines download raw bytes

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.