PageSourceSearch

https://ambrosiusostbevern.de/typo3temp/assets/compressed/merged-5…a620042682913396a4314c9f3ff5d.js?1744182018

js ambrosiusostbevern.de collected 2026-10-02 21:54:22 UTC 29,440 bytes, 908 lines download raw bytes

vendor: 4,910 bytes, lines 1-127
1
2/*!
3 * Lightbox v2.9.0
4 * by Lokesh Dhakar
5 *
6 * More info:
7 * http://lokeshdhakar.com/projects/lightbox2/
8 *
9 * Copyright 2007, 2015 Lokesh Dhakar
10 * Released under the MIT license
11 * https://github.com/lokesh/lightbox2/blob/master/LICENSE
12 *
13 * @preserve
14 */
15
16// Uses Node, AMD or browser globals to create a module.
17(function (root, factory) {
18    if (typeof define === 'function' && define.amd) {
19        // AMD. Register as an anonymous module.
20        define(['jquery'], factory);
21    } else if (typeof exports === 'object') {
22        // Node. Does not work with strict CommonJS, but
23        // only CommonJS-like environments that support module.exports,
24        // like Node.
25        module.exports = factory(require('jquery'));
26    } else {
27        // Browser globals (root is window)
28        root.lightbox = factory(root.jQuery);
29    }
30}(this, function ($) {
31
32  function Lightbox(options) {
33    this.album = [];
34    this.currentImageIndex = void 0;
35    this.init();
36
37    // options
38    this.options = $.extend({}, this.constructor.defaults);
39    this.option(options);
40  }
41
42  // Descriptions of all options available on the demo site:
43  // http://lokeshdhakar.com/projects/lightbox2/index.html#options
44  Lightbox.defaults = {
45    albumLabel: 'Image %1 of %2',
46    alwaysShowNavOnTouchDevices: false,
47    fadeDuration: 600,
48    fitImagesInViewport: true,
49    imageFadeDuration: 600,
50    // maxWidth: 800,
51    // maxHeight: 600,
52    positionFromTop: 50,
53    resizeDuration: 700,
54    showImageNumberLabel: true,
55    wrapAround: false,
56    disableScrolling: true,
57    /*
58    Sanitize Title
59    If the caption data is trusted, for example you are hardcoding it in, then leave this to false.
60    This will free you to add html tags, such as links, in the caption.
61
62    If the caption data is user submitted or from some other untrusted source, then set this to true
63    to prevent xss and other injection attacks.
64     */
65    sanitizeTitle: false
66  };
67
68  Lightbox.prototype.option = function(options) {
69    $.extend(this.options, options);
70  };
71
72  Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) {
73    return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages);
74  };
75
76  Lightbox.prototype.init = function() {
77    var self = this;
78    // Both enable and build methods require the body tag to be in the DOM.
79    $(document).ready(function() {
80      self.enable();
81      self.build();
82    });
83  };
84
85  // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
86  // that contain 'lightbox'. When these are clicked, start lightbox.
87  Lightbox.prototype.enable = function() {
88    var self = this;
89    $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
90      self.start($(event.currentTarget));
91      return false;
92    });
93  };
94
95  // Build html for the lightbox and the overlay.
96  // Attach event handlers to the new DOM elements. click click click
97  Lightbox.prototype.build = function() {
98    var self = this;
99    $('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo($('body'));
100
101    // Cache jQuery objects
102    this.$lightbox       = $('#lightbox');
103    this.$overlay        = $('#lightboxOverlay');
104    this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
105    this.$container      = this.$lightbox.find('.lb-container');
106    this.$image          = this.$lightbox.find('.lb-image');
107    this.$nav            = this.$lightbox.find('.lb-nav');
108
109    // Store css values for future lookup
110    this.containerPadding = {
111      top: parseInt(this.$container.css('padding-top'), 10),
112      right: parseInt(this.$container.css('padding-right'), 10),
113      bottom: parseInt(this.$container.css('padding-bottom'), 10),
114      left: parseInt(this.$container.css('padding-left'), 10)
115    };
116
117    this.imageBorderWidth = {
118      top: parseInt(this.$image.css('border-top-width'), 10),
119      right: parseInt(this.$image.css('border-right-width'), 10),
120      bottom: parseInt(this.$image.css('border-bottom-width'), 10),
121      left: parseInt(this.$image.css('border-left-width'), 10)
122    };
123
124    // Attach event handlers to the newly minted DOM elements
125    this.$overlay.hide().on('click', function() {
126      self.end();
127      return false;
128    });
129
130    this.$lightbox.hide().on('click', function(event) {
131      if ($(event.target).attr('id') === 'lightbox') {
132        self.end();
133      }
134      return false;
135    });
136
137    this.$outerContainer.on('click', function(event) {
138      if ($(event.target).attr('id') === 'lightbox') {
139        self.end();
140      }
141      return false;
142    });
143
144    this.$lightbox.find('.lb-prev').on('click', function() {
145      if (self.currentImageIndex === 0) {
146        self.changeImage(self.album.length - 1);
147      } else {
148        self.changeImage(self.currentImageIndex - 1);
149      }
150      return false;
151    });
152
153    this.$lightbox.find('.lb-next').on('click', function() {
154      if (self.currentImageIndex === self.album.length - 1) {
155        self.changeImage(0);
156      } else {
157        self.changeImage(self.currentImageIndex + 1);
158      }
159      return false;
160    });
161
162    /*
163      Show context menu for image on right-click
164
165      There is a div containing the navigation that spans the entire image and lives above of it. If
166      you right-click, you are right clicking this div and not the image. This prevents users from
167      saving the image or using other context menu actions with the image.
168
169      To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we
170      set pointer-events to none on the nav div. This is so that the upcoming right-click event on
171      the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs
172      we set the pointer events back to auto for the nav div so it can capture hover and left-click
173      events as usual.
174     */
175    this.$nav.on('mousedown', function(event) {
176      if (event.which === 3) {
177        self.$nav.css('pointer-events', 'none');
178
179        self.$lightbox.one('contextmenu', function() {
180          setTimeout(function() {
181              this.$nav.css('pointer-events', 'auto');
182          }.bind(self), 0);
183        });
184      }
185    });
186
187
188    this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
189      self.end();
190      return false;
191    });
192  };
193
194  // Show overlay and lightbox. If the image is part of a set, add siblings to album array.
195  Lightbox.prototype.start = function($link) {
196    var self    = this;
197    var $window = $(window);
198
199    $window.on('resize', $.proxy(this.sizeOverlay, this));
200
201    $('select, object, embed').css({
202      visibility: 'hidden'
203    });
204
205    this.sizeOverlay();
206
207    this.album = [];
208    var imageNumber = 0;
209
210    function addToAlbum($link) {
211      self.album.push({
212        link: $link.attr('href'),
213        title: $link.attr('data-title') || $link.attr('title')
214      });
215    }
216
217    // Support both data-lightbox attribute and rel attribute implementations
218    var dataLightboxValue = $link.attr('data-lightbox');
219    var $links;
220
221    if (dataLightboxValue) {
222      $links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
223      for (var i = 0; i < $links.length; i = ++i) {
224        addToAlbum($($links[i]));
225        if ($links[i] === $link[0]) {
226          imageNumber = i;
227        }
228      }
229    } else {
230      if ($link.attr('rel') === 'lightbox') {
231        // If image is not part of a set
232        addToAlbum($link);
233      } else {
234        // If image is part of a set
235        $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
236        for (var j = 0; j < $links.length; j = ++j) {
237          addToAlbum($($links[j]));
238          if ($links[j] === $link[0]) {
239            imageNumber = j;
240          }
241        }
242      }
243    }
244
245    // Position Lightbox
246    var top  = $window.scrollTop() + this.options.positionFromTop;
247    var left = $window.scrollLeft();
248    this.$lightbox.css({
249      top: top + 'px',
250      left: left + 'px'
251    }).fadeIn(this.options.fadeDuration);
252
253    // Disable scrolling of the page while open
254    if (this.options.disableScrolling) {
255      $('body').addClass('lb-disable-scrolling');
256    }
257
258    this.changeImage(imageNumber);
259  };
260
261  // Hide most UI elements in preparation for the animated resizing of the lightbox.
262  Lightbox.prototype.changeImage = function(imageNumber) {
263    var self = this;
264
265    this.disableKeyboardNav();
266    var $image = this.$lightbox.find('.lb-image');
267
268    this.$overlay.fadeIn(this.options.fadeDuration);
269
270    $('.lb-loader').fadeIn('slow');
271    this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
272
273    this.$outerContainer.addClass('animating');
274
275    // When image to show is preloaded, we send the width and height to sizeContainer()
276    var preloader = new Image();
277    preloader.onload = function() {
278      var $preloader;
279      var imageHeight;
280      var imageWidth;
281      var maxImageHeight;
282      var maxImageWidth;
283      var windowHeight;
284      var windowWidth;
285
286      $image.attr('src', self.album[imageNumber].link);
287
288      $preloader = $(preloader);
289
290      $image.width(preloader.width);
291      $image.height(preloader.height);
292
293      if (self.options.fitImagesInViewport) {
294        // Fit image inside the viewport.
295        // Take into account the border around the image and an additional 10px gutter on each side.
296
297        windowWidth    = $(window).width();
298        windowHeight   = $(window).height();
299        maxImageWidth  = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20;
300        maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120;
301
302        // Check if image size is larger then maxWidth|maxHeight in settings
303        if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) {
304          maxImageWidth = self.options.maxWidth;
305        }
306        if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) {
307          maxImageHeight = self.options.maxHeight;
308        }
309
310        // Is the current image's width or height is greater than the maxImageWidth or maxImageHeight
311        // option than we need to size down while maintaining the aspect ratio.
312        if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
313          if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
314            imageWidth  = maxImageWidth;
315            imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
316            $image.width(imageWidth);
317            $image.height(imageHeight);
318          } else {
319            imageHeight = maxImageHeight;
320            imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
321            $image.width(imageWidth);
322            $image.height(imageHeight);
323          }
324        }
325      }
326      self.sizeContainer($image.width(), $image.height());
327    };
328
329    preloader.src          = this.album[imageNumber].link;
330    this.currentImageIndex = imageNumber;
331  };
332
333  // Stretch overlay to fit the viewport
334  Lightbox.prototype.sizeOverlay = function() {
335    this.$overlay
336      .width($(document).width())
337      .height($(document).height());
338  };
339
340  // Animate the size of the lightbox to fit the image we are showing
341  Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
342    var self = this;
343
344    var oldWidth  = this.$outerContainer.outerWidth();
345    var oldHeight = this.$outerContainer.outerHeight();
346    var newWidth  = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right;
347    var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom;
348
349    function postResize() {
350      self.$lightbox.find('.lb-dataContainer').width(newWidth);
351      self.$lightbox.find('.lb-prevLink').height(newHeight);
352      self.$lightbox.find('.lb-nextLink').height(newHeight);
353      self.showImage();
354    }
355
356    if (oldWidth !== newWidth || oldHeight !== newHeight) {
357      this.$outerContainer.animate({
358        width: newWidth,
359        height: newHeight
360      }, this.options.resizeDuration, 'swing', function() {
361        postResize();
362      });
363    } else {
364      postResize();
365    }
366  };
367
368  // Display the image and its details and begin preload neighboring images.
369  Lightbox.prototype.showImage = function() {
370    this.$lightbox.find('.lb-loader').stop(true).hide();
371    this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration);
372
373    this.updateNav();
374    this.updateDetails();
375    this.preloadNeighboringImages();
376    this.enableKeyboardNav();
377  };
378
379  // Display previous and next navigation if appropriate.
380  Lightbox.prototype.updateNav = function() {
381    // Check to see if the browser supports touch events. If so, we take the conservative approach
382    // and assume that mouse hover events are not supported and always show prev/next navigation
383    // arrows in image sets.
384    var alwaysShowNav = false;
385    try {
386      document.createEvent('TouchEvent');
387      alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;
388    } catch (e) {}
389
390    this.$lightbox.find('.lb-nav').show();
391
392    if (this.album.length > 1) {
393      if (this.options.wrapAround) {
394        if (alwaysShowNav) {
395          this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
396        }
397        this.$lightbox.find('.lb-prev, .lb-next').show();
398      } else {
399        if (this.currentImageIndex > 0) {
400          this.$lightbox.find('.lb-prev').show();
401          if (alwaysShowNav) {
402            this.$lightbox.find('.lb-prev').css('opacity', '1');
403          }
404        }
405        if (this.currentImageIndex < this.album.length - 1) {
406          this.$lightbox.find('.lb-next').show();
407          if (alwaysShowNav) {
408            this.$lightbox.find('.lb-next').css('opacity', '1');
409          }
410        }
411      }
412    }
413  };
414
415  // Display caption, image number, and closing button.
416  Lightbox.prototype.updateDetails = function() {
417    var self = this;
418
419    // Enable anchor clicks in the injected caption html.
420    // Thanks Nate Wright for the fix. @https://github.com/NateWr
421    if (typeof this.album[this.currentImageIndex].title !== 'undefined' &&
422      this.album[this.currentImageIndex].title !== '') {
423      var $caption = this.$lightbox.find('.lb-caption');
424      if (this.options.sanitizeTitle) {
425        $caption.text(this.album[this.currentImageIndex].title);
426      } else {
427        $caption.html(this.album[this.currentImageIndex].title);
428      }
429      $caption.fadeIn('fast')
430        .find('a').on('click', function(event) {
431          if ($(this).attr('target') !== undefined) {
432            window.open($(this).attr('href'), $(this).attr('target'));
433          } else {
434            location.href = $(this).attr('href');
435          }
436        });
437    }
438
439    if (this.album.length > 1 && this.options.showImageNumberLabel) {
440      var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
441      this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
442    } else {
443      this.$lightbox.find('.lb-number').hide();
444    }
445
446    this.$outerContainer.removeClass('animating');
447
448    this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
449      return self.sizeOverlay();
450    });
451  };
452
453  // Preload previous and next images in set.
454  Lightbox.prototype.preloadNeighboringImages = function() {
455    if (this.album.length > this.currentImageIndex + 1) {
456      var preloadNext = new Image();
457      preloadNext.src = this.album[this.currentImageIndex + 1].link;
458    }
459    if (this.currentImageIndex > 0) {
460      var preloadPrev = new Image();
461      preloadPrev.src = this.album[this.currentImageIndex - 1].link;
462    }
463  };
464
465  Lightbox.prototype.enableKeyboardNav = function() {
466    $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
467  };
468
469  Lightbox.prototype.disableKeyboardNav = function() {
470    $(document).off('.keyboard');
471  };
472
473  Lightbox.prototype.keyboardAction = function(event) {
474    var KEYCODE_ESC        = 27;
475    var KEYCODE_LEFTARROW  = 37;
476    var KEYCODE_RIGHTARROW = 39;
477
478    var keycode = event.keyCode;
479    var key     = String.fromCharCode(keycode).toLowerCase();
480    if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
481      this.end();
482    } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
483      if (this.currentImageIndex !== 0) {
484        this.changeImage(this.currentImageIndex - 1);
485      } else if (this.options.wrapAround && this.album.length > 1) {
486        this.changeImage(this.album.length - 1);
487      }
488    } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
489      if (this.currentImageIndex !== this.album.length - 1) {
490        this.changeImage(this.currentImageIndex + 1);
491      } else if (this.options.wrapAround && this.album.length > 1) {
492        this.changeImage(0);
493      }
494    }
495  };
496
497  // Closing time. :-(
498  Lightbox.prototype.end = function() {
499    this.disableKeyboardNav();
500    $(window).off('resize', this.sizeOverlay);
501    this.$lightbox.fadeOut(this.options.fadeDuration);
502    this.$overlay.fadeOut(this.options.fadeDuration);
503    $('select, object, embed').css({
504      visibility: 'visible'
505    });
506    if (this.options.disableScrolling) {
507      $('body').removeClass('lb-disable-scrolling');
508    }
509  };
510
511  return new Lightbox();
512}));
513
514function setCookie(cname, cvalue, exdays) {
515  var d = new Date();
516  var maxage = "max-age="+ 24 * 60 * 60 * 365;
517
518  document.cookie = cname + "=" + cvalue + "ts" + Date.now() +   ";" + maxage + ";path=/";
519}
520
521function getCookie(cname) {
522  var name = cname + "=";
523  var ca = document.cookie.split(';');
524  for(var i = 0; i < ca.length; i++) {
525    var c = ca[i];
526    while (c.charAt(0) == ' ') {
527      c = c.substring(1);
528    }
529    if (c.indexOf(name) == 0) {
530      return c.substring(name.length, c.length);
531    }
532  }
533  return "";
534}
535
536$(document).ready(function(){ 
537$('.waconcookiemanagement').prependTo("body");
538 var res = getCookie("waconcookiemanagement");
539 resc= res.split("ts");
540 wert= resc[0];
541  if (wert != "") {
542    if (wert == "max") {
543  
544      $(".cookie-on").show();
545      $(".cookie-off").hide();
546
547    }
548    else{
549
550      res= wert.split("c");
551       jQuery.each( res, function( i, val ) {
552         if(val=='max'){}
553         else{
554           $( ".cookie-on.cookie" + val ).show();
555           $( ".cookie-off.cookie" + val ).hide();
556         }
557       });
558    }
559  } else {
560    if(!$(".waconcookiemanagement").hasClass("firsthidden")){
561      $(".waconcookiemanagement").show();
562      //setCookie("waconcookiemanagement", "min", Date.now());
563      $(".cookieclose").hide();
564    }
565  }
566});
567
568$(".cookie-set").click(function(){ 
569  var res = getCookie("waconcookiemanagement");
570  resc= res.split("ts");
571  wert= resc[0];
572  if (wert != "") {
573    if (wert == "max") {
574    
575      $(".cookie-on").show();
576      $(".cookie-off").hide();
577
578    }
579    else{
580
581      res= wert.split("c");
582       jQuery.each( res, function( i, val ) {
583         $( ".cookie-on.cookie" + val ).show();
584         $( ".cookie-off.cookie" + val ).hide();
585       });
586    }
587  } 
588  $(".waconcookiemanagement").show();
589  if($(this).hasClass('cookiecontent')){
590    $( ".box-cookie-management" ).show();
591    $( ".cookie-fix" ).show();
592    var varGes = $('#CookieBox').height();
593    var varFix = $('.cookie-fix').height();
594    var neuHeight = varGes - varFix - 100;
595    if(neuHeight >= 300){$('.box-cookie-management').height(neuHeight);}
596    if(neuHeight < 300){$('#CookieBox').css("overflow","auto");}
597    
598    $(".intro").hide();
599    for (i = 0; i < 30; i++) {
600      if($(this).hasClass("cookieuid-" + i)){
601        $(".cookieinfo-" + i).parent().show();
602      }
603      
604     }
605  }
606
607});
608
609
610$( ".cookie-save" ).click(function() {
611  wert = "";
612  var i;
613  for (i = 0; i < 40; i++) {
614    if($(".cookie-on.cookie"+i).css("display") == "block"){
615      wert += "c" + i;
616    }
617  }
618  if (wert == "") {wert = "min";}
619  setCookie("waconcookiemanagement", wert, Date.now());
620  $(".waconcookiemanagement").hide();
621  location.reload();
622});
623
624$( ".cookie-accept" ).click(function() {
625  setCookie("waconcookiemanagement", "max", Date.now());
626  $(".waconcookiemanagement").hide();
627  location.reload();
628});
629$( ".cookie-refuse" ).click(function() {
630  setCookie("waconcookiemanagement", "min", Date.now());
631  $(".waconcookiemanagement").hide();
632  location.reload();
633});
634
635$( ".cookie-management" ).click(function() {
636  $( ".box-cookie-management" ).show();
637  $( ".cookie-fix" ).show();
638  var varGes = $('#CookieBox').height();
639  var varFix = $('.cookie-fix').height();
640  var neuHeight = varGes - varFix - 100;
641  if(neuHeight >= 300){$('.box-cookie-management').height(neuHeight);}
642  if(neuHeight < 300){$('#CookieBox').css("overflow","auto");}
643  
644  $(".intro").hide();
645});
646$( ".cookieback" ).click(function() {
647  $( ".box-cookie-management" ).hide();
648  $( ".cookie-fix" ).hide();
649  
650 $(".intro").show();
651});
652
653$( ".show-n" ).click(function() {
654  $( ".box-cookie-management" ).show();
655  $(".cookie-n").next().show();
656  $(".cookie-n").hide();
657  $(".intro").hide();
658
659});
660$( ".show-m" ).click(function() {
661  $( ".box-cookie-management" ).show();
662  $(".cookie-m").next().show();
663  $(".cookie-m").hide();
664  $(".intro").hide();
665
666});
667$( ".show-s" ).click(function() {
668  $( ".box-cookie-management" ).show();
669  $(".cookie-s").next().show();
670  $(".cookie-s").hide();
671  $(".intro").hide();
672
673});
674$( ".show-e" ).click(function() {
675  $( ".box-cookie-management" ).show();
676  $(".cookie-e").next().show();
677  $(".cookie-e").hide();
678  $(".intro").hide();
679
680});
681$( ".cookie-on.cookiecat" ).click(function() {
682  $(this).parent().find(".cookie-off").show();
683  $(this).parent().find(".cookie-on").hide();
684});
685$( ".cookie-off.cookiecat" ).click(function() {
686  $(this).parent().find(".cookie-on").show();
687  $(this).parent().find(".cookie-off").hide();
688});
689
690
691$( ".cookie-info .cookie-on" ).click(function() {
692  $(this).prev().show();
693  $(this).hide();
694  var children=$(this).parent().parent().children();
695  var cookieoff = 0;
696  for(var i=0;i<children.length;i++){
697    if(children.eq(i).find(".cookie-off").css("display") == "none"){
698      cookieoff += 1;
699    }
700  }
701  if(cookieoff==0){
702    $(this).parent().parent().parent().find(".cookie-off.cookiecat").show();
703    $(this).parent().parent().parent().find(".cookie-on.cookiecat").hide();
704  }
705});
706$( ".cookie-info .cookie-off" ).click(function() {
707  $(this).next().show();
708  $(this).hide();
709  $(this).parent().parent().parent().find(".cookie-off.cookiecat").hide();
710  $(this).parent().parent().parent().find(".cookie-on.cookiecat").show();
711});
712
713$( ".info-show" ).click(function() {
714  $(this).next().show();
715  $(this).hide();
716
717});
718$( ".info-hide" ).click(function() {
719  $(this).parent().hide();
720  $(this).parent().prev().show();
721});
722$( ".cookieclose" ).click(function() {
723$(".waconcookiemanagement").hide();
724});
725var $menu = $('#CookieBox');
726$(".waconcookiemanagement").on('click', function (e) {
727  var wert = getCookie("waconcookiemanagement");
728  if (wert != "") {
729    // If element is opened and click target is outside it, hide it
730    if ($menu.is(':visible') && !$menu.is(e.target) && !$menu.has(e.target).length) {
731      $(".waconcookiemanagement").hide();
732    }
733  }
734});
735$(function() {
736
737  $.datepicker.setDefaults(
738    $.extend(
739      {'dateFormat':'dd.mm.yy'},
740      $.datepicker.regional['de']
741    )
742  );
743
744  $('.newsslider .frame .news').flexslider({
745    animation: "slide",
746    selector: '.news-list-view > .article',
747    itemWidth: 379.5,
748    minItems: 1,
749    maxItems: 3,
750    itemMargin: 5,
751    move: 1
752  });
753
754
755  $(window).scroll(function() {
756    if($(this).scrollTop() > 700) {
757      $('#backtotop').fadeIn();
758    } else {
759      $('#backtotop').fadeOut();
760    }
761  });
762
763  $('#backtotop').click(function() {
764    $('body,html').animate({scrollTop:0},800);
765  });
766
767  $( ".container.bg_image *" ).each(function( index ) {
768    if ((bgcolor = $(this).css('background-color')) != 'rgba(0, 0, 0, 0)') {
769      bgcolor = bgcolor.replace(/rgb\(/g, 'rgba(').replace(')', ', 0.8)');
770      $(this).css('background-color', bgcolor);
771    }
772  });
773
774
775
776});
777
778function kachel_back(kachel) {
779  kachel.find('h1, h2, h3, h4, h5, h6').css('visibility', 'hidden');
780  kachel.find('.ce-gallery').animate({ opacity: '0' }, 50, function () {
781    $(this).css('visibility', 'hidden');
782  });
783  kachel.find('.ce-bodytext').css('visibility', 'visible');
784}
785
786function kachel_front(kachel) {
787  kachel.find('.ce-bodytext').css('visibility', 'hidden');
788  kachel.find('.ce-gallery').css('visibility', 'visible');
789  kachel.find('.ce-gallery').animate({ opacity: '1' }, 50);
790  kachel.find('h1, h2, h3, h4, h5, h6').css('visibility', 'visible');
791}
792
793$('.kacheln .frame').hover(
794  function () {
795    kachel_back($(this));
796  }
797  , function () {
798    kachel_front($(this));
799  }
800);
801
802$('.kacheln .frame .ce-gallery').click(
803  function () {
804    $('.kacheln .frame').each(function () {
805      kachel_front($(this));
806    });
807    kachel_back($(this).parent().parent());
808  }
809);
810
811$('.kacheln .frame .ce-textpic').click(
812  function (e) {
813
814    if (e.target.localName != 'a') {
815      anchor = $(this).prev().children('a');
816      if (anchor.length == 1) {
817        link = anchor[0].href;
818        if (anchor[0].target == "_blank") {
819          window.open(link);
820        } else {
821          document.location.href = link;
822        }
823      }
824    }
825  }
826);
827
828$(function() {
829  $( "main" ).accordion({
830    header: ".accordion > .frame > :nth-child(2)",
831    active: false,
832    collapsible: true,
833    heightStyle: "content",
834    icons: { "header": "fas fa-plus", "activeHeader": "fas fa-plus" }
835  });
836  
837  $hash = window.location.hash.replace('#', '');
838  $('[name="' + $hash + '"] + .ui-accordion-header').click();
839  $(window).on('hashchange', function() {
840    $hash = window.location.hash.replace('#', '');
841    $('[name="' + $hash + '"] + .ui-accordion-header').click();
842  });
843  
844});
845    $('#extra_menu > .dropdown > li.sub > a').mouseover(function(event){
846      $(this).next('ul').show();
847});
848    $('#extra_menu > .dropdown > li.sub > a').mouseout(function(event){
849      $(this).next('ul').hide();
850});
851    $('#extra_menu > .dropdown > li.sub >
851 ul').mouseover(function(event){
852      $(this).show();
853});
854    $('#extra_menu > .dropdown > li.sub > ul').mouseout(function(event){
855      $(this).hide();
856}); 
857
858$('#main_menu > #menupanel > ul > li.active > ul').addClass('panel_visible');
859if ($('#main_menu > #menupanel > ul > li.active > ul.panel_visible').length) {
860  $('#main_menu > #menupanel > .main_menu').addClass('panel_visible');
861}
862
863$('#main_menu > #menupanel > ul > li.sub > a').click(function(event){
864  $('#main_menu > #menupanel > ul > li.sub > ul').removeClass('panel_visible');
865  $('#main_menu > #menupanel > ul > li.sub > a').removeClass('mainentry_selected');
866  $(this).next('ul').addClass('panel_visible');
867  $(this).addClass('mainentry_selected');
868  $('#main_menu > #menupanel > .main_menu').addClass('panel_visible');
869  return false;
870});
871
872$('#main_menu > #menupanel > ul > li.sub > ul').click(function(event){
873  $(this).removeClass('panel_visible');
874  $('#main_menu > #menupanel > ul > li.sub > a').removeClass('mainentry_selected');
875  $('#main_menu > #menupanel > .main_menu').removeClass('panel_visible');
876});
877
878$('#main_menu > #menupanel > ul > li.sub > ul > li > a').click(function(event){
879  $('#menupanel').hide();
880  $('.icon_close').hide();
881  $('.icon_open').show();
882});
883
884
885$(window).scroll(
886  function() {
887    if ($(this).scrollTop() > 1) {
888      $('header .static:first-child > div:first-child').addClass('stick');
889    } else {
890      $('header .static:first-child > div:first-child').removeClass('stick');
891    }
892  }
893);
894
895lightbox.options.albumLabel = 'Bild %1 von %2';
896
897  var _paq = _paq || [];
898  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
899  _paq.push(['disableCookies']);
900  _paq.push(['trackPageView']);
901  _paq.push(['enableLinkTracking']);
902  (function() {
903    var u="https://statistik.kampanile.de/";
904    _paq.push(['setTrackerUrl', u+'piwik.php']);
905    _paq.push(['setSiteId', '239']);
906    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
907    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
908  })();

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.