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.