1function youtubeEmbedUrl(idOrUrl) { 2 var value = String(idOrUrl || '').trim(); 3 if (!value) { 4 return ''; 5 } 6 var match = value.match(/(?:v=|youtu\.be\/|embed\/)([\w-]{11})/); 7 if (match) { 8 return 'https://www.youtube-nocookie.com/embed/' + match[1]; 9 } 10 if (/^[\w-]{11}$/.test(value)) { 11 return 'https://www.youtube-nocookie.com/embed/' + value; 12 } 13 return ''; 14} 15 16function hasYoutubeOptIn() { 17 try { 18 if (localStorage.getItem('tx_c1x1_videooptin') === 'true') { 19 return true; 20 } 21 } catch (e) {} 22 return document.cookie.split(';').some(function (part) { 23 return part.trim().indexOf('tx_c1x1_videooptin=true') === 0; 24 }); 25} 26 27function activateYoutubeOptIns() { 28 document.querySelectorAll('.js-video-optin').forEach(function (root) { 29 if (root.getAttribute('data-youtube-ready') === '1') { 30 return; 31 } 32 var embed = youtubeEmbedUrl(root.getAttribute('data-youtube')) 33 || youtubeEmbedUrl(root.getAttribute('data-youtube-url')); 34 if (!embed) { 35 return; 36 } 37 var iframe = document.createElement('iframe'); 38 iframe.className = 'w-100'; 39 iframe.setAttribute('allowfullscreen', ''); 40 iframe.setAttribute('allow', 'fullscreen'); 41 iframe.src = embed + '?autohide=1&controls=1&enablejsapi=1&origin=' + encodeURIComponent(window.location.origin); 42 var img = root.querySelector('img'); 43 if (img && (img.getAttribute('title') || img.getAttribute('alt'))) { 44 iframe.title = img.getAttribute('title') || img.getAttribute('alt'); 45 } 46 root.className = 'video-embed-item embed-responsive-item'; 47 root.innerHTML = ''; 48 root.appendChild(iframe); 49 root.setAttribute('data-youtube-ready', '1'); 50 }); 51} 52 53function createCookie(name, value, days) { 54 var expires = ''; 55 if (days) { 56 var date = new Date(); 57 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 58 expires = '; expires=' + date.toUTCString(); 59 } 60 document.cookie = name + '=' + value + expires + '; path=/'; 61 try { 62 localStorage.setItem(name, String(value)); 63 } catch (e) {} 64 if (name === 'tx_c1x1_videooptin') { 65 activateYoutubeOptIns(); 66 } 67} 68 69(function bootYoutubeOptIn() { 70 function run() { 71 if (hasYoutubeOptIn()) { 72 activateYoutubeOptIns(); 73 } 74 } 75 if (document.readyState === 'loading') { 76 document.addEventListener('DOMContentLoaded', run); 77 } else { 78 run(); 79 } 80})(); 81 82$(function () { 83 84 85 86 (function () { 87 function waitForSmartFormReady(callback, timeout = 10000, interval = 100) { 88 const started = Date.now(); 89 90 const timer = setInterval(function () { 91 const form = document.querySelector('div[role="main"] form.SmartForm'); 92 93 const isReady = 94 form && 95 form.smartform && 96 Array.isArray(form.smartform.fields) && 97 form.smartform.fields.length > 0; 98 99 if (isReady) { 100 clearInterval(timer); 101 callback(form); 102 return; 103 } 104 105 if (Date.now() - started > timeout) { 106 clearInterval(timer); 107 } 108 }, interval); 109 } 110 111 function parseUrlParams() { 112 const params = {}; 113 const queryString = window.location.search.slice(1); 114 115 if (!queryString) { 116 return params; 117 } 118 119 const pairs = queryString.split('&'); 120 121 for (let pair of pairs) { 122 if (!pair) continue; 123 124 const [rawKey, rawValue] = pair.split('='); 125 const key = decodeURIComponent(rawKey || ''); 126 const value = decodeURIComponent(rawValue || ''); 127 128 params[key] = value; 129 } 130 131 return params; 132 } 133 134 function applyUrlParamsToForm(params) { 135 if ($('#form_TRACKING_DISABLED').length > 0 && params.ev_trackingdisabled == 1) { 136 $('#form_TRACKING_DISABLED').prop('checked', true); 137 } 138 139 if ($('#form_COMPANY').length > 0 && typeof params.ev_company !== 'undefined') { 140 $('#form_COMPANY').val(params.ev_company); 141 } 142 143 if ($('#form_EMAIL').length > 0 && typeof params.ev_email !== 'undefined') { 144 $('#form_EMAIL').val(params.ev_email); 145 } 146 147 if ( 148 $('#form_DATENSCHUTZEINWILLIGUNGSMARTFORM').length > 0 && 149 params.ev_privacyaccepted == 1 150 ) { 151 $('#form_DATENSCHUTZEINWILLIGUNGSMARTFORM').prop('checked', true); 152 } 153 } 154 155 function getUrlParams() { 156 const params = parseUrlParams(); 157 const autosubmit = 158 params.ev_autosubmit === '1' || 159 params.ev_autosubmit === '' || 160 typeof params.ev_autosubmit !== 'undefined'; 161 162 waitForSmartFormReady(function (form) { 163 applyUrlParamsToForm(params); 164 165 if (autosubmit) { 166 setTimeout(() => { 167 form.requestSubmit(); 168 }, 1000); 169 } 170 }); 171 } 172 173 if (document.readyState === 'loading') { 174 document.addEventListener('DOMContentLoaded', getUrlParams); 175 } else { 176 getUrlParams(); 177 } 178 })(); 179 180 181 function checkScroll() { 182 var fraction = 0.8; 183 var $win = $(window); 184 185 $("video[autoplay]").each(function () { 186 elementTop = $(this).offset().top; 187 elementBottom = elementTop + $(this).outerHeight(); 188 viewportTop = $win.scrollTop() + $("#contentHeader").outerHeight(); 189 viewportBottom = viewportTop + $win.height(); 190 videoplay = $(this).outerHeight() / 2; 191 192 193 if ($(window).width() < 980 && $(window).width() >= 768) { 194 if (viewportTop >= (elementTop - 200)) { 195 this.play(); 196 } 197 } else if ($(window).width() > 980) { 198 if (viewportBottom >= (elementTop + videoplay + 100)) { 199 this.play(); 200 } 201 } 202 203 204 }); 205 } 206 207 $("video[autoplay]").each(function () { 208 this.pause(); 209 }); 210 var ua = navigator.userAgent.toLowerCase(); 211 if (ua.indexOf('safari') != -1) { 212 if (ua.indexOf('chrome') > -1) { 213 214 } else { 215 $('thead tr').css('background', 'linear-gradient(135deg,#CF0F33 0%,#216DB4 100%)').css('background-attachment', 'fixed'); 216 } 217 } 218 $('iframe').each(function () { 219 $(this).attr('src', $(this).attr('src') + '&rel=0'); 220 }) 221 222 if ($('.article').length > 0) { 223 var time = Math.round($('.article').text().length / 75 / 60); 224 if (time == 1) { 225 if ($('html').attr('lang') == 'de-DE') { 226 time = time + " Minute"; 227 } 228 if ($('html').attr('lang') == 'fr-FR') { 229 time = time + " minute"; 230 } 231 if ($('html').attr('lang') == 'en-US') { 232 time = time + " minute"; 233 } 234 } else { 235 if ($('html').attr('lang') == 'de-DE') { 236 time = time + " Minuten"; 237 } 238 if ($('html').attr('lang') == 'fr-FR') { 239 time = time + " minutes"; 240 } 241 if ($('html').attr('lang') == 'en-US') { 242 time = time + " minutes"; 243 } 244 245 } 246 console.log(time); 247 $('.readingtime').text(time); 248 } 249 250 251 $('.modal-footer a').on('click', function (e) { 252 e.preventDefault(); 253 }); 254 255 256 $('.childrenwrap').on('mouseenter', function (e) { 257 if (!$(this).hasClass('opened')) { 258 $('.childrenwrap').removeClass('opened'); 259 } 260 $(this).addClass('opened'); 261 }); 262 $('.languageswitcher').on('click', function (e) { 263 264 $(this).find('.langmenu').toggleClass('opened'); 265 }); 266 267 268 269 $('.singlemenu').on('mouseenter', function (e) { 270 timer = setTimeout(function () { 271 $('.childrenwrap').removeClass('opened'); 272 }, 1000); 273 }).on("mouseleave", function () { 274 clearTimeout(timer); 275 }); 276 277 $('#mainNavBar').on('mouseleave', function (e) { 278 $('.childrenwrap').removeClass('opened'); 279 }); 280 $('.topnav').on('mouseenter', function (e) { 281 $('.childrenwrap').removeClass('opened'); 282 }); 283 $('.navfadeout').on('mouseenter', function (e) { 284 $('.childrenwrap').removeClass('opened'); 285 }); 286 287 $('.search').on('click', function (e) { 288 $('.searchframe').removeClass('d-none'); 289 }); 290 $('.closer').on('click', function (e) { 291 $('.searchframe').addClass('d-none'); 292 }); 293 294 const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 295 296 $('video').each(function () { 297 const video = this; 298 299 if (!isSafari) return; 300 301 video.classList.add('safari-overlay-target'); 302 }); 303 304 $('video').not('.safari-overlay-target').on('click', function (e) { 305 e.preventDefault(); 306 e.stopImmediatePropagation(); 307 308 if (this.paused) { 309 this.play(); 310 } else { 311 this.pause(); 312 } 313 }); 314 315 $('.number').each(function () { 316 var $this = $(this); 317 var refreshId = setInterval(function () { 318 var newtext = $this.text().split('.').join("");
319 var newnumber = Math.ceil(parseInt(newtext) + parseInt($this.attr('data-number'))); 320 $this.text(newnumber.toLocaleString('de-DE')); 321 322 }, 1000); 323 }); 324 325 $('.periodicgallery').masonry({ 326 itemSelector: '.item', 327 gutter: 30 328 }); 329 330 function getSliderAutoplaySpeed($slider) { 331 var configured = parseInt($slider.attr('data-autoplay-speed'), 10); 332 if (!isNaN(configured) && configured > 0) { 333 return configured; 334 } 335 return $slider.hasClass('slidetype-1') ? 3000 : 5000; 336 } 337 338 function enableSliderAutoplayOnEnter($slider) { 339 if (!$slider.hasClass('slider-autoplay')) { 340 return; 341 } 342 var initialAdvanceDone = false; 343 var isInView = false; 344 var observer = new IntersectionObserver(function (entries) { 345 entries.forEach(function (entry) { 346 if (entry.isIntersecting) { 347 if (isInView) { 348 return; 349 } 350 isInView = true; 351 if (!initialAdvanceDone) { 352 initialAdvanceDone = true; 353 // Advance once immediately so autoplay is visible, 354 // then start the timer so autoplaySpeed applies to the rest. 355 $slider.one('afterChange', function () { 356 $slider.slick('slickPlay'); 357 }); 358 $slider.slick('slickNext'); 359 } else { 360 $slider.slick('slickPlay'); 361 } 362 } else if (isInView) { 363 isInView = false; 364 $slider.slick('slickPause'); 365 } 366 }); 367 }, {threshold: 0.25}); 368 observer.observe($slider[0]); 369 } 370 371 $('.slidetype-0').each(function () { 372 var $this = $(this) 373 $this.slick({ 374 slidesToShow: 3, 375 dots: true, 376 arrows: true, 377 infinite: true, 378 autoplay: false, 379 autoplaySpeed: getSliderAutoplaySpeed($this), 380 prevArrow: $this.siblings('.carousel-controls').find('.slide.controls__prev'), 381 appendDots: $this.siblings('.carousel-controls').find('.slide.slick-slider-dots'), 382 nextArrow: $this.siblings('.carousel-controls').find('.slide.controls__next'), 383 responsive: [{ 384 breakpoint: 1024, 385 settings: { 386 slidesToShow: 1, 387 slidesToScroll: 1, 388 centerPadding: '0', 389 centerMode: true, 390 391 } 392 393 }] 394 }); 395 enableSliderAutoplayOnEnter($this); 396 }) 397 398 399 $('.bubbleslider').each(function () { 400 var $this = $(this) 401 402 $this.slick({ 403 dots: true, 404 autoplaySpeed: 5000, 405 autoplay: $this.hasClass('slider-autoplay'), 406 prevArrow: $this.parents('.bubblewrap').find('.bubble.controls__prev'), 407 appendDots: $this.parents('.bubblewrap').find('.bubble.slick-slider-dots'), 408 nextArrow: $this.parents('.bubblewrap').find('.bubble.controls__next') 409 }); 410 }) 411 412 $('.bubble-element-slider').each(function () { 413 var $this = $(this); 414 var $controls = $this.siblings('.carousel-controls'); 415 416 $this.slick({ 417 dots: true, 418 autoplaySpeed: 5000, 419 autoplay: $this.hasClass('slider-autoplay'), 420 adaptiveHeight: true, 421 prevArrow: $controls.find('.bubble-element-prev'), 422 appendDots: $controls.find('.bubble-element-dots'), 423 nextArrow: $controls.find('.bubble-element-next') 424 }); 425 }); 426 427 $('.bubbleslidermobile').each(function () { 428 var $this = $(this) 429 430 var bubblemobile = $this.slick({ 431 dots: true, 432 autoplaySpeed: 5000, 433 autoplay: $this.hasClass('slider-autoplay'), 434 prevArrow: $this.parents('.mobilebubble').siblings('.carousel-controls').find('.bubblemobile.controls__prev'), 435 appendDots: $this.parents('.mobilebubble').siblings('.carousel-control
435s').find('.bubblemobile.slick-slider-dots-mobile'), 436 nextArrow: $this.parents('.mobilebubble').siblings('.carousel-controls').find('.bubblemobile.controls__next') 437 }); 438 439 bubblemobile.on('afterChange', function (e, slick, currentSlide) { 440 var CurrentSlideDom = $(slick.$slides.get(currentSlide)).find('.bgelement').css('background-image'); 441 $this.parents('.bubblebackground').css('background-image', CurrentSlideDom); 442 }); 443 }) 444 445 $('.tabletslider').each(function () { 446 let that = $(this); 447 let slider = $(this).find('.sliderwrap'); 448 slider.slick({ 449 dots: true, 450 451 prevArrow: that.find('.controls__prev'), 452 appendDots: that.find('.slick-slider-dots'), 453 nextArrow: that.find('.controls__next') 454 }); 455 }); 456 457 $('.nav-link').on('mouseenter', function () { 458 459 var title = $(this).text(); 460 var abstract = $(this).data('abstract'); 461 var image = $(this).data('image'); 462 var rounded = $(this).data('rounded'); 463 var imagefilter = $(this).data('imagefilter'); 464 if (abstract) { 465 $('.descriptionlevel').html("<div class='h4 mb-5 mt-3 normal'><strong>" + title + "</strong></div>" + abstract); 466 $('.hoverimage').attr('src', image); 467 if (rounded == 1) { 468 $('.hoverimage').addClass('rounded'); 469 if (imagefilter) { 470 $('.hoverimage').parent().find('.overlay').addClass('rounded'); 471 } 472 } 473 if (imagefilter) { 474 $('.hoverimage').parent().find('.overlay').removeClass('d-none'); 475 } 476 } else { 477 $('.descriptionlevel').html(""); 478 479 } 480 $('.thirdlevel').html(''); 481 482 $('.parent').addClass('active-arrow'); 483 if ($(this).hasClass('parent')) { 484 $(this).addClass('active-arrow'); 485 } 486 var submenu = $(this).data('subelement'); 487 var abstract = $(this).data('abstract'); 488 var content = $('.subsubmenu' + submenu).html(); 489 $('.thirdlevel').html(content).show().addClass('showsubnav').promise().done(function () { 490 $('.nav-link').on('mouseenter', function () { 491 $('.descriptionlevel').removeClass('large'); 492 $('.hoverimage').attr('src', ''); 493 $('.hoverimage').parent().find('.overlay').addClass('d-none'); 494 $('.hoverimage').parent().find('.overlay').removeClass('rounded'); 495 var title = $(this).text(); 496 var abstract = $(this).data('abstract'); 497 var image = $(this).data('image'); 498 var rounded = $(this).data('rounded'); 499 var imagefilter = $(this).data('imagefilter'); 500 var childs = $(this).parent().parent().find('.float-end').length; 501 if (abstract) { 502 if (childs < 1) { 503 $('.descriptionlevel').html("<div class='h4 mb-5 mt-3 normal'><strong>" + title + "</strong></div>" + abstract); 504 } else { 505 $('.descriptionlevel').html("<div class='h4 mb-5 mt-3 normal'><strong>" + title + "</strong></div>" + abstract).addClass('large'); 506 } 507 $('.hoverimage').attr('src', image); 508 if (rounded == 1) { 509 $('.hoverimage').addClass('rounded'); 510 if (imagefilter) { 511 $('.hoverimage').parent().find('.overlay').addClass('rounded'); 512 } 513 } 514 if (imagefilter) { 515 $('.hoverimage').parent().find('.overlay').removeClass('d-none'); 516 } 517 } else { 518 $('.descriptionlevel').html(""); 519 520 } 521 }); 522 }); 523 }); 524 525 $('.subitemwrap').on('mouseleave', function () { 526 $('.thirdlevel').html(''); 527 $('.hoverimage').attr('src', ''); 528 }); 529 530 var lastScrollTop = 0; 531 $(window).scroll(function () { 532 var st = $(this).scrollTop(); 533 534 if (st > 90 && lastScrollTop - st < 0) { 535 $('.topnav').addClass('animateheight'); 536 $('#mainNavBar').removeClass('mt-5'); 537 if ($(window).width() > 1200) { 538 $('.logo').addClass('small'); 539 } 540 $('.mainlevel .gradienthover').addClass('pb-4'); 541 } else if (lastScrollTop - st > 0) { 542 $('.topnav').removeClass('animateheight'); 543 $('#mainNavBar').addClass('mt-5'); 544 if ($(window).width() > 1200) { 545 $('.logo').removeClass('small'); 546 } 547 $('.mainlevel .gradienthover').removeClass('pb-4'); 548 } 549 lastScrollTop = st; 550 551 checkScroll(); 552 }); 553 554 $('.formopener').on('click', function () { 555 $(this).removeClass('d-block').hide(); 556 $('.footerform').removeClass('d-none'); 557 558 }); 559 $('.parent').on('mouseenter', function () { 560 $('.parent').not(this).removeClass('active-arrow'); 561 562 }); 563 $('.search').on('click', function () { 564 $('.topsearch').toggleClass('d-none'); 565 566 }); 567 $('.opener').on('click', function () { 568 $(this).toggleClass('open'); 569 $('.mobilemenu').toggleClass('d-block'); 570 $('.mobilesubitems').removeClass('d-block'); 571 $('html').toggleClass('overflow-hidden'); 572 $('.fixed-top').toggleClass('overflow-scroll'); 573 $('.fixed-top').toggleClass('h-100'); 574 $('body').toggleClass('overflow-hidden'); 575 576 }) 577 $('.showsub').on('click', function () { 578 $(this).parent().find('.mobilesubitems').addClass('d-block'); 579 }) 580 $('.mobilback').on('click', function () { 581 $('.mobilesubitems').removeClass('d-block'); 582 }) 583 584 $('.scrolldown').on('click', function () { 585 var scroll = $(this); 586 $('html, body').animate({ 587 scrollTop: scroll.parent().parent().offset().top + scroll.parent().parent().height() - 80 588 }, 500); 589 }) 590 591 if ($('.totalitems').length > 0) { 592 var total = $('.totalitems').data('total'); 593 var files = $('.filebox').length; 594 if (total > files) { 595 $('.loadmorefiles').removeClass('d-none'); 596 } 597 } 598 599 if ($(window).width() < 1200) { 600 $('.itemlink').on('click', function (e) { 601 if (!$(this).hasClass('clicked')) { 602 $('.itemlink').removeClass('clicked'); 603 e.preventDefault(); 604 let itemwrap = $(this).find('.itemwrap'); 605 $(this).addClass('clicked'); 606 607 $('.dqcontent').removeClass('d-none'); 608 $('.itemwrap').removeClass('activedq'); 609 itemwrap.addClass('activedq'); 610 $('.defaultdq').addClass('transparent'); 611 $('.dqtitle').addClass('d-none'); 612 let title = itemwrap.data('title'); 613 let text = itemwrap.data('text'); 614 let icon = itemwrap.data('icon'); 615 let icona = "<img src='/" + icon + "'>"; 616 $('.dqcontent').html(icona + ' <strong class="d-block mb-4 gradienttext ">' + title + '</strong>' + text) 617 618 619 } 620 }); 621 } else { 622 $('.itemwrap').on('mouseenter', 623 function () { 624 $('.dqcontent').removeClass('d-none'); 625 $('.itemwrap').removeClass('activedq'); 626 $(this).addClass('activedq'); 627 $('.defaultdq').addClass('transparent'); 628 $('.dqtitle').addClass('d-none'); 629 let title = $(this).data('title'); 630 let text = $(this).data('text'); 631 let icon = $(this).data('icon'); 632 let icona = "<img src='/" + icon + "'>"; 633 $('.dqcontent').html(icona + ' <strong class="d-block mb-4 gradienttext ">' + title + '</strong>' + text) 634 635 }, 636 ); 637 $('.itemwrap').on('mouseleave', 638 function () { 639 $('.dqcontent').addClass('d-none'); 640 $('.dqtitle').removeClass('d-none'); 641 642 $('.itemwrap').removeClass('activedq'); 643 $('.defaultdq').removeClass('transparent'); 644 }, 645 ); 646 } 647 648 649 $('.showsubsub').on('click', function () { 650 $(this).parent().find('.mobilesubsubitems').addClass('d-block'); 651 }) 652 $('.mobilsubback').on('click', function () { 653 $('.mobilesubsubitems').removeClass('d-block'); 654 }) 655 656 657 var slider = $('.sliderrange'); 658 659 $('input[type="range"]').on('input', function () { 660 var position = Math.round(document.getElementById("myRange").value / 100) * 100 / 100; 661 if (document.getElementById("myRange").value < 100) { 662 position = 0; 663 } 664 $('#myRange').attr('value', position); 665 666 slider.slick('slickGoTo', position) 667 }); 668 669 670 $('.ajaxfilter').on('click', function (e) { 671 e.preventDefault(); 672 uid = $(this).data('category'); 673 lang = $("html").attr('lang'); 674 675 if (lang == "de-DE") { 676 lang = '/'; 677 } else if (lang == "en-US") { 678 lang = 'en/'; 679 } else if (lang == "fr-FR") { 680 lang = 'fr/'; 681 } 682 683 urlloc = window.location.origin; 684 jQuery.ajax({ 685 type: "POST", 686 url: '' + urlloc + '/' + '?category=' + uid + '&tx_c1x1evalanchedownload_filelist%5Baction%5D=filtered&tx_c1x1evalanchedownload_filelist%5Bcontroller%5D=File&type=432516', 687 headers: { 688 'Cache-Control': 'no-cache, no-store, must-revalidate', 689 'Pragma': 'no-cache', 690 'Expires': '0' 691 }, 692 dataType: 'html', 693 success: function (content) { 694 $('.downloadlist').html(content); 695 $('.loadmorefiles ').hide(); 696 697 } 698 }); 699 }); 700 701 $('.loadmorefiles').on('click', function (e) { 702 e.preventDefault(); 703 jQuery.ajax({ 704 type: "POST", 705 url: "/?tx_c1x1evalanchedownload_filelist%5Baction%5D=filtered&tx_c1x1evalanchedownload_filelist%5Bcontroller%5D=File&type=432516", 706 data: {loaded: $('.filebox').length, page: $('.totalitems').data('page')}, 707 headers: { 708 'Cache-Control': 'no-cache, no-store, must-revalidate', 709 'Pragma': 'no-cache', 710 'Expires': '0' 711 }, 712 dataType: 'html', 713 success: function (content) { 714 $('.downloadlist').html(content); 715 $('.totalitems').data('page', $('.totalitems').data('page') + 1); 716 var total = $('.totalitems').data('total'); 717 var files = $('.filebox').length;
718 if (total = files) { 719 $('.loadmorefiles').addClass('d-none'); 720 } 721 } 722 }); 723 }) 724 725 if ($(window).width() < 980 && $('#myRange').length > 0) { 726 let max = $('#myRange').attr('max'); 727 $('#myRange').attr('max', parseInt(max) + 300); 728 } 729 730 slider.slick({ 731 // dots: true, 732 infinite: false, 733 speed: 300, 734 dots: false, 735 arrows: false, 736 draggable: true, 737 slidesToShow: 3, 738 slidesToScroll: 1, 739 responsive: [{ 740 breakpoint: 1024, 741 settings: { 742 slidesToShow: 1, 743 slidesToScroll: 1, 744 centerPadding: '0px', 745 centerMode: true, 746 747 } 748 749 }], 750 751 }); 752 slider.on('afterChange', function (e, slick, currentSlide, nextSlide) { 753 var position = currentSlide * 100; 754 $('#myRange').attr('value', position); 755 }); 756 757 window.addEventListener("resize", lightboxFix); 758 759 function lightboxFix() { 760 var windowWidth = window.innerWidth; 761 var windowHeight = window.innerHeight; 762 763 if ($(window).width() > 991) { 764 lightbox.option({ 765 'positionFromTop': 50, 766 }) 767 } else { 768 lightbox.option({ 769 'positionFromTop': 200, 770 }) 771 } 772 773 } 774 775 if ($(window).width() > 991) { 776 lightbox.option({ 777 'positionFromTop': 50, 778 }) 779 } else { 780 lightbox.option({ 781 'positionFromTop': 200, 782 }) 783 } 784 $(window).on("load", function () { 785 $('#tablet-slider-video').height($('#tablet-slider-image').outerHeight() - 20); 786 checkScroll(); 787 }); 788 $(window).on("resize", function () { 789 $('#tablet-slider-video').height($('#tablet-slider-image').outerHeight() - 20); 790 }); 791 $('.slidetype-1').each(function () { 792 var $this = $(this) 793 794 $this.slick({ 795 slidesToShow: 1, 796 dots: true, 797 arrows: true, 798 infinite: true, 799 autoplaySpeed: getSliderAutoplaySpeed($this), 800 autoplay: false, 801 prevArrow: $this.siblings('.carousel-controls').find('.slide.controls__prev'), 802 appendDots: $this.siblings('.carousel-controls').find(' .slide.slick-slider-dots'), 803 nextArrow: $this.siblings('.carousel-controls').find(' .slide.controls__next'), 804 responsive: [{ 805 breakpoint: 1024, 806 settings: { 807 slidesToShow: 1, 808 slidesToScroll: 1, 809 centerPadding: '0px', 810 centerMode: true, 811 812 } 813 814 }] 815 816 }); 817 enableSliderAutoplayOnEnter($this); 818 }) 819 820 821 $('.bubbleslidermobile').each(function () { 822 var $slider = $(this); 823 if ($slider.closest('.bubble-element').length) { 824 return; 825 } 826 if ($slider.find('.fullsizeimg').length < 1) { 827 $slider.css({top: $(window).width() < 600 ? '15%' : '10%'}); 828 } 829 }); 830 831}); 832const urlParams = window.location.search; 833 834//add {urlparameter} to HREF 835 836 837if (urlParams) { 838 $(document).ready(function () { 839 $('a').each(function () { 840 this.href = this.href.replace('%7Burlparameter%7D', urlParams); 841 if (this.href.includes('override')) { 842 let split = this.href.split('?'); 843 this.href = split[0] + urlParams; 844 } 845 }); 846 }); 847} else { 848 $(document).ready(function () { 849 $('a').each(function () { 850 this.href = this.href.replace('%7Burlparameter%7D', ''); 851 this.href = this.href.replace('{urlparameter}', ''); 852 this.href = this.href.replace('&override=1', ''); 853 }); 854 }); 855} 856 857if ($(window).width() < 991) { 858 $('.contenttable').parent().css('display', 'grid'); 859 $('#wave').remove(); 860 $('#wave2').remove(); 861} 862 863/*$( window ).on( "load", function() { 864})*/ 865 866$(window).on("load", function () { 867 /*lang = $("html").attr('lang'); 868 869 if(lang === "de-DE") { 870 871 var tag = document.createElement("script"); 872 tag.src = "https://cloud.ccm19.de/app.js?apiKey=76c8d5bea81f529f73d32b0cf60f743c007e2abb3517b
872695&domain=632c7192a8f9222db3646394&lang=de_DE"; 873 tag.referrerpolicy = "origin"; 874 tag.async; 875 document.getElementsByTagName("head")[0].appendChild(tag); 876 }*/ 877 878 // var tag = document.createElement("script"); 879 // tag.src = "/_assets/bf7f0ccb2a079e7f92a75cd9e46c1ea7/js/googletagmanager.js"; 880 // tag.defer; 881 // document.getElementsByTagName("head")[0].appendChild(tag); 882 883 var ga4tag = document.createElement("script"); 884 ga4tag.src = "/_assets/bf7f0ccb2a079e7f92a75cd9e46c1ea7/js/googletagmanager_obf.js"; 885 ga4tag.defer; 886 document.getElementsByTagName("head")[0].appendChild(ga4tag); 887}) 888 889$(window).on('resize', function () { 890 $('.bubbleslidermobile, .bubble-element-slider').each(function () { 891 if (this.slick) { 892 this.slick.refresh(); 893 } 894 }) 895}); 896 897$('.languageswitcher').hover( 898 function () { 899 $('.langmenu').addClass('opened'); 900 }, 901 function () { 902 $('.langmenu').removeClass('opened'); 903 } 904); 905 906$(document).on('click', 'form .btn.btn-primary[type="submit"]', function (e) { 907 const form = $(this).closest('form'); 908 let allFilled = true; 909 910 form.find('[required]').each(function () { 911 if (!$(this).val().trim()) { 912 allFilled = false; 913 } 914 }); 915 916 if (!allFilled || form.find('div.error.help-block').length) { 917 if (form.attr('id') === 'support-10408' || form.attr('id') === 'supportEN-10409' || form.attr('id') === 'supportFR-10410' || form.attr('id') === 'referenzdaten-10407' || form.attr('id') === 'referenzdatenEN-10406' || form.attr('id') === 'referenzdatenFR-10405') { 918 var formLanguage = getLanguage($('html').attr('lang')); 919 var formStatus = 'Unsuccessful'; 920 921 922 if (form.attr('id') === 'support-10408') { 923 var formType = 'Supportformular' 924 } 925 if (form.attr('id') === 'supportEN-10409') { 926 var formType = 'Supportformular' 927 } 928 if (form.attr('id') === 'supportFR-10410') { 929 var formType = 'Supportformular' 930 } 931 if (form.attr('id') === 'referenzdaten-10407') { 932 var formType = 'Referenzdatenformular' 933 } 934 if (form.attr('id') === 'referenzdatenEN-10406') { 935 var formType = 'Referenzdatenformular' 936 } 937 if (form.attr('id') === 'referenzdatenFR-10405') { 938 var formType = 'Referenzdatenformular' 939 } 940 window.dataLayer = window.dataLayer || []; 941 window.dataLayer.push({ 942 event: "form_related_interaction", 943 action: "Form Submission", 944 name: formType, 945 status: formStatus, 946 form_language: formLanguage 947 }); 948 } 949 } 950}); 951 952 953$(document).on('submit', 'form', function (e) { 954 if ($(this).attr('id') === 'support-10408' || $(this).attr('id') === 'supportEN-10409' || $(this).attr('id') === 'supportFR-10410' || $(this).attr('id') === 'referenzdaten-10407' || $(this).attr('id') === 'referenzdatenEN-10406' || $(this).attr('id') === 'referenzdatenFR-10405') { 955 var formLanguage = getLanguage($('html').attr('lang')); 956 var formStatus = 'Successful'; 957 958 959 if ($(this).attr('id') === 'support-10408') { 960 var formType = 'Supportformular' 961 } 962 if ($(this).attr('id') === 'supportEN-10409') { 963 var formType = 'Supportformular' 964 } 965 if ($(this).attr('id') === 'supportFR-10410') { 966 var formType = 'Supportformular' 967 } 968 if ($(this).attr('id') === 'referenzdaten-10407') { 969 var formType = 'Referenzdatenformular' 970 } 971 if ($(this).attr('id') === 'referenzdatenEN-10406') { 972 var formType = 'Referenzdatenformular' 973 } 974 if ($(this).attr('id') === 'referenzdatenFR-10405') { 975 var formType = 'Referenzdatenformular' 976 } 977 window.dataLayer = window.dataLayer || []; 978 window.dataLayer.push({ 979 event: "form_related_interaction", 980 action: "Form Submission", 981 name: formType, 982 status: formStatus, 983 form_language: formLanguage 984 }); 985 } 986}); 987 988function getLanguage(lang) { 989 switch (lang) { 990 case 'de-DE': 991 return "DE"; 992 case 'en-US':
993 return "EN"; 994 case 'fr-FR': 995 return "FR"; 996 default: 997 return "Unknown"; 998 } 999} 1000 1001(function () { 1002 window.fcWidgets = window.fcWidgets || new WeakMap(); 1003 1004 function getFcWidget(form) { 1005 if (!form) return null; 1006 const el = form.querySelector('.frc-captcha'); 1007 return el ? window.fcWidgets.get(el) : null; 1008 } 1009 1010 function initFriendlyCaptcha() { 1011 if (!window.friendlyChallenge || !window.friendlyChallenge.WidgetInstance) { 1012 return false; 1013 } 1014 1015 const elements = document.querySelectorAll('.frc-captcha:not([data-fc-initialized])'); 1016 if (elements.length === 0) { 1017 return false; 1018 } 1019 1020 elements.forEach(function (el) { 1021 const widget = new window.friendlyChallenge.WidgetInstance(el, { 1022 startMode: 'none' 1023 }); 1024 el.setAttribute('data-fc-initialized', 'true'); 1025 window.fcWidgets.set(el, widget); 1026 }); 1027 1028 return true; 1029 } 1030 1031 function clearVendorErrors(smartform) { 1032 if (!smartform) return; 1033 1034 smartform.dom_form_error.innerHTML = ''; 1035 smartform.dom_form_error.style.display = 'none'; 1036 1037 smartform.fields.forEach(function (field) { 1038 if (Object.hasOwn(field, 'input')) { 1039 if (Array.isArray(field.input)) { 1040 field.input.forEach(function (input) { 1041 input.classList.remove('validation_error'); 1042 }); 1043 } else { 1044 field.input.classList.remove('validation_error'); 1045 if (field.dom_label) { 1046 field.dom_label.classList.remove('validation_error'); 1047 } 1048 } 1049 } 1050 1051 if (Object.hasOwn(field, 'dom_error_message')) { 1052 field.dom_error_message.style.display = 'none'; 1053 } 1054 }); 1055 } 1056 1057 function getMissingRequiredFields(smartform) { 1058 const missing = []; 1059 1060 smartform.fields.forEach(function (field) { 1061 if (!field.field || !field.field.required) return; 1062 1063 const values = field.get_value ? field.get_value() : []; 1064 1065 // no selected radio / checkbox group / multiselect 1066 if (!values || values.length === 0) { 1067 missing.push(field.id); 1068 return; 1069 } 1070 1071 // single-value fields 1072 if (values.length > 0 && Object.hasOwn(values[0], 'value')) { 1073 const value = values[0].value; 1074 1075 if (typeof value === 'string' && value.trim() === '') { 1076 missing.push(field.id); 1077 return; 1078 } 1079 1080 // required single checkbox unchecked => "0" 1081 if (field.type === 'checkbox' && value === '0') { 1082 missing.push(field.id); 1083 } 1084 } 1085 }); 1086 1087 return missing; 1088 } 1089 1090 function waitForCaptchaWidget(form, timeout = 10000) { 1091 return new Promise(function (resolve) { 1092 const started = Date.now(); 1093 1094 function check() { 1095 initFriendlyCaptcha(); 1096 const widget = getFcWidget(form); 1097 if (widget) { 1098 resolve(widget); 1099 return; 1100 } 1101 if (Date.now() - started > timeout) { 1102 resolve(null); 1103 return; 1104 } 1105 setTimeout(check, 200); 1106 } 1107 1108 check(); 1109 }); 1110 } 1111 1112 async function ensureFreshCaptcha(form) { 1113 // No captcha on this form â nothing to do. 1114 if (!form.querySelector('.frc-captcha')) { 1115 return true; 1116 } 1117 1118 const captchaField = form.querySelector("input[name='frc-captcha-solution']"); 1119 const currentValue = captchaField ? captchaField.value.trim() : ''; 1120 const lastValue = form.dataset.fcLastSubmittedValue || ''; 1121 1122 let fcWidget = getFcWidget(form); 1123 if (!fcWidget) { 1124 fcWidget = await waitForCaptchaWidget(form); 1125 } 1126 1127 // first valid submit and no token yet 1128 if (!currentValue) { 1129 if (fcWidget) { 1130 fcWidget.reset(); 1131 fcWidget.start(); 1132 } 1133 1134 const fresh = await waitForCaptchaValue(form, ''); 1135 if (!fresh) return false;
1136 1137 form.dataset.fcLastSubmittedValue = fresh; 1138 form.requestSubmit(); 1139 return false; 1140 } 1141 1142 // token was already used in previous failed submit 1143 if (currentValue === lastValue) { 1144 if (fcWidget) { 1145 fcWidget.reset(); 1146 fcWidget.start(); 1147 } 1148 1149 const fresh = await waitForCaptchaValue(form, lastValue); 1150 if (!fresh) return false; 1151 1152 form.dataset.fcLastSubmittedValue = fresh; 1153 form.requestSubmit(); 1154 return false; 1155 } 1156 1157 form.dataset.fcLastSubmittedValue = currentValue; 1158 return true; 1159 } 1160 1161 function waitForCaptchaValue(form, oldValue) { 1162 return new Promise(function (resolve) { 1163 const started = Date.now(); 1164 1165 function check() { 1166 const field = form.querySelector("input[name='frc-captcha-solution']"); 1167 const value = field ? field.value.trim() : ''; 1168 1169 if (value && value !== oldValue) { 1170 resolve(value); 1171 return; 1172 } 1173 1174 if (Date.now() - started > 15000) { 1175 resolve(''); 1176 return; 1177 } 1178 1179 setTimeout(check, 250); 1180 } 1181 1182 check(); 1183 }); 1184 } 1185 1186 function captchaNeedsRefresh(form) { 1187 if (!form.querySelector('.frc-captcha')) { 1188 return false; 1189 } 1190 const captchaField = form.querySelector("input[name='frc-captcha-solution']"); 1191 const currentValue = captchaField ? captchaField.value.trim() : ''; 1192 const lastValue = form.dataset.fcLastSubmittedValue || ''; 1193 return !currentValue || currentValue === lastValue; 1194 } 1195 1196 document.addEventListener( 1197 'submit', 1198 function (e) { 1199 const form = e.target; 1200 if (!(form instanceof HTMLFormElement)) return; 1201 if (!form.classList.contains('SmartForm')) return; 1202 if (!form.smartform) return; 1203 1204 initFriendlyCaptcha(); 1205 1206 const smartform = form.smartform; 1207 1208 // 1) validate normal fields first 1209 clearVendorErrors(smartform); 1210 const missing = getMissingRequiredFields(smartform); 1211 1212 if (missing.length > 0) { 1213 e.preventDefault(); 1214 e.stopImmediatePropagation(); 1215 1216 smartform.dom_form_error.style.display = 'block'; 1217 smartform.validation_error_mandatory_error(missing); 1218 smartform.dom_form_error?.scrollIntoView(); 1219 return; 1220 } 1221 1222 // 2) captcha: must preventDefault synchronously BEFORE any await. 1223 // Async listeners yield on await and let SmartForm POST without a token â Evalanche 500. 1224 if (captchaNeedsRefresh(form)) { 1225 e.preventDefault(); 1226 e.stopImmediatePropagation(); 1227 1228 ensureFreshCaptcha(form); 1229 return; 1230 } 1231 1232 const captchaField = form.querySelector("input[name='frc-captcha-solution']"); 1233 if (captchaField) { 1234 form.dataset.fcLastSubmittedValue = captchaField.value.trim(); 1235 } 1236 }, 1237 true 1238 ); 1239 1240 const observer = new MutationObserver(function () { 1241 initFriendlyCaptcha(); 1242 }); 1243 1244 observer.observe(document.body, { 1245 childList: true, 1246 subtree: true 1247 }); 1248 1249 const interval = setInterval(function () { 1250 initFriendlyCaptcha(); 1251 const pending = document.querySelectorAll('.frc-captcha:not([data-fc-initialized])'); 1252 const initialized = document.querySelectorAll('.frc-captcha[data-fc-initialized]'); 1253 if (pending.length === 0 && initialized.length > 0) { 1254 clearInterval(interval); 1255 } 1256 }, 300); 1257})(); 1258 1259(function () { 1260 const lastCaptchaValues = new WeakMap(); 1261 1262 document.addEventListener( 1263 'submit', 1264 function (e) { 1265 const form = e.target; 1266 if (!(form instanceof HTMLFormElement)) return; 1267 if (!form.classList.contains('SmartForm')) return; 1268 1269 const captchaField = form.querySelector("input[name='frc-captcha-solution']"); 1270 if (captchaField) { 1271 lastCaptchaValues.set(form, captchaField.value || ''); 1272 } 1273 }, 1274 true 1275 ); 1276 1277 const observer = new MutationObserver(function () { 1278 document.querySelectorAll('form.SmartForm').forEach(function (form) { 1279 const formError = form.smartform?.dom_form_error; 1280 if (!formError) return; 1281 1282 const isVisible = 1283 formError.style.display !== 'none' && 1284 formError.innerHTML.trim() !== ''; 1285 1286 if (!isVisible) return; 1287 1288 const captchaField = form.querySelector("input[name='frc-captcha-solution']"); 1289 const currentValue = captchaField ? captchaField.value || '' : '';
1290 const lastCaptchaValue = lastCaptchaValues.get(form) || ''; 1291 const captchaEl = form.querySelector('.frc-captcha'); 1292 const fcWidget = captchaEl ? window.fcWidgets?.get(captchaEl) : null; 1293 1294 if (fcWidget && currentValue && currentValue === lastCaptchaValue) { 1295 fcWidget.reset(); 1296 fcWidget.start(); 1297 } 1298 }); 1299 }); 1300 1301 observer.observe(document.body, { 1302 childList: true, 1303 subtree: true 1304 }); 1305})();
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.