1(function ($) { 2 "use strict"; 3 4 jQuery(document).ready(function ($) { 5 6 var windowSize = $(window).width(); 7 l18W(); 8 stm_services_carousel(); 9 10 $(window).on( "resize", function() { 11 l18W(); 12 stm_stretch_column(); 13 full_height_columns(); 14 }); 15 16 $.fn.is_on_screen = function () { 17 var win = $(window); 18 var viewport = { 19 top: win.scrollTop(), 20 left: win.scrollLeft() 21 }; 22 viewport.right = viewport.left + win.width(); 23 viewport.bottom = viewport.top + win.height(); 24 25 var bounds = this.offset(); 26 bounds.right = bounds.left + this.outerWidth(); 27 bounds.bottom = bounds.top + this.outerHeight(); 28 29 return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom)); 30 }; 31 32 $(".stm-register-form form").on( "submit", function(e) { 33 e.preventDefault(); 34 $.ajax({ 35 type: "POST", 36 url: ajaxurl, 37 dataType: 'json', 38 context: this, 39 data: $(this).serialize() + '&action=stm_custom_register&security=' + stm_custom_register, 40 beforeSend: function () { 41 $(this).find('input').removeClass('form-error'); 42 $('.stm-validation-message').empty(); 43 }, 44 success: function (data) { 45 46 for (var err in data.errors) { 47 $(this).find('input[name=' + err + ']').addClass('form-error'); 48 } 49 50 if (data.message) { 51 var message = $('<div class="stm-message-ajax-validation heading-font">' + data.message + '</div>').hide(); 52 53 $(this).find('.stm-validation-message').append(message); 54 message.slideDown('fast'); 55 } 56 } 57 }); 58 }); 59 60 $(document).on("click", ".load_more_btn", function (e) { 61 e.preventDefault(); 62 var page = $(this).attr("data-page"); 63 var load_by = $(this).attr("data-load"); 64 var filter = $(this).attr("data-filter"); 65 var category = $(this).attr('data-category'); 66 $.ajax({ 67 url: ajaxurl, 68 type: "POST", 69 dataType: "json", 70 data: "&page=" + page + "&load_by=" + load_by + "&category=" + category + "&filter=" + filter + "&action=stm_ajax_load_events&security=" + stm_ajax_load_events, 71 context: this, 72 beforeSend: function (data) { 73 $(this).parent().addClass("event_posts_loading"); 74 }, 75 success: function (data) { 76 $(this).parent().removeClass("event_posts_loading"); 77 $(".stm_events_modern_list ").append(data.html); 78 $(this).attr("data-page", data.new_page); 79 if (!data.load_more) { 80 $(this).remove(); 81 } 82 } 83 }); 84 }); 85 86 $('.scroll_to_event_form').on('click', function (e) { 87 event.preventDefault(); 88 $('html,body').animate({scrollTop: $(this.hash).offset().top}, 500); 89 }); 90 91 $('.show_popup').on('click', function (e) { 92 $(this).parents().find('#video').addClass('video_popup_box') 93 }); 94 95 stm_stretch_column(); 96 97 function stm_stretch_column() { 98 $('.wpb_column[data-stretch]').each(function () { 99 var stretch = $(this).data('stretch'); 100 var xPos = $(this).offset().left; 101 var wW = $(window).width(); 102 var xW = $(this).width(); 103 104 var value = wW - (xW + xPos); 105 if (stretch == 'left') { 106 value = xPos; 107 } 108 109 $(this).find('.vc_column-inner').css('width', xW + value + 'px'); 110 $(this).find('.vc_column-inner').css('margin-' + stretch, '-' + value + 'px'); 111 }); 112 }; 113 114 //Full height 115 full_height_columns(); 116 117 function full_height_columns() { 118 119 $(".full_height_columns").each(function () { 120 var full_height_columns = $(this).find(".wpb_column:first").height(); 121 $(this).find("iframe").css("height", full_height_columns); 122 }); 123 }; 124 125 stm_ajax_add_event_member(); 126 127 function stm_ajax_add_event_member() { 128 $("#event-members-form").on("submit", function (event) { 129 event.preventDefault(); 130 131 var $this = $(this), 132 eventID = parseInt($($this).find('input[name="event_member_id"]').val()), 133 addedEvents = localStorage.getItem('addedEvents'), 134 eventAdded = false;
135 136 if (addedEvents) { 137 addedEvents = JSON.parse(addedEvents); 138 eventAdded = $.inArray(eventID, addedEvents) > -1; 139 } 140 if (!eventAdded) { 141 $.ajax({ 142 url: ajaxurl, 143 type: "POST", 144 dataType: "json", 145 context: this, 146 data: $(this).serialize() + "&action=stm_ajax_add_event_member&security=" + stm_ajax_add_event_member_sc, 147 beforeSend: function () { 148 $(".alert-modal").remove(); 149 $(this).closest("form").find("input").removeClass("form-error"); 150 $(this).closest("form").find(".stm-ajax-loader").addClass("loading"); 151 }, 152 success: function (data) { 153 $(this).closest("form").find(".stm-ajax-loader").removeClass("loading"); 154 155 $(this).closest("form").find(".event-members-box").append('<div class="alert-modal alert alert-' + data.status + ' text-left">' + data.response + '</div>'); 156 for (var key in data.errors) { 157 $('#event-members-form input[name="' + key + '"]').addClass("form-error"); 158 } 159 if (!$('#event-members-form input[name="' + key + '"]').hasClass('form-error')) { 160 $(".event-members-box-table .event-attended-count").text(parseInt($(".event-members-box-table .event-attended-count").text()) + 1); 161 $(".event-attended-count.event-new-count").text(parseInt($(".event-attended-count.event-new-count").text()) + 1); 162 if (addedEvents) { 163 addedEvents.push(eventID); 164 } else { 165 addedEvents = [eventID]; 166 } 167 localStorage.setItem('addedEvents', JSON.stringify(addedEvents)); 168 $($this).find(".form__notice_success").fadeIn(300); 169 } 170 $("#event-members-form button").addClass("disabled").prop('disabled', true); 171 }, 172 complete: function (data) { 173 $("#event-members-form")[0].reset(); 174 } 175 }); 176 $(this).closest("form").find(".form-error").on("hover", function () { 177 $(this).removeClass("form-error"); 178 }); 179 } else { 180 $($this).find(".form__notice_information").fadeIn(300); 181 } 182 return false; 183 }); 184 } 185 186 $(".event_terms_conditions #event_terms_conditions").on("click", function (e) { 187 if ($(this).is(':checked')) { 188 $("#event-members-form button").removeClass("disabled").prop('disabled', false); 189 } else { 190 $("#event-members-form button").addClass("disabled").prop('disabled', true); 191 } 192 }); 193 194 $(".event_joining .show_event_list_form").on("click", function (e) { 195 var eventItemValId = $(this).parents(".item").find(".event-item-id").val(); 196 $(".stm_events_classic #event-members-form .event_member_id").val(eventItemValId); 197 $(".stm_events_list_form").show(); 198 $(this).parents(".item").find(".event-attended-count").addClass("event-new-count"); 199 }); 200 $(".notice__hide").on("click", function (e) { 201 $(".stm_events_list_form").hide(); 202 $("#event-members-form")[0].reset(); 203 $("#event-members-form .alert-modal").hide(); 204 $("#event-members-form .form__notice_information").hide(); 205 $(".stm_events_classic .item").find(".event-attended-count").removeClass("event-new-count"); 206 }); 207 208 $(".events_lessons_box .event_lesson_tabs:first-child").addClass("active"); 209 $('.events_lessons_box .event_lesson_tabs a').each(function (e) { 210 if ($(this).parent().hasClass("active")) { 211 $($(this).attr('href')).show(); 212 } 213 }); 214 $('.events_lessons_box .event_lesson_tabs a').on('click', function (e) { 215 $(this).parents(".events_lessons_box").find(".event_lesson_info").hide(); 216 $(this).parents(".events_lessons_box").find(".event_lesson_tabs").removeClass("active"); 217 $(this).parent().addClass("active"); 218 $($(this).attr("href")).show(); 219 return false;
220 }); 221 222 $(document).on("click", ".js-open-search-box", function () { 223 $(this).closest(".header_search").toggleClass("active"); 224 return false; 225 }); 226 227 if ($(".wpb_revslider_element").length && $('body').hasClass("header_style_7")) { 228 $(".wpb_revslider_element").closest(".vc_row-no-padding").addClass("stm-revslider-wrapper"); 229 } 230 231 $(document).on("click", "body", function (e) { 232 if (!$(e.target).closest(".header_search").length) { 233 $(".header_search").removeClass("active"); 234 235 } 236 }); 237 238 $("body .wpb_video_widget .wpb_wrapper .wpb_video_wrapper .play_video").on('click', function () { 239 $(this).parent().find('iframe').attr('allow', 'autoplay'); 240 $(this).parent().addClass('active'); 241 $(this).parent().find('iframe').attr('src', $(this).parent().find('iframe').attr('src') + '?autoplay=1').delay(); 242 $(this).hide(); 243 $(this).parent().find('img').hide(); 244 $(this).parent().find('.video').show(); 245 $(this).parent().addClass('show_video'); 246 return false; 247 }); 248 249 $(".staff_read_more").on('click', function () { 250 $(this).closest('.stm_staff_2').find('.full_description').slideToggle(150); 251 return false; 252 }); 253 254 $("select:not(.stm_not_select2)").each(function () { 255 if (!$(this).closest(".gfield").hasClass("stm_not_select2")) { 256 $(this).select2({width: '100%', minimumResultsForSearch: '-1'}); 257 } 258 }); 259 if ($("#rating").length) { 260 $("#rating").select2('destroy'); 261 } 262 263 if ($("#demos_switcher").length) { 264 $("#demos_switcher").select2("destroy"); 265 266 $("#demos_switcher").select2({ 267 templateResult: demosItemTemplate, 268 width: '100%', 269 minimumResultsForSearch: '-1' 270 }); 271 272 } 273 274 if ($('body').hasClass('customizer_page')) { 275 $(".customizer_page .ui-tabs").remove(); 276 } 277 278 $('.menu-toggle, .menu_toggle').on('click', function () { 279 $(this).toggleClass('open'); 280 $(this).parents().find('.main_menu_nav').slideToggle(300); 281 $('.mobile_header .top_nav_mobile, .consulting_menu_nav .consulting_menu_nav').slideToggle(300); 282 return false; 283 }); 284 $('#menu_toggle_button').on('click', function () { 285 $(this).toggleClass('open'); 286 $('#header').each(function () { 287 if (!$(this).hasClass('show')) { 288 $(this).addClass('show'); 289 if ($('body').hasClass('rtl')) { 290 $(this).animate({right: "0"}, 300); 291 } else { 292 $(this).animate({left: "0"}, 300); 293 } 294 } else { 295 $(this).removeClass('show'); 296 if ($('body').hasClass('rtl')) { 297 $(this).animate({right: "-100%"}, 600); 298 } else { 299 $(this).animate({left: "-100%"}, 600); 300 } 301 } 302 }); 303 304 return false; 305 }); 306 307 $(".main_menu_nav > li.menu-item-has-children > a").after('<span class="arrow"><i></i></span>'); 308 $(".main_menu_nav > li.menu-item-has-children > .sub-menu > .menu-item-has-children > a").after('<span class="arrow"><i class="fa fa-chevron-down"></i></span>'); 309 $(".consulting_menu_nav > li.menu-item-has-children > a").after('<i class="fa fa-plus arrow" aria-hidden="true"></i>'); 310 $(".consulting_menu_nav > li ul > li.menu-item-has-children > a").after('<i class="fa fa-plus arrow" aria-hidden="true"></i>'); 311 312 $(".main_menu_nav > li.menu-item-has-children .arrow, .consulting_menu_nav .menu-item-has-children .arrow").on('click', function () { 313 let $this = $(this); 314 if ($this.hasClass('active')) { 315 $this.removeClass('active'); 316 $this.parent().removeClass('active').find('> ul').slideUp(300); 317 } else { 318 $this.closest('ul').find('li').removeClass('active'); 319 $this.closest('ul').find('li .arrow').removeClass('active'); 320 $this.closest('ul').find('li ul').slideUp(300); 321 $this.parent().find('> ul').slideDown(300); 322 $this.addClass('active'); 323 $this.parent().addClass('active'); 324 } 325 }); 326 327 $('.consulting_menu_nav > li').each(function () { 328 if ($(this).hasClass('stm_megamenu')) { 329 $(this).parents(".elementor-column").addClass("stm_megamenu_
329column") 330 } 331 }); 332 333 $(".mobile_header .top_nav_mobile .main_menu_nav > li.menu-item-has-children > a").on('click', function () { 334 if ($(this).attr('href') == '#') { 335 $(this).closest('li').find('ul').slideToggle(300); 336 $(this).closest('li').find('.arrow').toggleClass('active'); 337 } 338 }); 339 340 // Quantity actions 341 $('body').on('click', '.quantity_actions span', function () { 342 var quantityContainer = $(this).closest('.quantity'), 343 quantityInput = quantityContainer.find('.qty'), 344 quantityVal = quantityInput.val(); 345 346 $('.shop_table.cart .button').removeAttr("disabled"); 347 348 if ($(this).hasClass('plus')) { 349 quantityInput.val(parseInt(quantityVal) + 1); 350 } else if ($(this).hasClass('minus')) { 351 if (quantityVal > 1) { 352 quantityInput.val(parseInt(quantityVal) - 1); 353 } 354 } 355 }); 356 357 // Stiky Header 358 var headerHeight = $("#header").height(); 359 var headerTop = $(".header_top").height(); 360 var topBar = $(".top_bar").height(); 361 362 header_affix(".header_style_1.sticky_menu #header .nav-box, .header_style_3.sticky_menu #header .nav-box, .header_style_4.sticky_menu #header .nav-box, .header_style_5.sticky_menu #header .nav-box, .header_style_6.sticky_menu #header .nav-box, .header_style_11.sticky_menu #header .nav-box, .header_style_12.sticky_menu #header .nav-box"); 363 header_affix(".sticky_menu #menu_toggle_button, .menu_toggle_button"); 364 header_affix('.header_style_2.sticky_menu #header .header-box, .header_style_10.sticky_menu #header .header-box'); 365 366 function header_affix( selector ) { 367 var element = document.querySelector(selector); 368 if ( element ) { 369 var sticky = element.offsetTop; 370 371 window.addEventListener('scroll', function () { 372 373 if (window.pageYOffset > sticky) { 374 element.classList.add('affix'); 375 } else { 376 element.classList.remove('affix'); 377 } 378 }); 379 } 380 } 381 382 $("#wrapper").on( "scroll", function() { 383 if ($(".sticky_menu .header_top, .sticky_menu .nav-box").hasClass('affix')) { 384 $("#header").css("paddingBottom", headerTop); 385 } else { 386 $("#header").css("paddingBottom", 0); 387 } 388 }); 389 390 $(".top_bar_info_switcher .active").on('click', function () { 391 392 if ($(".top_bar_info_switcher ul").is(':visible')) { 393 $(this).parent().find("ul").slideUp(100); 394 } else { 395 $(this).parent().find("ul").slideDown(100); 396 } 397 398 return false; 399 }); 400 401 $(".top_bar_info_switcher a").on('click', function () { 402 var id = $(this).attr('data-href'); 403 var title = $(this).text(); 404 $(this).parents(".top_bar_info_wr").find(".top_bar_info").hide(); 405 $(this).parents(".top_bar_info_wr").find('#'+id).show(); 406 $(this).parents(".top_bar_info_wr").find(".top_bar_info_switcher .active span").text(title); 407 $(this).parents(".top_bar_info_wr").find(".top_bar_info_switcher ul").slideUp(100); 408 return false; 409 }); 410 411 if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { 412 stm_animate_block(); 413 } else { 414 $(".stm_animation").css('opacity', 1); 415 } 416 417 jQuery(window).on( "scroll", function() { 418 if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { 419 stm_animate_block(); 420 } else { 421 $(".stm_animation").css('opacity', 1); 422 } 423 }); 424 425 $('.single-product .product-type-variable table.variations select').on("change", function () { 426 $(this).parent().find('.select2-selection__rendered').text($(this).find('option[value="' + $(this).val() + '"]').text()); 427 }); 428 429 /*Adds*/ 430 if (typeof($.fancybox) !== 'undefined') { 431 $('.stm_fancy-iframe').fancybox({ 432 type: 'iframe', 433 padding: 0, 434 maxWidth: '800px', 435 width: '100%', 436 fitToView: false, 437 afterLoad: function () { 438 var url = $(this.element).data('url'); 439 this.href = url; 440 } 441 }); 442 443 $('.stm_fancybox').fancybox({ 444 fitToView: false, 445 padding: 30, 446 maxWidth: '500px', 447 autoSize: true, 448 closeClick: false, 449 openEffect: 'none', 450 closeEffect: 'none' 451 }); 452 } 453 454 $('[data-scroll-to]').on('click', function (e) { 455 var url = $(this).attr('data-scroll-to'); 456 if (typeof(url) !== 'undefined') { 457 var url_parsed = url.split('#'); 458 if (typeof(url_parsed[1]) !== 'undefined' && $('#' + url_parsed[1]).length > 0) { 459 $('html, body').stop().animate({ 460 scrollTop: $('#' + url_parsed[1]).offset().top 461 }, 700); 462 } else { 463 window.location.href = url; 464 } 465 } 466 }); 467 468 if ($('body').hasClass('site_layout_19')) { 469 $('.top_nav li a').on('click', function (e) { 470 e.preventDefault(); 471 var url = $(this).attr('href'); 472 if (typeof(url) !== 'undefined') { 473 var url_parsed = url.split('#'); 474 if (typeof(url_parsed[1]) !== 'undefined' && $('#' + url_parsed[1]).length > 0) { 475 $('html, body').stop().animate({ 476 scrollTop: $('#' + url_parsed[1]).offset().top - 50 477 }, 700); 478 } else { 479 window.location.href = url; 480 } 481 } 482 }); 483 } 484 485 $('.header_search_in_popup .search-icon').on('click', function () { 486 if ($(this).parents().hasClass('header-box')) { 487 $('.header-box').addClass('search_active'); 488 } 489 $(this).parent().addClass('search_active'); 490 $('.header_search_in_popup .search-form').append('<div class="header_search_close"></div>'); 491 $('.header_search_close').on('click', function () { 492 $(this).parents('.header_search_in_popup').removeClass('search_active'); 493 $('.header-box').removeClass('search_active'); 494 $('.header_search_close').remove(); 495 }); 496 }); 497 498 $('.consulting-search button, .stm_top_bar_l13-search button').on('click', function (e) { 499 var $wr = $(this).closest('.stm_top_bar_l13-search, .consulting-search'); 500 if ($wr.hasClass('active')) { 501 if ($wr.find('input').val() == '') { 502 e.preventDefault(); 503 $wr.removeClass('active active-focus'); 504 } 505 } else { 506 e.preventDefault(); 507 $wr.addClass('active active-focus'); 508 setTimeout(function () { 509 $wr.find('input').focus(); 510 }, 300); 511 } 512 }); 513 514 $('body').on('click', function (e) { 515 if ($(e.target).closest('.consulting-search, .stm_top_bar_l13-search').length === 0) { 516 var $wr = $('.consulting-search, .stm_top_bar_l13-search'); 517 $wr.find('input').focusout(); 518 $wr.removeClass('active active-focus'); 519 } 520 }); 521 522 }); 523 524 jQuery(window).on( "load", function() { 525 l18W(); 526 if ($('html').hasClass('stm-site-preloader')) { 527 $('html').addClass('stm-site-loaded'); 528 529 setTimeout(function () { 530 $('html').removeClass('stm-site-preloader stm-site-loaded'); 531 }, 250); 532 533 $(window).on('onbeforeunload', function (e) { 534 $('html').addClass('stm-site-preloader stm-after-hidden'); 535 }); 536 537 if ($('a[href^=mailto], a[href^=skype], a[href^=tel]').on('click', function (e) { 538 setTimeout(function () { 539 $('html').removeClass('stm-site-preloader stm-site-loaded'); 540 }); 541 })) ; 542 } 543 }); 544 545 function stm_animate_block() { 546 jQuery('.stm_animation').each(function () { 547 if (jQuery(this).attr('data-animate')) { 548 var animation_blocks = jQuery(this).children('*'); 549 var animationName = jQuery(this).attr('data-animate'), 550 animationDuration = jQuery(this).attr('data-animation-duration') + 's', 551 animationDelay = jQuery(this).attr('data-animation-delay'); 552 var style = 'opacity:1;-webkit-animation-delay:' + animationDelay + 's;-webkit-animation-duration:' + animationDuration + '; -moz-animation-delay:' + animationDelay + 's;-moz-animation-duration:' + animationDuration + '; animation-delay:' + animationDelay + 's;'; 553 var container_style = 'opacity:1;-webkit-transition-delay: ' + (animationDelay) + 's; -moz-transition-delay: ' + (animationDelay) + 's; transition-delay: ' + (animationDelay) + 's;'; 554 if (isAppear(jQuery(this))) { 555 jQuery(this).attr('style', container_style); 556 jQuery.each(animation_blocks, function (index, value) { 557 jQuery(this).attr('style', style); 558 jQuery(this).addClass('animated').addClass(animationName); 559 }); 560 } 561 } 562 }); 563 } 564 565 function isAppear(id) { 566 var window_scroll = jQuery(window).scrollTop(); 567 var window_height = jQuery(window).height(); 568 569 if (jQuery(id).hasClass('stm_viewport')) { 570 var start_effect = jQuery(id).data('viewport_position'); 571 } 572 573 if (typeof(start_effect) === 'undefined' || start_effect == '') { 574 var percentage = 2; 575 } else { 576 var percentage = 100 - start_effect; 577 } 578 var element_top = jQuery(id).offset().top; 579 var position = element_top - window_scroll; 580 581 var cut = window_height - (window_height * (percentage / 100)); 582 if (position <= cut) { 583 return true; 584 } else { 585 return false;
586 } 587 } 588 589 function demosItemTemplate(state) { 590 if (!state.id) { 591 return state.text; 592 } 593 var $state = jQuery( 594 '<span class="' + state.element.value + '"> ' + state.text + '</span>' 595 ); 596 return $state; 597 } 598 599 function l18W() { 600 var $ = jQuery; 601 if ($('body').hasClass('site_layout_18')) { 602 var contentW = $('#fullpage').outerWidth(); 603 var contentArea = $('.content-area').outerWidth(); 604 var fullWleft = contentW / 2; 605 606 var marginArea = (contentW - contentArea) / 2; 607 //$('.stm_bg_right').css('width', contentW + 'px'); 608 $('.stm_fullwidth_left').css({ 609 'width': fullWleft + 'px' 610 }); 611 612 $('.stm_fullwidth_content').css({ 613 'width': contentW + 'px', 614 'margin-right': '-' + marginArea + 'px' 615 }) 616 617 } 618 } 619 620 function stm_services_carousel() { 621 $('.stm_services.style_3').each(function () { 622 var perRow = $(this).attr('data-per-row'); 623 $(this).owlCarousel({ 624 nav: false, 625 dots: true, 626 responsive: { 627 0: { 628 items: 1 629 }, 630 480: { 631 items: 2 632 }, 633 768: { 634 items: 3 635 }, 636 1024: { 637 items: perRow 638 }, 639 1110: { 640 items: perRow 641 } 642 } 643 }); 644 }); 645 646 $('.stm_services.style_7').each(function () { 647 $(this).owlCarousel({ 648 nav: false, 649 dots: true, 650 responsive: { 651 0: { 652 items: 1 653 } 654 } 655 }); 656 }) 657 } 658})(jQuery); 659 660document.addEventListener("DOMContentLoaded", function() { 661 const inputField = document.getElementById("haet-cleverreach-cleverreach_email"); 662 if (inputField) { 663 inputField.setAttribute("placeholder", "E-Mail Adresse"); 664 } 665}); 666 667 668(function () { 669 // ð NUR Kontaktseite 670 if (!document.body.classList.contains('page-id-1483')) return; 671 672 const EMAILS = [ 673 { label: '[email protected]', href: 'mailto:[email protected]' }, 674 { label: '[email protected]', href: 'mailto:[email protected]?subject=Bewerbung' } 675 ]; 676 677 function injectEmails() { 678 const ul = document.querySelector('.stm_contacts_widget.style_4 ul'); 679 if (!ul) return; 680 681 // Duplikate verhindern 682 if (ul.dataset.extraEmailsInjected === '1') return; 683 684 const existing = new Set( 685 Array.from(ul.querySelectorAll('a[href^="mailto:"]')) 686 .map(a => a.getAttribute('href').toLowerCase()) 687 ); 688 689 EMAILS.forEach(e => { 690 if (existing.has(e.href.toLowerCase())) return; 691 692 const li = document.createElement('li'); 693 li.className = 'stm_contact_row stm_contact_row--extra'; 694 695 const icon = document.createElement('div'); 696 icon.className = 'icon'; 697 icon.innerHTML = '<i class="fa fa-envelope"></i>'; 698 699 const text = document.createElement('div'); 700 text.className = 'text'; 701 702 const a = document.createElement('a'); 703 a.href = e.href; 704 a.textContent = e.label; 705 706 text.appendChild(a); 707 li.appendChild(icon); 708 li.appendChild(text); 709 710 ul.appendChild(li); 711 }); 712 713 ul.dataset.extraEmailsInjected = '1'; 714 } 715 716 // Initial laden 717 document.addEventListener('DOMContentLoaded', injectEmails); 718 719})(); 720
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.