1/* global $ */ 2 3// mitgliedschaftsantrag min amount 4const input = document.getElementById('interferer-output'); 5var type_timeout = undefined; 6if (input) { 7 input.addEventListener('keyup', function(e) { 8 clearTimeout(type_timeout) 9 10 type_timeout = setTimeout(function () { 11 if (e.target.value < 6) { 12 input.value = 6; 13 } 14 }, 500) 15 }); 16} 17 18// Spendenprogressbar: add/remove classes of dots and change width of progressbar 19$('.ig-amount-1').click(function () { 20 $(this).addClass('active') 21 $('.ig-amount-2').removeClass('active') 22 $('.ig-amount-3').removeClass('active') 23 $('#poi1').addClass('show') 24 $('#poi2').removeClass('show') 25 $('#poi3').removeClass('show') 26 $('#igprogressbar').addClass('ig-pb-15') 27 $('#igprogressbar').removeClass('ig-pb-50') 28 $('#igprogressbar').removeClass('ig-pb-85') 29}) 30$('.ig-amount-2').click(function () { 31 $(this).addClass('active') 32 $('.ig-amount-1').removeClass('active') 33 $('.ig-amount-3').removeClass('active') 34 $('#poi2').addClass('show') 35 $('#poi1').removeClass('show') 36 $('#poi3').removeClass('show') 37 $('#igprogressbar').addClass('ig-pb-50') 38 $('#igprogressbar').removeClass('ig-pb-15') 39 $('#igprogressbar').removeClass('ig-pb-85') 40}) 41$('.ig-amount-3').click(function () { 42 $(this).addClass('active') 43 $('.ig-amount-2').removeClass('active') 44 $('.ig-amount-1').removeClass('active') 45 $('#poi3').addClass('show') 46 $('#poi2').removeClass('show') 47 $('#poi1').removeClass('show') 48 $('#igprogressbar').addClass('ig-pb-85') 49 $('#igprogressbar').removeClass('ig-pb-15') 50 $('#igprogressbar').removeClass('ig-pb-50') 51}) 52 53// Navigation on mouseenter and mouseleave 54$('li.ig-has-children').on('mouseenter', function() { 55 // Update ARIA state on the toggle button 56 const toggleButton = $(this).find('.ig-dropdown-toggle'); 57 toggleButton.attr('aria-expanded', 'true'); 58 }); 59 60 $('li.ig-has-children').on('mouseleave', function() { 61 // Update ARIA state on the toggle button 62 const toggleButton = $(this).find('.ig-dropdown-toggle'); 63 toggleButton.attr('aria-expanded', 'false'); 64 }); 65 66// Spenden Banner Progress Bar 67$(document).ready(function () { 68 const $valueSpan = $('.valueSpan2') 69 const $value = $('#customRange11') 70 $valueSpan.html($value.val()) 71 $value.on('input change', function () { 72 $valueSpan.html($value.val()) 73 }) 74}) 75 76// on viewport add class 77function isScrolledIntoView (elem) { 78 const docViewTop = $(window).scrollTop() 79 const docViewBottom = docViewTop + $(window).height() 80 81 const elemTop = $(elem).offset().top 82 83 return ((elemTop <= docViewBottom) && (elemTop >= docViewTop)) 84} 85 86$(window).scroll(function () { 87 $('.ig-js-on-view').each(function () { 88 if (isScrolledIntoView(this) === true) { 89 $(this).addClass('ig-visible') 90 } 91 }) 92}) 93 94$('.igcontent_faq .banner-amount').each(function () { 95 $(this).click(function () { 96 const amount = $(this).data('amount') 97 const buttontext = $(this).closest('.faq-wrapper').find('#buttonTextHidden').text() 98 const url = $(this).closest('.faq-wrapper').find('#buttonText').data('link') 99 $(this).closest('.faq-wrapper').find('.btn').attr('href', url + '?' + 'amount=' + amount + '&no_cache=1') 100 $(this).closest('.faq-wrapper').find('.btn').html(amount + '⬠' + buttontext) 101 }) 102}) 103 104// Search field in navigation logic
105const navbarContainer = document.querySelector('#navbarResponsive') 106const showSearchFieldButton = document.querySelector('#navigation-search-button') 107const navigationSearchFieldContainer = document.querySelector('#navigation-search-bar-container') 108const navigationSearchField = document.querySelector('#navigation-search-bar-container input') 109let navigationSearchFieldCloseButton = null; 110let navigationSearchFieldFireButton = null; 111 112if(navigationSearchFieldContainer) { 113 navigationSearchFieldCloseButton = navigationSearchFieldContainer.querySelector('.icon-close') 114 navigationSearchFieldFireButton = navigationSearchFieldContainer.querySelector('.icon-search') 115} 116 117// Funktion zum Ãffnen/SchlieÃen der Suche 118function toggleSearch() { 119 const isVisible = navigationSearchFieldContainer.classList.contains('visible'); 120 121 showSearchFieldButton.classList.toggle('hidden') 122 navigationSearchFieldContainer.classList.toggle('visible') 123 navbarContainer.classList.toggle('search-is-visible') 124 125 // ARIA-Status aktualisieren 126 showSearchFieldButton.setAttribute('aria-expanded', !isVisible) 127 128 if (!isVisible) { 129 navigationSearchField.focus() 130 } 131} 132 133if (showSearchFieldButton) { 134 // Click-Event beibehalten 135 showSearchFieldButton.addEventListener('click', toggleSearch) 136 137 // Keyboard-Support hinzufügen 138 showSearchFieldButton.addEventListener('keydown', function(e) { 139 // Enter oder Space-Taste 140 if (e.keyCode === 13 || e.keyCode === 32) { 141 e.preventDefault() 142 toggleSearch() 143 } 144 }) 145} 146 147if (navigationSearchField) { 148 // ARIA-Attribute für das Suchfeld hinzufügen 149 navigationSearchField.setAttribute('aria-label', 'Suchbegriff eingeben') 150 151 if(!$('#navigation-search-bar-container input').hasClass('no_js')) { 152 navigationSearchField.addEventListener('keyup', function (e) { 153 if (e.keyCode === 13) { 154 const baseURL = window.location.protocol + '//' + window.location.host 155 const searchURL = baseURL + '/suche?q=' + navigationSearchField.value 156 157 window.location.replace(searchURL) 158 } 159 }) 160 } 161} 162 163if (navigationSearchFieldCloseButton) { 164 // SchlieÃen-Button barrierefrei machen 165 navigationSearchFieldCloseButton.setAttribute('tabindex', '0') 166 navigationSearchFieldCloseButton.setAttribute('role', 'button') 167 navigationSearchFieldCloseButton.setAttribute('aria-label', 'Suche schlieÃen') 168 169 navigationSearchFieldCloseButton.addEventListener('click', function () { 170 toggleSearch() 171 // Fokus zurück auf den Suche-Button setzen 172 showSearchFieldButton.focus() 173 }) 174 175 // Keyboard-Support für SchlieÃen-Button 176 navigationSearchFieldCloseButton.addEventListener('keydown', function(e) { 177 if (e.keyCode === 13 || e.keyCode === 32) { 178 e.preventDefault() 179 toggleSearch() 180 showSearchFieldButton.focus() 181 } 182 }) 183} 184 185if (navigationSearchFieldFireButton) { 186 // Such-Button barrierefrei machen 187 navigationSearchFieldFireButton.setAttribute('tabindex', '0') 188 navigationSearchFieldFireButton.setAttribute('role', 'button') 189 navigationSearchFieldFireButton.setAttribute('aria-label', 'Suche starten') 190 191 navigationSearchFieldFireButton.addEventListener('click', function () { 192 if(!$('#navigation-search-bar-container input').hasClass('no_js')) { 193 const baseURL = window.location.protocol + '//' + window.location.host 194 const searchURL = baseURL + '/suche?q=' + navigationSearchField.value 195 196 window.location.replace(searchURL) 197 } 198 else { 199 $('#form_kesearchform').submit(); 200 } 201 }) 202 203 // Keyboard-Support für Such-Button 204 navigationSearchFieldFireButton.addEventListener('keydown', function(e) { 205 if (e.keyCode === 13 || e.keyCode === 32) { 206 e.preventDefault() 207 if(!$('#navigation-search-bar-container input').hasClass('no_js')) { 208 const baseURL = window.location.protocol + '//' + window.location.host 209 const searchURL = baseURL + '/suche?q=' + navigationSearchField.value 210 211 window.location.replace(searchURL) 212 } 213 else { 214 $('#form_kesearchform').submit(); 215 } 216 } 217 }) 218} 219 220// ESC-Taste zum SchlieÃen der Suche 221if (navigationSearchFieldContainer) { 222 navigationSearchFieldContainer.addEventListener('keydown', function(e) { 223 if (e.keyCode === 27) { // ESC 224 if (navigationSearchFieldContainer.classList.contains('visible')) { 225 toggleSearch() 226 showSearchFieldButton.focus() 227 } 228 } 229 }) 230} 231 232$(document).ready(function () { 233 if ($('.ce-navigation-wrapper').length === 1) { 234 $('body').scrollspy({ target: '.ce-navigation-wrapper' }) 235 } 236 237 /** fe_manager form for registration */ 238 239 $('.js-femanager-field-country').on("change", function() { 240 if($(this).val() == 'DEU') { 241 $('.femanager_fieldset.femanager_state').removeClass('d-none'); 242 } else { 243 $('.femanager_fieldset.femanager_state').addClass('d-none'); 244 } 245 }) 246}) 247 248// Slider Touchswipes nachgeruestet 249$('.carousel').on('touchstart', function (event) { 250 const xClick = event.originalEvent.touches[0].pageX 251 $(this).one('touchmove', function (event) { 252 const xMove = event.originalEvent.touches[0].pageX 253 const sensitivityInPx = 5 254 255 if (Math.floor(xClick - xMove) > sensitivityInPx) { 256 $(this).carousel('next') 257 } else if (Math.floor(xClick - xMove) < -sensitivityInPx) { 258 $(this).carousel('prev') 259 } 260 }) 261 $(this).on('touchend', function () { 262 $(this).off('touchmove') 263 }) 264}) 265 266const urlShareElement = document.querySelectorAll('.contact .link span') 267for (let i = 0; i < urlShareElement.length; i++) { 268 if (urlShareElement[i].textContent === window.location.href) { 269 urlShareElement[i].parentElement.remove() 270 } 271}
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.