1// Wrap IIFE around your code 2(function($, viewport){ 3 4 // Build a URL into site_esylux' public resources. The base path is rendered 5 // into #configuration by page.typoscript, so it follows wherever TYPO3 6 // publishes the assets (currently /_assets/<hash>/). 7 function assetUrl(path){ 8 return ($('#configuration').data('assetpath') || '/') + path; 9 } 10 11 // cover images in home teasers 12 function coverImage(){ 13 if($('.home-teaser').length){ 14 $('.container').imagesLoaded( function() { 15 var imageHeight, copyHeight, imageWidth, outerImageWidth, outerImageHeight; 16 17 $('.home-teaser').each(function(){ 18 var t = $(this); 19 20 t.find('.outer-image img.img-fluid').css({ 21 'height' : 'auto', 22 'max-width' : '100%' 23 }); 24 25 setTimeout( function(){ 26 imageHeight = t.find('.outer-image img.img-fluid').height(); 27 copyHeight = t.find('.outer-copy').height(); 28 29 30 if(imageHeight < copyHeight || imageHeight == copyHeight) { 31 if(t.not('.image-top').length){ 32 t.find('.outer-image img.img-fluid').css({ 33 'height' : copyHeight, 34 'margin-top': 0, 35 'margin-left': 0, 36 'max-width' : 'none', 37 'width' : 'auto' 38 }); 39 } 40 41 imageWidth = t.find('.outer-image img').width(); 42 outerImageWidth = t.find('.outer-image').width(); 43 44 t.find('.outer-image img.img-fluid').css({ 45 'margin-left' : (outerImageWidth - imageWidth)/2 46 }); 47 } else { 48 t.find('.outer-image img.img-fluid').css({ 49 'margin-top': 0, 50 'margin-left': 0, 51 'max-width' : '100%', 52 'height' : 'auto' 53 }); 54 imageHeight = t.find('.outer-image img.img-fluid').height(); 55 outerImageHeight = t.find('.outer-image').height(); 56 57 t.find('.outer-image img.img-fluid').css({ 58 'margin-top' : (outerImageHeight - imageHeight)/2 59 }); 60 } 61 }, 50 ); 62 63 }); 64 65 }); 66 } 67 68 } 69 70 // Ein Slider-Video so skalieren, dass es die Slide-Flaeche fuellt - dasselbe 71 // Ergebnis, das RoyalSlider fuer .rsImg per imageScaleMode 'fill' erzeugt. 72 // Muss pro Video beim Einfahren laufen: RoyalSlider haengt Slides ausserhalb 73 // seines Preload-Fensters aus dem DOM aus, ein einmaliger Durchlauf ueber 74 // $('.rsVideo') erwischt also nur die gerade eingehaengten Videos. 75 function fitVideoToSlider(video){ 76 var $video = $(video), 77 $box = $video.closest('.rsOverflow'), 78 boxWidth, boxHeight, nativeWidth, nativeHeight, scale, width, height; 79 80 // Beim ersten Slide-Wechsel nach dem Laden haengt der Slide-Inhalt zum 81 // Zeitpunkt von rsBeforeAnimStart noch nicht im DOM - dann die Masse vom 82 // Slider selbst nehmen, sie sind fuer jeden Slide dieselben. 83 if(!$box.length){ 84 $box = $('#full-width-slider').find('.rsOverflow').first(); 85 } 86 87 if(!$box.length){ 88 return; 89 } 90 91 // Sobald die echten Videomasse bekannt sind, einmalig nachziehen 92 if(!$video.data('rsVideoFitBound')){ 93 $video.data('rsVideoFitBound', true); 94 $video.on('loadedmetadata', function(){ 95 fitVideoToSlider(this); 96 }); 97 } 98 99 boxWidth = $box.width(); 100 boxHeight = $box.height(); 101 // videoWidth/-Height stehen erst ab loadedmetadata zur Verfuegung, bis 102 // dahin die width/height-Attribute aus dem Template 103 nativeWidth = video.videoWidth || parseInt($video.attr('width'), 10); 104 nativeHeight = video.videoHeight || parseInt($video.attr('height'), 10); 105 106 if(!boxWidth || !boxHeight || !nativeWidth || !nativeHeight){ 107 return; 108 } 109 110 scale = Math.max(boxWidth / nativeWidth, boxHeight / nativeHeight); 111 width = Math.round(nativeWidth * scale); 112 height = Math.round(nativeHeight * scale); 113 114 $video.css({ 115 'width': width + 'px', 116 'height': height + 'px', 117 'margin-left': Math.round((boxWidth - width) / 2) + 'px', 118 'margin-top': Math.round((boxHeight - height) / 2) + 'px' 119 }); 120 } 121 122 // mobile menu 123 function mobileMenu(){ 124 if(viewport.is('<md')) { 125 $('nav.navbar').addClass('is-mobile'); 126 } else { 127 $('nav.navbar').removeClass('is-mobile'); 128 } 129 $(window).resize( 130 viewport.changed(function() { 131 if(viewport.is('<md')) { 132 $('nav.navbar').addClass('is-mobile'); 133 } else { 134 $('nav.navbar').removeClass('is-mobile'); 135 } 136 }) 137 ); 138 $('.sol-prod .second-level-menu').children('li').addClass('opened').find('.third-level-menu').show(); 139 $('nav.is-mobile .has-sub').children('.cta').on('click', function(){ 140 if($(this).parent('.has-sub').hasClass('opened')){ 141 $(this).parent('.has-sub').removeClass('opened').children('ul').slideUp(); 142 } else{ 143 $(this).parent('.has-sub').addClass('opened').children('ul').slideDown(); 144 } 145 }); 146 } 147 function backToDesktopMenu(){ 148 var getIcoNav = $('.navbar-nav.ico-nav').detach(); 149 var getLanguageMenu = $('#language_menu').detach(); 150 var getSearchPanel = $('#search_panel').detach(); 151 $('.navbar-collapse').append(getIcoNav).append(getLanguageMenu).append(getSearchPanel); 152 } 153 154 // logo box 155 function logoBox(){ 156 if($('.logo-box').length){ 157 $('.logo-box').imagesLoaded().progress( function(instance, image){ 158 $('.logo-box').each(function(){ 159 var lbHeight = $(this).siblings('.outer-copy').height(); 160 $(this).height(lbHeight); 161 }); 162 }); 163 } 164 } 165 166 // submenü position 167 function submenuPosition(){ 168 var viewportWidth = $(window).width(); 169 var navWidth = $('nav').width(); 170 var navOffset = (viewportWidth - navWidth)/2; 171 $('header .second-level-menu').css({ 172 'width' : viewportWidth, 173 'left' : -navOffset 174 }); 175 176 // Manipulation for submenu items of solutions, products and service 177 if(viewportWidth > 1920){ 178 $('.second-level-menu.products, .second-level-menu.solutions, li.c-11 .second-level-menu') 179 .children('li:first-child') 180 .css({ 181 'margin-left' : navOffset 182 }); 183 } else { 184 $('.second-level-menu.products, .second-level-menu.solutions, li.c-11 .second-level-menu') 185 .children('li:first-child') 186 .css({ 187 'margin-left' : '0' 188 }); 189 190 } 191 192 } 193 194 // sprachmenü 195 function sprachMenu(){ 196 197 $('li.language a').click(function(e){ 198 // e.preventDefault(); 199 $('#language_menu').fadeToggle(300); 200 $('#search_panel').fadeOut(300); 201 $('#ke_search_searchfield_sword').removeClass('focused'); 202 }); 203 $('li.language a').hover( 204 function(){ 205 $('#language_menu').fadeIn(300); 206 $('#search_panel').fadeOut(300); 207 $('#ke_search_searchfield_sword').removeClass('focused'); 208 }, 209 function(){ 210 // $('#language_menu').fadeOut(300); 211 }); 212 213 $('#language_menu .ml-auto').mouseleave(function(){ 214 $('#language_menu').fadeToggle(300); 215 }); 216 217 } 218 219 function countrySelectAfterRedirect() { 220 let countrySelectLinks = $('.countrySelectAfterRedirect a'); 221 if (window.location.hash.substring(0, 10) === '#!redirect' 222 && countrySelectLinks.length > 0 223 ) { 224 countrySelectLinks.each(function () { 225 let redirectSourceLanguage = window.location.hash.split(';')[1] || 0; 226 let redirectSourcePath = window.location.hash.split(';')[2] || ''; 227 let redirectSourceBase = $('.language-container [data-language=' + redirectSourceLanguage + ']:first').data('baseuri') || ''; 228 if (!redirectSourceBase.match(/\/$/)) { 229 redirectSourceBase += '/'; 230 } 231 let href = redirectSourceBase + 232 redirectSourcePath + 233 '?tx_esylux_redirect[locale]=' + $(this).data('locale'); 234 $(this).attr('href', href); 235 }); 236 if (window.location.hash.substring(0, 19) !== '#!redirectPreferred') { 237 $('.countrySelectAfterRedirect,.countrySelectAfterRedirect-spacer').addClass('active'); 238 } 239 } 240 } 241 function anchorParamToHash(){ 242 let anchor; 243 let header = 0; 244 urlParam = function(name){ 245 var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); 246 if (results==null){ 247 return null; 248 } 249 else{ 250 return results[1] || 0; 251 } 252 }
253 if(urlParam('anchor') !== null){ 254 anchor = '#' + urlParam('anchor'); 255 if($('.fixed-header-helper').length){ 256 header = $('.fixed-header-helper').height(); 257 } 258 setTimeout(function(){ 259 $('html, body').animate({ 260 scrollTop : $(anchor).offset().top-header 261 },500); 262 }, 500); 263 } 264 } 265 266 // suche 267 function searchPanel(){ 268 269 $('#search_panel #form_kesearch_searchfield').append('<a href="#" class="close-search-panel">Ã</a>'); 270 271 $('li.search a').click(function(e){ 272 e.preventDefault(); 273 $('#search_panel').fadeToggle(300); 274 $('#ke_search_searchfield_sword').focus().toggleClass('focused'); 275 $('#language_menu').fadeOut(300); 276 }); 277 $('.close-search-panel').click(function(e){ 278 e.preventDefault(); 279 $('#search_panel').fadeToggle(300); 280 }); 281 282 } 283 function helpStayingFocused(){ 284 if($('#ke_search_searchfield_sword.focused').length){ 285 $('#ke_search_searchfield_sword').focus(); 286 setTimeout(function(){ $('#ke_search_searchfield_sword').focus(); }, 1); 287 } 288 } 289 290 // hide product links in main category 291 function findProdLinksToHide(){ 292 293 var prodIdentify = $('.second-level-menu.products'); 294 prodIdentify.children('li').children('a').click(function(e){ 295 e.preventDefault(); 296 }); 297 prodIdentify.prev().click(function(e){ 298 e.preventDefault(); 299 }); 300 301 if($('.produktbereich').length){ 302 var breadcrumbPart = $('nav.breadcrumb .breadcrumb-item').eq(1); 303 breadcrumbPart.click(function (e) { 304 e.preventDefault(); 305 }); 306 breadcrumbPart.css({ 307 'color' : '#000', 308 'cursor' : 'default' 309 }); 310 } 311 312 } 313 314 // workaround service menu 315 function tameServiceMenu(){ 316 317 var id = $('.main-nav .nav-item').last(); 318 id.find('.second-level-menu').children().wrapAll("<div class='container' />"); 319 } 320 function noSubMenu(){ 321 var offLeftParent, el = $('.main-nav .nav-item'); 322 el.mouseenter(function(){ 323 if($(this).find('.second-level-menu').children().hasClass('no-sub')){ 324 offLeftParent = $(this).offset().left; 325 $(this).find('.no-sub').css({ 326 'padding-left' : offLeftParent +1 327 }); 328 } 329 }); 330 } 331 function printPreventDefault(){ 332 if($('.print').length){ 333 $('.print').click(function(e){ 334 e.preventDefault(); 335 }); 336 } 337 } 338 339 function preventShortcutsInMainMenu(){ 340 var accessableMainMenu = $('.navbar-nav.main-nav > li').filter(':eq(1), :eq(3)'); 341 342 $('.navbar-nav.main-nav > .has-sub').not(accessableMainMenu).children('a').css('cursor', 'default').click(function (e) { 343 e.preventDefault(); 344 }); 345 346 if(!($('.produktbereich').length)){ 347 var breadcrumbPart = $('nav.breadcrumb a.breadcrumb-item').eq(1); 348 breadcrumbPart.click(function (e) { 349 e.preventDefault(); 350 }); 351 breadcrumbPart.css({ 352 'color' : '#000', 353 'cursor' : 'default', 354 'text-decoration' : 'none' 355 }); 356 } 357 358 var solutionsShortcuts = $('.navbar-nav.main-nav').find('.c-13,.c-18,.c-19,.c-294,.c-295,.c-4232').children('a'); 359 solutionsShortcuts.click(function (e) { 360 e.preventDefault(); 361 }); 362 solutionsShortcuts.css({ 363 'color' : '#000', 364 'cursor' : 'default', 365 'text-decoration' : 'none' 366 }); 367 } 368 369 function lightCalcualteForm(){ 370 if($('.form-calculate-fieldset-scope-of-application').length){ 371 $('.form-calculate-fieldset-scope-of-application').on('change', function(){ 372 if ($('#form-calculate-workplaneheight-office').is(':checked')){ 373 $('.info img').attr({ 374 src: assetUrl("Images/calculateOffice.png") 375 }); 376 377 } 378 if ($('#form-calculate-workplaneheight-corridor').is(':checked')){ 379 $('.info img').attr({ 380 src: assetUrl("Images/calculateFloor.png") 381 }); 382 383 } 384 }); 385 } 386 } 387 388 function herbstAktion(){ 389 if($('fieldset.powermail_fieldset_53').length){ 390 $('fieldset.powermail_fieldset_53').children().addClass('col-12'); 391 $('fieldset.powermail_fieldset_53').wrapInner( "<div class='row'></div>"); 392 393 } 394 if($('fieldset.powermail_fieldset_58').length){ 395 $('fieldset.powermail_fieldset_58').children().addClass('col-12'); 396 $('fieldset.powermail_fieldset_58').children().eq(1).removeClass('col-12').addClass('col-5 col-md-2'); 397 $('fieldset.powermail_fieldset_58').children().eq(3).removeClass('col-12').addClass('col-5 col-md-2'); 398 $('fieldset.powermail_fieldset_58').children().eq(5).removeClass('col-12').addClass('col-5 col-md-2'); 399 $('fieldset.powermail_fieldset_58').children().eq(7).removeClass('col-12').addClass('col-5 col-md-2'); 400 $('fieldset.powermail_fieldset_58').children().eq(9).removeClass('col-12').addClass('col-5 col-md-2'); 401 $('fieldset.powermail_fieldset_58').children().eq(11).removeClass('col-12').addClass('col-5 col-md-2'); 402 $('fieldset.powermail_fieldset_58').children().eq(2).removeClass('col-12').addClass('col-7 col-md-4'); 403 $('fieldset.powermail_fieldset_58').children().eq(4).removeClass('col-12').addClass('col-7 col-md-4'); 404 $('fieldset.powermail_fieldset_58').children().eq(6).removeClass('col-12').addClass('col-7 col-md-4'); 405 $('fieldset.powermail_fieldset_58').children().eq(8).removeClass('col-12').addClass('col-7 col-md-4'); 406 $('fieldset.powermail_fieldset_58').children().eq(10).removeClass('col-12').addClass('col-7 col-md-4'); 407 $('fieldset.powermail_fieldset_58').children().eq(12).removeClass('col-12').addClass('col-7 col-md-4'); 408 $('fieldset.powermail_fieldset_58').wrapInner( "<div class='row'></div>"); 409 } 410 411 if($('fieldset.powermail_fieldset_54').length){
412 $('fieldset.powermail_fieldset_54').children().addClass('col-12'); 413 $('fieldset.powermail_fieldset_54').children().eq(1).removeClass('col-12').addClass('col-5 col-md-2'); 414 $('fieldset.powermail_fieldset_54').children().eq(3).removeClass('col-12').addClass('col-5 col-md-2'); 415 $('fieldset.powermail_fieldset_54').children().eq(5).removeClass('col-12').addClass('col-5 col-md-2'); 416 $('fieldset.powermail_fieldset_54').children().eq(7).removeClass('col-12').addClass('col-5 col-md-2'); 417 $('fieldset.powermail_fieldset_54').children().eq(2).removeClass('col-12').addClass('col-7 col-md-4'); 418 $('fieldset.powermail_fieldset_54').children().eq(4).removeClass('col-12').addClass('col-7 col-md-4'); 419 $('fieldset.powermail_fieldset_54').children().eq(6).removeClass('col-12').addClass('col-7 col-md-4'); 420 $('fieldset.powermail_fieldset_54').children().eq(8).removeClass('col-12').addClass('col-7 col-md-4'); 421 $('fieldset.powermail_fieldset_54').wrapInner( "<div class='row'></div>"); 422 } 423 424 if($('fieldset.powermail_fieldset_55').length){ 425 $('fieldset.powermail_fieldset_55').children().addClass('col-12'); 426 $('fieldset.powermail_fieldset_55').children().eq(1).removeClass('col-12').addClass('col-5 col-md-2'); 427 $('fieldset.powermail_fieldset_55').children().eq(3).removeClass('col-12').addClass('col-5 col-md-2'); 428 $('fieldset.powermail_fieldset_55').children().eq(5).removeClass('col-12').addClass('col-5 col-md-2'); 429 $('fieldset.powermail_fieldset_55').children().eq(7).removeClass('col-12').addClass('col-5 col-md-2'); 430 $('fieldset.powermail_fieldset_55').children().eq(2).removeClass('col-12').addClass('col-7 col-md-4'); 431 $('fieldset.powermail_fieldset_55').children().eq(4).removeClass('col-12').addClass('col-7 col-md-4'); 432 $('fieldset.powermail_fieldset_55').children().eq(6).removeClass('col-12').addClass('col-7 col-md-4'); 433 $('fieldset.powermail_fieldset_55').children().eq(8).removeClass('col-12').addClass('col-7 col-md-4'); 434 $('fieldset.powermail_fieldset_55').wrapInner( "<div class='row'></div>"); 435 } 436 437 if($('fieldset.powermail_fieldset_2').length && $('fieldset.powermail_fieldset_2 .powermail_fieldwrap_ort').length){ 438 $('fieldset.powermail_fieldset_2').children().addClass('col-12'); 439 $('fieldset.powermail_fieldset_2 .powermail_fieldwrap_plz').removeClass('col-12').addClass('col-4 col-md-3'); 440 $('fieldset.powermail_fieldset_2 .powermail_fieldwrap_ort').removeClass('col-12').addClass('col-8 col-md-9'); 441 $('fieldset.powermail_fieldset_2').wrapInner( "<div class='row'></div>"); 442 } 443 444 if($('fieldset.powermail_fieldset_147').length && $('fieldset.powermail_fieldset_147 .powermail_fieldwrap_ort').length){ 445 $('fieldset.powermail_fieldset_147').children().addClass('col-12'); 446 $('fieldset.powermail_fieldset_147 .powermail_fieldwrap_plz').removeClass('col-12').addClass('col-4 col-md-3'); 447 $('fieldset.powermail_fieldset_147 .powermail_fieldwrap_ort').removeClass('col-12').addClass('col-8 col-md-9'); 448 $('fieldset.powermail_fieldset_147').wrapInner( "<div class='row'></div>"); 449 } 450 451 if($('fieldset.powermail_fieldset_59').length){ 452 $('fieldset.powermail_fieldset_59').children().addClass('col-12'); 453 $('fieldset.powermail_fieldset_59').find('.powermail_fieldwrap_type_select,.powermail_fieldwrap_plz').removeClass('col-12').addClass('col-4 col-md-3'); 454 $('fieldset.powermail_fieldset_59').find('.powermail_fieldwrap_type_content,.powermail_fieldwrap_ort').removeClass('col-12').addClass('col-8 col-md-9'); 455 $('fieldset.powermail_fieldset_59').wrapInner( "<div class='row'></div>"); 456 } 457 if($('fieldset.powermail_fieldset_76').length){ 458 $('fieldset.powermail_fieldset_76').children().addClass('col-12'); 459 $('fieldset.powermail_fieldset_76').children().eq(1).removeClass('col-12').addClass('col-4 col-md-3'); 460 $('fieldset.powermail_fieldset_76').children().eq(7).removeClass('col-12').addClass('col-4 col-md-3'); 461 $('fieldset.powermail_fieldset_76').children().eq(2).removeClass('col-12').addClass('col-8 col-md-9'); 462 $('fieldset.powermail_fieldset_76').children().eq(8).removeClass('col-12').addClass('col-8 col-md-9'); 463 $('fieldset.powermail_fieldset_76').wrapInner( "<div class='row'></div>"); 464 } 465 } 466 467 468 // ie detection 469 // Get IE or Edge browser version 470 471 function detectIE() { 472 var ua = window.navigator.userAgent; 473 474 // Test values; Uncomment to check result ⦠475 476 // IE 10 477 // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'; 478 479 // IE 11 480 // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'; 481 482 // Edge 12 (Spartan) 483 // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0'; 484 485 // Edge 13 486 // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586'; 487 488 var msie = ua.indexOf('MSIE '); 489 if (msie > 0) { 490 // IE 10 or older => return version number 491 return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); 492 } 493 494 var trident = ua.indexOf('Trident/'); 495 if (trident > 0) { 496 // IE 11 => return version number 497 var rv = ua.indexOf('rv:'); 498 return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); 499 } 500 501 var edge = ua.indexOf('Edge/'); 502 if (edge > 0) { 503 // Edge (IE 12+) => return version number
504 return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); 505 } 506 507 // other browser 508 return false; 509 } 510 511 512 // accordion produkt filter 513 function filterAccordion(){ 514 if($('.filter .filter-item').length){ 515 516 setTimeout(function(){ 517 $('.filter .filter-item .ui a').each(function(){ 518 if($(this).hasClass('set')){ 519 $(this).parents('.filter-item').addClass('show'); 520 } 521 }); 522 }, 750); 523 524 $('.filter .filter-item .label').click(function(){ 525 $(this).next('.ui').slideToggle(); 526 $(this).parents('.filter-item').toggleClass('show'); 527 }); 528 529 } 530 } 531 532 function toggleAllContentAccordions(){ 533 if($('.contentAccordions .open-all').length){ 534 $('.contentAccordions .open-all').click(function(){ 535 $(this).toggleClass('opened'); 536 if($('.contentAccordions .open-all.opened').length){ 537 $(".accordion").addClass('show'); 538 $(".accordion").find('.accordion-body').slideDown("slow"); 539 } else{ 540 $(".accordion").removeClass('show'); 541 $(".accordion").find('.accordion-body').slide
541Up("slow"); 542 } 543 }); 544 } 545 } 546 547 function kachelWrapper(){ 548 if($('.kachel-wrapper').length){ 549 $('.kachel-wrapper').wrapAll('<div class="row"></div>').css({ 550 'display' : 'block' 551 }); 552 553 } 554 } 555 556 function detachFilterOnMobile(){ 557 var mobilePlace = $('.filter-mobile-wrapper .accordion-body.outer'); 558 var initialPlace = $('.filter-nomobile-wrapper'); 559 var el = $('.esyluxProductfilterWrapper:not(.tags-wrapper)').detach(); 560 mobilePlace.append(el); 561 } 562 563 function changeFilterToInitial(){ 564 var mobilePlace = $('.filter-mobile-wrapper .accordion-body.outer'); 565 var initialPlace = $('.filter-nomobile-wrapper'); 566 var el = $('.esyluxProductfilterWrapper:not(.tags-wrapper)').detach(); 567 initialPlace.append(el); 568 } 569 570 function detachFormOnMobile(){ 571 if ($('.positionFormOnSmartphone').length){ 572 if($('.marginalSpaltenWrapper').length === 0){ 573 $('.col-md-3.ml-auto').not('.positionFormOnSmartphone').wrapInner('<div class="marginalSpaltenWrapper"></div>'); 574 } 575 var initialPlace = $('.col-md-3.ml-auto').not('.positionFormOnSmartphone'); 576 var mobilePlace = $('.positionFormOnSmartphone'); 577 var el = $('.marginalSpaltenWrapper').detach(); 578 mobilePlace.append(el); 579 } 580 } 581 582 function changeFormToInitial(){ 583 if ($('.positionFormOnSmartphone').length){ 584 var initialPlace = $('.col-md-3.ml-auto').not('.positionFormOnSmartphone'); 585 var mobilePlace = $('.positionFormOnSmartphone'); 586 var el = $('.marginalSpaltenWrapper').detach(); 587 initialPlace.append(el); 588 } 589 } 590 591 function optWideTeaserForMobile(){ 592 if($('.wide-teaser .mobile-opt').length){ 593 $('.wide-teaser .mobile-opt').parents('.wide-teaser').addClass('mobile-opt-wrapper'); 594 } 595 if($('.wide-teaser .img-box').length){ 596 $('.wide-teaser .img-box').not('.logo-box').parents('.wide-teaser').addClass('has-img-box'); 597 } 598 } 599 600 function adjustProdSliderHeight(){ 601 if($('.product-detail .owl-carousel.product-slider').height){ 602 var el = $('.product-detail .owl-carousel.product-slider .owl-stage .owl-item img'); 603 var width = $('.col-12.col-lg-6').width(); 604 var height = width * 502 / 975; 605// el.height(height); 606 } 607 } 608 609 function mediaCenterCatalogueHelper(){ 610 if($('.content-page.media-center').length){ 611 $('div.accordion').eq(0).addClass('catalogue'); 612 } 613 } 614 615 function dismissNewsletter(){ 616 var isSet = Cookies.get('nldismiss'); 617 if(isSet != '__set'){ 618 619 $( '.sticky-bar' ).show(); 620 } 621 if($('.sticky-bar .dismiss').length){ 622 $('.sticky-bar .dismiss').click(function(){ 623 Cookies.set('nldismiss', 'set'); 624 $('.sticky-bar').hide(); 625 }); 626 } 627 } 628 629 function removeClassesForMobile(){ 630 if($('.modal-right-pane').length){ 631 $('.modal-right-pane').addClass('no-modal-right-pane').removeClass('modal-right-pane'); 632 } 633 } 634 635 function addClassesForPC(){ 636 if($('.no-modal-right-pane').length){ 637 $('.no-modal-right-pane').addClass('modal-right-pane').removeClass('no-modal-right-pane'); 638 } 639 } 640 641 function openNLModal(){ 642 var hash = window.location.hash; 643 // console.log(hash); 644 if(hash === '#newsletter'){ 645 $('#exampleModalCenter').modal({ 646 show: true, 647 focus: true 648 }) 649 650 } 651 } 652 653 function slideToAccordionContent(){ 654 var header = 0; 655 var hash = window.location.hash; 656 if (hash 657 && hash.substring(0,2) !== '#!' 658 && $(hash).length > 0 659 ) { 660 if (hash === '#quickCalculation'){ 661 662 if($('.fixed-header-helper').length){ 663 header = $('.fixed-header-helper').height(); 664 } 665 setTimeout(function(){ 666 $('html, body').animate({ 667 scrollTop : $(hash).offset().top - header 668 },500, function() { 669 $('#pills-facts-tab').removeClass('active'); 670 $(hash).children().addClass('active').find('.accordion-body').slideDown("slow"); 671 $('#pills-facts').removeClass('show active'); 672 $('#pills-reluxQuickCalculation').addClass('show active'); 673 }); 674 }, 500); 675 676 } else { 677 678 if($('.fixed-header-helper').length){ 679 header = $('.fixed-header-helper').height(); 680 } 681 if($(hash).parents('.accordion-body').length){ 682 setTimeout(function(){ 683 $(hash).parents('.accordion-body').slideDown(1); 684 }, 750); 685 setTimeout(function(){ 686 $('html, body').animate({ 687 scrollTop : $(hash).offset().top - header 688 },500, function() { 689 $(hash).addClass('show').find('.accordion-body').slideDown("slow", function() { 690 coverImage(); 691 }); 692 }); 693 }, 850); 694 }else{ 695 setTimeout(function(){ 696 $('html, body').animate({ 697 scrollTop : $(hash).offset().top - header 698 },500, function() { 699 $(hash).addClass('show').find('.accordion-body').slideDown("slow", function() { 700 coverImage(); 701 }); 702 }); 703 }, 750); 704 } 705 } 706 } 707 } 708 709 function equalHeightPillsTabs(){ 710 if($('#pills-tab.hasCalculation').length){ 711 712 var tabs = $('#pills-tab.hasCalculation .nav-link'); 713 tabs.css({ 714 'height' : 'auto' 715 }); 716 var heighest = []; 717 var tabHeight, i, max, n; 718 719 setTimeout(function(){ 720 tabs.each(function () { 721 tabHeight = $(this).outerHeight(); 722 heighest.push(tabHeight); 723 }); 724 725 max = heighest[0]; 726 n = heighest.length; 727 for(i = 1; i < n; i++) { 728 if(heighest[i] > max) 729 max = heighest[i]; 730 } 731 tabs.css({ 732 'height' : max, 733 'opacity' : 1 734 }); 735 }, 750); 736 } 737 } 738 739 function nurZahlen(el) { 740 var val = el.val(); 741 //Nur Zahlen und Dez-Zeichen 742 val = val.replace(/[^\.^,\d]/g, ''); 743 // "," ersetzen zu "." 744 val = val.replace(/[,]/g, '.'); 745 el.val(val); 746 } 747 748 function validateLightCalculation(){ 749 if($('.form-light-calculator input').length){ 750 $('.form-light-calculator input[type="text"]').on('input', function() { 751 var t = $(this); 752 nurZahlen(t); 753 }); 754 } 755 } 756 757 function addCounterToBookmarkAll(){ 758 if($('.bookmarkAll-wrapper').length){ 759 var items = $('.product-item .text-right.col-12 .bookmark').length; 760 var htmlString = '<span class="bookmark-counter">' + items + '</span>'; 761 $('.bookmarkAll-wrapper').append(htmlString); 762 } 763 } 764 765 function amendProductDownloads(){ 766 if($('#pills-download').length){ 767 if($('#pills-download .main-table tr .second:contains(\'RTF\')')){ 768 $('#pills-download .main-table tr .second:contains(\'RTF\')').parents('.main-table').addClass('extended'); 769 var target = $('.table.downloads tr'); 770 target.detach(); 771 target.appendTo($('.main-table.extended')); 772 } 773 /* 774 var dlthead = $('#pills-download .main-table thead'); 775 dlthead.clone().prependTo($('.table.downloads')); 776 777 */ 778 779 780 if($('#pills-download .table.extended tr').last().hasClass('no-prod-download')){ 781 $('#pills-download .table.extended').css({ 782 'border-bottom' : '2px solid #000' 783 }); 784 } 785 786 } 787 } 788 789 function hideProdMenuOnPortfolio(){ 790 if($('.is-portfolio').length === 0){ 791 $('.second-level-menu.products').css({ 792 'top' : 'auto' 793 }); 794 } 795 } 796 797 function basket(){ 798 799 $('.reduce').click(function(){ 800 $('.next-step').hide(); 801 $('.update').show(); 802 var amount = $(this).siblings('input').attr('value'); 803 if (amount <= 1) { 804 amount=0; 805 } else { 806 amount--; 807 } 808 // if(amount == 0){ 809 // $(this).parents('.product-item').hide(); 810 // $(this).hide(); 811 // $(this).siblings('input').attr('value', amount); 812 // }else{ 813 $(this).siblings('input').attr('value', amount); 814 // } 815 }); 816 817 $('.increase').click(function(){ 818 $('.next-step').hide(); 819 $('.update').show(); 820 var amount = $(this).siblings('input').attr('value'); 821 amount++; 822 $(this).siblings('input').attr('value', amount); 823 $(this).siblings('.reduce').show(); 824 }); 825 $('.quantity input').change(function(){ 826 $('.next-step').hide(); 827 $('.update').show(); 828 }); 829 } 830 831 832 function cloneProductListRma(){ 833 if($('.rma-user-form .form-group.article-list').length){ 834 835 if($('.rma-user-form .form-group.article-list').length === 2){ 836 $('.rma-user-form .delete-this').hide(); 837 } 838 839 $('.rma-user-form .delete-this').click(function (e) { 840 e.preventDefault(); 841 842 $(this) 843 .parent() 844 .remove(); 845 846 if($('.rma-user-form .form-group.article-list').length === 2){ 847 $('.rma-user-form .delete-this').hide(); 848 } 849 850 }); 851 852 $('.rma-user-form .add-new-entry').click(function (e) { 853 e.preventDefault(); 854 855 $('.rma-user-form .delete-this').show(); 856 857 $('.clone') 858 .clone(true) 859 .html(function(i, oldHTML) { 860 return oldHTML.replace(/999999/g, '' + 10000 + $('.rma-user-form .form-group.article-list').length); 861 }) 862 .addClass('cloned') 863 .removeClass('clone') 864 .insertBefore('.add-new-entry'); 865 866 initializeRmaUserFormAutocomplete($('.cloned input.articleNumber')); 867 $('.cloned') 868 .removeClass('cloned'); 869 870 }); 871 } 872 873 } 874 875 function initializeRmaUserFormAutocomplete(elements) { 876 elements.each(function() { 877 let xhr; 878 $(this).autocomplete({ 879 source: function (request, response) { 880 xhr && xhr.abort(); 881 xhr = $.ajax({ 882 url: ($('#configuration').data('baseuri') || '/') 883 + '?type=1619162552' 884 + '&resultSV=web_product_title' 885 + '&resultSV=web_product_order_number' 886 + '&resultSV=web_product_gross_weight', 887 dataType: "json", 888 data: { 889 'searchId': 'QuerySearch', 890 'maxSearchResults': 20, 891 'term': request.term 892 }, 893 success: function (data) { 894 var suggestions = $(data.subnodes).map(function () { 895 return { 896 'value': this['resultValues']['web_product_order_number']['0']['value'] + 897 " - " + 898 this['resultValues']['web_product_title']['0']['value'], 899 'data': { 900 'id': this['id'], 901 'web_product_order_number': this['resultValues']['web_product_order_number']['0']['value'], 902 'web_product_title': this['resultValues']['web_product_title']['0']['value'], 903 'web_product_gross_weight': this['resultValues']['web_product_gross_weight']['0']['value'] 904 } 905 }; 906 }); 907 response(suggestions); 908 } 909 }); 910 }, 911 minLength: 2, 912 select: function (event, ui) { 913 $(this).val(ui.item.data.web_product_order_number); 914 $('#' + $(this).data('idTarget')).val(ui.item.data.id); 915 $('#' + $(this).data('grossWeightTarget')).val(ui.item.data.web_product_gross_weight); 916 $('#' + $(this).data('nameTarget')).val(ui.item.label); 917 event.preventDefault(); 918 } 919 }); 920 }); 921 } 922 923 function initializeRmaUserFormFileCheck() {
924 $('.rma-user-form #file').change(function() { 925 $(this).parent('.form-group').removeClass('has-error'); 926 if (this.files && this.files[0] && this.files[0].size > (20 * 1024 * 1024)) { 927 $(this).parent('.form-group').addClass('has-error'); 928 this.value = ""; 929 } 930 $('.rma-user-form .text-danger').hide(); 931 $('.rma-user-form .has-error .text-danger').show(); 932 } 933 ); 934 } 935 936 function initializeRmaUserFormValidation() { 937 $('.rma-user-form #anzahlPakete, .rma-user-form #anzahlPaletten').on('keyup', function () { 938 var $this = $(this); 939 if ($this.val() > 0) { 940 $('.rma-user-form .has-error').removeClass('has-error'); 941 $('.rma-user-form .text-danger').hide(); 942 if ($this.is('#anzahlPakete')) { 943 $('#anzahlPaletten').val(0); 944 } else { 945 $('#anzahlPakete').val(0); 946 } 947 } else{ 948 $('.rma-user-form #anzahlPakete, .rma-user-form #anzahlPaletten').parent('.form-group').addClass('has-error'); 949 $('.rma-user-form .text-danger').show(); 950 } 951 }); 952 953 $('.rma-user-form').submit(function () { 954 $('.rma-user-form .has-error').removeClass('has-error'); 955 hasError = false; 956 if ($('.rma-user-form #anzahlPakete').val() == 0 && $('.rma-user-form #anzahlPaletten').val() == 0) { 957 $('.rma-user-form #anzahlPakete, .rma-user-form #anzahlPaletten').parent('.form-group').addClass('has-error'); 958 hasError = true; 959 } 960 $('.rma-user-form .text-danger').hide(); 961 $('.rma-user-form .has-error .text-danger').show(); 962 return !hasError; 963 }); 964 } 965 966 function extendPropertiesRMAForm(){ 967 $('.articleAmount').attr('min', '1'); 968 $('#rechtsfolgenbelehrung').attr('required', true); 969 $('.rma-user-form #anzahlPakete, .rma-user-form #anzahlPaletten').attr('min', '0'); 970 $('textarea').attr('maxlength', 250); 971 } 972 973 function initializeRmaUserForm() { 974 975 if ($('.rma-user-form').length) { 976 cloneProductListRma(); 977 initializeRmaUserFormFileCheck(); 978 initializeRmaUserFormValidation(); 979 initializeRmaUserFormAutocomplete($('.rma-user-form input.articleNumber')); 980 extendPropertiesRMAForm(); 981 $(".rma-user-form").validate(); 982 } 983 } 984 985 986 function getNewsletterModal(){ 987 // RegEx: http://stackoverflow.com/a/1404100/451634 988 function getURLParameter(name) { 989 var value = decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, ""])[1]); 990 return (value !== 'null') ? value : false; 991 } 992 993 var param = getURLParameter('newsletter'); 994 if (param == 1){ 995 $('#exampleModalCenter').modal('show'); 996 }; 997 } 998 999 function getPdfModal(){ 1000 1001 if($('#get-pdf-modal').length){ 1002 $('#get-pdf-modal .download').click(function(){ 1003 $('#get-pdf-modal').modal('hide'); 1004 }); 1005 } 1006 } 1007 1008 function newCatalogue(){ 1009 1010 if($('#newsModal').length){ 1011 $('#newsModal').modal('show'); 1012 } 1013 1014 var cookieValue = Cookies.get("newCatalogue2020"); 1015 1016 if((!cookieValue)){ 1017 // if((!cookieValue) && window.location.hostname !== 'www.esylux.de'){ 1018 if($('#stoererModal').length){ 1019 $('#stoererModal').modal('show'); 1020 } 1021 1022 1023 1024 $('#stoererModal').on('hidden.bs.modal', function (e) { 1025 Cookies.set("newCatalogue2020", 1, { expires : 14 }); 1026 }); 1027 $('#stoererModal .helper a').click(function(){ 1028 Cookies.set("newCatalogue2020", 1, { expires : 365 }); 1029 }); 1030 } 1031 1032 // RegEx: http://stackoverflow.com/a/1404100/451634 1033 function getURLParameter(name) { 1034 var value = decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, ""])[1]); 1035 return (value !== 'null') ? value : false;
1036 } 1037 1038 var param = getURLParameter('stoerer'); 1039 if (param == 1){ 1040 1041 switch (document.documentElement.lang) { 1042 case 'de': 1043 $('#powermail_field_betreff') 1044 .val('Bestellung ESYLUX Katalog 2020/2021') 1045 .attr('readonly', 'readonly'); 1046 $('#powermail_field_nachricht') 1047 .val('Sehr geehrte Damen und Herren,\n' + 1048 'bitte senden Sie mir die aktuelle Ausgabe Ihres Katalogs 2020/2021 an meine Kontaktdaten wie oben hinterlegt. \n' + 'Mit freundlichen GrüÃen') 1049 .attr('readonly', 'readonly'); 1050 break; 1051 case 'da': 1052 $('#powermail_field_betreff') 1053 .val('Bestilling ESYLUX-katalog 2020/2021') 1054 .attr('readonly', 'readonly'); 1055 $('#powermail_field_nachricht') 1056 .val('God dag \n' + 1057 'Send mig venligst den aktuelle version af jeres katalog 2020/2021 til mine kontaktdata, smo er angivet ovenfor. \n' + 'Med venlig hilsen') 1058 .attr('readonly', 'readonly'); 1059 break; 1060 case 'es': 1061 $('#powermail_field_betreff') 1062 .val('Solicitud del catálogo ESYLUX 2020/2021') 1063 .attr('readonly', 'readonly'); 1064 $('#powermail_field_nachricht') 1065 .val('Estimados/as señores/as: \n' + 1066 'Quiero recibir la edición actual de su catálogo 2020/2021 en los datos de contacto indicados anteriormente. \n' + 'Cordialmente,') 1067 .attr('readonly', 'readonly'); 1068 break; 1069 case 'fi': 1070 $('#powermail_field_betreff') 1071 .val('ESYLUX-luettelon 2020/2021 tilaus') 1072 .attr('readonly', 'readonly'); 1073 $('#powermail_field_nachricht') 1074 .val('Hei \n' + 1075 'tilaan uusimman kauden 2020/2021 tuoteluettelon alla antamaani osoitteeseen. \n' + 'Ystävällisin terveisin') 1076 .attr('readonly', 'readonly'); 1077 break; 1078 case 'fr': 1079 $('#powermail_field_betreff') 1080 .val('Commande du catalogue ESYLUX 2020/2021') 1081 .attr('readonly', 'readonly'); 1082 $('#powermail_field_nachricht') 1083 .val('Madame, Monsieur, \n' + 1084 'merci de bien vouloir envoyer la dernière édition de votre catalogue 2020/2021 à mon adresse indiquée ci-dessus. \n' + 'Sincères salutations,') 1085 .attr('readonly', 'readonly'); 1086 break; 1087 case 'nl': 1088 $('#powermail_field_betreff') 1089 .val('Bestelling ESYLUX-catalogus 2020/2021') 1090 .attr('readonly', 'readonly'); 1091 $('#powermail_field_nachricht') 1092 .val('Geachte dames en heren, \n' + 1093 'Stuur mij de huidige uitgave van uw catalogus 2020/2021 naar mijn contactgegevens zoals hierboven vermeld. \n' + 'Met vriendelijke groet,') 1094 .attr('readonly', 'readonly'); 1095 break; 1096 case 'nb': 1097 $('#powermail_field_betreff') 1098 .val('Bestilling ESYLUX-katalog 2020/2021') 1099 .attr('readonly', 'readonly'); 1100 $('#powermail_field_nachricht') 1101 .val('Kjære alle sammen, \n' + 1102 'Vi ber dere om Ã¥ sende meg den nyeste versjonen av katalogen deres for 2020/2021 ved bruk av kontaktopplysningene ovenfor. \n' + 'Vennlig hilsen,') 1103 .attr('readonly', 'readonly'); 1104 break; 1105 case 'pt': 1106 $('#powermail_field_betreff') 1107 .val('Encomenda do catálogo ESYLUX 2020/2021') 1108 .attr('readonly', 'readonly'); 1109 $('#powermail_field_nachricht') 1110 .val('Caro/a Sr./a., \n' + 1111 'desejo receber a edição actual do vosso catálogo de 2020/2021 através dos dados de contacto fornecidos. \n' + 'Melhores cumprimentos') 1112 .attr('readonly', 'readonly'); 1113 break; 1114 case 'ru': 1115 $('#powermail_field_betreff') 1116 .val('Ðаказ каÑалога ESYLUX 2020/2021') 1117 .attr('readonly', 'readonly'); 1118 $('#powermail_field_nachricht') 1119 .val('УважаемÑе Ð´Ð°Ð¼Ñ Ð¸ гоÑпода, \n' + 1120 'пÑоÑÑ Ð¾ÑпÑавиÑÑ Ð¼Ð½Ðµ акÑÑалÑное издание ваÑего каÑалога 2020/2021 по ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð²ÑÑе адÑеÑÑ. \n' + 'С Ñважением,') 1121 .attr('readonly', 'readonly'); 1122 break; 1123 case 'sv': 1124 $('#powermail_field_betreff') 1125 .val('Beställning ESYLUX-katalog 2020/2021') 1126 .attr('readonly', 'readonly'); 1127 $('#powermail_field_nachricht') 1128 .val('Hej! \n' + 1129 'skicka den aktuella versionen av er katalog 2020/2021 till mina kontaktadress som anges ovan. \n' + 'Med vänliga hälsningar') 1130 .attr('readonly', 'readonly'); 1131 break; 1132 default: 1133 $('#powermail_field_betreff') 1134 .val('Order the ESYLUX 2020/2021 catalogue') 1135 .attr('readonly', 'readonly'); 1136 $('#powermail_field_nachricht') 1137 .val('Dear Sir or Madam, \n' + 1138 'Please send me the current edition of your 2020/2021 catalogue using the contact details specified above. \n' + 'Yours faithfully') 1139 .attr('readonly', 'readonly'); 1140 break; 1141 } 1142 } 1143
1144 var param3 = getURLParameter('knx'); 1145 1146 if (param3 == 'web'){ 1147 var unix_timestamp = getURLParameter('date'); 1148 var date = new Date(unix_timestamp * 1000); 1149 var day = ("0" + date.getDate()).slice(-2); 1150 var year = date.getFullYear(); 1151 var month = ("0" + (date.getMonth() + 1)).slice(-2); 1152 var hours = date.getHours(); 1153 var minutes = (date.getMinutes()<10?'0':'') + date.getMinutes(); 1154 var subject = getURLParameter('subject'); 1155 var seminar = getURLParameter('name'); 1156 1157 switch (document.documentElement.lang) { 1158 case 'de-DE': 1159 $('#powermail_field_betreff') 1160 .val('ACADEMY - Anmeldung '+ seminar) 1161 .attr('readonly', 'readonly'); 1162 $('#powermail_field_nachricht') 1163 .val('Hiermit melde ich mich verbindlich für das ' + seminar + ' am ' + day + '.' + month + '.' + year + ' um ' + hours + ':' + minutes + ' Uhr an.\nBitte senden Sie mir den entsprechenden Anmeldelink zu.\nMit freundlichen GrüÃen') 1164 .attr('readonly', 'readonly'); 1165 break; 1166 case 'da': 1167 $('#powermail_field_betreff') 1168 .val('ACADEMY - tilmelding til '+ seminar) 1169 .attr('readonly', 'readonly'); 1170 $('#powermail_field_nachricht') 1171 .val('Jeg registrerer herved til ' + seminar + ' pÃ¥ ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nSend meg den aktuelle registreringskoblingen.\nMed beste ønsker') 1172 .attr('readonly', 'readonly'); 1173 break; 1174 case 'es': 1175 $('#powermail_field_betreff') 1176 .val('ACADEMY - Inscripción '+ seminar) 1177 .attr('readonly', 'readonly'); 1178 $('#powermail_field_nachricht') 1179 .val('Por la presente me inscribo de forma vinculante en el ' + seminar + ' el dÃa ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nPor favor, envÃenme el enlace de registro correspondiente.\nCon saludos cordiales') 1180 .attr('readonly', 'readonly'); 1181 break; 1182 case 'fi': 1183 $('#powermail_field_betreff') 1184 .val('ACADEMY - ilmoittautuminen '+ seminar) 1185 .attr('readonly', 'readonly'); 1186 $('#powermail_field_nachricht') 1187 .val('Ilmoitan täten ' + seminar + ' ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nLähetä minulle asiaankuuluva rekisteröintilinkki.\nParhain terveisin') 1188 .attr('readonly', 'readonly'); 1189 break; 1190 case 'fr': 1191 $('#powermail_field_betreff') 1192 .val('ACADEMY - Inscription '+ seminar) 1193 .attr('readonly', 'readonly'); 1194 $('#powermail_field_nachricht') 1195 .val('Par la présente, je m\'inscris de manière obligatoire au ' + seminar + ' le ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nVeuillez m\'envoyer le lien d\'inscription correspondant.\nBien à vous') 1196 .attr('readonly', 'readonly'); 1197 break; 1198 case 'nl': 1199 $('#powermail_field_betreff') 1200 .val('ACADEMY - Inschrijving '+ seminar) 1201 .attr('readonly', 'readonly'); 1202 $('#powermail_field_nachricht') 1203 .val('Hierbij schrijf ik mij bindend in voor de ' + seminar + ' op ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nGraag ontvang ik uw bevestiging van mijn deelname.\nMet vriendelijke groet') 1204 .attr('readonly', 'readonly'); 1205 break; 1206 case 'nb': 1207 $('#powermail_field_betreff') 1208 .val('ACADEMY - pÃ¥melding til '+ seminar) 1209 .attr('readonly', 'readonly'); 1210 $('#powermail_field_nachricht') 1211 .val('Jeg registrerer herved til ' + seminar + ' pÃ¥ ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nSend meg den aktuelle registreringskoblingen.\nMed beste ønsker') 1212 .attr('readonly', 'readonly'); 1213 break; 1214 case 'pt': 1215 $('#powermail_field_betreff') 1216 .val('ACADEMY - Inscrição '+ seminar) 1217 .attr('readonly', 'readonly'); 1218 $('#powermail_field_nachricht') 1219 .val('Registei-me pelo presente de forma vinculativa para o ' + seminar + ' em ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nPor favor, enviem-me o link de registo correspondente.\nAtenciosamente') 1220 .attr('readonly', 'readonly'); 1221 break; 1222 case 'ru': 1223 $('#powermail_field_betreff') 1224 .val('ÐÐÐÐÐÐÐЯ - РегиÑÑÑаÑионнÑй '+ seminar) 1225 .attr('readonly', 'readonly'); 1226 $('#powermail_field_nachricht')
1227 .val('ÐаÑÑоÑÑим Ñ Ð² обÑзаÑелÑном поÑÑдке ÑегиÑÑÑиÑÑÑÑÑ Ð´Ð»Ñ ÑÑаÑÑÐ¸Ñ Ð² ' + seminar + ' на ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nÐожалÑйÑÑа, пÑиÑлиÑе мне ÑооÑвеÑÑÑвÑÑÑÑÑ ÑÑÑÐ»ÐºÑ Ð´Ð»Ñ ÑегиÑÑÑаÑии.\nС наилÑÑÑими пожеланиÑми') 1228 .attr('readonly', 'readonly'); 1229 break; 1230 case 'sv': 1231 $('#powermail_field_betreff') 1232 .val('ACADEMY - registrering för '+ seminar) 1233 .attr('readonly', 'readonly'); 1234 $('#powermail_field_nachricht') 1235 .val('Jag anmäler mig härmed till ' + seminar + ' om ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nVänligen skicka mig relevant registreringslänk.\nMed vänliga hälsningar') 1236 .attr('readonly', 'readonly'); 1237 break; 1238 default: 1239 $('#powermail_field_betreff') 1240 .val('ACADEMY - Registration '+ seminar) 1241 .attr('readonly', 'readonly'); 1242 $('#powermail_field_nachricht') 1243 .val('I hereby register bindingly for the ' + seminar + ' on ' + day + '.' + month + '.' + year + ', ' + hours + ':' + minutes + '.\nPlease send me the corresponding registration link.\nYours sincerely') 1244 .attr('readonly', 'readonly'); 1245 break; 1246 } 1247 } 1248 1249 var param2 = getURLParameter('selectionguide'); 1250 if (param2 == 1){ 1251 1252 switch (document.documentElement.lang) { 1253 case 'de': 1254 $('#powermail_field_betreff') 1255 .val('Bestellung Auswahlhilfe Präsenz- und Bewegungsmelder') 1256 .attr('readonly', 'readonly'); 1257 $('#powermail_field_nachricht') 1258 .val('Sehr geehrte Damen und Herren,\n' + 1259 'bitte senden Sie mir die Auswahlhilfe an meine Kontaktdaten wie oben hinterlegt. \n' + 'Mit freundlichen GrüÃen'); 1260 break; 1261 case 'da': 1262 $('#powermail_field_betreff') 1263 .val('Bestilling udvælgelsesguide tilstedeværelses- og bevægelsessensorer') 1264 .attr('readonly', 'readonly'); 1265 $('#powermail_field_nachricht') 1266 .val('God dag \n' + 1267 'Send mig venligst den udvælgelsesguide til mine kontaktdata, smo er angivet ovenfor. \n' + 'Med venlig hilsen'); 1268 break; 1269 case 'fi': 1270 $('#powermail_field_betreff') 1271 .val('Valintaopas läsnäolo- ja liikeilmaisimet tilaus') 1272 .attr('readonly', 'readonly'); 1273 $('#powermail_field_nachricht') 1274 .val('Hei \n' + 1275 'tilaan uusimman valintaopas alla antamaani osoitteeseen. \n' + 'Ystävällisin terveisin'); 1276 break; 1277 case 'fr': 1278 $('#powermail_field_betreff') 1279 .val('Commande du guide de sélection détecteurs de présence et de mouvement') 1280 .attr('readonly', 'readonly'); 1281 $('#powermail_field_nachricht') 1282 .val('Madame, Monsieur, \n' + 1283 'merci de bien vouloir envoyer le guide de sélection à mon adresse indiquée ci-dessus. \n' + 'Sincères salutations,'); 1284 break; 1285 case 'nl': 1286 $('#powermail_field_betreff') 1287 .val('Bestelling selectiehulp aanwezigheidssensoren en bewegingsmelders') 1288 .attr('readonly', 'readonly'); 1289 $('#powermail_field_nachricht') 1290 .val('Geachte dames en heren, \n' + 1291 'Stuur mij de selectiehulp naar mijn contactgegevens zoals hierboven vermeld. \n' + 'Met vriendelijke groet,'); 1292 break; 1293 case 'nb': 1294 $('#powermail_field_betreff') 1295 .val('Bestilling produktvelger tilstedeværelses- og bevegelsesdetektorer') 1296 .attr('readonly', 'readonly'); 1297 $('#powermail_field_nachricht') 1298 .val('Kjære alle sammen, \n' + 1299 'Vi ber dere om Ã¥ sende meg den produktvelger ved bruk av kontaktopplysningene ovenfor. \n' + 'Vennlig hilsen,'); 1300 break; 1301 case 'sv': 1302 $('#powermail_field_betreff') 1303 .val('Beställning urvalshjälp närvaro- och rörelsedetektorer') 1304 .attr('readonly', 'readonly'); 1305 $('#powermail_field_nachricht') 1306 .val('Hej! \n' + 1307 'skicka den urvalshjälp till mina kontaktadress som anges ovan. \n' + 'Med vänliga hälsningar'); 1308 break; 1309 default: 1310 break; 1311 } 1312 } 1313 1314 } 1315 1316 function initPageBrowserInSearchList(){ 1317 if ($('.searchlist').length > 0) { 1318 $('.searchlist .page-link').click(function (e) { 1319 var pageLink = $(this); 1320 e.preventDefault(); 1321 $('body,html').animate({ 1322 scrollTop: 0 1323 }, 800); 1324 $('.searchlist').hide(); 1325 $('.searchlistProcessing').show();
1326 $('form.search_result').find('input:hidden[name*="page"]').val(pageLink.data('page') || 1); 1327 $('form.search_result').submit(); 1328 }); 1329 } 1330 } 1331 1332 function toggleArchivedInSearchList() { 1333 if ($('.searchlist').length > 0) { 1334 $('.product-item').last().css({ 1335 'border-bottom-width': '2px' 1336 }); 1337 $('#toggle-archived').change(function () { 1338 $('.searchlist').hide(); 1339 $('.searchlistProcessing').show(); 1340 $('form.search_result').find('input:hidden[name*="showArchived"]').val($(this).prop('checked') ? '1' : '0'); 1341 $('form.search_result').submit(); 1342 }); 1343 } 1344 } 1345 1346 function adjustTeaserText(){ 1347 if($('.outer-image .stoerer').length){ 1348 1349 if($('.outer-image .stoerer2').length){ 1350 1351 if($('.outer-image .stoerer1').length){ 1352 var offsetLeft = $('.outer-image .stoerer1').outerWidth(); 1353 $('.outer-image .stoerer2').css({ 1354 'position' : 'absolute', 1355 'top' : 20, 1356 'left' : offsetLeft + 85 1357 }); 1358 var teaserLength = $('.outer-image .stoerer2').outerWidth(); 1359 $('.outer-image .stoerer').css({ 1360 'width' : teaserLength + offsetLeft + 105 1361 1362 }); 1363 var st2Height = $('.stoerer2').outerHeight(); 1364 var stHeight = $('.stoerer').outerHeight(); 1365 st2Height += 38; 1366// console.log(stHeight + ' / ' + st2Height); 1367 if(st2Height > stHeight){ 1368 $('.outer-image .stoerer').css({ 1369 'height' : st2Height 1370 1371 }); 1372 } 1373 1374 } 1375 1376 } 1377 $('.outer-image .stoerer').css({ 1378 'opacity' : 1 1379 1380 }); 1381 } 1382 1383 } 1384 1385 1386 function nameConceptAccordion(){ 1387 $('.name-concept .accordion-inner-head .cta').click(function(e){ 1388 e.preventDefault(); 1389 }); 1390 if($(".name-concept").length){ 1391 if($(".name-concept.show").length){ 1392 setTimeout(function(){ 1393 $(".name-concept.show").each(function(){ 1394 $(this).find('.accordion-inner-body').slideToggle( "slow", function() { 1395 coverImage(); 1396 }); 1397 }) 1398 }, 750); 1399 } 1400 1401 $('.name-concept').click(function(e){ 1402 $(this).toggleClass('show'); 1403 $(this).find('.accordion-inner-body').slideToggle( "slow", function() { 1404 coverImage(); 1405 }); 1406 }); 1407 } 1408 } 1409 1410 function portfolioSeriesAccordion(){ 1411 $('.portfolio-series .accordion-inner-head .cta.toggle').click(function(e){ 1412 e.preventDefault(); 1413 }); 1414 if($(".portfolio-series").length){ 1415 if($(".portfolio-series.show").length){ 1416 setTimeout(function(){ 1417 $(".portfolio-series.show").each(function(){ 1418 $(this).find('.accordion-inner-body').slideToggle( "slow", function() { 1419 coverImage(); 1420 }); 1421 }) 1422 }, 750); 1423 } 1424 1425 $('.portfolio-series .cta.toggle').click(function(e){ 1426 $(this).parents('.portfolio-series').toggleClass('show'); 1427 $(this).parents('.portfolio-series').find('.accordion-inner-body').slideToggle( "slow", function() { 1428 coverImage(); 1429 }); 1430 }); 1431 } 1432 } 1433 1434 function seriesAccordion(){ 1435 1436 function loadProducts(el){ 1437 let parent = el.parents('.series-teaser-as-list'); 1438 parent.addClass('show'); 1439 let accordionBody = parent.find('.accordion-inner-body'); 1440 accordionBody.slideDown( "slow"); 1441 if (!accordionBody.hasClass('loaded')) { 1442 accordionBody.addClass('loaded'); 1443 $.ajax({ 1444 url: accordionBody.data('loadproductsUrl'), 1445 data: { 1446 'tx_esylux_productfilter': { 1447 'group': parent.data('groupId'), 1448 'filter': {}, 1449 'page': 1, 1450 'limit': -1 1451 } 1452 }, 1453 success: function (data) { 1454 accordionBody.html(data.result); 1455 if (window.esyluxRefreshBasket) { 1456 window.esyluxRefreshBasket(); 1457 } 1458 if (window.esyluxRefreshBookmarks) { 1459 window.esyluxRefreshBookmarks(); 1460 } 1461 new Shariff(accordionBody.find('.share-modal .shariff')); 1462 }, 1463 complete: function (){ 1464 copyToClipboard(); 1465 } 1466 }); 1467 } 1468 }
1469 if($('.series-teaser-as-list').length){ 1470 if($('.series-teaser-as-list').length === 1){ 1471 const singleEl = $('.series-teaser-as-list').eq(0).find('.toggle'); 1472 loadProducts(singleEl); 1473 }else{ 1474 $('.load-all-wrapper ').show(); 1475 } 1476 $('.series-teaser-as-list .inner').click(function(e){ 1477 e.preventDefault(); 1478 if($(this).parent().hasClass('show')){ 1479 $(this).parent().find('.accordion-inner-body').slideUp('slow'); 1480 $(this).parent().removeClass('show'); 1481 return false; 1482 } 1483 loadProducts($(this).find('.toggle')); 1484 }); 1485 1486 $('.load-all-wrapper .load-all').click(function(e){ 1487 e.preventDefault(); 1488 if (!$(this).hasClass('open')) { 1489 $('.series-teaser-as-list .toggle').each(function(){ 1490 loadProducts($(this)); 1491 $(this).parents('.series-teaser-as-list').addClass('show'); 1492 $(this).parent('.series-teaser-as-list').find('.accordion-inner-body').slideDown( "slow"); 1493 }); 1494 $(this).parent().addClass('parent-open'); 1495 }else { 1496 $('.series-teaser-as-list .toggle').each(function(){ 1497 $(this).parents('.series-teaser-as-list').removeClass('show'); 1498 $(this).parents('.series-teaser-as-list').find('.accordion-inner-body').slide
1498Up( "slow"); 1499 }); 1500 $(this).parent().removeClass('parent-open'); 1501 1502 } 1503 $(this).toggleClass('open'); 1504 1505 }); 1506 1507 } 1508 1509 } 1510 1511 function moreFilters(){ 1512 if($('.filter-item').length){ 1513 var filterLength = $('.filter:not(.filter-tags) .filter-item').length; 1514 var i; 1515 for ( i = 0; i < filterLength; i++ ) { 1516 1517 if(i < 6){ 1518 $('.filter:not(.filter-tags) .filter-item').eq(i).show(); 1519 } else { 1520 $('.filter:not(.filter-tags) .load-more-filters').show(); 1521 break; 1522 } 1523 1524 } 1525 $('.load-more-filters').click(function(e){ 1526 e.preventDefault(); 1527 $(this).hide(); 1528 $('.filter:not(.filter-tags) .filter-item').show(); 1529 }); 1530 } 1531 } 1532 1533 function survey(){ 1534 if($('.powermail_fieldwrap_survey_01').length){ 1535 var i = 0, j = 0; 1536 1537 1538 $('[class*=powermail_fieldwrap_survey]').find('label.powermail_label').each(function(){ 1539 1540 i++; 1541 $(this).replaceWith($('<h3 class="powermail_label"><span class="red">' + i + '</span><br>' + this.innerHTML + '</h3>')); 1542 }); 1543 1544 $('textarea').each(function(){ 1545 var hasMaxLength = $(this).data('parsley-length'); 1546 if(hasMaxLength){ 1547 var maxLength = hasMaxLength[1]; 1548 var maxLengthCounterText = $('.maxlength-counter-text').text(); 1549 $(this).attr('maxlength',maxLength); 1550 var characterCount = $(this).val().length; 1551 var counterText = '<span class="counter"><span class="current">' + characterCount + '</span>/' + maxLength + ' ' + maxLengthCounterText + '</span>'; 1552 var current; 1553 $(this).keyup(function(){ 1554 current = $(this).siblings('.counter').find('.current'); 1555 characterCount = $(this).val().length; 1556 current.text(characterCount); 1557 }); 1558 1559 $(this).parent().append(counterText); 1560 } 1561 }); 1562 1563 $('.powermail_fieldwrap_survey_12 input').change(function() { 1564 1565 if($(this).prop( "checked" )){ 1566 j++; 1567 $(this).addClass('is-checked'); 1568 } else{ 1569 j--; 1570 $(this).removeClass('is-checked'); 1571 } 1572 1573 if (j>2) { 1574 $('.powermail_fieldwrap_survey_12 input:not(.is-checked)').attr("disabled", true); 1575 } else { 1576 $('.powermail_fieldwrap_survey_12 input').removeAttr("disabled"); 1577 } 1578 }); 1579 1580 $('.powermail_fieldwrap_bild') 1581 .find('.ce-inner').addClass('row') 1582 .find('.ce-row').addClass('col-12 col-md-6'); 1583 1584 1585 var nothingToAddText = $('.nothing-to-add').text(); 1586 1587 $('.powermail_fieldwrap_survey_10 input').click(function() { 1588 if($('#powermail_field_survey_10_5').is(':checked')) { 1589 $('#powermail_field_welcheinformationenfehlen').val(nothingToAddText); 1590 $('#powermail_field_welcheinformationenfehlen') 1591 .removeClass('parsley-error') 1592 .siblings('.parsley-errors-list') 1593 .removeClass('filled') 1594 .empty(); 1595 } else{ 1596 $('#powermail_field_welcheinformationenfehlen').val(''); 1597 } 1598 }); 1599 1600 var errorMessage = $('#powermail_field_welcheinformationenfehlen').data('parsley-required-message'); 1601 $('#powermail_field_welcheinformationenfehlen,#powermail_field_survey_14').attr('data-parsley-error-message',errorMessage); 1602 1603 1604 /* 1605 $('.tx-powermail .container-fluid').removeClass('container-fluid').addClass('container'); 1606 $('.powermail_fieldwrap').addClass('row'); 1607 $('.powermail_fieldwrap').children('.powermail_label').wrap('<div class="col-12 col-md-6"></div>'); 1608 $('.powermail_fieldwrap').children('.powermail_field').wrap('<div class="col-12 col-md-6"></div>'); 1609 $('.powermail_fieldwrap_type_submit, .powermail_fieldwrap_pflichtfelder ').find('.col-12.col-md-6').addClass('ml-auto'); 1610 1611 1612 $('.powermail_fieldwrap_bild').removeClass('row').addClass('col-12 col-md-6'); 1613 $('.powermail_fieldwrap_bild').before('<div class="row">'); 1614 $('.powermail_fieldwrap_welcheinformationenfehlen').removeClass('row').addClass('col-12 col-md-6'); 1615 $('.powermail_fieldwrap_welcheinformationenfehlen').after('</div>'); 1616 1617 $('[class*=powermail_fieldwrap_survey]').find('.powermail_label').parents().removeClass(); 1618 $('[class*=powermail_fieldwrap_survey]').children('.powermail_field').wrap('<div class="col-12 col-md-6"></div>'); 1619 */ 1620 $('.powermail_form_110').css({ 1621 'opacity' : 1 1622 }); 1623 } 1624 1625 } 1626 1627 function esyworld(){ 1628 if($('.esyworld').length){ 1629 1630 $('.news h1').each(function(){ 1631 $(this).replaceWith($('<h2>'+ this.innerHTML + '</h2>')); 1632 }); 1633 } 1634 } 1635
1636 function quickOrderRequest(){ 1637 if($('body:not(.merkliste).quickOrderTeaserForm').length){ 1638 $('.col-xs-12.col-md-4 .outer-image').eq(0).imagesLoaded( function() { 1639 var formHeight = $('.col-xs-12.col-md-4 img').eq(0).outerHeight(); 1640 $('.quickOrderTeaserForm .outer-image').height(formHeight); 1641 }); 1642 } 1643 } 1644 1645 function orderRequestForm(){ 1646 1647 if($('.share-bookmarks.order-request').length){ 1648 $('.share-bookmarks.order-request .bookmarked').click(function(){ 1649 $(this).parents('.form-group').hide(); 1650 $(this).parents('.form-group').find('input').attr('disabled', true); 1651 }); 1652 } 1653 1654 if($('select#targetgroup').length){ 1655 1656 var type; 1657 1658 $('select#targetgroup option').each(function() { 1659 if($(this).is(':selected')) { 1660 type = $(this).data('type'); 1661 if(type === 'installer'){ 1662 $('.form-group.installer').css({ 1663 'display' : 'block' 1664 }); 1665 $('.form-group.installer.isrequired').find('input').attr('required','required'); 1666 } else{ 1667 $('.form-group.installer').css({ 1668 'display' : 'none' 1669 }); 1670 1671 $('.form-group.installer').find('input').removeAttr('required'); 1672 } 1673 1674 if(type === 'enduser'){ 1675 $('.form-group.enduser').css('display', 'block'); 1676 $('.form-group:not(.hide-others),.submit,.pflichtfelder,.quickOrderTeaserForm').css({ 1677 'visibility' : 'hidden', 1678 'position' : 'absolute' 1679 }); 1680 $('.form-group.enduser.isrequired').find('input').attr('required','required'); 1681 1682 } else{ 1683 $('.form-group.enduser').css('display', 'none'); 1684 $('.form-group:not(.hide-others),.submit,.pflichtfelder,.quickOrderTeaserForm').css({ 1685 'visibility' : 'visible', 1686 'position' : 'relative' 1687 }); 1688 $('.form-group.enduser').find('input').removeAttr('required'); 1689 } 1690 } 1691 }); 1692 $('select#requesttype option').each(function() { 1693 if($(this).is(':selected')) { 1694 type = $(this).data('type'); 1695 if(type === 'object'){ 1696 $('.form-group.object').css({ 1697 'display' : 'block' 1698 }); 1699 $('.form-group.object.isrequired').find('input').attr('required','required'); 1700 } else{ 1701 $('.form-group.object').css({ 1702 'display' : 'none' 1703 }); 1704 1705 $('.form-group.object').find('input').removeAttr('required'); 1706 } 1707 } 1708 }); 1709 1710 1711 $('select#targetgroup').change(function(){ 1712 $('select#targetgroup option').each(function() { 1713 if($(this).is(':selected')) { 1714 type = $(this).data('type'); 1715 1716 1717 if(type === 'installer'){ 1718 $('.form-group.installer').css('display', 'block'); 1719 $('.form-group.installer.isrequired').find('input').attr('required','required'); 1720 } else{ 1721 $('.form-group.installer').css('display', 'none'); 1722 $('.form-group.installer.isrequired').find('input').removeAttr('required'); 1723 } 1724 1725 if(type === 'enduser'){ 1726 $('.form-group.enduser').css('display', 'block'); 1727 $('.form-group:not(.hide-others),.submit,.pflichtfelder,.quickOrderTeaserForm').css({ 1728 'visibility' : 'hidden', 1729 'position' : 'absolute' 1730 }); 1731 $('.form-group.enduser.isrequired').find('input').attr('required','required'); 1732 $('body,html').animate({ 1733 scrollTop: 0 1734 }, 1); 1735 } else{ 1736 $('.form-group.enduser').css('display', 'none'); 1737 $('.form-group:not(.hide-others),.submit,.pflichtfelder,.quickOrderTeaserForm').css({ 1738 'visibility' : 'visible', 1739 'position' : 'relative' 1740 }); 1741 $('.form-group.enduser').find('input').removeAttr('required'); 1742 } 1743 1744 1745 } 1746 }); 1747 }); 1748 $('select#requesttype').change(function(){ 1749 $('select#requesttype option').each(function() { 1750 if($(this).is(':selected')) { 1751 type = $(this).data('type'); 1752 if(type === 'object'){ 1753 $('.form-group.object').css({ 1754 'display' : 'block' 1755 }); 1756 $('.form-group.object.isrequired').find('input').attr('required','required'); 1757 } else{ 1758 $('.form-group.object').css({ 1759 'display' : 'none' 1760 }); 1761 1762 $('.form-group.object').find('input').removeAttr('required'); 1763 } 1764 } 1765 }); 1766 }); 1767 1768 } 1769 1770 } 1771 1772 function initializeKeSearchAutoComplete(){ 1773 var xhr; 1774 $('input[name="tx_kesearch_pi1[sword]"]').each(function(){ 1775 var $el = $(this); 1776 var pid = $el.data('pid') || 1; 1777 var language = $el.data('language') || 0; 1778 $el.autocomplete({ 1779 source: function(request, response){ 1780 xhr && xhr.abort(); 1781 xhr = $.ajax({ 1782 url: '/index.php', 1783 dataType: 'json', 1784 data: { 1785 eID: 'keSearchPremiumAutoComplete', 1786 wordStartsWith: request.term, 1787 amount: 10, 1788 pid: pid, 1789 language: language 1790 }, 1791 success: function(data){ 1792 response(data); 1793 } 1794 }); 1795 }, 1796 minLength: 2, 1797 select: function(event, ui){ 1798 $el.val(ui.item.value); 1799 $el.closest('form').submit(); 1800 } 1801 }); 1802 }); 1803 } 1804 1805 function initializeSearchAutoComplete(){ 1806 let xhr; 1807 let formId = $("input.search_searchfield_sword_autocomplete").closest('form').attr('id'); 1808 $("input.search_searchfield_sword_autocomplete").autocomplete({ 1809 source: function (request, response) { 1810 xhr && xhr.abort(); 1811 xhr = $.ajax({ 1812 url: ($('#configuration').data('baseuri') || '/') 1813 + '?type=1619162552', 1814 dataType: "json", 1815 data: { 1816 'term': request.term, 1817 'allowArchived': 0 1818 }, 1819 success: function (data) { 1820 response(data.suggestions); 1821 if(data.count > 20){ 1822 $('.ui-autocomplete').append('<li class="additional-info">' + labelShow + ' 20/' + data.count + ' ' + labelHits + ' | <a href="#" onclick="$(\'#' + formId + '\').submit()">' + labelResults + '</a></li>'); 1823 } 1824 } 1825 }); 1826 }, 1827 minLength: 2, 1828 select: function (event, ui) { 1829 $("#ke_search_searchfield_sword").val(ui.item.value); 1830 $("#form_kesearch_searchfield").submit(); 1831 } 1832 1833 }); 1834 } 1835 1836 function initializeQuickOrder(selector) { 1837 var form = $(selector); 1838 form.submit(function(event) { 1839 event.preventDefault(); 1840 return false;
1841 }); 1842 let xhr; 1843 form.find('input.sword').autocomplete({ 1844 search: function (event, ui) { 1845 $(event.target).data('productId', ''); 1846 }, 1847 source: function (request, response) { 1848 xhr && xhr.abort(); 1849 xhr = $.ajax({ 1850 url: ($('#configuration').data('baseuri') || '/') 1851 + '?type=1619162552', 1852 dataType: 'json', 1853 data: { 1854 'term': request.term, 1855 'allowArchived': 0 1856 }, 1857 success: function (data) { 1858 response(data.suggestions); 1859 } 1860 }); 1861 }, 1862 minLength: 2, 1863 select: function (event, ui) { 1864 if (ui.item.value && ui.item.id) { 1865 $(event.target).data('productId', ui.item.id); 1866 $('html, body').animate({ 1867 scrollTop:$('.quickOrderTeaserForm').offset().top -108 1868 },'slow'); 1869 } 1870 } 1871 }); 1872 form.find('button').click(function(event) { 1873 var action = $(this).data('action'); 1874 var productId = $(event.target).parents('form').find('input.sword').data('productId'); 1875 if (productId) { 1876 esyluxAddBookmark( 1877 productId, 1878 function () { 1879 if (action) { 1880 window.location.href = action; 1881 } 1882 form.find('input.sword').val(''); 1883 form.find('input.sword').data('productId', ''); 1884 }); 1885 } 1886 return false; 1887 }); 1888 } 1889 1890 function initializeProductComparsion() { 1891 $('.esyluxProductComparison-loading').hide(); 1892 $('#esyluxProductComparison-category').change(function() { 1893 var selection = $('#esyluxProductComparison-selection-wrap'); 1894 selection.hide(); 1895 selection.html(""); 1896 if ($(this).val() !== "") { 1897 var category = $(this).val(); 1898 $('.esyluxProductComparison-loading').show(); 1899 $('.esyluxProductComparison-product').val(''); 1900 $.post({ 1901 url: $(this).data('selectcategoryurl'), 1902 data: { 1903 'tx_esylux_productcomparison[category]': category 1904 }, 1905 success: function (data) { 1906 $('.esyluxProductComparison-category').val(category); 1907 selection.html(data); 1908 selection.show(); 1909 }, 1910 complete: function () { 1911 $('.esyluxProductComparison-loading').hide(); 1912 } 1913 }); 1914 } 1915 }); 1916 $('#esyluxProductComparison-selection-wrap').on( 1917 'change', 1918 '.esyluxProductComparison-selection-series', 1919 function() { 1920 var select = $(this); 1921 var productSelect = select.siblings('.esyluxProductComparison-selection-
1921product'); 1922 productSelect.hide(); 1923 productSelect.find('option[value!=""]').remove(); 1924 var productResult = select.siblings('.esyluxProductComparison-result-product'); 1925 productResult.hide(); 1926 productResult.html(""); 1927 var loading = select.siblings('.esyluxProductComparison-loading-series'); 1928 var index = select.data('index'); 1929 if (select.val() !== "") { 1930 select.prop('disabled', true); 1931 loading.show(); 1932 $('.esyluxProductComparison-product-' + index).val(''); 1933 $.post({ 1934 url: select.data('productoptionsurl'), 1935 dataType: "json", 1936 data: { 1937 'tx_esylux_productcomparison[series]': $(this).val(), 1938 'tx_esylux_productcomparison[index]': index, 1939 }, 1940 success: function (data) { 1941 productSelect.find('option[value!=""]').remove(); 1942 $(data).each(function () { 1943 var newOption = $('<option>'); 1944 newOption.attr('value', this.value); 1945 newOption.text(this.label); 1946 productSelect.append(newOption); 1947 }); 1948 productSelect.show(); 1949 }, 1950 complete: function () { 1951 select.prop('disabled', false); 1952 loading.hide(); 1953 } 1954 }); 1955 } else { 1956 if ($('.esyluxProductComparison-result-product:visible').length === 0) { 1957 $('.esyluxProductComparison-tools').hide(); 1958 } 1959 } 1960 } 1961 ); 1962 $('#esyluxProductComparison-selection-wrap').on( 1963 'change',
1964 '.esyluxProductComparison-selection-product', 1965 function() { 1966 var select = $(this); 1967 var productResult = select.siblings('.esyluxProductComparison-result-product'); 1968 productResult.hide(); 1969 productResult.html(""); 1970 var loading = select.siblings('.esyluxProductComparison-loading-series'); 1971 var index = select.data('index'); 1972 $('.esyluxProductComparison-product-' + index).val($(this).val()); 1973 if (select.val() !== "") { 1974 var category = $('#esyluxProductComparison-category').val(); 1975 select.prop('disabled', true); 1976 loading.show(); 1977 $.post({ 1978 url: select.data('productresulturl'), 1979 data: { 1980 'tx_esylux_productcomparison[product]': $(this).val(), 1981 'tx_esylux_productcomparison[index]': index, 1982 'tx_esylux_productcomparison[category]': category 1983 }, 1984 success: function (data) { 1985 productResult.html(data); 1986 productResult.slideDown(); 1987 amendHeightOfCompareItems(); 1988 $('.esyluxProductComparison-tools').show(); 1989 }, 1990 complete: function () { 1991 select.prop('disabled', false); 1992 loading.hide(); 1993 } 1994 }); 1995 } else { 1996 if ($('.esyluxProductComparison-result-product:visible').length === 0) { 1997 $('.esyluxProductComparison-tools').hide(); 1998 } 1999 } 2000 } 2001 ); 2002 function calculateHeightOfCompareItems(){ 2003 if(!($('.compare-facts').length)){ 2004 return; 2005 } 2006 var countItems = $('.compare-facts').eq(0).children('.compare-fact').length; 2007 var equals,i,heighest,h; 2008 $('.compare-fact, .fact-0').css({ 2009 'height' : 'auto' 2010 }); 2011 2012 for (i = 0; i <= countItems; i++){ 2013 equals = $('.fact-' + i); 2014 heighest = 0; 2015 if(equals.length > 1){ 2016 equals.each(function(){ 2017 h = $(this).outerHeight(); 2018 if (heighest < h){ 2019 heighest = h; 2020 } 2021 }); 2022 equals.outerHeight(heighest); 2023 } 2024 } 2025 } 2026 $('#esyluxProductComparison-selection-wrap').on( 2027 'click', 2028 '.esyluxProductComparison-removeproduct', 2029 function() { 2030 event.preventDefault(); 2031 $(event.target).closest('.esyluxProductComparison-result-product') 2032 .siblings('.esyluxProductComparison-selection-
2032product') 2033 .val('') 2034 .trigger('change'); 2035 calculateHeightOfCompareItems(); 2036 return false; 2037 } 2038 ); 2039 function amendHeightOfCompareItems(){ 2040 $('.compare-facts').each(function(){ 2041 if(!($(this).hasClass('amending-height'))){ 2042 $(this).addClass('amending-height'); 2043 var i=1; 2044 $(this).children('.compare-fact').each(function(){ 2045 $(this).addClass('fact-' + i); 2046 i++; 2047 }); 2048 } 2049 }); 2050 calculateHeightOfCompareItems(); 2051 } 2052 } 2053 2054 2055 2056 function installationsvideo(){ 2057 if($('.carousel-video').length){ 2058 var containerWidth, viewportWidth, viewportHeight, videoHeight, left; 2059 containerWidth = $('.container').width(); 2060 viewportWidth = $(window).width(); 2061 viewportHeight = $(window).height(); 2062 if(viewportWidth > containerWidth){ 2063 left = (viewportWidth - containerWidth) /2; 2064 } else{ 2065 left = 0; 2066 } 2067 $('.carousel-video:not(.triggered) .trigger').click(function(){ 2068 $('.carousel-video') 2069 .css({ 2070 'left' : left, 2071 'right' : 'auto', 2072 'top': 0, 2073 'width' : containerWidth, 2074 'position' : 'fixed', 2075 'z-index' : 9000 2076 }) 2077 .addClass('triggered'); 2078 $('body').append('<div class="modal-backdrop fade show"></div>'); 2079 videoHeight = $('.carousel-video').height(); 2080 if(viewportHeight > videoHeight){ 2081 $('.carousel-video').css({ 2082 'top': (viewportHeight - videoHeight) /2 2083 }); 2084 } 2085 2086 }); 2087 $('.close-video').click(function(){ 2088 $('.carousel-video') 2089 .css({ 2090 'left' : 'auto', 2091 'right' : 0, 2092 'top': 0, 2093 'width' : 'auto', 2094 'position' : 'relative', 2095 'z-index' : 2 2096 }) 2097 .removeClass('triggered'); 2098 $( '.modal-backdrop' ).remove(); 2099 2100 }); 2101 } 2102 if($('.lightbox-video').length){ 2103 var containerWidth, viewportWidth, viewportHeight, videoHeight, left; 2104 containerWidth = $('.container').width(); 2105 viewportWidth = $(window).width(); 2106 viewportHeight = $(window).height(); 2107 if(viewportWidth > containerWidth){ 2108 left = (viewportWidth - containerWidth) /2; 2109 } else{ 2110 left = 0; 2111 } 2112 $('.lightbox-video:not(.triggered) .trigger').click(function(){ 2113 $(this).parents('.lightbox-video') 2114 .css({ 2115 'left' : left, 2116 'right' : 'auto', 2117 'top': 0, 2118 'width' : containerWidth, 2119 'position' : 'fixed', 2120 'z-index' : 9000 2121 }) 2122 .addClass('triggered'); 2123 $('body').append('<div class="modal-backdrop fade show"></div>'); 2124 videoHeight = $(this).parents('.lightbox-video').height(); 2125 2126 if(viewportHeight > videoHeight){ 2127 $('.lightbox-video.triggered').css({ 2128 'top': (viewportHeight - videoHeight) /2 2129 }); 2130 } 2131 2132 }); 2133 $('.close-video').click(function(){ 2134 $(this).parents('.lightbox-video') 2135 .css({ 2136 'left' : 0, 2137 'right' : 0, 2138 'top': 0, 2139 'width' : 'auto', 2140 'position' : 'relative', 2141 'z-index' : 'inherit' 2142 }) 2143 .removeClass('triggered'); 2144 $( '.modal-backdrop' ).remove(); 2145 2146 }); 2147 } 2148 } 2149 2150 function lightboxElement(){ 2151 if($('.lightbox-element').length){
2152 var containerWidth, viewportWidth, viewportHeight, videoHeight, left; 2153// containerWidth = $('.container').width(); 2154 containerWidth = 599; 2155 viewportWidth = $(window).width(); 2156 viewportHeight = $(window).height(); 2157 if(viewportWidth > containerWidth){ 2158 left = (viewportWidth - containerWidth) /2; 2159 } else{ 2160 left = 0; 2161 } 2162 $('.lightbox-element:not(.triggered) .trigger').click(function(){ 2163 if($(this).parents('.lightbox-element').hasClass('full-width')) { 2164 containerWidth = viewportWidth; 2165 left = 0; 2166 } 2167 $(this).parents('.lightbox-element') 2168 .css({ 2169 'left' : left, 2170 'right' : 'auto', 2171 'top': 0, 2172 'width' : containerWidth, 2173 'position' : 'fixed', 2174 'z-index' : 9000, 2175 'background-color' : '#fff' 2176 }) 2177 .addClass('triggered'); 2178 $('body').append('<div class="modal-backdrop fade show"></div>'); 2179 videoHeight = $(this).parents('.lightbox-element').height(); 2180 2181 if(viewportHeight > videoHeight){ 2182 $('.lightbox-element:not(.full-width).triggered').css({ 2183 'top': (viewportHeight - videoHeight) /2 2184 }); 2185 } 2186 2187 }); 2188 $('.close-video').click(function(){ 2189 $(this).parents('.lightbox-element') 2190 .css({ 2191 'left' : 0, 2192 'right' : 0, 2193 'top': 0, 2194 'width' : 'auto', 2195 'position' : 'relative', 2196 'z-index' : 'inherit' 2197 }) 2198 .removeClass('triggered'); 2199 $( '.modal-backdrop' ).remove(); 2200 2201 }); 2202 } 2203 } 2204 2205 function clickmodule(){ 2206 if($(".owl-carousel.clickmodule").length){ 2207 var owl = $('.owl-carousel'); 2208 2209 $('.prev-slide').click(function(e) { 2210 e.preventDefault(); 2211 owl.trigger('prev.owl.carousel'); 2212 }); 2213 $('.next-slide').click(function(e) { 2214 e.preventDefault(); 2215 owl.trigger('next.owl.carousel'); 2216 }); 2217 2218 $('.app-init').click(function(e){ 2219 e.preventDefault(); 2220 $('.app-intro').hide(); 2221 $('.app-content').show(); 2222 setTimeout(function(){ 2223 $('.app-content').animate({ 2224 opacity: 1, 2225 }, 1750, function() { 2226 // Animation complete. 2227 }); 2228 }, 500); 2229 }); 2230 owl.owlCarousel({ 2231 nav: false, 2232 dots: false, 2233 items: 1, 2234 onChanged: infobox 2235 }); 2236 2237 $('.next-btn:not(.inactive)').click(function(e) { 2238 owl.trigger('next.owl.carousel'); 2239 }); 2240 $('.el-1').click(function(e) { 2241 e.preventDefault(); 2242 owl.trigger('to.owl.carousel', [0,1]); 2243 }); 2244 $('.el-2').click(function(e) { 2245 e.preventDefault(); 2246 owl.trigger('to.owl.carousel', [1,1]); 2247 }); 2248 $('.el-3').click(function(e) { 2249 e.preventDefault(); 2250 owl.trigger('to.owl.carousel', [5,1]); 2251 }); 2252 $('.el-4').click(function(e) { 2253 e.preventDefault(); 2254 owl.trigger('to.owl.carousel', [9,1]); 2255 }); 2256 $('.el-5').click(function(e) { 2257 e.preventDefault(); 2258 owl.trigger('to.owl.carousel', [13,1]); 2259 }); 2260 $('.el-6').click(function(e) { 2261 e.preventDefault(); 2262 owl.trigger('to.owl.carousel', [15,1]); 2263 }); 2264 2265 2266 2267 2268 function infobox(event) { 2269 // Provided by the core 2270 var element = event.target; // DOM element, in this example .owl-carousel 2271 var name = event.type; // Name of the event, in this example dragged 2272 var namespace = event.namespace; // Namespace of the event, in this example owl.carousel
2273 var items = event.item.count; // Number of items 2274 var item = event.item.index; // Position of the current item 2275 // Provided by the navigation plugin 2276 var pages = event.page.count; // Number of pages 2277 var page = event.page.index; // Position of the current page 2278 var size = event.page.size; // Number of items per page 2279 2280 2281 $('.app-infobox > div').hide(); 2282 $('.app-infobox > div').eq(item).show(); 2283 2284 if(item){ 2285 $('.app-infobox .prev-slide').show(); 2286 } else{ 2287 $('.app-infobox .prev-slide').hide(); 2288 } 2289 2290 if(item === (items-1)){ 2291 $('.app-infobox .next-slide').hide(); 2292 } else{ 2293 $('.app-infobox .next-slide').show(); 2294 } 2295 2296 if (item > 14){ 2297 $('.el-all').removeClass('active'); 2298 $('.el-6').addClass('active'); 2299 2300 } else if(item > 12){ 2301 $('.el-all').removeClass('active'); 2302 $('.el-5').addClass('active'); 2303 2304 } else if(item > 8){ 2305 $('.el-all').removeClass('active'); 2306 $('.el-4').addClass('active'); 2307 2308 } else if(item > 4){ 2309 $('.el-all').removeClass('active'); 2310 $('.el-3').addClass('active'); 2311 2312 } else if(item > 0){ 2313 $('.el-all').removeClass('active'); 2314 $('.el-2').addClass('active'); 2315 2316 } else{ 2317 $('.el-all').removeClass('active'); 2318 $('.el-1').addClass('active'); 2319 2320 } 2321 } 2322 2323 2324 2325 2326 2327 $('[data-toggle="tooltip"]').tooltip(); 2328 2329 2330 } 2331 } 2332 2333 function herbstaktion2020(){ 2334 if($('.herbstaktion2020').length){ 2335 $('.inner-copy').each(function(index){ 2336 $(this).append( '<a href="#" class="cta paket' + index + '">Test</a>'); 2337 }); 2338 $('.paket0, .paket1').click(function(e){ 2339 e.preventDefault(); 2340 $('html, body').animate({ 2341 scrollTop:$('#c38572').offset().top -108 2342 },'slow'); 2343 2344 }); 2345 2346 if($('fieldset.powermail_fieldset_124').length){ 2347 $('fieldset.powermail_fieldset_124').children().addClass('col-12'); 2348 $('fieldset.powermail_fieldset_124').children().eq(1).removeClass('col-12').addClass('col-4 col-md-2'); 2349 $('fieldset.powermail_fieldset_124').children().eq(2).removeClass('col-12').addClass('col-8 col-md-4'); 2350 $('fieldset.powermail_fieldset_124').children().eq(3).removeClass('col-12').addClass('col-4 col-md-2'); 2351 $('fieldset.powermail_fieldset_124').children().eq(4).removeClass('col-12').addClass('col-8 col-md-4'); 2352 $('fieldset.powermail_fieldset_124').wrapInner( "<div class='row'></div>"); 2353 } 2354 2355 /* 2356 $('.powermail_form_124').parents('.tx-powermail').find('.container-fluid').removeClass('container-fluid').addClass('container'); 2357 $('.powermail_fieldwrap').addClass('row'); 2358 2359 2360 $('.powermail_fieldwrap').children('.powermail_label').wrap('<div class="col-12 col-md-6"></div>'); 2361 $('.powermail_fieldwrap').children('.powermail_field').wrap('<div class="col-12 col-md-6"></div>'); 2362 $('.powermail_fieldwrap_type_submit, .powermail_fieldwrap_pflichtfelder ').find('.col-12.col-md-6').addClass('ml-auto'); 2363 2364 2365 $('.powermail_fieldwrap_bild').removeClass('row').addClass('col-12 col-md-6'); 2366 $('.powermail_fieldwrap_bild').before('<div class="row">'); 2367 $('.powermail_fieldwrap_welcheinformationenfehlen').removeClass('row').addClass('col-12 col-md-6'); 2368 $('.powermail_fieldwrap_welcheinformationenfehlen').after('</div>'); 2369 2370 $('[class*=powermail_fieldwrap_survey]').find('.powermail_label').parents().removeClass(); 2371 $('[class*=powermail_fieldwrap_survey]').children('.powermail_field').wrap('<div class="col-12 col-md-6"></div>'); 2372 */ 2373 2374 $('.powermail_form_110').css({ 2375 'opacity' : 1 2376 }); 2377 } 2378 } 2379 2380 function privacyBanner(){ 2381 $('.legal a').click(function(e){ 2382 var hash, split; 2383 hash = $(this).attr('href'); 2384 split = hash.split("#"); 2385 hash = '#' + split[1]; 2386 if(hash==='#privacy'){ 2387 e.preventDefault(); 2388 SgCookieOptin.openCookieOptin(); 2389 } 2390 }); 2391 $('.cookie-consent-user-info').show(); 2392 $('.cookie-consent-user-info .open-privacy').click(function(e){ 2393 e.preventDefault(); 2394 SgCookieOptin.openCookieOptin(); 2395 $('.cookie-consent-user-info').removeClass('active'); 2396 2397 }); 2398 $('.cookie-consent-user-info .close').click(function(e){ 2399 $('.cookie-consent-user-info').removeClass('active'); 2400 }); 2401 } 2402 2403 function equalHeightTeaser(){ 2404 if($('.same-height').length){ 2405 $('.same-height').imagesLoaded() 2406 .always( function( instance ) { 2407 var i=0, j, h, heighest, equals; 2408 $('.same-height .sidebar-box.crosslinking .copy-wrapper').css({ 2409 'height' : 'auto' 2410 }); 2411 2412 $('.same-height').each(function(){ 2413 equals = $(this).find('.sidebar-box.crosslinking .copy-wrapper'); 2414 if($(this).parent().hasClass('same-height-parent')){ 2415 h = equals.outerHeight(); 2416 if (heighest < h){ 2417 heighest = h; 2418 } 2419 j=i-1; 2420 2421 2422 $('.parent-' + j).find('.same-height .sidebar-box.crosslinking .copy-wrapper').css({
2423 'height' : heighest 2424 }); 2425 }else{ 2426 $(this).parent().addClass('same-height-parent parent-' + i); 2427 i++; 2428 heighest = equals.outerHeight(); 2429 } 2430 }); 2431 }); 2432 2433 } 2434 if($('.same-height-bodytext').length){ 2435 // $('.same-height-bodytext').imagesLoaded() 2436 // .always( function( instance ) { 2437 var i=0, j, k, h, heighest, equals, length; 2438 $('.same-height-bodytext .ce-bodytext').css({ 2439 'height' : 'auto' 2440 }); 2441 if(viewport.is('>=sm')) { 2442 $('.same-height-parent').removeClass('same-height-parent'); 2443 $('.same-height-bodytext').each(function(){ 2444 equals = $(this).find('.ce-bodytext'); 2445// console.log(equals); 2446 if($(this).parent().hasClass('same-height-parent')){ 2447 k++; 2448 h = equals.outerHeight(); 2449 if (heighest < h){ 2450 heighest = h; 2451 } 2452 // console.log('element-' + k + ': ' + heighest); 2453 2454 if(k === length - 1){ 2455 $('.parent-' + j).find('.same-height-bodytext .ce-bodytext').css({ 2456 'height' : heighest, 2457 'margin-bottom' : '15px' 2458 }); 2459 // console.log('Final-' + j + ': ' + heighest); 2460 2461 } 2462 }else{ 2463 k=0; 2464 $(this).parent().addClass('same-height-parent parent-' + i); 2465 length = $('.parent-' + i).find('.same-height-bodytext').length; 2466 i++; 2467 j = i-1; 2468 heighest = equals.outerHeight(); 2469 if(heighest == undefined){ 2470 heighest = 0; 2471 } 2472 // console.log('element-' + k + ': ' + heighest); 2473 2474 } 2475 }); 2476 } 2477 2478 2479 2480 2481 // }); 2482 } 2483 2484 if($('.same-height-ce').length){ 2485 $('.same-height-ce').imagesLoaded() 2486 .always( function( instance ) { 2487 var ice=0, jce, hce, heighestce, equalsce, lengthce, kce; 2488 $('.same-height-ce').children().css({ 2489 'height' : 'auto' 2490 }); 2491 2492 2493 if(viewport.is('>=sm')) { 2494 $('.same-height-ce-parent').removeClass('same-height-ce-parent'); 2495 $('.same-height-ce').each(function(){ 2496 equalsce = $(this).children(); 2497 if($(this).parent().hasClass('same-height-ce-parent')){ 2498 kce++; 2499 hce = equalsce.outerHeight(); 2500 if (heighestce < hce){ 2501 heighestce = hce; 2502 } 2503 if(kce === lengthce - 1){ 2504 $('.same-height-ce-parent.parent-' + jce).find('.same-height-ce').children().css({ 2505 'height' : heighestce, 2506 'margin-bottom' : '15px' 2507 }); 2508 } 2509 if($(this).find('.redContentBox').length){ 2510 if($(this).find('.redContentBox').hasClass('grey')){ 2511 $(this).children().addClass('grey-bg'); 2512 } else { 2513 $(this).children().addClass('red-bg'); 2514 } 2515 } 2516 }else{ 2517 kce=0; 2518 $(this).parent().addClass('same-height-ce-parent parent-' + ice); 2519 lengthce = $('.same-height-ce-parent.parent-' + ice).children().length; 2520 ice++; 2521 jce=ice-1; 2522 heighestce = equalsce.outerHeight(); 2523 if($(this).find('.redContentBox').length){ 2524 if($(this).find('.redContentBox').hasClass('grey')){ 2525 $(this).children().addClass('grey-bg'); 2526 } else { 2527 $(this).children().addClass('red-bg'); 2528 } 2529 } 2530 } 2531 }); 2532 } 2533 2534 }); 2535 } 2536 2537 if($('.lapa-teaser .redContentBox').length){ 2538 $('.lapa-teaser').imagesLoaded() 2539 .always( function( instance ) { 2540 var height; 2541 height = $('.lapa-teaser .image-wrapper .img-fluid').eq(0).innerHeight(); 2542 $('.lapa-teaser .redContentBox').css({
2543 'height' : height 2544 }); 2545 }); 2546 2547 } 2548 } 2549 2550 function equalHeightProductTeaser(){ 2551 if($('.product-detail').length){ 2552 let height = $('.sidebar-box').eq(0).outerWidth() * 1020 / 768; 2553 $('.sidebar-box.contains-box-shadow, .sidebar-box.ce-uploads').outerHeight(height); 2554 } 2555 } 2556 2557 function pbLightboxWrapper(){ 2558 if($('.pb-lightbox-wrapper').length){ 2559 var bgImg = $('.pb-lightbox-wrapper').children('img'); 2560 var bgImgHeight; 2561 2562 $('.pb-lightbox-wrapper').imagesLoaded() 2563 .always( function( instance ) { 2564 bgImgHeight = bgImg.outerHeight(); 2565 $('.pb-lightbox-wrapper .modal-thumb img').css({ 2566 'height' : bgImgHeight - 60 2567 }); 2568 2569 }); 2570 } 2571 } 2572 2573 function twoImageFader(){ 2574 if(!($('.image-fader').length)){ 2575 return; 2576 } 2577 2578 $('.image-fader').each(function(){ 2579 var i, 2580 j = 0, 2581 count = $(this).find('img').length, 2582 images = $(this).find('img'); 2583 for (i=count; i>0; i--){ 2584 images.eq(j).css({ 2585 'z-index' : i 2586 }); 2587 j++; 2588 } 2589 images.show(); 2590 const fadeImg = $(this).find('.img-1'); 2591 2592 function fadeOut(){ 2593 fadeImg.animate({ 2594 opacity: 0 2595 }, 1500); 2596 } 2597 2598 function fadeIn() { 2599 fadeImg.animate({ 2600 opacity: 1 2601 }, 1500); 2602 setTimeout(function () { 2603 fadeOut(); 2604 }, 5000); 2605 } 2606 2607 setTimeout(function () { 2608 fadeOut(); 2609 },5000); 2610 2611 const myInterval = setInterval(fadeIn, 10000); 2612 myInterval; 2613 $('.pause').on('click', function(e) { 2614 clearInterval(myInterval); 2615 $('.controls div').toggleClass('triggered'); 2616 }); 2617 $('.play').on('click', function(e) { 2618 myInterval; 2619 $('.controls div').toggleClass('triggered'); 2620 }); 2621 }); 2622 2623 } 2624 2625 function copyToClipboard(){ 2626 if(!($('.copy-to-clipboard').length)){ 2627 return; 2628 } 2629 function fallbackCopyTextToClipboard(text) { 2630 var textArea = document.createElement("textarea"); 2631 textArea.value = text; 2632 2633 // Avoid scrolling to bottom 2634 textArea.style.top = "0"; 2635 textArea.style.left = "0"; 2636 textArea.style.position = "fixed"; 2637 2638 document.body.appendChild(textArea); 2639 textArea.focus(); 2640 textArea.select(); 2641 2642 try { 2643 var successful = document.execCommand('copy'); 2644 var msg = successful ? 'successful' : 'unsuccessful'; 2645 // console.log('Fallback: Copying text command was ' + msg); 2646 } catch (err) { 2647 // console.error('Fallback: Oops, unable to copy', err); 2648 } 2649 2650 document.body.removeChild(textArea); 2651 } 2652 function copyTextToClipboard(text) { 2653 if (!navigator.clipboard) { 2654 fallbackCopyTextToClipboard(text); 2655 return; 2656 } 2657 navigator.clipboard.writeText(text).then(function() { 2658 $('.copy-to-clipboard').css({ 2659 'opacity' : 0.15 2660 }); 2661 $('.copy-to-clipboard').animate({ 2662 opacity: 1 2663 }, 800); 2664 }, function(err) { 2665 // console.error('Async: Could not copy text: ', err); 2666 }); 2667 } 2668 var clipboard = $('.copy-to-clipboard'); 2669 clipboard.click(function(e){ 2670 e.preventDefault(); 2671 copyTextToClipboard($(this).text()); 2672 }); 2673/* 2674 --- not workin within ajax accordions --- 2675 clipboard.addEventListener('click', function(e) { 2676 e.preventDefault(); 2677 copyTextToClipboard($(this).text()); 2678 }); 2679 */ 2680 2681 } 2682 let labelHits, labelShow, labelResults; 2683 2684 switch (document.documentElement.lang) { 2685 case 'de-DE': 2686 labelShow = 'Zeigt'; 2687 labelHits = 'Treffer'; 2688 labelResults = 'Zur Ergebnisliste'; 2689 break; 2690 case 'de-CH': 2691 labelShow = 'Zeigt'; 2692 labelHits = 'Treffer'; 2693 labelResults = 'Zur Ergebnisliste'; 2694 break; 2695 case 'de-AT': 2696 labelShow = 'Zeigt'; 2697 labelHits = 'Treffer'; 2698 labelResults = 'Zur Ergebnisliste'; 2699 break; 2700 case 'da-DK': 2701 labelShow = 'Viser'; 2702 labelHits = 'hits'; 2703 labelResults = 'Til resultatlisten'; 2704 break; 2705 case 'fi-FI': 2706 labelShow = 'Näyttää'; 2707 labelHits = 'osumaa'; 2708 labelResults = 'Tuloslistaan'; 2709 break; 2710 case 'fr-BE': 2711 labelShow = 'Affiche'; 2712 labelHits = 'résultats'; 2713 labelResults = 'Vers la liste des résultats'; 2714 break; 2715 case 'fr-CH': 2716 labelShow = 'Affiche'; 2717 labelHits = 'résultats'; 2718 labelResults = 'Vers la liste des résultats'; 2719 break; 2720 case 'fr-FR': 2721 labelShow = 'Affiche'; 2722 labelHits = 'résultats'; 2723 labelResults = 'Vers la liste des résultats'; 2724 break; 2725 case 'nl-NL': 2726 labelShow = 'Toont'; 2727 labelHits = 'hits'; 2728 labelResults = 'Naar de resultatenlijst'; 2729 break; 2730 case 'nl-BE': 2731 labelShow = 'Toont'; 2732 labelHits = 'hits'; 2733 labelResults = 'Naar de resultatenlijst'; 2734 break; 2735 case 'nb-NO': 2736 labelShow = 'Viser'; 2737 labelHits = 'treff'; 2738 labelResults = 'Til resultatlisten'; 2739 break; 2740 case 'sv-SE': 2741 labelShow = 'Visar'; 2742 labelHits = 'träffar'; 2743 labelResults = 'Till resultatlistan'; 2744 break; 2745 case 'ru-RU': 2746 labelShow = 'ÐоказÑваеÑ'; 2747 labelHits = 'Ñ Ð¸Ñов'; 2748 labelResults = 'Ð ÑпиÑÐºÑ ÑезÑлÑÑаÑов'; 2749 break; 2750 case 'pt-PT': 2751 labelShow = 'Mostra'; 2752 labelHits = 'acessos'; 2753 labelResults = 'Para a lista de resultados'; 2754 break; 2755 case 'es-ES': 2756 labelShow = 'Muestra'; 2757 labelHits = 'hits'; 2758 labelResults = 'A la lista de resultados'; 2759 break; 2760 default: 2761 labelShow = 'Shows'; 2762 labelHits = 'hits'; 2763 labelResults = 'To the result list'; 2764 break; 2765 } 2766 function openAccordionByPosition(selector){ 2767 if($(selector).length){ 2768 var hashID = window.location.hash.substring(1); 2769 if(hashID){ 2770 $('.portfolio.accordion').removeClass('show'); 2771 $('.portfolio.accordion').eq(Number(hashID)-1).addClass('show'); 2772 } else { 2773 if(viewport.is('>sm')) { 2774 $('.portfolio.accordion').eq(0).addClass('show'); 2775 } 2776 } 2777 } 2778 } 2779 2780 function openAllPortfolioCategories(){ 2781 if($('.portfolio').length){ 2782 const el = $('.portfolio.accordion'); 2783 2784 //check, if all category accordions are opened 2785 function getStatus(norm){ 2786 const amount = el.length; 2787 var open = $('.portfolio.accordion.show').length; 2788 open = open - norm; 2789 2790 if(amount === open){ 2791 $('.portfolio-all').addClass('open'); 2792 $('.portfolio-all').parent().addClass('parent-open'); 2793 } else{ 2794 $('.portfolio-all').removeClass('open'); 2795 $('.portfolio-all').parent().removeClass('parent-open'); 2796 } 2797 } 2798 2799 //normalize result of opened accordions due to missing callback 2800 el.find('.cta').click(function(){ 2801 if($(this).parents('.portfolio.accordion').hasClass('show')){ 2802 getStatus(1); 2803 } else { 2804 getStatus(-1); 2805 } 2806 }); 2807 2808 $('.portfolio-all').click(function(e){ 2809 e.preventDefault(); 2810 if($(this).hasClass('open')){ 2811 el.removeClass('show');
2812 el.find('.accordion-body').slideUp(); 2813 $(this).removeClass('open'); 2814 $(this).parent().removeClass('parent-open'); 2815 }else{ 2816 el.removeClass('show'); 2817 el.addClass('show'); 2818 el.find('.accordion-body').slideDown(); 2819 $(this).addClass('open'); 2820 $(this).parent().addClass('parent-open'); 2821 } 2822 }); 2823 } 2824 } 2825 2826 function languageMenu(){ 2827 var selected = $('.lang .nav-item.language.active a').html(); 2828 $('.choosen-language').html(selected); 2829 2830 $('.language-container .choosen-language').click(function(){ 2831 $('.language-container .lang').toggle(); 2832 }); 2833 $('.language-container').mouseenter(function(){ 2834 if(viewport.is('>sm')) { 2835 $('.language-container .lang').show(); 2836 } 2837 }); 2838 $('.language-container').mouseleave(function(){ 2839 if(viewport.is('>sm')) { 2840 $('.language-container .lang').hide(); 2841 } 2842 }); 2843 } 2844 2845 function buildAnchorNavOnContentPages(){ 2846 if($('.content-anchor-container').length){ 2847 let el = '<span class="simple-top">Zum Seitenanfang</span>'; 2848 $('.anchor-navigation').append(el); 2849 $('.content-anchor-container').each(function(){ 2850 el = '<a class=" '+ $(this).attr("id") + '" href="#' + $(this).attr("id") + '">' + $(this).data("anchor-link") + '</a>'; 2851 $('.anchor-navigation').append(el); 2852 }); 2853 $('.outer-content-sticky-nav').addClass('initialized'); 2854 observeContentStickyNav(); 2855 } 2856 } 2857 function observeContentStickyNav(){ 2858 if($('.content-sticky-nav').length){ 2859 // show sticky nav, if stage is disappeared 2860 const stage = document.querySelector('header .headerImage'); 2861 const nav = document.querySelector('.content-sticky-nav'); 2862 const observer = new IntersectionObserver(entries => { 2863 entries.forEach(entry => { 2864 nav.classList.toggle('sticky', !(entry.isIntersecting)) 2865 }) 2866 },{ 2867 threshold: 0.15, 2868 rootMargin: "1px 0px 0px 0px" 2869 }) 2870 observer.observe(stage); 2871 2872 // activate anchor nav 2873 const container = document.querySelectorAll('.content-anchor-container'); 2874 let identifier; 2875 const anchorObserver = new IntersectionObserver(entries => { 2876 entries.forEach(entry => { 2877 identifier = entry.target.getAttribute("id"); 2878 if (entry.isIntersecting) { 2879 $('.content-sticky-nav').find('.' + identifier).addClass('active'); 2880 } else { 2881 $('.content-sticky-nav').find('.' + identifier).removeClass('active'); 2882 } 2883 }) 2884 },{ 2885 threshold: 0, 2886 rootMargin: "-300px 0px 0px 0px" 2887 }) 2888 container.forEach(item => { 2889 anchorObserver.observe(item) 2890 }) 2891 2892 let header = $('.fixed-header-helper').innerHeight(), 2893 stickyNav, 2894 finalPosition, 2895 hash; 2896 $('.anchor-navigation a').click(function (e){ 2897 e.preventDefault(); 2898 hash = $(this).attr('href'); 2899 $('html, body').animate({ 2900 scrollTop : $(hash).offset().top-header+145 2901 }, 500).promise().done(function(){ 2902 stickyNav = $('.content-sticky-nav').outerHeight(); 2903 finalPosition = $(hash).offset().top - stickyNav - header; 2904 $(window).scrollTop(finalPosition); 2905 }); 2906 }); 2907 } 2908 } 2909 2910 function observeProductStickyNav(){ 2911 if($('.product-sticky-nav').length){ 2912 // show sticky nav, if stage is disappeared 2913 const stage = document.querySelector('.product-head .carousel-wrapper'); 2914 const nav = document.querySelector('.product-sticky-nav'); 2915 const observer = new IntersectionObserver(entries => {
2916 entries.forEach(entry => { 2917 nav.classList.toggle('show', !(entry.isIntersecting)) 2918 }) 2919 },{ 2920 threshold: 0.55 2921 }) 2922 observer.observe(stage); 2923 2924 // activate anchor nav 2925 const container = document.querySelectorAll('.anchor-container'); 2926 let identifier; 2927 const anchorObserver = new IntersectionObserver(entries => { 2928 entries.forEach(entry => { 2929 identifier = entry.target.getAttribute("id"); 2930 if (entry.isIntersecting) { 2931 $('.product-sticky-nav').find('.' + identifier).addClass('active'); 2932 } else { 2933 $('.product-sticky-nav').find('.' + identifier).removeClass('active'); 2934 } 2935 }) 2936 },{ 2937 threshold: 0, 2938 rootMargin: "-300px 0px 0px 0px" 2939 }) 2940 container.forEach(item => { 2941 anchorObserver.observe(item) 2942 }) 2943 2944 let header = $('.fixed-header-helper').innerHeight(), 2945 stickyNav, 2946 finalPosition, 2947 hash; 2948 $('.anchor-navigation a').click(function (e){ 2949 e.preventDefault(); 2950 hash = $(this).attr('href'); 2951 $('html, body').animate({ 2952 scrollTop : $(hash).offset().top-header+145 2953 }, 500).promise().done(function(){ 2954 stickyNav = $('.product-sticky-nav').outerHeight(); 2955 finalPosition = $(hash).offset().top - stickyNav - header; 2956 $(window).scrollTop(finalPosition); 2957 }); 2958 }); 2959 } 2960 } 2961 function addCtaToStaticHeaderImage(){ 2962 if($('.add-cta').length){ 2963 $('.headerImage').each(function(){ 2964 var href = $(this).parent().attr('href'); 2965 var target = $(this).parent().attr('target'); 2966 if(href !== undefined){ 2967 $(this).addClass('added-cta'); 2968 if($(this).find('.subline').length){ 2969 $(this).find('.subline').append('<a class="cta" href="' + href +'" target="' + target + '"></a>'); 2970 } else{ 2971 $(this).find('h1').append('<a class="cta" href="' + href +'" target="' + target + '"></a>'); 2972 } 2973 } 2974 }); 2975 } 2976 } 2977 2978 function headerAnimation(){ 2979 const zoomIn = function(){ 2980 $('.animation-zoom-in').addClass('init'); 2981 } 2982 if($('.animation-zoom-in').length){ 2983 zoomIn(); 2984 } 2985 const moveToLeft = function(){ 2986 $('.animation-move-to-left').addClass('init'); 2987 } 2988 if($('.animation-move-to-left').length){ 2989 moveToLeft(); 2990 } 2991 const moveToRight = function(){ 2992 $('.animation-move-to-right').addClass('init'); 2993 } 2994 if($('.animation-move-to-right').length){ 2995 moveToRight(); 2996 } 2997 } 2998 2999 function headerSlideShow(){ 3000 function slideShow(){ 3001 var 3002 images = ".animation-fade-show > .fade-element" // image selector 3003 , interval = 1500 // milliseconds between transitions 3004 , index = 0 // starting index 3005 , count = $(images).length // image count 3006 // the transition loop 3007 , handle = setInterval(function() { 3008 if($('.animation-fade-show').hasClass('init')){ 3009 3010 } else { 3011 index = count-1; 3012 } 3013 // fade out the current image 3014 $(images + ":eq(" + index + ")").fadeOut(1000); 3015 // get the next index, or cycle back to 0 3016 if (++index === count) index = 0; 3017 // fade in the next image 3018 $(images + ":eq(" + index + ")").fadeIn(1000); 3019 3020 } 3021 , interval 3022 ) 3023 } 3024 3025 if($('.animation-fade-show ').length){ 3026 slideShow(); 3027 } 3028 } 3029 3030 function observeMobileStickyBar(){ 3031 3032 // show sticky nav, if stage is disappeared 3033 const header = document.querySelector('body > header'); 3034 const stickyBar = document.querySelector('.sticky-bar'); 3035 const observer = new IntersectionObserver(entries => {
3036 entries.forEach(entry => { 3037 if(entry.isIntersecting){ 3038 stickyBar.classList.remove('shrink'); 3039 } else { 3040 stickyBar.classList.add('shrink'); 3041 } 3042 }); 3043 },{ threshold: 0.9 }); 3044 observer.observe(header); 3045 3046 $('.sticky-social .trigger').click(function(){ 3047 $('.sticky-bar').removeClass('shrink'); 3048 }); 3049 } 3050 3051 function responsiveBackgroundImages(){ 3052 if($('.responsive-background-image').length){ 3053 if(viewport.is('<md')) { 3054 $('.responsive-background-image').each(function(){ 3055 $(this).attr('style', 'background-image: url(' + $(this).data("bg-mobile") + ');') 3056 }); 3057 } else { 3058 $('.responsive-background-image').each(function(){ 3059 $(this).attr('style', 'background-image: url(' + $(this).data("bg-desktop") + ');') 3060 }); 3061 } 3062 $(window).resize( 3063 viewport.changed(function() { 3064 if(viewport.is('<md')) { 3065 $('.responsive-background-image').each(function(){ 3066 $(this).attr('style', 'background-image: url(' + $(this).data("bg-mobile") + ');') 3067 }); 3068 } else { 3069 $('.responsive-background-image').each(function(){ 3070 $(this).attr('style', 'background-image: url(' + $(this).data("bg-desktop") + ');') 3071 }); 3072 } 3073 }) 3074 ); 3075 } 3076 } 3077 3078 function responsiveVideos(){ 3079 if($('video.responsive-video').length){ 3080 var setVideoSource = function(){ 3081 $('video.responsive-video').each(function(){ 3082 // '<sm' ist in diesem Projekt < 768px â die Bootstrap-Breakpoints 3083 // sind in bower_components auf sm: 768px / md: 992px umgestellt. 3084 var source = viewport.is('<sm') ? $(this).data('video-mobile') : $(this).data('video-desktop'); 3085 // Ohne den Vergleich wuerde jeder Resize das laufende Video neu starten. 3086 if(source && $(this).attr('src') !== source){ 3087 $(this).attr('src', source); 3088 } 3089 }); 3090 }; 3091 setVideoSource(); 3092 $(window).resize( 3093 viewport.changed(setVideoSource) 3094 ); 3095 } 3096 } 3097 3098 function filterOnMobile(){ 3099 3100 3101 if($('.filter-icon').length){ 3102 let position = $(window).scrollTop(); 3103 let menuTrigger = $('.filter-icon'); 3104 let menu = $('.filter-nomobile-wrapper'); 3105 let overlay = $('.filter-overlay'); 3106 3107 menuTrigger.click(function(){ 3108 menuTrigger.toggleClass('checked'); 3109 menu.toggleClass('collapsed'); 3110 overlay.toggleClass('collapsed'); 3111 }); 3112 overlay.click(function(){ 3113 menuTrigger.toggleClass('checked'); 3114 menu.toggleClass('collapsed'); 3115 overlay.toggleClass('collapsed'); 3116 }); 3117 3118 $(window).scroll(function() { 3119 let scroll = $(window).scrollTop(); 3120 if(scroll > position) { 3121// console.log('scrollDown'); 3122 $('.filter-icon').hide(); 3123 } else { 3124// console.log('scrollUp'); 3125 $('.filter-icon').show(); 3126 } 3127 position = scroll; 3128 if(position < 15){ 3129 $('.filter-icon').show(); 3130 } 3131 }); 3132 } 3133 } 3134 3135 function toTopButton(){ 3136 if($('.simple-top').length){ 3137 $('.simple-top').click(function() { 3138 $('body,html').animate({ 3139 scrollTop: 0 3140 }, 400); 3141 }); 3142 } 3143 3144 let position = $(window).scrollTop(); 3145 $(window).scroll(function() { 3146 let scroll = $(window).scrollTop(); 3147 if(scroll > position) { 3148 $('a.top').hide(); 3149 } else { 3150 $('a.top').show(); 3151 } 3152 position = scroll; 3153 if(position == 0){ 3154 $('a.top').hide(); 3155 } 3156 }); 3157 3158 $('a.top').click(function(e) { 3159 e.preventDefault(); 3160 $('body,html').animate({ 3161 scrollTop: 0 3162 }, 400, function() { 3163 setTimeout(() => { 3164 $('a.top').hide(); 3165 }, 200); 3166 }); 3167 return false;
3168 }); 3169 3170 } 3171 3172 function showMoreProductsInAccordions(){ 3173 $('.accordion-show-more a').click(function(e){ 3174 e.preventDefault(); 3175 $(this).parents('.accordion-body').find('.product-item').removeClass('faded').show(); 3176 $(this).parents('.accordion-body').find('.vat-info').show(); 3177 $(this).parent().hide(); 3178 }); 3179 let displayMax = 2, 3180 list = $('.accordion.show.show-more').find('.product-series.list'); 3181 if(list.length){ 3182 list.each(function(){ 3183 let items = $(this).find('.product-item'); 3184 3185 for(let i = 0; i < items.length; i++){ 3186 if(i > displayMax - 1){ 3187 items.eq(i).hide(); 3188 } 3189 if(i > displayMax - 2){ 3190 if(i == items.length - 1){ 3191 items.eq(i).parents('.accordion-body').find('.accordion-show-more').addClass('show'); 3192 items.eq(i).siblings('.vat-info').hide(); 3193 items.eq(displayMax - 1).addClass('faded'); 3194 } 3195 } 3196 } 3197 }); 3198 } 3199 } 3200 3201 function collapseProductInformation(){ 3202 var maxLines = 5; 3203 3204 // liefert die unteren Kanten aller Textzeilen (relativ zur Oberkante des Elements) 3205 function getTextLines(element){ 3206 var walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false), 3207 range = document.createRange(), 3208 elementTop = element.getBoundingClientRect().top, 3209 lines = [], 3210 node, rects, i, j, top, bottom, matched; 3211 while((node = walker.nextNode())){ 3212 if(!node.nodeValue.trim()){ 3213 continue; 3214 } 3215 range.selectNodeContents(node); 3216 rects = range.getClientRects(); 3217 for(i = 0; i < rects.length; i++){ 3218 if(!rects[i].height || !rects[i].width){ 3219 continue; 3220 } 3221 top = rects[i].top; 3222 bottom = rects[i].bottom - elementTop; 3223 matched = false; 3224 for(j = 0; j < lines.length; j++){ 3225 if(Math.abs(lines[j].top - top) < 4){ 3226 matched = true; 3227 if(bottom > lines[j].bottom){ 3228 lines[j].bottom = bottom; 3229 } 3230 break; 3231 } 3232 } 3233 if(!matched){ 3234 lines.push({top: top, bottom: bottom}); 3235 } 3236 } 3237 } 3238 return lines.sort(function(a, b){ return a.top - b.top; }); 3239 } 3240 3241 function applyState($wrapper){ 3242 var lines = getTextLines($wrapper[0]), 3243 $toggle = $wrapper.next('.product-information-wrapper-toggle'); 3244 if(lines.length <= maxLines){ 3245 $wrapper.removeClass('is-collapsible is-expanded').css('max-height', ''); 3246 $toggle.removeClass('show'); 3247 return; 3248 } 3249 // einmal ausgeklappt bleibt ausgeklappt 3250 if($wrapper.hasClass('is-expanded')){ 3251 return; 3252 } 3253 $wrapper.addClass('is-collapsible').css('max-height', Math.ceil(lines[maxLines - 1].bottom) + 'px'); 3254 $toggle.addClass('show'); 3255 } 3256 3257 var $wrappers = $('.product-information-wrapper'); 3258 if(!$wrappers.length){ 3259 return; 3260 } 3261 $('.product-information-wrapper-toggle').click(function(e){ 3262 e.preventDefault(); 3263 var $toggle = $(this); 3264 $toggle.attr('aria-expanded', 'true').removeClass('show'); 3265 $toggle.prev('.product-information-wrapper').removeClass('is-collapsible').addClass('is-expanded').css('max-height', ''); 3266 }); 3267 $wrappers.each(function(){ 3268 applyState($(this)); 3269 }); 3270 $(window).resize( 3271 viewport.changed(function(){ 3272 $wrappers.each(function(){ 3273 applyState($(this)); 3274 }); 3275 }, 200) 3276 ); 3277 } 3278 3279 function moveModalTrigger(){
3280 if($('.prepend-lightbox').length){ 3281 let trigger; 3282 $('.prepend-lightbox').each(function(){ 3283 trigger =$(this).parents('.modal-trigger-helper').find('.modal-thumb').detach(); 3284 $(this).append(trigger); 3285 }); 3286 } 3287 } 3288 3289 function extendedLightbox(){ 3290 if($('.extended-lightbox').length){ 3291 $('.extended-lightbox').on('shown.bs.modal', function (event) { 3292 equalHeightTeaser(); 3293 }) 3294 } 3295 } 3296 3297 function technologyHeadlineMenuHelper(){ 3298 if($('#headline-menu').length){ 3299 let menuEntry, 3300 isActive = $('#headline-menu').data('technology-title'); 3301 $('#headline-menu .technology li').each(function(){ 3302 menuEntry = $(this).find('a').text(); 3303 menuEntry = $.trim(menuEntry); 3304 if(menuEntry === isActive){ 3305 $(this).addClass('active'); 3306 } 3307 }); 3308 } 3309 } 3310 function webSearchFilters(){ 3311 if($('#websearch').length){ 3312 let facet; 3313 let sword; 3314 let facetClass; 3315 3316 // set all filters to disabled 3317 $('.filters') 3318 .find('input') 3319 .attr('disabled','disabled') 3320 .siblings('label') 3321 .addClass('disabled'); 3322 3323 // remove disabled from filters if entries are found 3324 $('.filters input[type=checkbox]').each(function(){ 3325 let facet = $(this).data('facet'); 3326 if ($('.facet.' + facet).length > 0) { 3327 $(this) 3328 .removeAttr('disabled') 3329 .siblings('label') 3330 .removeClass('disabled'); 3331 } 3332 }); 3333 3334 $('.filters input[type=checkbox]').on('click.addedActiveStatus', function(){ 3335 $('.facet').hide(); 3336 let p = 0; 3337 if ( $(this).prop( "checked" ) ){ 3338 facet = $(this).attr('id'); 3339 $('.facet.' + facet).show(); 3340 } else { 3341 facet = $(this).attr('id'); 3342 $('.facet.' + facet).hide(); 3343 } 3344 $('input').each(function(){ 3345 if ( $(this).prop( "checked" ) ){ 3346 facet = $(this).attr('id'); 3347 $('.facet.' + facet).show(); 3348 p += 1; 3349 } 3350 }); 3351 // if no filter is set, show all entries 3352 if(!p){ 3353 $('.facet').show(); 3354 } 3355 }); 3356 } 3357 // implement search and replace 3358 const searchArray = ["celine 2","olivia 2","elsa 2","dali 2","md c","mdc","pd c","pdc","md flat","pd flat","pd atmo","apc 10","apc 20","apc 30","apc-10","apc-20","apc-30","ip 54","slp2","elsa2","bim portal","knx-produktdatenbank","light and building"]; 3359 const replaceArray = ["CELINE-2","OLIVIA-2","ELSA-2","DALI-2","MD-C","MD-C","PD-C","PD-C","MD-FLAT","PD-Flat","PD-ATMO","APC10","APC20","APC30","APC10","APC20","APC30","IP54","SLP-2","ELSA-2","BIM-Portal","KNX Produktdatenbank","Light + Building"]; 3360 let searchInput = Array.from(document.getElementsByClassName("ke_search_sword")); 3361 let status = true; 3362 searchInput.forEach((input) => { 3363 input.addEventListener("keyup", function () { 3364 const inputValue = input.value.toLowerCase(); 3365 3366 // indexOf returns -1 if the value was not found 3367 const index = searchArray.indexOf(inputValue); 3368 3369 if(status){ 3370 if (index !== -1) { 3371 input.value = replaceArray[index]; 3372 // disable search and replace 3373 status = false; 3374 } 3375 } 3376 }); 3377 }); 3378 } 3379 function preventLineBreak(id, element) { 3380 if($('#' + id).length){ 3381 const container = document.getElementById(id); 3382 const elements = container.querySelectorAll(element); 3383 const expressions = ['CELINE-2','OLIVIA-2','ELSA-2','SLP-2']; 3384 // Erstellen eines globalen und case-insensitive regulären Ausdrucks 3385 3386 expressions.forEach(expression => { 3387 const regex = new RegExp(expression, 'gi');
3388 elements.forEach(element => { 3389 // Ersetzen des gefundenen Texts mit <span>-Tags 3390 element.innerHTML = element.innerHTML.replace(regex, '<span class="nowrap">$&</span>'); 3391 }); 3392 }); 3393 } 3394 } 3395 function searchCollapse(){ 3396 $('.search-trigger').click(function(){ 3397 $(this).parent('.search').toggleClass('collapsed'); 3398 }); 3399 $(window).resize( 3400 viewport.changed(function() { 3401 if(viewport.is('>sm')) { 3402 $('.search-trigger').parent('.search').removeClass('collapsed'); 3403 } 3404 }) 3405 ) 3406 } 3407 3408 function jobsIsotopeFilter(){ 3409 if($('.jobs-wrapper .jobs').length){ 3410 var $grid = $('.jobs-grid'); 3411 var $items = $grid.find('.element-item'); 3412 3413 // ---------------------------------------------------------------- 3414 // Isotope initialisieren 3415 // ---------------------------------------------------------------- 3416 $grid.isotope({ 3417 itemSelector: '.element-item', 3418 layoutMode: 'fitRows', 3419 percentPosition: true, 3420 fitRows: { 3421 gutter: 0 3422 } 3423 }); 3424 3425 // ---------------------------------------------------------------- 3426 // Helper: Prüfen, ob ein Filter mind. ein Item liefern würde. 3427 // Splittet kommagetrennte Selektoren und prüft jeden Teil einzeln. 3428 // ---------------------------------------------------------------- 3429 function filterHasMatches(filterSelector) { 3430 if (!filterSelector || filterSelector === '*') { 3431 return $items.length > 0; 3432 } 3433 3434 var parts = filterSelector.split(','); 3435 for (var i = 0; i < parts.length; i++) { 3436 var part = $.trim(parts[i]); 3437 if (!part) continue; 3438 3439 try { 3440 if ($items.filter(part).length > 0) { 3441 return true; 3442 } 3443 } catch (err) { 3444 // Ungültiger Selektor â überspringen 3445 if (window.console && console.warn) { 3446 console.warn('Ungültiger Filter-Selektor:', part, err); 3447 } 3448 } 3449 } 3450 return false; 3451 } 3452 3453 // ---------------------------------------------------------------- 3454 // Filter ohne Treffer deaktivieren (einmalig beim Laden) 3455 // ---------------------------------------------------------------- 3456 function disableEmptyFilters() { 3457 $('.filter-button-group .dropdown-menu a').each(function() { 3458 var $link = $(this); 3459 var $li = $link.parent('li'); 3460 var filterValue = $link.attr('data-filter'); 3461 3462 // "Alle"-Filter nie deaktivieren 3463 if (filterValue === '*') { 3464 return; 3465 } 3466 3467 if (!filterHasMatches(filterValue)) { 3468 $li.addClass('disabled'); 3469 $link.attr('aria-disabled', 'true'); 3470 } 3471 }); 3472 } 3473 3474 // ---------------------------------------------------------------- 3475 // Alle anderen Dropdowns auf "Alle" zurücksetzen 3476 // ---------------------------------------------------------------- 3477 function resetOtherDropdowns($activeMenu) { 3478 $('.filter-button-group .dropdown-menu').not($activeMenu).each(function() { 3479 var $menu = $(this); 3480 var $dropdownToggle = $menu.closest('.dropdown').find('.dropdown-toggle'); 3481 var $chosen = $dropdownToggle.find('.chosen'); 3482 var defaultLabel = $chosen.data('default-label'); 3483 3484 if (defaultLabel) { 3485 $chosen.text(defaultLabel); 3486 } 3487 3488 $menu.find('li').removeClass('active'); 3489 }); 3490 } 3491 3492 // ---------------------------------------------------------------- 3493 // Original-Labels der Dropdown-Buttons sichern 3494 // ---------------------------------------------------------------- 3495 function storeDefaultLabels() { 3496 $('.filter-button-group .dropdown-toggle .chosen').each(function() { 3497 var $chosen = $(this); 3498 $chosen.data('default-label', $.trim($chosen.text())); 3499 }); 3500 } 3501 3502 // ---------------------------------------------------------------- 3503 // Init 3504 // ---------------------------------------------------------------- 3505 storeDefaultLabels(); 3506 disableEmptyFilters(); 3507 3508 // ---------------------------------------------------------------- 3509 // Klickhandler für Filter-Links 3510 // ---------------------------------------------------------------- 3511 $('.filter-button-group').on('click', '.dropdown-menu a', function(e) { 3512 e.preventDefault(); 3513 3514 var $link = $(this); 3515 var $li = $link.parent('li'); 3516 3517 if ($li.hasClass('disabled')) { 3518 return; 3519 } 3520 3521 var $menu = $link.closest('.dropdown-menu'); 3522 var filterValue = $link.attr('data-filter'); 3523 3524 resetOtherDropdowns($menu); 3525 3526 $menu.closest('.dropdown') 3527 .find('.dropdown-toggle .chosen') 3528 .text($link.text()); 3529 3530 $menu.find('li').removeClass('active'); 3531 $li.addClass('active'); 3532 3533 $grid.isotope({ filter: filterValue }); 3534 }); 3535 } 3536 } 3537 3538 function jobsFilter(){ 3539 if($('.jobs-wrapper .jobs').length){ 3540 3541 // init Isotope 3542 var $grid = $('.jobs-grid').isotope({ 3543 itemSelector: '.element-item', 3544 // options for masonry layout mode 3545 masonry: { 3546 columnWidth: '.grid-sizer' 3547 } 3548 3549 }); 3550 3551 3552 // store filter for each group 3553 var filters = {}; 3554 3555 $('.filter-button-group').on( 'click', 'a', function(e) { 3556 e.preventDefault(); 3557 var $this = $(this); 3558 // get group key 3559 var $buttonGroup = $this.parents('.button-group'); 3560 var filterGroup = $buttonGroup.attr('data-filter-group'); 3561 // set filter for group 3562 filters[ filterGroup ] = $this.attr('data-filter');
3563 // combine filters 3564 var filterValue = concatValues( filters ); 3565 // set filter for Isotope 3566 $grid.isotope({ filter: filterValue }); 3567 }); 3568 3569 // change is-checked class on buttons 3570 $('.button-group').each( function( i, buttonGroup ) { 3571 var $buttonGroup = $( buttonGroup ); 3572 $buttonGroup.on( 'click', 'li', function() { 3573 $buttonGroup.find('.is-checked').removeClass('is-checked'); 3574 $( this ).addClass('is-checked'); 3575 var chosen = $( this ).find('a').html(); 3576 $( this ).parents('.dropdown').find('.chosen').html(chosen); 3577 }); 3578 }); 3579 3580 // flatten object by concatting values 3581 function concatValues( obj ) { 3582 var value = ''; 3583 for ( var prop in obj ) { 3584 value += obj[ prop ]; 3585 } 3586 return value; 3587 } 3588 } 3589 } 3590 3591 $(document).ready(function() { 3592 document.body.addEventListener('cookieOptinHidden', function() { 3593 window.location.reload(); 3594 }); 3595 webSearchFilters(); 3596 searchCollapse(); 3597 preventLineBreak('c745','.ce-uploads-fileName'); 3598 // clickDummyWebSearch(); 3599 technologyHeadlineMenuHelper(); 3600 extendedLightbox(); 3601 buildAnchorNavOnContentPages(); 3602 moveModalTrigger(); 3603 showMoreProductsInAccordions(); 3604 collapseProductInformation(); 3605 openAccordionByPosition('.portfolio'); 3606 openAllPortfolioCategories(); 3607 pbLightboxWrapper(); 3608 twoImageFader(); 3609 copyToClipboard(); 3610 equalHeightTeaser(); 3611 newCatalogue(); 3612 orderRequestForm(); 3613 adjustTeaserText(); 3614 nameConceptAccordion(); 3615 portfolioSeriesAccordion(); 3616 seriesAccordion(); 3617 moreFilters(); 3618 esyworld(); 3619 installationsvideo(); 3620 //quickOrderRequest(); 3621 clickmodule(); 3622 herbstaktion2020(); 3623 getPdfModal(); 3624 privacyBanner(); 3625 openNLModal(); 3626 languageMenu(); 3627 observeProductStickyNav(); 3628 addCtaToStaticHeaderImage(); 3629 getNewsletterModal(); 3630 headerAnimation(); 3631 headerSlideShow(); 3632 observeMobileStickyBar(); 3633 responsiveBackgroundImages(); 3634 responsiveVideos(); 3635 anchorParamToHash(); 3636 filterOnMobile(); 3637 toTopButton(); 3638 3639 $('#datetimepicker').datetimepicker({ 3640 timepicker: false, 3641 format:'Y-m-d', 3642 minDate:'0', 3643 maxDate:'+1970/01/08', 3644 scrollMonth : false, 3645 scrollInput : false 3646 }); 3647 3648 $('.c-elc .cta,.c-elc .red-content a, .anchor').click(function(){ 3649 var header = 0, hash, split; 3650 hash = $(this).attr('href'); 3651 split = hash.split("#"); 3652 hash = '#' + split[1]; 3653 3654 if(hash){ 3655 if(hash === '#quickCalculation'){ 3656 3657 if($('.fixed-header-helper').length){ 3658 header = $('.fixed-header-helper').height(); 3659 } 3660 setTimeout(function(){ 3661 $('html, body').animate({ 3662 scrollTop : $(hash).offset().top-header 3663 },500, function() { 3664 $('#pills-facts-tab').removeClass('active'); 3665 $(hash).children().addClass('active').find('.accordion-body').slideDown("slow"); 3666 $('#pills-facts').removeClass('show active'); 3667 $('#pills-reluxQuickCalculation').addClass('show active'); 3668 }); 3669 }, 500); 3670 3671 } else { 3672 3673 if($('.fixed-header-helper').length){ 3674 header = $('.fixed-header-helper').height(); 3675 } 3676 setTimeout(function(){ 3677 $('html, body').animate({ 3678 scrollTop : $(hash).offset().top-header 3679 },500, function() { 3680 $(hash).addClass('show').find('.accordion-body').slideDown("slow"); 3681 }); 3682 }, 500); 3683 } 3684 } 3685 }); 3686 3687 var version = detectIE(); 3688 3689 if (version !== false) { 3690 $('head').append( '<link rel="stylesheet" type="text/css" href="' + assetUrl('Stylesheets/ie.css') + '" media="all">' ); 3691 } 3692 $('.tooltip-wrapper .tooltip-content').each(function(){ 3693 var tcwidth = $(this).outerWidth(); 3694 var twwidth = $(this).parent().outerWidth(); 3695 $(this).css({ 3696 'margin-left' : -(tcwidth-twwidth)/2 3697 }); 3698 }); 3699 $('.tooltip-wrapper').mouseenter(function(){ 3700 $(this).find('.tooltip-content').fadeIn(); 3701 }); 3702 $('.tooltip-wrapper').mouseleave(function(){ 3703 $(this).find('.tooltip-content').fadeOut(); 3704 }); 3705
3706 dismissNewsletter(); 3707 optWideTeaserForMobile(); 3708 coverImage(); 3709 logoBox(); 3710 sprachMenu(); 3711 countrySelectAfterRedirect(); 3712 searchPanel(); 3713 // findProdLinksToHide(); 3714 // tameServiceMenu(); 3715 noSubMenu(); 3716 printPreventDefault(); 3717 filterAccordion(); 3718 toggleAllContentAccordions(); 3719 kachelWrapper(); 3720 preventShortcutsInMainMenu(); 3721 mediaCenterCatalogueHelper(); 3722 herbstAktion(); 3723 lightCalcualteForm(); 3724 slideToAccordionContent(); 3725 equalHeightPillsTabs(); 3726 validateLightCalculation(); 3727 addCounterToBookmarkAll(); 3728 amendProductDownloads(); 3729 hideProdMenuOnPortfolio(); 3730 basket(); 3731 initializeRmaUserForm(); 3732 toggleArchivedInSearchList(); 3733 initPageBrowserInSearchList(); 3734 survey(); 3735 lightboxElement(); 3736 equalHeightProductTeaser(); 3737 mobileMenu(); 3738 3739 $('.nav-item a').click(function(){ 3740 setTimeout(function(){ 3741 slideToAccordionContent(); 3742 }, 500); 3743 3744 }); 3745 3746 if($("#full-width-slider").length){ 3747 window.sessionStorage.removeItem('esyluxProductfilter'); 3748 3749 $('#full-width-slider').royalSlider({ 3750 arrowsNav: false, 3751 loop: true, 3752 keyboardNavEnabled: true, 3753 controlsInside: false, 3754 imageScaleMode: 'fill', 3755 arrowsNavAutoHide: false, 3756 autoScaleSlider: true, 3757 autoScaleSliderWidth: 1920, 3758 autoScaleSliderHeight: 560, 3759 controlNavigation: 'bullets', 3760 thumbsFitInViewport: false, 3761 navigateByClick: true, 3762 startSlideId: 0, 3763 autoPlay: { 3764 enabled: true, 3765 stopAtAction: false, 3766 pauseOnHover: false, 3767 delay: 6000}, 3768 transitionType:'move', 3769 globalCaption: false, 3770 deeplinking: { 3771 enabled: true, 3772 change: false 3773 }, 3774 /* size of all images http://help.dimsemenov.com/kb/royalslider-jquery-plugin-faq/adding-width-and-height-properties-to-images */ 3775 imgWidth: 1920, 3776 imgHeight: 560 3777 3778 }); 3779 3780 // Manipulation of slider element with video content 3781 $('.rsVideo').each(function(){ 3782 fitVideoToSlider(this); 3783 }); 3784 // Start Animations within Royal Slider 3785 var slider = $(".royalSlider").data('royalSlider'); 3786/* 3787 slider.ev.on('rsBeforeAnimStart', function(event) { 3788 $('.rsContent').removeClass('init'); 3789 if(!slider.currSlide.content[0].children[0].attributes.class.nodeValue){ 3790 3791 } else { 3792 if(slider.currSlide.content[0].children[0].attributes.class.nodeValue == 'rsContent animation-fade-show' || slider.currSlide.content[0].children[0].attributes.class.nodeValue == 'rsContent animation-fade-show added-cta'){ 3793 $('.rsContent.animation-fade-show').addClass('init'); 3794 } else { 3795 setTimeout(function(){ 3796 headerAnimation(); 3797 },10); 3798 } 3799 } 3800 3801 3802 3803 }); 3804 3805 */ 3806 3807 // rsBeforeAnimStart statt rsAfterSlideChange: hier zeigt currSlide bereits 3808 // auf den einfahrenden Slide, das Video startet also schon waehrend der 3809 // Einschiebe-Animation bei 0 statt erst beim Einrasten. Sichtbar ist es 3810 // dadurch 0,6 s (rein) + 6,0 s (Stand) + 0,6 s (raus) = 7,2 s. 3811 slider.ev.on('rsBeforeAnimStart', function(event) { 3812 3813 // Nur das Video des Slides zuruecksetzen, der gerade eingefahren ist. 3814 // $('.rsVideo')[0] hat immer das erste Video im DOM getroffen - also 3815 // nie das sichtbare, weil RoyalSlider die Slide-Inhalte dynamisch 3816 // austauscht. 3817 var video = slider.currSlide ? $(slider.currSlide.content).find('video.rsVideo')[0] : null;
3818 var playPromise; 3819 3820 if(video){ 3821 // Das Video kann frisch eingehaengt worden sein und dann noch 3822 // ungeskaliert in seiner Rohgroesse stehen 3823 fitVideoToSlider(video); 3824 3825 // Kein load() - das setzt das Element auf readyState HAVE_NOTHING 3826 // zurueck und blendet fuer einen Moment einen leeren Frame ein 3827 // (Blitzer beim Einfahren des Slides). Ein Seek auf 0 bei bereits 3828 // geladenem Video ist sofort und blankt nicht. 3829 video.currentTime = 0; 3830 playPromise = video.play(); 3831 if(playPromise){ 3832 playPromise.catch(function(){}); 3833 } 3834 } 3835 3836 }); 3837 3838 3839 3840 var sliderWidth, containerWidth, offsetArrows; 3841 3842 sliderWidth = $('#full-width-slider').width(); 3843 containerWidth = $('footer').children('.container').width(); 3844 offsetArrows = (sliderWidth - containerWidth)/2; 3845 if(viewport.is('<sm')) { 3846 $('.rsArrowRight').css({ 3847 'right' : 'auto', 3848 'left' : offsetArrows +75 3849 3850 }); 3851 $('.rsArrowLeft').css({ 3852 'right' : 'auto', 3853 'left' : offsetArrows +29 3854 3855 }); 3856 $('.rsBullets').css({ 3857 'right' : 'auto', 3858 'left' : offsetArrows +40 3859 3860 }); 3861 } else { 3862 if(containerWidth < 1500){ 3863 $('.rsArrowRight').css({ 3864 'right' : 'auto', 3865 'left' : offsetArrows +80 3866 3867 }); 3868 $('.rsArrowLeft').css({ 3869 'right' : 'auto', 3870 'left' : offsetArrows +40 3871 3872 }); 3873 } else { 3874 $('.rsArrowRight').css({ 3875 'right' : 'auto', 3876 'left' : offsetArrows +115 3877 3878 }); 3879 $('.rsArrowLeft').css({ 3880 'right' : 'auto', 3881 'left' : offsetArrows +75 3882 3883 }); 3884 } 3885 $('.rsBullets').css({ 3886 'right' : 'auto', 3887 'left' : offsetArrows +75 3888 3889 }); 3890 3891 3892 } 3893 3894 3895 3896 // Add .cta to headline 3897 $('.rsContent').each(function(){ 3898 3899 var href = $(this).parent().attr('href'); 3900 var trackingEvent = $(this).parent().attr('onclick'); 3901 var target = $(this).parent().attr('target'); 3902 if(href !== undefined){ 3903 $(this).addClass('added-cta'); 3904 if($(this).find('p').length){ 3905 $(this).find('p').append('<a class="cta" href="' + href +'" target="' + target + '" onclick="' + trackingEvent + '"></a>'); 3906 } 3907 else if($(this).find('.subline').length){ 3908 $(this).find('.subline').append('<a class="cta" href="' + href +'" target="' + target + '" onclick="' + trackingEvent + '"></a>'); 3909 } else{ 3910 $(this).find('h2').append('<a class="cta" href="' + href +'" target="' + target + '" onclick="' + trackingEvent + '"></a>'); 3911 } 3912 } 3913 3914 3915 }); 3916 3917 // Add cta to the heading for those items that were not originally considered 3918 var slider = $("#full-width-slider").data('royalSlider'); 3919 3920 slider.ev.on('rsAfterSlideChange', function(event) { 3921 if($('.rsContent:not(.added-cta)').length){ 3922 $('.rsContent:not(.added-cta)').each(function(){ 3923 3924 var href = $(this).parent().attr('href'); 3925 var target = $(this).parent().attr('target'); 3926 var trackingEvent = $(this).parent().attr('onclick'); 3927 3928 if(href !== undefined){ 3929 $(this).addClass('added-cta'); 3930 if($(this).find('.subline').length){ 3931 $(this).find('.subline').append('<a class="cta" href="' + href +'" target="' + target + '" onclick="' + trackingEvent + '"></a>'); 3932 } else{ 3933 $(this).find('h2').append('<a class="cta" href="' + href +'" target="' + target + '" onclick="' + trackingEvent + '"></a>'); 3934 } 3935 } 3936 3937 3938 }); 3939 } 3940 3941 }); 3942 3943 } 3944 $('.royalSlider').css('display', 'block'); 3945 3946 if($(".owl-carousel.lp-teasers").length){ 3947 $(".owl-carousel.lp-teasers").owlCarousel({ 3948 loop:true, 3949 margin: 15, 3950 nav: true, 3951 dots: false, 3952 autoplay:true, 3953 autoplayTimeout:4000, 3954 autoplayHoverPause:true, 3955 smartSpeed: 500, 3956 navClass: ["prev","next"], 3957 responsive : { 3958 // breakpoint from 0 up 3959 0 : { 3960 items: 1 3961 }, 3962 768 : { 3963 items: 2 3964 }, 3965 1200 : { 3966 items: 3 3967 }, 3968 1600 : { 3969 items: 4 3970 } 3971 } 3972 }); 3973 } 3974 3975 3976 3977 if($(".owl-carousel.product-slider").length){ 3978 $(".owl-carousel.product-slider").owlCarousel({ 3979 loop:true, 3980 center: true, 3981 margin: 10, 3982 nav: false, 3983 dots: true, 3984 dotsData: true, 3985 autoplay:false, 3986 smartSpeed: 1, 3987 paginationSpeed: 1, 3988 slideSpeed: 1, 3989 autoplayTimeout: 2000, 3990 items: 1, 3991 animateIn: 'fadeIn', 3992 animateOut: 'fadeOut', 3993 navClass: ["prev-small","next-small"], 3994 onInitialized: callback 3995 }); 3996 $( '.owl-dot' ).on( 'click', function() { 3997 $('.owl-carousel').trigger('to.owl.carousel', [$(this).index(), 300]); 3998 $( '.owl-dot' ).removeClass( 'active' ); 3999 $(this).addClass( 'active' ); 4000 }); 4001 $('.owl-dot').hover(function(e) { 4002 $(this).click(); 4003 }); 4004 function callback(event) { 4005 setTimeout(() => { 4006 $('.owl-carousel.product-slider .owl-dots').animate({ 4007 scrollLeft: 200 4008 }, 2000, function() { 4009 4010 $('.owl-carousel.product-slider .owl-dots').animate({ 4011 scrollLeft: 0 4012 }, 2000); 4013 }); 4014 }, '2000'); 4015 4016 // Provided by the core 4017 var items = event.item.count; // Number of items 4018 if(items < 2){ 4019 $('.controls').hide(); 4020 } 4021 adjustProdSliderHeight(); 4022 } 4023 } 4024 4025 if($(".owl-carousel.image-fader").length){ 4026 $(".owl-carousel.image-fader").owlCarousel({ 4027 loop:true, 4028 nav: false, 4029 dots: false, 4030 autoplay:true, 4031 smartSpeed: 500, 4032 items: 1, 4033 animateOut: 'fadeOut' 4034 }); 4035 } 4036 4037 if($(".owl-carousel.fader").length){ 4038 $(".owl-carousel.fader").owlCarousel({ 4039 loop:true, 4040 center: true, 4041 margin: 0, 4042 nav: false, 4043 dots: false, 4044 autoplay:true, 4045 autoplayTimeout:4000, 4046 smartSpeed: 1500, 4047 items: 1, 4048 animateIn: 'fadeIn', 4049 animateOut: 'fadeOut', 4050 4051 }); 4052 $('.pause').on('click', function(e) { 4053 $('.owl-carousel.fader').trigger('stop.owl.autoplay'); 4054 $('.outer-fader .controls div').toggleClass('triggered'); 4055 }) 4056 $('.play').on('click', function(e) { 4057 $('.owl-carousel.fader').trigger('play.owl.autoplay'); 4058 $('.outer-fader .controls div').toggleClass('triggered'); 4059 }) 4060 } 4061 4062 4063 4064 if($(".accordion").length){ 4065 if($(".accordion.show").length){ 4066 $(".accordion.show").each(function(){ 4067 $(this).find('.accordion-body').slideToggle( "slow", function() { 4068 coverImage(); 4069 // init isotope for job filters 4070 setTimeout(() => { 4071 // jobsFilter(); 4072 jobsIsotopeFilter(); 4073 }, 1000); 4074 }); 4075 }) 4076 } 4077 4078 $('.accordion .label .cta').click(function(e){ 4079 e.preventDefault(); 4080 $(this).parent('.label').parent(".accordion").toggleClass('show'); 4081 $(this).parent('.label').siblings(".accordion-body").slideToggle( "slow", function() { 4082 coverImage(); 4083 if($(this).find('.same-height-parent').length){ 4084 equalHeightTeaser(); 4085 } 4086 }); 4087 }); 4088 } 4089 4090 if($('.element-item').length){ 4091 4092 /* 4093 // init Isotope 4094 var $grid = $('.grid').isotope({ 4095 itemSelector: '.element-item', 4096 fitRows: { 4097 gutter: 0 4098 } 4099 }); 4100 */ 4101 4102 var $grid = $('.grid').imagesLoaded( function() { 4103 // init Isotope after all images have loaded 4104 $grid.isotope({ 4105 itemSelector: '.element-item', 4106 fitRows: { 4107 gutter: 0 4108 } 4109 }); 4110 }); 4111 4112 // store filter for each group 4113 var filters = {}; 4114 4115 $('.filter-button-group').on( 'click', 'a', function(e) { 4116 e.preventDefault(); 4117 var $this = $(this); 4118 // get group key 4119 var $buttonGroup = $this.parents('.button-group'); 4120 var filterGroup = $buttonGroup.attr('data-filter-group'); 4121 // set filter for group 4122 filters[ filterGroup ] = $this.attr('data-filter');
4123 // combine filters 4124 var filterValue = concatValues( filters ); 4125 // set filter for Isotope 4126 $grid.isotope({ filter: filterValue }); 4127 }); 4128 4129 // change is-checked class on buttons 4130 $('.button-group').each( function( i, buttonGroup ) { 4131 var $buttonGroup = $( buttonGroup ); 4132 $buttonGroup.on( 'click', 'li', function() { 4133 $buttonGroup.find('.is-checked').removeClass('is-checked'); 4134 $( this ).addClass('is-checked'); 4135 var chosen = $( this ).find('a').html(); 4136 $( this ).parents('.dropdown').find('.chosen').html(chosen); 4137 }); 4138 }); 4139 4140 // flatten object by concatting values 4141 function concatValues( obj ) { 4142 var value = ''; 4143 for ( var prop in obj ) { 4144 value += obj[ prop ]; 4145 } 4146 return value; 4147 } 4148 4149 4150 4151 } 4152 4153 4154 // Executes only in XS breakpoint 4155 if(viewport.is('>xs')) { 4156 if($(".owl-carousel.lp").length){ 4157 $(".owl-carousel.lp").owlCarousel({ 4158 loop:true, 4159 margin: 1, 4160 autoHeight:true, 4161 nav: true, 4162 dots: true, 4163 autoplay:false, 4164 autoplayTimeout:4000, 4165 autoplayHoverPause:true, 4166 smartSpeed: 500, 4167 items: 1, 4168 navClass: ["prev-small","next-small"] 4169 }); 4170 var owlSliderWidth, containerWidth; 4171 4172 windowWidth = $(window).width(); 4173 containerWidth = $('footer').children('.container').width(); 4174 offsetArrows = (windowWidth - containerWidth)/2; 4175 $('.owl-nav').css({ 4176 'right' : offsetArrows 4177 4178 }); 4179 $('.owl-dots').css({ 4180 'left' : offsetArrows 4181 4182 }); 4183 if($('.col-md-8 .owl-carousel.lp').length){ 4184 $('.col-md-8 .owl-carousel.lp').each(function(){ 4185 var imageHeight = $(this).find('.owl-item.active img').height(); 4186 $(this).find('.owl-nav').css({ 4187 'right' : 30, 4188 'bottom' : 'auto', 4189 'top' : imageHeight -60 4190 }); 4191 $(this).find('.owl-dots').css({ 4192 'left' : 60, 4193 'bottom' : 'auto', 4194 'top' : imageHeight -35 4195 }); 4196 }); 4197 } 4198 } 4199 if($(".owl-carousel.related-slider").length){ 4200 $(".owl-carousel.related-slider").owlCarousel({ 4201 loop:true, 4202 center: false, 4203 margin: 15, 4204 nav: true, 4205 dots: false, 4206 autoplay:false, 4207 smartSpeed: 500, 4208 // items: 6, 4209 navClass: ["prev-small","next-small"], 4210 responsive : { 4211 // breakpoint from 0 up 4212 0 : { 4213 items: 3 4214 }, 4215 1200 : { 4216 items: 6 4217 } 4218 } 4219 }); 4220 } 4221 } 4222 4223 // Executes in SM, MD and LG breakpoints 4224 if(viewport.is('>sm')) { 4225 4226 4227 $('.main-nav .nav-item').mouseenter(function(){ 4228 $(this).addClass('showSub'); 4229 $(this).find('.second-level-menu').show(); 4230 4231 }); 4232 $('.main-nav .nav-item').mouseleave(function(){ 4233 $(this).removeClass('showSub'); 4234 $(this).find('.second-level-menu').hide(); 4235 }); 4236 4237 submenuPosition(); 4238 4239 } 4240 4241 // Executes in XS breakpoints 4242 if(viewport.is('<sm')) { 4243 // detachFilterOnMobile(); 4244 detachFormOnMobile(); 4245// adjustProdSliderHeight(); 4246 removeClassesForMobile(); 4247 4248 } 4249 if(viewport.is('<md')) { 4250 4251 } 4252 4253 // Execute code each time window size changes 4254 $(window).resize( 4255 4256 viewport.changed(function() { 4257 4258 pbLightboxWrapper(); 4259 equalHeightTeaser(); 4260 coverImage(); 4261 // changeFilterToInitial(); 4262 adjustProdSliderHeight(); 4263 equalHeightPillsTabs(); 4264 noSubMenu();
4265 quickOrderRequest(); 4266 installationsvideo(); 4267 lightboxElement(); 4268 // helpStayingFocused(); 4269 equalHeightProductTeaser(); 4270 4271 sliderWidth = $('#full-width-slider').width(); 4272 4273 // Manipulation of slider element with video content 4274 $('.rsVideo').each(function(){ 4275 fitVideoToSlider(this); 4276 }); 4277 4278 containerWidth = $('footer').children('.container').width(); 4279 offsetArrows = (sliderWidth - containerWidth)/2; 4280 if(containerWidth < 1500){ 4281 $('.rsArrowRight').css({ 4282 'right' : 'auto', 4283 'left' : offsetArrows +80 4284 4285 }); 4286 $('.rsArrowLeft').css({ 4287 'right' : 'auto', 4288 'left' : offsetArrows +40 4289 4290 }); 4291 $('.rsBullets').css({ 4292 'right' : 'auto', 4293 'left' : offsetArrows + 40 4294 4295 }); 4296 4297 } else { 4298 $('.rsArrowRight').css({ 4299 'right' : 'auto', 4300 'left' : offsetArrows +115 4301 4302 }); 4303 $('.rsArrowLeft').css({ 4304 'right' : 'auto', 4305 'left' : offsetArrows +75 4306 4307 }); 4308 $('.rsBullets').css({ 4309 'right' : 'auto', 4310 'left' : offsetArrows + 75 4311 4312 }); 4313 4314 } 4315 4316 4317 4318 4319 4320 // Executes in XS breakpoints 4321 if(viewport.is('<sm')) { 4322 // detachFilterOnMobile(); 4323 detachFormOnMobile(); 4324 removeClassesForMobile(); 4325 } 4326 if(viewport.is('<md')) { 4327 /* 4328 var ua = navigator.userAgent.toLowerCase(); 4329 var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile"); 4330 if(!(isAndroid)) { 4331 mobileMenu(); 4332 } 4333 4334 */ 4335 } 4336 if(viewport.is('>xs')) { 4337 changeFormToInitial(); 4338 addClassesForPC(); 4339 } 4340 4341 4342 // Executes in MD and LG breakpoints 4343 if(viewport.is('>sm')) { 4344 submenuPosition(); 4345// backToDesktopMenu(); 4346 4347 $('.main-nav .nav-item').mouseenter(function(){ 4348 $(this).addClass('showSub'); 4349 $(this).find('.second-level-menu').show(); 4350 4351 }); 4352 $('.main-nav .nav-item').mouseleave(function(){ 4353 $(this).removeClass('showSub'); 4354 $(this).find('.second-level-menu').hide(); 4355 }); 4356 } else{ 4357 $('.main-nav .nav-item').off('mouseenter'); 4358 $('.main-nav .nav-item').off('mouseleave'); 4359 } 4360 4361 4362 4363 }) 4364 4365 ); 4366 4367 initializeProductComparsion(); 4368 initializeKeSearchAutoComplete(); 4369 initializeSearchAutoComplete(); 4370 initializeQuickOrder('.quickOrderTeaserForm'); 4371 }); 4372})(jQuery, ResponsiveBootstrapToolkit);
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.