{ "version": 3, "sources": ["../../src/scripts/components/contact-flag.js", "../../src/scripts/helpers/utils.js", "../../src/scripts/components/main/main.js", "../../src/scripts/helpers/popup.js", "../../src/scripts/components/mobile-menu.js", "../../src/scripts/components/disclaimer.js", "../../src/scripts/components/podcast/podcast.js", "../../src/scripts/components/image-slider.js", "../../src/scripts/components/mediathek.js", "../../src/scripts/components/filter-dropdowns.js", "../../src/scripts/components/filter-teaser.js", "../../src/scripts/components/target-group-teaser.js", "../../src/scripts/components/dc-login.js", "../../src/scripts/main.js", "../../src/scripts/components/contact-form.js", "../../src/scripts/components/reference-popover.js", "../../src/scripts/helpers/helpers.js"], "sourcesContent": ["const CONTACT = document.querySelector(\".kontakt_lasche\");\r\nconst HAMBURGER = document.querySelector(\".nav_hamburger\");\r\nif (!CONTACT || !HAMBURGER) return;\r\n\r\nconst CONTACT_BUTTON = `\r\n \r\n`;\r\n\r\nHAMBURGER.insertAdjacentHTML(\"beforebegin\", CONTACT_BUTTON);\r\ndocument.querySelector(\".js-contact-trigger\").addEventListener(\"click\", toggleContact);\r\n\r\nfunction toggleContact(e) {\r\n const TOGGLE_LAYER = document.querySelector(\".kontakt_box\");\r\n if (!TOGGLE_LAYER) return;\r\n\r\n TOGGLE_LAYER.classList.toggle(\"kontakt_box--visible\");\r\n}\r\n", "// Utils\r\nconst Utils = {\r\n queryToParams: function (query) {\r\n return query\r\n .replace(\"?\", \"\")\r\n .split(\"&\")\r\n .reduce(function (res, param) {\r\n if (param.indexOf(\"=\") > -1) {\r\n const parts = param.split(\"=\");\r\n res[parts[0]] = parts[1];\r\n } else if (param) {\r\n res[param] = true;\r\n }\r\n return res;\r\n }, {});\r\n },\r\n paramsToQuery: function (params) {\r\n const parts = [];\r\n for (const param in params) {\r\n if (!param) continue;\r\n if (params[param] === true) {\r\n parts.push(param);\r\n } else {\r\n parts.push(param + \"=\" + params[param]);\r\n }\r\n }\r\n if (parts.length) {\r\n return \"?\" + parts.join(\"&\");\r\n }\r\n return \"\";\r\n },\r\n};\r\n\r\nexport { Utils };\r\n", "import { Utils } from \"../../helpers/utils\";\r\n\r\nwindow.searchPage = window.searchPage || 0;\r\nwindow.VIDEOGALLERY_PAGE = window.VIDEOGALLERY_PAGE || 0;\r\n\r\n$(function () {\r\n $(\"body\").on(\"click\", \".js-next-tab\", function (e) {\r\n var this_ = $(this);\r\n e.preventDefault();\r\n goToNextTab(this_.closest(\".tab_container\")[0]);\r\n });\r\n $(\"body\").on(\"click\", \".js-prev-tab\", function (e) {\r\n var this_ = $(this);\r\n e.preventDefault();\r\n goToPrevTab(this_.closest(\".tab_container\")[0]);\r\n });\r\n function goToNextTab(slide, carousel_) {\r\n var slide_ = slide,\r\n currentSlide_ = slide_.querySelector(\".tab_menu li.active\"),\r\n currentPos_ = currentSlide_.getAttribute(\"data-pos\"),\r\n nextPos_ = parseInt(currentPos_) + 1,\r\n nextPosExists_ = slide_.querySelector('.tab_menu li[data-pos=\"' + nextPos_ + '\"]'),\r\n nextSlide_;\r\n\r\n if (nextPosExists_) {\r\n nextSlide_ = nextPosExists_;\r\n } else if (carousel_) {\r\n nextSlide_ = slide_.querySelector('.tab_menu li[data-pos=\"0\"]');\r\n nextPos_ = 0;\r\n }\r\n if (nextPosExists_ || carousel_) {\r\n currentSlide_.classList.remove(\"active\");\r\n nextSlide_.classList.add(\"active\");\r\n if ($(slide_).hasClass(\"tab_container--symptomchecker\")) {\r\n $(slide_).find(\".tab_menu li\").removeClass(\"filled\");\r\n $(slide_).find(\".tab_menu .active\").prevAll().addClass(\"filled\");\r\n }\r\n\r\n slide_.querySelector(\".tab.active\").classList.remove(\"active\");\r\n slide_.querySelectorAll(\".tab\")[nextPos_].classList.add(\"active\");\r\n }\r\n }\r\n function goToPrevTab(slide) {\r\n var slide_ = slide,\r\n currentSlide_ = slide_.querySelector(\".tab_menu li.active\"),\r\n currentPos_ = currentSlide_ ? currentSlide_.getAttribute(\"data-pos\") : parseInt(slide_.querySelector(\".tab_menu li.filled:last-child\").getAttribute(\"data-pos\")) + 1,\r\n prevPos_ = parseInt(currentPos_) - 1,\r\n prevPosExists_ = slide_.querySelector('.tab_menu li[data-pos=\"' + prevPos_ + '\"]'),\r\n prevSlide_;\r\n\r\n if (prevPosExists_) {\r\n prevSlide_ = prevPosExists_;\r\n\r\n if (currentSlide_) currentSlide_.classList.remove(\"active\");\r\n prevSlide_.classList.add(\"active\");\r\n if ($(slide_).hasClass(\"tab_container--symptomchecker\")) {\r\n $(slide_).find(\".tab_menu li\").removeClass(\"filled\");\r\n $(slide_).find(\".tab_menu .active\").prevAll().addClass(\"filled\");\r\n }\r\n\r\n slide_.querySelector(\".tab.active\").classList.remove(\"active\");\r\n slide_.querySelectorAll(\".tab\")[prevPos_].classList.add(\"active\");\r\n }\r\n }\r\n\r\n /* carousel for tab, rotate infinite */\r\n var autoslide_ = document.querySelectorAll(\".tab_container[data-auto-slide]\");\r\n if (autoslide_) {\r\n for (var i = 0; i < autoslide_.length; i++) {\r\n autoSlideTabs(autoslide_[i]);\r\n }\r\n }\r\n function autoSlideTabs(slide) {\r\n var slide_ = slide,\r\n sliderTimerExists_ = slide_.getAttribute(\"data-auto-slide\");\r\n\r\n var slideTabs_ = setInterval(\r\n function () {\r\n goToNextTab(slide_, true);\r\n },\r\n sliderTimerExists_ ? sliderTimerExists_ * 1000 : 10000\r\n );\r\n\r\n slide_.addEventListener(\"click\", function () {\r\n clearInterval(slideTabs_);\r\n });\r\n }\r\n /* /carousel for tab, rotate infinite */\r\n\r\n $(\".tab_menu li\").on(\"click\", function () {\r\n var pos = $(this).attr(\"data-pos\");\r\n if (pos) {\r\n $(this).closest(\".tab_container\").find(\"li\").removeClass(\"active\");\r\n $(this).addClass(\"active\");\r\n if ($(this).closest(\".tab_container\").hasClass(\"tab_container--symptomchecker\")) {\r\n $(this).closest(\".tab_container\").find(\"li\").removeClass(\"filled\");\r\n $(this).prevAll().addClass(\"filled\");\r\n }\r\n $(this).closest(\".tab_container\").find(\".tab\").removeClass(\"active\");\r\n $(this).closest(\".tab_container\").find(\".tab\").eq(pos).addClass(\"active\");\r\n }\r\n });\r\n\r\n $(\".tabs\").each(function () {\r\n var maxHeight = 0;\r\n var tabs = $(this).find(\".tab\");\r\n tabs.each(function () {\r\n this.style.display = \"block\";\r\n if (this.scrollHeight > maxHeight) {\r\n maxHeight = this.scrollHeight;\r\n }\r\n this.style.display = \"\";\r\n });\r\n\r\n tabs.css(\"min-height\", maxHeight);\r\n });\r\n\r\n /* symptomchecker - tracking abschliessen */\r\n $(\"body\").on(\"click\", \".tab_container--symptomchecker .js-last-tab\", function (e) {\r\n var this_ = $(this),\r\n slide_ = this_.closest(\".tab_container\");\r\n e.preventDefault();\r\n\r\n slide_.find(\".tab_menu li\").removeClass(\"active\").addClass(\"filled\");\r\n slide_.find(\".tab.active\").removeClass(\"active\");\r\n slide_.find(\".tab:last-child\").addClass(\"active\");\r\n });\r\n /* /symptomchecker - tracking abschliessen */\r\n\r\n /* /symptomchecker - generate pdf */\r\n $(\"body\").on(\"click\", \".tab_container--symptomchecker .tab_content--symptoms-complete .symptomchecker_submit\", function (e) {\r\n symptomcheckerForm = JSON.stringify($(\"#symptomcheckerform\").serializeArray());\r\n GeneratePDF(symptomcheckerForm);\r\n e.preventDefault();\r\n });\r\n /* /symptomchecker - generate pdf */\r\n\r\n $.urlParam = function (name) {\r\n var results = new RegExp(\"[?&]\" + name + \"=([^&#]*)\").exec(window.location.href);\r\n if (results === null) {\r\n return null;\r\n } else {\r\n return decodeURI(results[1]) || 0;\r\n }\r\n };\r\n\r\n //if ($.urlParam('loggedin')) {\r\n // $(\"body\").addClass(\"loggedin\");\r\n //}\r\n // blue submenu\r\n\r\n /**\r\n * extended script to handle sub dropdowns\r\n * 2021.03.12 Sven Jan\u00DFen\r\n **/\r\n if ($(\".quickmenu\").length > 0) {\r\n if ($(\".quickmenu_mobile\").length <= 0 || $(\".quickmenu_mobile\").html() == \"\") {\r\n var el = $(\".quickmenu_content > ul > li > a\").first().clone();\r\n if ($(\".quickmenu_mobile\").length <= 0) {\r\n $(\".quickmenu_content\").prepend(el);\r\n el.attr(\"href\", \"#\");\r\n el.addClass(\"quickmenu_mobile\");\r\n } else {\r\n $(\".quickmenu_mobile\").html(el.html());\r\n }\r\n }\r\n\r\n $(\".quickmenu_mobile\").on(\"click\", function () {\r\n if ($(this).hasClass(\"active\")) {\r\n $(this).removeClass(\"active\");\r\n $(\".quickmenu_content > ul\").slideUp();\r\n } else {\r\n $(this).addClass(\"active\");\r\n $(\".quickmenu_content > ul\").slideDown();\r\n }\r\n return false;\r\n });\r\n\r\n $(\".quickmenu_content ul a:not(.quickmenu_folder-btn\").on(\"click\", function () {\r\n if ($(window).width() < 768) {\r\n $(\".quickmenu_mobile\").html($(this).html());\r\n $(\".quickmenu_mobile\").removeClass(\"active\");\r\n $(\".quickmenu_content > ul\").slideUp();\r\n }\r\n });\r\n\r\n $(\"header\").css(\"margin-bottom\", 40);\r\n\r\n // added functions for dropdowns\r\n if ($(\".quickmenu_dropdown\").length > 0) {\r\n var buttons = $(\".quickmenu_folder-btn\");\r\n for (var i = 0; i < buttons.length; i++) {\r\n $(buttons[i]).next(\"ul\").hide();\r\n }\r\n var lastActiveQuickmenuDropDown = null;\r\n\r\n $(document).click(function (event) {\r\n //close on clickoutside\r\n var $target = $(event.target);\r\n if (!$target.closest(\".quickmenu_content\").length && $(\".quickmenu_content > ul\").is(\":visible\")) {\r\n $(\".quickmenu_mobile.active\").trigger(\"click\");\r\n }\r\n });\r\n\r\n $(\".quickmenu_dropdown\").each(function () {\r\n $(this).prepend('
  • \");\r\n $(this)\r\n .find(\".quickmenu__btn\")\r\n .bind(\"click\", function (e) {\r\n e.preventDefault();\r\n $(\".quickmenu_content>ul>li\").removeClass(\"passive\");\r\n $(this)\r\n .parents(\".quickmenu_dropdown\")\r\n .slideUp(200, function () {\r\n $(this).removeClass(\"active\").prev(\"a\").removeClass(\"active\");\r\n });\r\n });\r\n });\r\n\r\n $(\".quickmenu_folder-btn\").bind(\"click\", function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var target = $(this);\r\n if (lastActiveQuickmenuDropDown !== null && lastActiveQuickmenuDropDown != this) {\r\n $(lastActiveQuickmenuDropDown)\r\n .next(\"ul\")\r\n .slideUp(200, function () {\r\n $(this).removeClass(\"active\").prev(\"a\").removeClass(\"active\");\r\n });\r\n lastActiveQuickmenuDropDown = null;\r\n }\r\n if (target.hasClass(\"active\")) {\r\n target.next(\"ul\").slideUp(200, function () {\r\n target.removeClass(\"active\").next(\"ul\").removeClass(\"active\");\r\n });\r\n lastActiveQuickmenuDropDown = null;\r\n } else {\r\n lastActiveQuickmenuDropDown = this;\r\n target.addClass(\"active\").next(\"ul\").addClass(\"active\");\r\n target.next(\"ul\").slideDown(200, function () {\r\n $(\".quickmenu_content>ul>li\").addClass(\"passive\");\r\n target.parents(\"li.col\").removeClass(\"passive\");\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n window.login = function () {\r\n if ($(\".searchClicker\").length == 0) {\r\n closeMobileNav();\r\n\r\n if($(\".doccheck\").length != 0) return;\r\n\r\n var clickDiv = $(\"
    \").addClass(\"searchClicker\");\r\n $(\"body\").append(clickDiv);\r\n\r\n var loginLayer = $(doccheckFormHtml);\r\n loginLayer.attr(\"tabindex\", \"-1\");\r\n loginLayer.css(\"box-shadow\", \"0px 0px 10px rgba(0, 0, 0, 0.5)\");\r\n clickDiv.append(loginLayer);\r\n\r\n const DCREFERER = document.querySelector('[name=\"dc_iframe_referer\"]');\r\n if (!DCREFERER) return;\r\n DCREFERER.value += location.search + location.hash;\r\n\r\n const mediaQueryList = window.matchMedia(\"screen and (max-width : 1023px)\");\r\n const closeDetails = function () {\r\n const dcInfo = document.querySelector('.doccheck__info-2');\r\n if(!dcInfo) return;\r\n dcInfo.removeAttribute('open');\r\n };\r\n const openDetails = function () {\r\n const dcInfo = document.querySelector('.doccheck__info-2');\r\n if(!dcInfo) return;\r\n dcInfo.setAttribute('open', 'open');\r\n };\r\n const onMatchMedia = function (event) {\r\n if (event.matches) {\r\n closeDetails();\r\n } else {\r\n openDetails();\r\n }\r\n };\r\n mediaQueryList.addEventListener(\"change\", onMatchMedia, false);\r\n if (mediaQueryList.matches) closeDetails();\r\n\r\n\r\n clickDiv.on(\"click\", function (e) {\r\n if (e.currentTarget.className == \"searchClicker\") {\r\n $(\".searchClicker\").fadeOut(function () {\r\n $(\".searchClicker\").remove();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n }\r\n });\r\n\r\n loginLayer.on(\"click\", function (e) {\r\n // e.preventDefault();\r\n e.stopPropagation();\r\n });\r\n $(clickDiv).fadeIn(function () {\r\n loginLayer.focus();\r\n });\r\n }\r\n return false;\r\n };\r\n\r\n // login layer\r\n $(\".login\").on(\"click\", login);\r\n\r\n function closeMobileNav() {\r\n $(\"nav .menu_mobile\").removeClass(\"visible\");\r\n $(\"body\").css(\"overflow\", \"auto\");\r\n }\r\n\r\n var minWidth = $(\".quickmenu_content\").width();\r\n var maxWidth = $(window).width();\r\n var diffWidth = maxWidth - minWidth;\r\n var targetScroll = $(\".keyvisual\").height() - $(\".quickmenu_content\").height() * 0.5;\r\n var topNav = document.getElementsByClassName(\"topnav\");\r\n //console.log('topnav length', topNav.length);\r\n $(window).resize(function () {\r\n maxWidth = $(window).width();\r\n diffWidth = maxWidth - minWidth;\r\n });\r\n\r\n function setNavScrolled(scrollPos) {\r\n if (topNav.length > 0) {\r\n if (scrollPos > 24 && !topNav[0].classList.contains(\"scrolled\")) {\r\n topNav[0].classList.add(\"scrolled\");\r\n } else if (scrollPos <= 24 && topNav[0].classList.contains(\"scrolled\")) {\r\n topNav[0].classList.remove(\"scrolled\");\r\n }\r\n }\r\n }\r\n\r\n setNavScrolled($(window).scrollTop());\r\n\r\n $(window).scroll(function () {\r\n var scrollPos = $(window).scrollTop();\r\n\r\n setNavScrolled(scrollPos);\r\n\r\n if ($(\"header .quickmenu\").length) {\r\n var menuPos = scrollPos - $(\".keyvisual\").height();\r\n\r\n if (maxWidth > 768) {\r\n // quickmenu width\r\n if ($(\".quickmenu_bg\").length > 0) {\r\n var p = 1 - (targetScroll - scrollPos) / targetScroll;\r\n $(\".quickmenu_bg\").width(minWidth + diffWidth * p);\r\n $(\".quickmenu_bg\").css(\"left\", maxWidth * 0.5 - $(\".quickmenu_bg\").width() * 0.5 + \"px\");\r\n }\r\n\r\n // product picker\r\n if ($(\".product_picker\").length > 0) {\r\n if (menuPos < -200) {\r\n // remove fixed sub\r\n if ($(\".quickmenu_content ul\").hasClass(\"subFixed\")) {\r\n $(\".quickmenu_content ul .subFixedLi\").remove();\r\n $(\".quickmenu_content ul\").removeClass(\"subFixed\");\r\n }\r\n } else {\r\n // make sub fixed\r\n if ($(\".quickmenu_content ul\").hasClass(\"subFixed\")) {\r\n } else {\r\n var activeText = $(\".product_picker .active\").html();\r\n\r\n var pp = $(\".product_picker ul\").clone();\r\n var link = $(\"\").html(activeText);\r\n var li = $(\"
  • \").addClass(\"col subFixedLi\");\r\n li.append(link.append(pp));\r\n $(\".quickmenu_content ul\").prepend(li);\r\n $(\".quickmenu_content ul\").addClass(\"subFixed\");\r\n }\r\n }\r\n }\r\n\r\n if (menuPos > 5) {\r\n $(\"header .quickmenu\").addClass(\"fixed\");\r\n } else {\r\n $(\"header .quickmenu\").removeClass(\"fixed\");\r\n }\r\n } else {\r\n if (menuPos > -20) {\r\n $(\"header .quickmenu\").addClass(\"fixed\");\r\n } else {\r\n $(\"header .quickmenu\").removeClass(\"fixed\");\r\n }\r\n }\r\n }\r\n });\r\n\r\n $(\"nav .search\").on(\"click\", function () {\r\n closeMobileNav();\r\n\r\n if ($(\".searchfield\").is(\":visible\")) {\r\n $(\".searchfield\").slideUp(\"fast\");\r\n $(\".searchClicker\").fadeOut(function () {\r\n $(\".searchClicker\").remove();\r\n });\r\n } else {\r\n $(\".searchfield\").slideDown(\"fast\");\r\n var clickDiv = $(\"
    \").addClass(\"searchClicker search\");\r\n $(\"body\").append(clickDiv);\r\n clickDiv.on(\"click\", function () {\r\n $(\".searchClicker\").fadeOut(function () {\r\n $(\".searchClicker\").remove();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n });\r\n $(clickDiv).fadeIn();\r\n }\r\n return false;\r\n });\r\n\r\n $(\".kontakt_box .kontakt_lasche\").on(\"click\", showHideContactForm);\r\n\r\n $(\"body\").on(\"click\", \".kontakt_box .kontakt_tab .closeBtn\", showHideContactForm);\r\n $(\"body\").on(\"click\", \".info-popup .kontakt_tab .closeBtn\", function (e) {\r\n e.preventDefault();\r\n $(\".info-popup-background\").trigger(\"click\");\r\n });\r\n\r\n function showHideContactForm() {\r\n $(\".kontakt_box\").toggleClass(\"kontakt_box--visible\");\r\n }\r\n\r\n // slider\r\n if ($(\".slider\").length > 0) {\r\n $(\".slider\").slick({\r\n infinite: false,\r\n prevArrow: '
    ',\r\n nextArrow: '
    ',\r\n dots: true,\r\n });\r\n }\r\n\r\n $(\".timeline .slider_content\").each(function () {\r\n var pointer = $(\"
    \").addClass(\"timeline_pointer\");\r\n var dot = $(\"
    \").addClass(\"timeline_dot\");\r\n var header = $(this).find(\".slider_header\");\r\n var headerHeight = $(this).find(\".slider_header\").height() * 0.5;\r\n var topPos = Math.abs(header.offset().top - $(this).offset().top + headerHeight);\r\n var leftOffset = $(this).offset().left;\r\n var leftPos = header.offset().left - 72 - leftOffset;\r\n var leftPointer = header.offset().left - 50 - leftOffset;\r\n var headerHeightAdd = -60;\r\n\r\n if (maxWidth < 1024) {\r\n leftPos = header.offset().left - 52 - leftOffset;\r\n leftPointer = header.offset().left - 30 - leftOffset;\r\n\r\n topPos -= 55;\r\n headerHeightAdd = -90;\r\n leftPos += 18;\r\n leftPointer += 10;\r\n }\r\n if (header.length > 0 && header.html().length > 0) {\r\n pointer.css(\"left\", leftPointer + \"px\");\r\n pointer.css(\"top\", topPos);\r\n dot.css(\"left\", leftPos + \"px\");\r\n $(this).find(\".container\").append(pointer);\r\n $(this).find(\".container\").append(dot);\r\n var pHeight = pointer.height() - headerHeight;\r\n if (maxWidth < 1024) {\r\n pHeight = headerHeight;\r\n }\r\n\r\n pointer.css(\"height\", Math.abs(pHeight + headerHeightAdd));\r\n }\r\n });\r\n\r\n // fix table with rowspan\r\n $(\"table:not(.no-automatic-background)\").each(function () {\r\n var rowA = 0;\r\n var lastRowA = true;\r\n var lastRowRowspan = 0;\r\n $(this)\r\n .find(\"tr\")\r\n .each(function () {\r\n var myRow = $(this);\r\n\r\n myRow.find(\"td\").each(function () {\r\n if ($(this).attr(\"rowspan\") != undefined) {\r\n lastRowRowspan = parseInt($(this).attr(\"rowspan\")) - 1;\r\n }\r\n });\r\n\r\n if (lastRowA) {\r\n // dark\r\n myRow.addClass(\"dark\");\r\n if (lastRowRowspan == 0) {\r\n lastRowA = !lastRowA;\r\n } else {\r\n lastRowRowspan--;\r\n }\r\n } else {\r\n // bright\r\n if (lastRowRowspan == 0) {\r\n lastRowA = !lastRowA;\r\n } else {\r\n lastRowRowspan--;\r\n }\r\n }\r\n });\r\n });\r\n\r\n // IE timeline\r\n if (getIEVersion()) {\r\n var img = $(\"img.slider_background.slider_background_main\").wrap(\"
    \");\r\n var img = $(\"img.slider_background\").wrap(\"
    \");\r\n }\r\n // congress wffm form\r\n $(\"form\").each(function () {\r\n if ($(this).parents(\".anmeldeformular\").length > 0) {\r\n $(this).removeClass(\"form-inline\");\r\n $(this).removeClass(\"text-left\");\r\n\r\n $(this)\r\n .find(\"input\")\r\n .each(function () {\r\n $(this).removeClass(\"form-control\");\r\n $(this).removeClass(\"btn\");\r\n $(this).removeClass(\"btn-default\");\r\n });\r\n\r\n $(this)\r\n .find(\".hidden\")\r\n .each(function () {\r\n $(this).css(\"display\", \"none\");\r\n });\r\n }\r\n });\r\n});\r\n\r\nfunction getIEVersion() {\r\n var sAgent = window.navigator.userAgent;\r\n var Idx = sAgent.indexOf(\"MSIE\");\r\n\r\n if (Idx > 0) {\r\n return parseInt(sAgent.substring(Idx + 5, sAgent.indexOf(\".\", Idx)));\r\n } else if (!!navigator.userAgent.match(/Trident\\/7\\./)) {\r\n return 11;\r\n } else {\r\n return 0; //It is not IE\r\n }\r\n}\r\n\r\n// ScrollableTable -----\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function (e) {\r\n function loadBindings() {\r\n $(\"table\").each(function () {\r\n if ($(this).width() > $(this.parentNode).width()) {\r\n var wrap = $(this).wrap('
    ');\r\n\r\n $(wrap).scroll(function () {\r\n if ($(this).scrollLeft() == 0) {\r\n $(this.parentNode).removeClass(\"show-shadow-left\");\r\n } else if ($(this).scrollLeft() == this.scrollWidth - $(this).width()) {\r\n $(this.parentNode).removeClass(\"show-shadow-right\");\r\n } else {\r\n $(this.parentNode).addClass(\"show-shadow-left show-shadow-right\");\r\n }\r\n });\r\n }\r\n });\r\n }\r\n function init() {\r\n loadBindings();\r\n }\r\n init();\r\n});\r\n\r\n// /ScrollableTable -----\r\n\r\n// videoplayerPopup\r\nconst VideoplayerPopup = (function () {\r\n \"use strict\";\r\n\r\n function loadBindings_() {\r\n $(\"body\").on(\"click\", \".js-videoplayer-popup\", function (e) {\r\n if ($(\".searchClicker\").length === 0) {\r\n e.preventDefault();\r\n placePopup_(this);\r\n }\r\n });\r\n }\r\n function placePopup_(el) {\r\n const _CONTAINER = $(el).closest(\".teaser_quer, .teaser_box\"),\r\n _HEADLINE = _CONTAINER.find(\".icon_row h2\")[0] ? _CONTAINER.find(\".icon_row h2\")[0].innerHTML : \"\",\r\n _TEXT = _CONTAINER.find(\".videoplayer__text\")[0] ? _CONTAINER.find(\".videoplayer__text\")[0].innerHTML : \"\",\r\n _CLICKDIV = $('
    '),\r\n _VIDEOHTML = el.getAttribute(\"data-video-html\")\r\n ? el.getAttribute(\"data-video-html\")\r\n : '
    ',\r\n _POPUP = $(\r\n '
    \\\r\n ' +\r\n _VIDEOHTML +\r\n '\\\r\n
    \\\r\n

    ' +\r\n _HEADLINE +\r\n '

    \\\r\n

    ' +\r\n _TEXT +\r\n \"

    \\\r\n
    \\\r\n
    \"\r\n );\r\n\r\n _CLICKDIV.append(_POPUP);\r\n\r\n _CLICKDIV.on(\"click\", function (e) {\r\n if (e.currentTarget.classList.contains(\"searchClicker\")) {\r\n $(\".searchClicker\").fadeOut(function () {\r\n $(\".searchClicker\").remove();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n }\r\n });\r\n _POPUP.on(\"click\", function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n if ($(\".searchClicker\").length === 0) {\r\n $(\"body\").append(_CLICKDIV);\r\n $(_CLICKDIV).fadeIn();\r\n } else {\r\n $(\".searchClicker\").replaceWith(_CLICKDIV);\r\n _CLICKDIV.css(\"display\", \"block\");\r\n }\r\n }\r\n\r\n return {\r\n init: loadBindings_,\r\n };\r\n})();\r\nVideoplayerPopup.init();\r\n// IvideoplayerPopup\r\n\r\n// Image popup\r\nvar imagePopup = (function ($) {\r\n function loadBindings() {\r\n $(\"body\").on(\"click\", \".js-image-popup\", function (e) {\r\n e.preventDefault();\r\n placePopup(this);\r\n });\r\n }\r\n\r\n function placePopup(_this) {\r\n var _CLICKDIV = $('
    '),\r\n _TITLE = _this.getAttribute(\"data-title\"),\r\n _DESCRIPTION = _this.getAttribute(\"data-description\"),\r\n _POPUP = $(\r\n '
    \\\r\n \"'\\\r\n
    ' +\r\n (_TITLE ? '

    ' + _TITLE + \"

    \" : \"\") +\r\n (_DESCRIPTION ? '

    ' + _DESCRIPTION + \"

    \" : \"\") +\r\n \"
    \"\r\n );\r\n\r\n _CLICKDIV.append(_POPUP);\r\n\r\n _CLICKDIV.on(\"click\", function (e) {\r\n if (e.currentTarget.classList.contains(\"searchClicker\")) {\r\n $(\".searchClicker\").fadeOut(function () {\r\n $(\".searchClicker\").remove();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n }\r\n });\r\n _POPUP.on(\"click\", function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n if ($(\".searchClicker\").length === 0) {\r\n $(\"body\").append(_CLICKDIV);\r\n $(_CLICKDIV).fadeIn();\r\n } else {\r\n $(\".searchClicker\").replaceWith(_CLICKDIV);\r\n _CLICKDIV.css(\"display\", \"block\");\r\n }\r\n }\r\n\r\n return {\r\n init: loadBindings,\r\n };\r\n})(jQuery);\r\nimagePopup.init();\r\n// /Image popup\r\n\r\n// Video popup\r\nvar videoPopup = (function ($) {\r\n \"use strict\";\r\n\r\n function updateUrl(e) {\r\n const params = Utils.queryToParams(location.search);\r\n params.video = $(this).attr(\"data-itemid\");\r\n if (!params.video) return;\r\n\r\n e.preventDefault();\r\n history.pushState(null, null, location.origin + location.pathname + Utils.paramsToQuery(params) + location.hash);\r\n placePopup(params.video);\r\n }\r\n\r\n function onNavigation() {\r\n const params = Utils.queryToParams(location.search);\r\n if (params.video) {\r\n placePopup(params.video);\r\n } else {\r\n $(\".searchClicker.mediathek\").fadeOut(function () {\r\n $(\".searchClicker.mediathek\").remove();\r\n });\r\n }\r\n }\r\n\r\n function loadBindings() {\r\n $(\"body\").on(\"click\", \".js-video-popup\", updateUrl);\r\n\r\n window.addEventListener(\"popstate\", onNavigation);\r\n onNavigation();\r\n }\r\n\r\n function decodeEntities(encodedString) {\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.innerHTML = encodedString;\r\n return textArea.value;\r\n }\r\n\r\n function placePopup(videoItemId) {\r\n if ($(\".searchClicker.mediathek\").attr(\"data-itemid\") == videoItemId) return;\r\n\r\n var _CLICKDIV = $('
    '),\r\n _POPUP;\r\n\r\n var ajaxUrl = \"/alexiongermanyapi/VideoGallery/VideoLayer\";\r\n $.ajax({\r\n url: ajaxUrl,\r\n type: \"get\",\r\n async: false,\r\n data: {\r\n videoItemId: videoItemId,\r\n playVideoText: window.VIDEOGALLERY_PLAYVIDEOTEXT,\r\n relatedVideosText: window.VIDEOGALLERY_RELATEDVIDEOSTEXT,\r\n },\r\n success: function (data) {\r\n if (typeof data === \"object\") {\r\n var loginElements = document.getElementsByClassName(\"login\");\r\n if (loginElements !== undefined && loginElements.length > 0) {\r\n loginElements[0].click();\r\n }\r\n } else {\r\n (_POPUP = $(decodeEntities(data))), _CLICKDIV.append(_POPUP);\r\n }\r\n },\r\n error: function (data) {\r\n alert(\"error loading video layer\");\r\n },\r\n });\r\n\r\n // if the pop up is empty, return to avoid error\r\n if (_POPUP === undefined) {\r\n return;\r\n }\r\n\r\n _CLICKDIV.on(\"click\", function (e) {\r\n const params = Utils.queryToParams(location.search);\r\n delete params.video;\r\n history.pushState(null, null, location.origin + location.pathname + Utils.paramsToQuery(params) + location.hash);\r\n $(\".searchClicker.mediathek\").fadeOut(function () {\r\n $(\".searchClicker.mediathek\").remove();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n });\r\n _POPUP.on(\"click\", function (e) {\r\n e.stopPropagation();\r\n });\r\n _POPUP.on(\"click\", \".js-video-popup\", updateUrl);\r\n\r\n if ($(\".searchClicker\").length === 0) {\r\n $(\"body\").append(_CLICKDIV);\r\n $(_CLICKDIV).fadeIn();\r\n } else {\r\n $(\".searchClicker\").replaceWith(_CLICKDIV);\r\n _CLICKDIV.css(\"display\", \"block\");\r\n }\r\n }\r\n return {\r\n init: loadBindings,\r\n };\r\n})(jQuery);\r\nvideoPopup.init();\r\n// /Video popup\r\n\r\nfunction GeneratePDF(symptomcheckerForm) {\r\n var url = \"/alexiongermanyapi/SymptomTracker/GetPDF\";\r\n var model = { FormData: symptomcheckerForm, DsItemId: SYMPTOMCHECKER_ID };\r\n\r\n $.ajax({\r\n url: url,\r\n type: \"post\",\r\n contentType: \"application/json\",\r\n data: JSON.stringify(model),\r\n processData: false,\r\n success: function (data) {\r\n var apiUrl = \"/alexiongermanyapi/SymptomTracker/GetPDF?pdf=\";\r\n var url = apiUrl + data;\r\n window.location.href = url;\r\n },\r\n error: function (jqXhr, textStatus, errorThrown) {\r\n console.log(errorThrown);\r\n },\r\n });\r\n}\r\n\r\n// Accordion\r\nvar accordion = (function () {\r\n \"use strict\";\r\n\r\n function bindings() {\r\n var tab_,\r\n tabAutoHeight_,\r\n hash_ = window.location.hash,\r\n tabHash_ = $('.accordion__tab[href=\"' + hash_ + '\"]');\r\n\r\n $(\".accordion__content\").css(\"display\", \"none\");\r\n\r\n if (hash_ && tabHash_) {\r\n tabHash_.addClass(\"accordion__tab--active\");\r\n tabHash_.next().css(\"display\", \"\");\r\n }\r\n\r\n $(\"body\").on(\"click\", \".accordion__tab\", function (e) {\r\n tab_ = $(this).next();\r\n\r\n if ($(this).hasClass(\"accordion__tab--active\")) {\r\n tab_.height(tab_.outerHeight()).animate(\r\n {\r\n height: 0,\r\n },\r\n 250,\r\n function () {\r\n tab_.css({\r\n display: \"none\",\r\n height: \"\",\r\n });\r\n history.replaceState(null, null, location.href.replace(location.hash, \"\"));\r\n }\r\n );\r\n } else {\r\n tab_.css(\"display\", \"\");\r\n tabAutoHeight_ = tab_.css(\"height\", \"auto\").outerHeight();\r\n tab_.height(\"0\").animate(\r\n {\r\n height: tabAutoHeight_,\r\n },\r\n 250,\r\n function () {\r\n tab_.css(\"height\", \"\");\r\n }\r\n );\r\n }\r\n\r\n $(this).toggleClass(\"accordion__tab--active\");\r\n });\r\n }\r\n return {\r\n init: function () {\r\n bindings();\r\n },\r\n };\r\n})();\r\naccordion.init();\r\n// /Accordion\r\n\r\nwindow.selectTab = function selectTab(id) {\r\n $(\".kontakt_box .dot.active\").removeClass(\"active\");\r\n\r\n if (id === 0) {\r\n $(\".kontakt_tab\").removeClass(\"active\");\r\n $(\".kontakt_tab\").eq(id).addClass(\"active\");\r\n }\r\n\r\n var nextPage = id + 1;\r\n var pages = $(\".kontakt_box .dot\").length;\r\n if (nextPage === pages) {\r\n $(\".form-submit-border\").removeClass(\"hidden\");\r\n } else {\r\n $(\".form-submit-border\").addClass(\"hidden\");\r\n }\r\n\r\n var newTabIndex = id - 1;\r\n var previousTabIndex = id - 2;\r\n $(\".wffmcustomtab\").eq(previousTabIndex).removeClass(\"active\");\r\n $(\".kontakt_box .dot\")\r\n .eq(id)\r\n .html(id + 1);\r\n $(\".kontakt_box .dot\").eq(id).addClass(\"active\");\r\n $(\".wffmcustomtab\").eq(newTabIndex).addClass(\"active\");\r\n $(\".kontakt_box .dot\").eq(id).removeClass(\"checked\");\r\n $(\".wffmcustomtab\").eq(newTabIndex).removeClass(\"checked\");\r\n\r\n for (var i = 0; i < id; ++i) {\r\n $(\".kontakt_box .dot\").eq(i).html(\"\\u2714\").addClass(\"checked\");\r\n }\r\n\r\n return false;\r\n};\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function (event) {\r\n // show/hide field in sitecore forms\r\n\r\n jQuery(\".hideabletextfieldtext\").nextAll(\".hideabletextfield\").slideToggle();\r\n\r\n jQuery(\"body\").on(\"click\", \".hideabletextfieldtext\", function () {\r\n var showHideInput = $(this).nextAll(\".hideabletextfield\");\r\n\r\n showHideInput.slideToggle();\r\n $(this).toggleClass(\"open\");\r\n });\r\n\r\n //jQuery('form[id]').on('submit', function (e) {\r\n // if (!e.target.querySelector('.input-validation-error')) {\r\n // $('.kontakt_box .dot').eq(2).removeClass('active');\r\n // $('.kontakt_box .dot').eq(2).html('\\u2714').addClass('checked');\r\n // $('.kontakt_box .kontakt_tab').removeClass('active');\r\n // $('.kontakt_box .kontakt_tab.text-center').addClass('active');\r\n // }\r\n //});\r\n\r\n // search page\r\n jQuery(\"body\").on(\"click\", \"a.loadMore\", function (e) {\r\n e.preventDefault();\r\n searchPage++;\r\n $.ajax({\r\n url: \"/alexiongermanyapi/Search/SearchPageResults\",\r\n type: \"get\",\r\n data: {\r\n searchTerm: searchTerm,\r\n linkText: searchResultLinkText,\r\n page: searchPage,\r\n pageSize: searchPageSize,\r\n },\r\n success: function (data) {\r\n if (data != null && data != typeof undefined && data != \"\") {\r\n $(\".searchcontainer\").append(data);\r\n } else {\r\n $(\"a.loadMore\").closest(\".row\").remove();\r\n }\r\n },\r\n error: function (data) {\r\n //alert(\"form not present: \" + form);\r\n $(\"a.loadMore\").closest(\".row\").remove();\r\n },\r\n });\r\n });\r\n\r\n jQuery(\"body\").on(\"click\", \".searchfield a.searchbutton\", function () {\r\n if (searchPageUrl != null && searchPageUrl != typeof undefined && searchPageUrl != \"\") {\r\n var searchField = jQuery(\"input[name = 'suche']\");\r\n if (searchField != null && searchField != typeof undefined) {\r\n var searchTerm = jQuery(searchField).val();\r\n if (searchTerm != null && searchTerm != typeof undefined) {\r\n window.location.href = searchPageUrl + \"?searchTerm=\" + searchTerm;\r\n }\r\n }\r\n }\r\n });\r\n\r\n jQuery(\"body\").on(\"keypress\", \"input[name='suche']\", function (e) {\r\n if (e.which == 13 && searchPageUrl != null && searchPageUrl != typeof undefined && searchPageUrl != \"\") {\r\n var searchTerm = jQuery(this).val();\r\n window.location.href = searchPageUrl + \"?searchTerm=\" + searchTerm;\r\n }\r\n });\r\n});\r\n\r\n// \"pdf\" overlay\r\nconst pdfOverlay = (function () {\r\n \"use strict\";\r\n\r\n function loadBindings_() {\r\n $(\"body\").on(\"click\", \".pdf-overlay\", function (e) {\r\n e.preventDefault();\r\n if ($(\".searchClicker\").length === 0) {\r\n var clickDiv_ = $('
    '),\r\n url_ = this.href || this.querySelector(\"a\").href,\r\n content_ = $('
    ');\r\n\r\n clickDiv_.append(content_);\r\n $(\"body\").append(clickDiv_);\r\n\r\n clickDiv_.on(\"click\", function (e) {\r\n if (e.currentTarget.classList.contains(\"searchClicker\")) {\r\n $(clickDiv_).fadeOut(function () {\r\n $(clickDiv_).remove();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n }\r\n });\r\n content_.on(\"click\", function (e) {\r\n e.stopPropagation();\r\n });\r\n content_.on(\"contextmenu\", function (e) {\r\n e.preventDefault();\r\n return false;\r\n });\r\n $(clickDiv_).fadeIn();\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n return {\r\n init: loadBindings_,\r\n };\r\n})();\r\n\r\npdfOverlay.init();\r\n\r\nvar studyPopup = (function () {\r\n \"use strict\";\r\n\r\n function openArticle() {\r\n $(\"body\").on(\"click\", \".js-study-open-article\", function () {\r\n openPopup(this, \"image\");\r\n });\r\n }\r\n\r\n function openVideo() {\r\n $(\"body\").on(\"click\", \".js-study-open-video\", function () {\r\n openPopup(this, \"video\");\r\n\r\n $(\"video\").each(function () {\r\n this.pause();\r\n this.currentTime = 0;\r\n });\r\n\r\n var studyMenu = document.querySelectorAll(\".js-study-menu .custom-dropdown__option\");\r\n for (var i = 0; i < studyMenu.length; i++) {\r\n if (studyMenu[i].textContent === this.getAttribute(\"data-title\")) {\r\n studyMenu[i].click();\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function openPopup(btn, type) {\r\n var popup = document.querySelector(\".study-tabber__tab-content--visible .study__popup\"),\r\n popupContent = popup.querySelector(\".study__popup-content\"),\r\n studyTab = $(popup).closest(\".study-tabber__tab-content\"),\r\n top = studyTab.find(\"h1\")[0].offsetTop;\r\n\r\n popup.style.top = top + \"px\";\r\n popupContent.innerHTML = '
    ' + btn.getAttribute(\"data-title\") + \"
    \";\r\n\r\n setTimeout(function () {\r\n studyTab.addClass(\"study-tabber__tab-content--popup-visible\");\r\n }, 200);\r\n\r\n switch (type) {\r\n case \"image\":\r\n const mobile = btn.hasAttribute(\"data-mobile-src\") ? '' : \"\";\r\n popupContent.insertAdjacentHTML(\"beforeend\", \"\" + mobile + '');\r\n break;\r\n case \"video\":\r\n if (btn.getAttribute(\"data-src-html\")) {\r\n $(popupContent).append(btn.getAttribute(\"data-src-html\"));\r\n } else if (btn.getAttribute(\"data-src\")) {\r\n if (btn.getAttribute(\"data-src\").indexOf(\"http\") === -1) {\r\n popupContent.insertAdjacentHTML(\r\n \"beforeend\",\r\n '
    '\r\n );\r\n } else {\r\n popupContent.insertAdjacentHTML(\r\n \"beforeend\",\r\n '
    '\r\n );\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n closePopup();\r\n popup.classList.add(\"study__popup--visible\");\r\n\r\n $(\"html, body\").animate({ scrollTop: 0 }, 200);\r\n }\r\n\r\n function closePopup() {\r\n var popup = document.querySelector(\".study-tabber__tab-content--visible .study__popup\"),\r\n studyTab = $(popup).closest(\".study-tabber__tab-content\");\r\n\r\n $(\"body\").bind(\"click\", checkClose);\r\n\r\n function checkClose(e) {\r\n if ($(e.target).closest(\".js-close-study-popup\").length > 0 || $(e.target).closest(\".study__popup-content, \").length === 0) {\r\n popup.classList.remove(\"study__popup--visible\");\r\n popup.classList.add(\"study__popup--hide\");\r\n studyTab.removeClass(\"study-tabber__tab-content--popup-visible\");\r\n\r\n setTimeout(function () {\r\n popup.classList.remove(\"study__popup--hide\");\r\n popup.querySelector(\".study__popup-content\").innerHTML = \"\";\r\n }, 200);\r\n //document.querySelectorAll('.js-study-menu .custom-dropdown__option')[0].click();\r\n $(\"body\").unbind(\"click\", checkClose);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n openArticle: openArticle,\r\n openVideo: openVideo,\r\n };\r\n})();\r\nstudyPopup.openArticle();\r\nstudyPopup.openVideo();\r\n\r\nvar LoadStudyTab = (function () {\r\n \"use strict\";\r\n\r\n const TARGET_LIST = {\r\n \"komplement-inhibitor-naiv\": \"purple\",\r\n \"c5-inhibitor-erfahren\": \"orange\",\r\n };\r\n\r\n function getPageHashFromLink() {\r\n var url = document.location.href;\r\n var parts = url.split(\"#\");\r\n if (parts.length > 1) {\r\n return parts.pop();\r\n }\r\n return null;\r\n }\r\n\r\n function getHashByColor(color) {\r\n for (var i in TARGET_LIST) {\r\n if (TARGET_LIST[i] == color) {\r\n return i;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n function init_() {\r\n var hashValue = getPageHashFromLink();\r\n if (hashValue !== null && TARGET_LIST[hashValue]) {\r\n var element = $('.study-circles__circle[data-color=\"' + TARGET_LIST[hashValue] + '\"]');\r\n openTab(element.attr(\"data-studytabid\"), TARGET_LIST[hashValue], hashValue);\r\n }\r\n $(\"body\").on(\"click\", \".js-load-study-tab\", function (e) {\r\n const _STUDY_TAB = $(this);\r\n const _STUDY_TAB_ID = _STUDY_TAB.attr(\"data-studytabid\");\r\n const _STUDY_TAB_COLOR = _STUDY_TAB.attr(\"data-color\");\r\n hashValue = getHashByColor(_STUDY_TAB_COLOR);\r\n if (hashValue && hashValue !== null) {\r\n window.history.pushState(\"Begehbare Studie\", \"Begehbare Studie\", document.location.href.split(\"#\")[0] + \"#\" + hashValue);\r\n }\r\n if (_STUDY_TAB_ID !== \"\" && _STUDY_TAB_ID !== typeof \"undefined\") {\r\n openTab(_STUDY_TAB_ID, _STUDY_TAB_COLOR, null);\r\n }\r\n });\r\n }\r\n\r\n function updateRefererLinkInFormular(hashValue) {\r\n if ($(\"[name='dc_iframe_referer']\")) {\r\n var value = $(\"[name='dc_iframe_referer']\").val();\r\n $(\"[name='dc_iframe_referer']\").val(value.split(\"#\")[0] + \"#\" + hashValue);\r\n }\r\n }\r\n\r\n function openTab(_STUDY_TAB_ID, _STUDY_TAB_COLOR, hashValue) {\r\n const _AJAX_URL = \"/alexiongermanyapi/study/tab\";\r\n var studyTabContent_, studyTabContentHtml_;\r\n if (_STUDY_TAB_ID !== \"\" && _STUDY_TAB_ID !== typeof \"undefined\") {\r\n studyTabContent_ = $('.study-tabber__tab-content[data-studytabid=\"' + _STUDY_TAB_ID + '\"]');\r\n if (studyTabContent_ === null || studyTabContent_ === typeof \"undefined\" || studyTabContent_.length === 0) {\r\n $.ajax({\r\n url: _AJAX_URL,\r\n type: \"get\",\r\n async: false,\r\n data: { tabId: _STUDY_TAB_ID },\r\n success: function (data) {\r\n $(\"video.study-teaserboxs__back-background\").each(function () {\r\n this.pause();\r\n this.currentTime = 0;\r\n });\r\n\r\n $(\".study-tabber__tab\").removeClass(\"study-tabber__tab--active\");\r\n $('.study-tabber__tab[data-studytabid=\"' + _STUDY_TAB_ID + '\"]').addClass(\"study-tabber__tab--active\");\r\n $(\".study-circles\").addClass(\"study-circles--hidden\");\r\n\r\n $(\".study-tabber__tab-content\").removeClass(\"study-tabber__tab-content--visible\");\r\n studyTabContentHtml_ =\r\n '
    ' + data + \"
    \";\r\n $(\".study-tabber__tab-contents\").append(studyTabContentHtml_);\r\n },\r\n error: function (data) {\r\n console.log(\"please login first to view the content\");\r\n if (hashValue && hashValue !== null && typeof hashValue != \"undefined\") {\r\n updateRefererLinkInFormular(hashValue);\r\n }\r\n },\r\n });\r\n } else {\r\n $(\".study-tabber__tab\").removeClass(\"study-tabber__tab--active\");\r\n $('.study-tabber__tab[data-studytabid=\"' + _STUDY_TAB_ID + '\"]').addClass(\"study-tabber__tab--active\");\r\n $(\".study-circles\").addClass(\"study-circles--hidden\");\r\n\r\n $(\".study-tabber__tab-content\").removeClass(\"study-tabber__tab-content--visible\");\r\n $('.study-tabber__tab-content[data-studytabid=\"' + _STUDY_TAB_ID + '\"]').addClass(\"study-tabber__tab-content--visible\");\r\n }\r\n localStorage.setItem(\"displayStudyCircles\", \"true\");\r\n }\r\n }\r\n return {\r\n init: init_,\r\n };\r\n})();\r\nLoadStudyTab.init();\r\n\r\nvar StudyTeaser = (function () {\r\n \"use strict\";\r\n\r\n const ACTIVE_CLASS = \"study-teaserboxs__teaserbox--active\";\r\n\r\n function init() {\r\n $(\"body\").on(\"click\", \".study-teaserboxs__teaserbox\", function () {\r\n const ACTIVE = $(this).hasClass(ACTIVE_CLASS);\r\n $(\".\" + ACTIVE_CLASS).removeClass(ACTIVE_CLASS);\r\n if (!ACTIVE) this.classList.add(ACTIVE_CLASS);\r\n\r\n $(\"video\").each(function () {\r\n this.pause();\r\n this.currentTime = 0;\r\n });\r\n\r\n const VIDEO = this.querySelector(\"video.study-teaserboxs__back-background\");\r\n if (!ACTIVE && VIDEO) VIDEO.play();\r\n });\r\n }\r\n\r\n return {\r\n init: init,\r\n };\r\n})();\r\nStudyTeaser.init();\r\n\r\nvar StudyIntro = (function () {\r\n \"use strict\";\r\n\r\n function init() {\r\n const VIDEO = document.querySelector(\".study__intro-video\"),\r\n BUTTON = document.querySelector(\".study__intro-play\"),\r\n INTRO = document.querySelector(\".study__intro\");\r\n if (!INTRO || !VIDEO || !BUTTON || window.innerWidth < 768) return;\r\n\r\n INTRO.addEventListener(\"click\", function () {\r\n if (VIDEO.paused) {\r\n $(\"video\").each(function () {\r\n this.pause();\r\n });\r\n VIDEO.play();\r\n } else {\r\n VIDEO.pause();\r\n }\r\n });\r\n\r\n var FOOTER = document.querySelector(\".footer-disclaimer, footer\");\r\n if (!FOOTER) return;\r\n\r\n var LOGO = document.querySelector(\".study__intro-logo\");\r\n var PROF = document.querySelector(\".study__intro-prof\");\r\n function updateIntro() {\r\n if (FOOTER.getBoundingClientRect().top < window.innerHeight) {\r\n VIDEO.style.position = \"absolute\";\r\n BUTTON.style.position = \"absolute\";\r\n if (LOGO) LOGO.style.position = \"absolute\";\r\n if (PROF) PROF.style.position = \"absolute\";\r\n return;\r\n }\r\n VIDEO.removeAttribute(\"style\");\r\n BUTTON.removeAttribute(\"style\");\r\n if (LOGO) LOGO.removeAttribute(\"style\");\r\n if (PROF) PROF.removeAttribute(\"style\");\r\n }\r\n updateIntro();\r\n window.addEventListener(\"scroll\", updateIntro);\r\n window.addEventListener(\"click\", updateIntro);\r\n }\r\n\r\n return {\r\n init: init,\r\n };\r\n})();\r\nStudyIntro.init();\r\n\r\nvar DisplayStudyCircles = (function () {\r\n \"use strict\";\r\n\r\n function display() {\r\n var storageValue = localStorage.getItem(\"displayStudyCircles\");\r\n if (storageValue === \"false\" && storageValue !== null) return;\r\n\r\n $(\".study-circles\").removeAttr(\"hidden\");\r\n }\r\n\r\n return {\r\n display: display,\r\n };\r\n})();\r\n\r\nDisplayStudyCircles.display();\r\n\r\n/* AD PAGES */\r\n$(\".adm-slider:not(.adm-slider--arrows):not(.adm-slider--exp)\").slick({\r\n arrows: false,\r\n dots: true,\r\n});\r\n\r\n$(\".adm-slider--arrows:not(.adm-slider--exp)\").slick({\r\n arrows: true,\r\n dots: true,\r\n prevArrow:\r\n '',\r\n nextArrow:\r\n '',\r\n});\r\n\r\n/* INFO POPUP */\r\nvar InfoPopup = (function () {\r\n \"use strict\";\r\n\r\n function display() {\r\n Array.prototype.forEach.call(document.querySelectorAll(\".info-popup-background\"), function (infoPopup) {\r\n const infoPopupKey = \"display-info-popup-\" + infoPopup.dataset.id;\r\n if (localStorage.getItem(infoPopupKey)) return;\r\n\r\n var delay = +infoPopup.dataset.delay;\r\n if (delay > 0) {\r\n var time = delay * 1000;\r\n var delta = 100;\r\n\r\n var tid = setInterval(function () {\r\n if (document.hidden) return;\r\n time -= delta;\r\n if (time <= 0) {\r\n clearInterval(tid);\r\n // time passed - do your work\r\n infoPopup.removeAttribute(\"hidden\");\r\n }\r\n }, delta);\r\n } else {\r\n infoPopup.removeAttribute(\"hidden\");\r\n }\r\n\r\n infoPopup.addEventListener(\"click\", function (event) {\r\n if ($(event.target).closest(\".info-popup\").length && !$(event.target).closest(\".info-popup__close\").length && !$(event.target).closest(\".closeBtn\").length) {\r\n return;\r\n }\r\n\r\n $(infoPopup).fadeOut(function () {\r\n localStorage.setItem(infoPopupKey, \"seen\");\r\n });\r\n });\r\n });\r\n }\r\n\r\n return {\r\n display: display,\r\n };\r\n})();\r\n\r\nInfoPopup.display();\r\n\r\n/* BACK-TO-TOP-BUTTON */\r\nvar BackToTopButton = (function () {\r\n var _scrollToTopButton;\r\n var _showOnDesktop;\r\n\r\n function update() {\r\n _scrollToTopButton.classList[(window.innerWidth < 768 || _showOnDesktop) && window.pageYOffset > window.innerHeight / 1.25 ? \"add\" : \"remove\"](\"scroll-to-top-button--visible\");\r\n }\r\n\r\n function init() {\r\n _scrollToTopButton = document.querySelector(\".scroll-to-top-button\");\r\n _showOnDesktop = document.body.hasAttribute(\"data-scroll-to-top-on-desktop\");\r\n\r\n _scrollToTopButton.addEventListener(\r\n \"click\",\r\n function () {\r\n $(document.documentElement).animate({ scrollTop: 0 });\r\n },\r\n { passive: true }\r\n );\r\n\r\n window.addEventListener(\"scroll\", update, { passive: true });\r\n window.addEventListener(\"resize\", update, { passive: true });\r\n update();\r\n }\r\n\r\n return { init: init };\r\n})();\r\n\r\nBackToTopButton.init();\r\n\r\n/* MOBILE MENU EXPAND */\r\nvar MobileMenu = (function () {\r\n function init() {\r\n var visibleClass = \"menu_mobile_show-submenu--submenu-visible\";\r\n\r\n $(\".menu_mobile_show-submenu\").on(\"click\", function () {\r\n this.classList.add(visibleClass);\r\n });\r\n\r\n $(\".menu_mobile_hide-submenu\").on(\"click\", function () {\r\n this.parentNode.parentNode.previousElementSibling.classList.remove(visibleClass);\r\n });\r\n }\r\n\r\n return { init: init };\r\n})();\r\n\r\nMobileMenu.init();\r\n\r\n/* LAZY-GALLERY */\r\nvar LazyGallery = (function () {\r\n function init() {\r\n $(\"body\").on(\"click\", \".lazy-gallery__load-more\", function () {\r\n var root = $(this).closest(\".lazy-gallery\");\r\n loadData(root, +this.dataset.nextPage);\r\n });\r\n\r\n $(\"body\").on(\"click\", \".lazy-gallery__nav-item\", function (event) {\r\n event.preventDefault();\r\n if (this.classList.contains(\"lazy-gallery__nav-item--active\")) return;\r\n\r\n var root = $(this).closest(\".lazy-gallery\");\r\n root.find(\".lazy-gallery__nav-item--active\").removeClass(\"lazy-gallery__nav-item--active\");\r\n this.classList.add(\"lazy-gallery__nav-item--active\");\r\n\r\n history.pushState(root.data(\"item-id\"), document.title, this.href);\r\n loadData(root, 0);\r\n });\r\n\r\n window.addEventListener(\r\n \"popstate\",\r\n function () {\r\n var root = $('.lazy-gallery[data-item-id=\"' + this.history.state + '\"]');\r\n if (!root.length) root = $(\".lazy-gallery\");\r\n\r\n var params = Utils.queryToParams(location.search);\r\n if (params.selectedYear) {\r\n var tab = root.find('.lazy-gallery__nav-item[href=\"?selectedYear=' + params.selectedYear + '\"]');\r\n if (!tab.length) return;\r\n\r\n tab.siblings().removeClass(\"lazy-gallery__nav-item--active\");\r\n tab.addClass(\"lazy-gallery__nav-item--active\");\r\n loadData(root, 0);\r\n }\r\n if (params.selectedTag) {\r\n var tab = root.find('.lazy-gallery__nav-item[href=\"?selectedTag=' + params.selectedTag + '\"]');\r\n if (!tab.length) return;\r\n\r\n tab.siblings().removeClass(\"lazy-gallery__nav-item--active\");\r\n tab.addClass(\"lazy-gallery__nav-item--active\");\r\n loadData(root, 0);\r\n }\r\n },\r\n { passive: true }\r\n );\r\n }\r\n\r\n function loadData(root, page) {\r\n var params = Utils.queryToParams(location.search);\r\n params.dsItemId = root.data(\"item-id\");\r\n params.page = page;\r\n $.ajax({\r\n type: \"get\",\r\n url: \"/alexiongermanyapi/LazyGallery/LazyGallery\",\r\n data: params,\r\n success: function (data) {\r\n if (page === 0) root.find(\".lazy-gallery__body\").html(data);\r\n else root.find(\".lazy-gallery__load-more-wrapper\").replaceWith(data);\r\n },\r\n });\r\n }\r\n\r\n return { init: init };\r\n})();\r\n\r\nLazyGallery.init();\r\n\r\n/* KEYVISUAL SLIDER */\r\nvar KeyvisualSlider = (function () {\r\n function init() {\r\n var sliderElement = document.querySelector(\".keyvisual-slider\");\r\n if (!sliderElement) return;\r\n\r\n var slickConfig = {\r\n autoplay: true,\r\n autoplaySpeed: 5000,\r\n arrows: false,\r\n draggable: false,\r\n pauseOnHover: false,\r\n lazyLoad: \"progressive\",\r\n };\r\n\r\n $(window).on(\"load resize orientationchange\", function () {\r\n var initialized = sliderElement.classList.contains(\"slick-initialized\");\r\n if (window.innerWidth < 768) {\r\n if (initialized) $(sliderElement).slick(\"unslick\");\r\n return;\r\n }\r\n\r\n if (!initialized) $(sliderElement).slick(slickConfig);\r\n });\r\n }\r\n\r\n return { init: init };\r\n})();\r\n\r\nKeyvisualSlider.init();\r\n\r\n/* FILTER TABLE */\r\nvar FilterTable = (function () {\r\n function init() {\r\n var seletcs = document.querySelectorAll(\".js-filter-table-select\");\r\n Array.prototype.forEach.call(seletcs, function (select) {\r\n var table = $(select).closest(\".filter-table\");\r\n NiceSelect.bind(select, {});\r\n select.addEventListener(\"change\", function () {\r\n updateTable(table, select.value);\r\n });\r\n });\r\n\r\n Array.prototype.forEach.call(document.querySelectorAll(\".filter-table\"), function (table) {\r\n updateTable(table);\r\n });\r\n }\r\n\r\n function updateTable(table, val) {\r\n var rows = $(table).find(\".js-filter-table-row\");\r\n var i = 0;\r\n rows.each(function () {\r\n if (!val) {\r\n this.style.display = \"\";\r\n setDarkClass(i, this);\r\n i++;\r\n } else {\r\n var filterIds = this.getAttribute(\"data-filter-id\");\r\n if (filterIds.indexOf(val) < 0) {\r\n this.style.display = \"none\";\r\n } else {\r\n this.style.display = \"\";\r\n setDarkClass(i, this);\r\n i++;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function setDarkClass(i, el) {\r\n if (i % 2 !== 0) {\r\n el.classList.add(\"dark\");\r\n } else {\r\n el.classList.remove(\"dark\");\r\n }\r\n }\r\n\r\n return { init: init };\r\n})();\r\nFilterTable.init();\r\n\r\nfunction initSocialShare(button) {\r\n button.addEventListener(\"click\", function (event) {\r\n event.preventDefault();\r\n button.classList.remove(\"leaving\");\r\n var social = button.getAttribute(\"data-social\");\r\n var url = getSocialUrl(button, social);\r\n social == \"mail\" ? (window.location.href = url) : window.open(url, social + \"-share-dialog\", \"width=880,height=600\");\r\n });\r\n}\r\n\r\nfunction getSocialUrl(button, social) {\r\n var params = getSocialParams(social);\r\n var newUrl = \"\";\r\n console.log(params);\r\n for (var i = 0; i < params.length; i++) {\r\n var paramValue = button.getAttribute(\"data-\" + params[i]);\r\n if (params[i] == \"hashtags\") paramValue = encodeURI(paramValue.replace(/\\#| /g, \"\"));\r\n if (paramValue) {\r\n social == \"facebook\" ? (newUrl = newUrl + \"u=\" + encodeURIComponent(paramValue) + \"&\") : (newUrl = newUrl + params[i] + \"=\" + encodeURIComponent(paramValue) + \"&\");\r\n }\r\n }\r\n if (social == \"linkedin\") newUrl = \"mini=true&\" + newUrl;\r\n return button.getAttribute(\"href\") + \"?\" + newUrl;\r\n}\r\n\r\nfunction getSocialParams(social) {\r\n var params = [];\r\n switch (social) {\r\n case \"twitter\":\r\n params = [\"text\", \"hashtags\"];\r\n break;\r\n case \"facebook\":\r\n case \"linkedin\":\r\n params = [\"url\"];\r\n break;\r\n case \"pinterest\":\r\n params = [\"url\", \"media\", \"description\"];\r\n break;\r\n case \"mail\":\r\n params = [\"subject\", \"body\"];\r\n break;\r\n }\r\n return params;\r\n}\r\n\r\nvar socialShare = document.getElementsByClassName(\"js-social-share\");\r\nif (socialShare.length > 0) {\r\n for (var i = 0; i < socialShare.length; i++) {\r\n (function (i) {\r\n initSocialShare(socialShare[i]);\r\n })(i);\r\n }\r\n}\r\n\r\nif (document.querySelectorAll(\".lp_nav__button\").length) {\r\n document.querySelector(\".lp_nav__button\").addEventListener(\"click\", function () {\r\n //toggle aria-expanded\r\n this.setAttribute(\"aria-expanded\", this.getAttribute(\"aria-expanded\") === \"true\" ? \"false\" : \"true\");\r\n });\r\n}\r\n\r\nconst sidemenuMobile = (function () {\r\n \"use strict\";\r\n function init_() {\r\n //copy sidemenu\r\n const sidemenu = document.querySelector(\".sidemenu\");\r\n const sidemenuClone = sidemenu.cloneNode(true);\r\n sidemenuClone.classList.add(\"sidemenu--mobile\");\r\n sidemenuClone.classList.remove(\"sidemenu\");\r\n\r\n const mNav = document.querySelector(\".menu_mobile\");\r\n if (mNav) {\r\n mNav.append(sidemenuClone);\r\n }\r\n }\r\n return {\r\n init: init_,\r\n };\r\n})();\r\n\r\nif (document.querySelectorAll(\".sidemenu\").length) {\r\n const mediaQueryList = window.matchMedia(\"screen and (max-width : 1023px)\");\r\n\r\n const initSidemenuMobile = function () {\r\n sidemenuMobile.init();\r\n mediaQueryList.removeEventListener(\"change\", onMatchMedia, false);\r\n };\r\n\r\n const onMatchMedia = function (event) {\r\n if (event.matches) initSidemenuMobile();\r\n };\r\n\r\n mediaQueryList.addEventListener(\"change\", onMatchMedia, false);\r\n\r\n if (mediaQueryList.matches) initSidemenuMobile();\r\n}\r\n\r\nconst SUBMENUES = document.querySelectorAll(\".submenu >li\");\r\nfor (var i = 0; i < SUBMENUES.length; i++) {\r\n SUBMENUES[i].addEventListener(\"mouseover\", function () {\r\n const SUBSUBMENU = this.querySelector(\".submenu__sub\");\r\n if (!SUBSUBMENU) return;\r\n const REQUIRED_VP = document.body.offsetWidth - Math.round(this.getBoundingClientRect().right) - SUBSUBMENU.offsetWidth;\r\n\r\n //clear direction class\r\n SUBSUBMENU.classList.remove(\"totheleft\");\r\n //check if flyout fits into viewport, if not open to the left\r\n if (REQUIRED_VP < 0) {\r\n SUBSUBMENU.classList.add(\"totheleft\");\r\n }\r\n });\r\n}\r\n\r\n(function () {\r\n //lazy-gallery nav as droppown\r\n const lazyGalleries = document.querySelectorAll(\".lazy-gallery\");\r\n if (!lazyGalleries) return;\r\n\r\n lazyGalleries.forEach(function (lazyGallery) {\r\n const buttonText = lazyGallery.querySelector(\".lazy-gallery__nav-item--active\").innerHTML;\r\n let btn = document.createElement(\"button\");\r\n btn.innerHTML = buttonText;\r\n btn.type = \"button\";\r\n btn.classList.add(\"lazy-gallery__nav-button\");\r\n btn.addEventListener(\"click\", function () {\r\n btn.classList.toggle(\"lazy-gallery__nav-button--active\");\r\n });\r\n\r\n lazyGallery.prepend(btn);\r\n\r\n const navItems = lazyGallery.querySelectorAll(\".lazy-gallery__nav-item\");\r\n if (!navItems) return;\r\n\r\n navItems.forEach(function (navItem) {\r\n navItem.addEventListener(\"click\", function () {\r\n btn.innerHTML = navItem.innerHTML;\r\n btn.classList.remove(\"lazy-gallery__nav-button--active\");\r\n });\r\n });\r\n });\r\n})();\r\n\r\n(function ($) {\r\n // Carousel\r\n const carousels = $(\".carousel__slides.js-carousel-slider\");\r\n if (!carousels.length) return;\r\n\r\n carousels.slick({\r\n infinite: false,\r\n prevArrow:\r\n '',\r\n nextArrow:\r\n '',\r\n });\r\n\r\n carousels.on(\"beforeChange\", function (_event, _slick, _currentSlide, nextSlide) {\r\n const carousel = this.closest(\".carousel\");\r\n if (!carousel) return;\r\n\r\n const prevActiveSlideNavItem = carousel.querySelector(`.carousel__nav-button--active`);\r\n if (prevActiveSlideNavItem) {\r\n prevActiveSlideNavItem.classList.remove(\"carousel__nav-button--active\");\r\n }\r\n\r\n const nextActiveSlideNavItem = carousel.querySelector(`.carousel__nav-button[data-slide-index=\"${nextSlide}\"]`);\r\n if (!nextActiveSlideNavItem) return;\r\n\r\n nextActiveSlideNavItem.classList.add(\"carousel__nav-button--active\");\r\n\r\n const scroller = carousel.querySelector(\".carousel__nav-scroller\");\r\n if (!scroller) return;\r\n\r\n scroller.scrollTo({\r\n left: nextActiveSlideNavItem.offsetLeft - scroller.offsetWidth / 2 + nextActiveSlideNavItem.offsetWidth / 2,\r\n behavior: \"smooth\",\r\n });\r\n });\r\n\r\n document.addEventListener(\"click\", function (event) {\r\n const navItem = event.target.closest(\".carousel__nav-button:not(.carousel__nav-button--active)\");\r\n if (!navItem) return;\r\n\r\n const carousel = navItem.closest(\".carousel\");\r\n if (!carousel) return;\r\n\r\n const slides = carousel.querySelector(\".carousel__slides\");\r\n if (!slides) return;\r\n\r\n $(slides).slick(\"slickGoTo\", navItem.dataset.slideIndex);\r\n });\r\n})($);\r\n\r\n(function () {\r\n const getScrollbarWidth = function () {\r\n // Create a temporary div container and append it into the body\r\n var container = document.createElement(\"div\");\r\n // Append the container in the body\r\n document.body.appendChild(container);\r\n // Force scrollbar on the container\r\n container.style.overflow = \"scroll\";\r\n // Add ad fake div inside the container\r\n var inner = document.createElement(\"div\");\r\n container.appendChild(inner);\r\n\r\n // Calculate the width based on the container width minus its child width\r\n var width = container.offsetWidth - inner.offsetWidth;\r\n // Remove the container from the body\r\n document.body.removeChild(container);\r\n return width;\r\n };\r\n\r\n // Get the scrollbar dimension\r\n var scrollbarWidth = getScrollbarWidth();\r\n // Set a custom property\r\n document.documentElement.style.setProperty(\"--scrollbar\", scrollbarWidth + \"px\");\r\n})();\r\n", "/** @param {Function} [callback=] */\r\nexport const hidePopup = (callback) => {\r\n $(\".searchClicker\").fadeOut(function () {\r\n $(\".searchClicker\").remove();\r\n if (callback) callback();\r\n });\r\n $(\".searchfield\").slideUp(\"fast\");\r\n};\r\n", "import { hidePopup } from \"../helpers/popup\";\r\n\r\nconst menu = document.querySelector(\"nav .menu_mobile\");\r\n\r\nexport const isMenuVisible = () => menu?.classList.contains(\"visible\");\r\n\r\nexport const showMobileMenu = () => {\r\n if (!menu || isMenuVisible()) return false;\r\n\r\n hidePopup();\r\n menu.classList.add(\"visible\");\r\n document.body.style.overflow = \"hidden\";\r\n return true;\r\n};\r\n\r\nexport const hideMobileMenu = () => {\r\n if (!menu || !isMenuVisible()) return false;\r\n\r\n menu.classList.remove(\"visible\");\r\n document.body.style.overflow = \"\";\r\n return true;\r\n};\r\n\r\n$(\".nav_hamburger\").on(\"click\", showMobileMenu);\r\n\r\n$(\".nav_hamburger_close\").on(\"click\", hideMobileMenu);\r\n", "import { hidePopup } from \"../helpers/popup\";\r\nimport { hideMobileMenu, isMenuVisible, showMobileMenu } from \"./mobile-menu\";\r\n\r\n$(\"a:not(.not-external)\").each(function () {\r\n if (this.hostname.length && location.hostname !== this.hostname) {\r\n $(this).addClass(\"leaving\");\r\n }\r\n});\r\n\r\n$(\"body\").on(\"click\", \".leaving\", function (e) {\r\n e.preventDefault();\r\n if ($(\".searchClicker\").length == 0) {\r\n var clickDiv = $(\"
    \");\r\n var url = this.href;\r\n var blank = this.target.toLowerCase() === \"_blank\";\r\n var baseUrl = this.href.split(\"/\")[2];\r\n var disclaimerFullHtml = disclaimerHtml.replace(\"[externalURL]\", baseUrl);\r\n var disclaimerText = \"

    \" + disclaimerFullHtml + \"

    \";\r\n var disclaimer = $(\r\n '
    \",\r\n );\r\n const mobileMenuVisible = isMenuVisible();\r\n const hideDisclaimer = () => hidePopup(mobileMenuVisible && showMobileMenu);\r\n\r\n clickDiv.append(disclaimer);\r\n if ($(this).closest(\".info-popup\").length) {\r\n clickDiv.css(\"z-index\", 201);\r\n }\r\n $(\"body\").append(clickDiv);\r\n\r\n clickDiv.on(\"click\", function (e) {\r\n if (e.currentTarget.className !== \"searchClicker\") return;\r\n\r\n hideDisclaimer();\r\n });\r\n disclaimer.on(\"click\", function (e) {\r\n e.stopPropagation();\r\n });\r\n disclaimer.on(\"click\", \".stay-on-page\", function (e) {\r\n e.preventDefault();\r\n hideDisclaimer();\r\n });\r\n $(clickDiv).fadeIn();\r\n if (mobileMenuVisible) {\r\n hideMobileMenu();\r\n }\r\n }\r\n return false;\r\n});\r\n", "(function () {\r\n // podcast\r\n const podcastContainer = document.querySelectorAll(\"[data-rss-feed]\");\r\n const loggedIn = document.body.classList.contains(\"loggedin\");\r\n\r\n if (podcastContainer.length === 0) return;\r\n\r\n podcastContainer.forEach(function (el) {\r\n const feedLive = el.dataset.rssFeed;\r\n const feedProtected = el.dataset.podcastFeed;\r\n\r\n let podcastInfo = [];\r\n\r\n function fetchFeed(url, protected, withIntro) {\r\n if (!url) return;\r\n\r\n return fetch(url)\r\n .then((response) => response.text())\r\n .then((str) => new window.DOMParser().parseFromString(str, \"text/xml\"))\r\n .then((data) => {\r\n //console.log(data);\r\n\r\n if (withIntro) {\r\n const podcastIntro = {\r\n img: data.querySelector(\"image url\").innerHTML,\r\n title: data.querySelector(\"title\").innerHTML,\r\n description: data.querySelector(\"description\").innerHTML,\r\n link: data.querySelector(\"description+link\").innerHTML,\r\n items: data.querySelectorAll(\"item\").length,\r\n };\r\n podcastInfo.push(podcastIntro);\r\n }\r\n\r\n const items = data.querySelectorAll(\"item\");\r\n return Array.from(items).map((el) => {\r\n const date = new Date(el.querySelector(\"pubDate\").innerHTML);\r\n const formatedDate = formatDate(date);\r\n const order = formateDateToOrderString(date);\r\n\r\n const podcastObj = {\r\n order: order,\r\n date: formatedDate,\r\n protected: protected,\r\n title: el.querySelector(\"title\").innerHTML,\r\n link: el.querySelector(\"link\").innerHTML,\r\n description: el.querySelector(\"guid\").nextElementSibling.innerHTML,\r\n url: el.querySelector(\"enclosure\").getAttribute(\"url\"),\r\n duration: calculateTime(el.getElementsByTagName(\"itunes:duration\")[0].innerHTML),\r\n };\r\n return podcastObj;\r\n });\r\n });\r\n }\r\n\r\n if (!feedLive) {\r\n fetchFeed(feedProtected, true, true)\r\n .then((podcastObj) => {\r\n renderScreen(podcastInfo, podcastObj);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n } else if (!feedProtected) {\r\n fetchFeed(feedLive, false, true)\r\n .then((podcastObj) => {\r\n renderScreen(podcastInfo, podcastObj);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n } else {\r\n const promises = [fetchFeed(feedLive, false, true), fetchFeed(feedProtected, true, false)];\r\n Promise.all(promises)\r\n .then(([podcastObj1, podcastObj2]) => {\r\n const allPodcasts = podcastObj1.concat(podcastObj2).sort(function (a, b) {\r\n return b.order.localeCompare(a.order);\r\n });\r\n renderScreen(podcastInfo, allPodcasts);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n function renderScreen(podcastInfo, allPodcasts) {\r\n if (el.classList.contains(\"podcast-container--overview\")) {\r\n renderPodcastsOverview(podcastInfo, allPodcasts.length);\r\n }\r\n if (el.classList.contains(\"podcast-container--list\")) {\r\n renderPodcastsInfo(podcastInfo, allPodcasts.length);\r\n renderPodcasts(allPodcasts);\r\n }\r\n }\r\n\r\n function formatDate(input) {\r\n const date = new Date(input);\r\n const months = [\"Januar\", \"Februar\", \"M\u00E4rz\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"];\r\n const formatedDate = date.getDate() + \". \" + months[date.getMonth()] + \" \" + date.getFullYear();\r\n return formatedDate;\r\n }\r\n\r\n function formateDateToOrderString(input) {\r\n const date = new Date(input);\r\n const orderString = date.getFullYear() + \"\" + addZ(date.getMonth()) + \"\" + addZ(date.getDate());\r\n return orderString;\r\n }\r\n\r\n function addZ(n) {\r\n return n < 10 ? \"0\" + n : \"\" + n;\r\n }\r\n\r\n function calculateTime(secs) {\r\n const minutes = Math.floor(secs / 60);\r\n const seconds = Math.floor(secs % 60);\r\n const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\r\n return `${minutes}:${returnedSeconds}`;\r\n }\r\n\r\n /**\r\n * https://github.com/huang47/nodejs-html-truncate\r\n * Truncate HTML string and keep tag safe.\r\n *\r\n * @method truncate\r\n * @param {String} string string needs to be truncated\r\n * @param {Number} maxLength length of truncated string\r\n * @param {Object} options (optional)\r\n * @param {Boolean} [options.keepImageTag] flag to specify if keep image tag, false by default\r\n * @param {Boolean} [options.truncateLastWord] truncates last word, true by default\r\n * @param {Number} [options.slop] tolerance when options.truncateLastWord is false before we give up and just truncate at the maxLength position, 10 by default (but not greater than maxLength)\r\n * @param {Boolean|String} [options.ellipsis] omission symbol for truncated string, '...' by default\r\n * @return {String} truncated string\r\n */\r\n function truncate(string, maxLength, options) {\r\n var EMPTY_OBJECT = {},\r\n EMPTY_STRING = \"\",\r\n DEFAULT_TRUNCATE_SYMBOL = \"...\",\r\n DEFAULT_SLOP = 10 > maxLength ? maxLength : 10,\r\n EXCLUDE_TAGS = [\"img\", \"br\"], // non-closed tags\r\n items = [], // stack for saving tags\r\n total = 0, // record how many characters we traced so far\r\n content = EMPTY_STRING, // truncated text storage\r\n KEY_VALUE_REGEX = '([\\\\w|-]+\\\\s*=\\\\s*\"[^\"]*\"\\\\s*)*',\r\n IS_CLOSE_REGEX = \"\\\\s*\\\\/?\\\\s*\",\r\n CLOSE_REGEX = \"\\\\s*\\\\/\\\\s*\",\r\n SELF_CLOSE_REGEX = new RegExp(\"<\\\\/?\\\\w+\\\\s*\" + KEY_VALUE_REGEX + CLOSE_REGEX + \">\"),\r\n HTML_TAG_REGEX = new RegExp(\"<\\\\/?\\\\w+\\\\s*\" + KEY_VALUE_REGEX + IS_CLOSE_REGEX + \">\"),\r\n URL_REGEX = /(((ftp|https?):\\/\\/)[\\-\\w@:%_\\+.~#?,&\\/\\/=]+)|((mailto:)?[_.\\w\\-]+@([\\w][\\w\\-]+\\.)+[a-zA-Z]{2,3})/g, // Simple regexp\r\n IMAGE_TAG_REGEX = new RegExp(\"\"),\r\n WORD_BREAK_REGEX = new RegExp(\"\\\\W+\", \"g\"),\r\n matches = true,\r\n result,\r\n index,\r\n tail,\r\n tag,\r\n selfClose;\r\n\r\n /**\r\n * Remove image tag\r\n *\r\n * @private\r\n * @method _removeImageTag\r\n * @param {String} string not-yet-processed string\r\n * @return {String} string without image tags\r\n */\r\n function _removeImageTag(string) {\r\n var match = IMAGE_TAG_REGEX.exec(string),\r\n index,\r\n len;\r\n\r\n if (!match) {\r\n return string;\r\n }\r\n\r\n index = match.index;\r\n len = match[0].length;\r\n\r\n return string.substring(0, index) + string.substring(index + len);\r\n }\r\n\r\n /**\r\n * Dump all close tags and append to truncated content while reaching upperbound\r\n *\r\n * @private\r\n * @method _dumpCloseTag\r\n * @param {String[]} tags a list of tags which should be closed\r\n * @return {String} well-formatted html\r\n */\r\n function _dumpCloseTag(tags) {\r\n var html = \"\";\r\n\r\n tags.reverse().forEach(function (tag, index) {\r\n // dump non-excluded tags only\r\n if (-1 === EXCLUDE_TAGS.indexOf(tag)) {\r\n html += \"\";\r\n }\r\n });\r\n\r\n return html;\r\n }\r\n\r\n /**\r\n * Process tag string to get pure tag name\r\n *\r\n * @private\r\n * @method _getTag\r\n * @param {String} string original html\r\n * @return {String} tag name\r\n */\r\n function _getTag(string) {\r\n var tail = string.indexOf(\" \");\r\n\r\n // TODO:\r\n // we have to figure out how to handle non-well-formatted HTML case\r\n if (-1 === tail) {\r\n tail = string.indexOf(\">\");\r\n if (-1 === tail) {\r\n throw new Error(\"HTML tag is not well-formed : \" + string);\r\n }\r\n }\r\n\r\n return string.substring(1, tail);\r\n }\r\n\r\n /**\r\n * Get the end position for String#substring()\r\n *\r\n * If options.truncateLastWord is FALSE, we try to the end position up to\r\n * options.slop characters to avoid breaking in the middle of a word.\r\n *\r\n * @private\r\n * @method _getEndPosition\r\n * @param {String} string original html\r\n * @param {Number} tailPos (optional) provided to avoid extending the slop into trailing HTML tag\r\n * @return {Number} maxLength\r\n */\r\n function _getEndPosition(string, tailPos) {\r\n var defaultPos = maxLength - total,\r\n position = defaultPos,\r\n isShort = defaultPos < options.slop,\r\n slopPos = isShort ? defaultPos : options.slop - 1,\r\n substr,\r\n startSlice = isShort ? 0 : defaultPos - options.slop,\r\n endSlice = tailPos || defaultPos + options.slop,\r\n result;\r\n\r\n if (!options.truncateLastWord) {\r\n substr = string.slice(startSlice, endSlice);\r\n\r\n if (tailPos && substr.length <= tailPos) {\r\n position = substr.length;\r\n } else {\r\n while ((result = WORD_BREAK_REGEX.exec(substr)) !== null) {\r\n // a natural break position before the hard break position\r\n if (result.index < slopPos) {\r\n position = defaultPos - (slopPos - result.index);\r\n // keep seeking closer to the hard break position\r\n // unless a natural break is at position 0\r\n if (result.index === 0 && defaultPos <= 1) break;\r\n }\r\n // a natural break position exactly at the hard break position\r\n else if (result.index === slopPos) {\r\n position = defaultPos;\r\n break; // seek no more\r\n }\r\n // a natural break position after the hard break position\r\n else {\r\n position = defaultPos + (result.index - slopPos);\r\n break; // seek no more\r\n }\r\n }\r\n }\r\n if (string.charAt(position - 1).match(/\\s$/)) position--;\r\n }\r\n return position;\r\n }\r\n\r\n options = options || EMPTY_OBJECT;\r\n options.ellipsis = undefined !== options.ellipsis ? options.ellipsis : DEFAULT_TRUNCATE_SYMBOL;\r\n options.truncateLastWord = undefined !== options.truncateLastWord ? options.truncateLastWord : true;\r\n options.slop = undefined !== options.slop ? options.slop : DEFAULT_SLOP;\r\n\r\n while (matches) {\r\n matches = HTML_TAG_REGEX.exec(string);\r\n\r\n if (!matches) {\r\n if (total >= maxLength) {\r\n break;\r\n }\r\n\r\n matches = URL_REGEX.exec(string);\r\n if (!matches || matches.index >= maxLength) {\r\n content += string.substring(0, _getEndPosition(string));\r\n break;\r\n }\r\n\r\n while (matches) {\r\n result = matches[0];\r\n index = matches.index;\r\n content += string.substring(0, index + result.length - total);\r\n string = string.substring(index + result.length);\r\n matches = URL_REGEX.exec(string);\r\n }\r\n break;\r\n }\r\n\r\n result = matches[0];\r\n index = matches.index;\r\n\r\n if (total + index > maxLength) {\r\n // exceed given `maxLength`, dump everything to clear stack\r\n content += string.substring(0, _getEndPosition(string, index));\r\n break;\r\n } else {\r\n total += index;\r\n content += string.substring(0, index);\r\n }\r\n\r\n if (\"/\" === result[1]) {\r\n // move out open tag\r\n items.pop();\r\n selfClose = null;\r\n } else {\r\n selfClose = SELF_CLOSE_REGEX.exec(result);\r\n if (!selfClose) {\r\n tag = _getTag(result);\r\n\r\n items.push(tag);\r\n }\r\n }\r\n\r\n if (selfClose) {\r\n content += selfClose[0];\r\n } else {\r\n content += result;\r\n }\r\n string = string.substring(index + result.length);\r\n }\r\n\r\n if (string.length > maxLength - total && options.ellipsis) {\r\n content += options.ellipsis;\r\n }\r\n content += _dumpCloseTag(items);\r\n\r\n if (!options.keepImageTag) {\r\n content = _removeImageTag(content);\r\n }\r\n\r\n return content;\r\n }\r\n\r\n function renderPodcastsInfo(data, count) {\r\n el.querySelector(\".podcast__img\").src = data[0].img;\r\n el.querySelector(\".podcast__count\").innerHTML = count + \" Folgen\";\r\n el.querySelector(\".podcast__details p\").innerHTML = data[0].description;\r\n el.querySelectorAll(\".skeleton\").forEach(function (skeleton) {\r\n skeleton.classList.remove(\"skeleton\");\r\n });\r\n }\r\n\r\n function renderPodcastsOverview(data, count) {\r\n el.querySelector(\".podcast__img\").src = data[0].img;\r\n el.querySelector(\".podcast__count\").innerHTML = count + \" Folgen\";\r\n el.querySelector(\".podcast__details p\").innerHTML = data[0].description;\r\n el.querySelectorAll(\".skeleton\").forEach(function (skeleton) {\r\n skeleton.classList.remove(\"skeleton\");\r\n });\r\n }\r\n\r\n function renderPodcasts(data) {\r\n //console.log(data);\r\n let html = \"\";\r\n\r\n data.forEach((element) => {\r\n if (element.protected && !loggedIn) {\r\n html += `\r\n
    \r\n
    ${element.date}
    \r\n

    \r\n \r\n \r\n \r\n ${element.title}\r\n

    \r\n

    Sie sind Arzt/\u00C4rztin? Loggen Sie sich ein und sehen Sie weitere Folgen.

    \r\n \r\n
    \r\n `;\r\n } else {\r\n html += `\r\n
    \r\n
    ${element.date}
    \r\n

    ${element.title}

    \r\n
    \r\n
    ${truncate(element.description.replace(\"\", \"\"), 200)}
    \r\n
    ${element.description.replace(\"\", \"\")}
    \r\n \r\n
    \r\n \r\n
    ${element.duration} Min.
    \r\n
    \r\n `;\r\n }\r\n });\r\n\r\n document.querySelector(\".podcast-container--list .podcast__details\").insertAdjacentHTML(\"beforeend\", html);\r\n }\r\n\r\n el.addEventListener(\"click\", function (event) {\r\n const toggleBtn = event.target.closest(\".js-podcast-more\");\r\n if (!toggleBtn) return;\r\n\r\n if (toggleBtn.getAttribute(\"aria-expanded\") === \"true\") {\r\n toggleBtn.setAttribute(\"aria-expanded\", \"false\");\r\n } else {\r\n toggleBtn.setAttribute(\"aria-expanded\", \"true\");\r\n }\r\n //toggleBtn.previousElementSibling.classList.toggle('line-clampxxx');\r\n\r\n toggleBtn.parentElement.querySelector(\".podcast__shortdescription\").toggleAttribute(\"aria-hidden\");\r\n toggleBtn.parentElement.querySelector(\".podcast__longdescription\").toggleAttribute(\"aria-hidden\");\r\n\r\n toggleBtn.querySelector(\"span:first-child\").toggleAttribute(\"aria-hidden\");\r\n toggleBtn.querySelector(\"span:nth-child(2)\").toggleAttribute(\"aria-hidden\");\r\n });\r\n\r\n el.addEventListener(\"click\", function (event) {\r\n const podcastBtn = event.target.closest(\".podcast__button\");\r\n if (!podcastBtn) return;\r\n\r\n const audioPlayer = document.createElement(\"audio-player\");\r\n audioPlayer.setAttribute(\"data-src\", podcastBtn.dataset.src);\r\n audioPlayer.setAttribute(\"autoplay\", \"autoplay\");\r\n podcastBtn.nextElementSibling.remove(); //remove duration\r\n podcastBtn.after(audioPlayer);\r\n podcastBtn.remove();\r\n });\r\n });\r\n})();\r\n\r\n(function () {\r\n //AudioPlayer\r\n class AudioPlayer extends HTMLElement {\r\n constructor() {\r\n super();\r\n const template = document.querySelector(\"template.audioplayer\");\r\n const templateContent = template.content;\r\n const shadow = this.attachShadow({ mode: \"open\" });\r\n shadow.appendChild(templateContent.cloneNode(true));\r\n }\r\n\r\n connectedCallback() {\r\n everything(this);\r\n }\r\n }\r\n\r\n const everything = function (element) {\r\n const shadow = element.shadowRoot;\r\n\r\n const audioPlayerContainer = shadow.getElementById(\"audio-player-container\");\r\n const playIconContainer = shadow.getElementById(\"play-icon\");\r\n const seekSlider = shadow.getElementById(\"seek-slider\");\r\n //const muteIconContainer = shadow.getElementById(\"mute-icon\");\r\n const audio = shadow.querySelector(\"audio\");\r\n const durationContainer = shadow.getElementById(\"duration\");\r\n const currentTimeContainer = shadow.getElementById(\"current-time\");\r\n const skipBackward = shadow.getElementById(\"backward\");\r\n const skipForward = shadow.getElementById(\"forward\");\r\n\r\n let playState = \"play\";\r\n let muteState = \"unmute\";\r\n let raf = null;\r\n const playAudio = new CustomEvent(\"playerstarted\", {\r\n detail: audioPlayerContainer,\r\n });\r\n\r\n document.addEventListener(\"playerstarted\", (e) => {\r\n if (e.detail !== audioPlayerContainer && playState === \"pause\") {\r\n audio.pause();\r\n cancelAnimationFrame(raf);\r\n playState = \"play\";\r\n playIconContainer.classList.remove(\"is-playing\");\r\n }\r\n });\r\n\r\n audio.src = element.getAttribute(\"data-src\");\r\n\r\n const whilePlaying = () => {\r\n seekSlider.value = Math.floor(audio.currentTime);\r\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\r\n if (!isNaN(audio.duration)) {\r\n durationContainer.textContent = \"-\" + calculateTime(audio.duration - seekSlider.value);\r\n }\r\n audioPlayerContainer.style.setProperty(\"--seek-before-width\", `${(seekSlider.value / seekSlider.max) * 100}%`);\r\n raf = requestAnimationFrame(whilePlaying);\r\n };\r\n\r\n const showRangeProgress = (rangeInput) => {\r\n if (rangeInput === seekSlider) audioPlayerContainer.style.setProperty(\"--seek-before-width\", (rangeInput.value / rangeInput.max) * 100 + \"%\");\r\n else audioPlayerContainer.style.setProperty(\"--volume-before-width\", (rangeInput.value / rangeInput.max) * 100 + \"%\");\r\n };\r\n\r\n const calculateTime = (secs) => {\r\n const minutes = Math.floor(secs / 60);\r\n const seconds = Math.floor(secs % 60);\r\n const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\r\n return `${minutes}:${returnedSeconds}`;\r\n };\r\n\r\n const displayDuration = () => {\r\n durationContainer.textContent = calculateTime(audio.duration);\r\n };\r\n\r\n const setSliderMax = () => {\r\n seekSlider.max = Math.floor(audio.duration);\r\n };\r\n\r\n const displayBufferedAmount = () => {\r\n const bufferedAmount = Math.floor(audio.buffered.end(audio.buffered.length - 1));\r\n audioPlayerContainer.style.setProperty(\"--buffered-width\", `${(bufferedAmount / seekSlider.max) * 100}%`);\r\n };\r\n\r\n if (audio.readyState > 0) {\r\n displayDuration();\r\n setSliderMax();\r\n displayBufferedAmount();\r\n } else {\r\n audio.addEventListener(\"loadedmetadata\", () => {\r\n displayDuration();\r\n setSliderMax();\r\n displayBufferedAmount();\r\n });\r\n }\r\n\r\n playIconContainer.addEventListener(\"click\", () => {\r\n if (playState === \"play\") {\r\n audio.play();\r\n requestAnimationFrame(whilePlaying);\r\n playState = \"pause\";\r\n // dispatch event for other players\r\n document.dispatchEvent(playAudio);\r\n playIconContainer.classList.add(\"is-playing\");\r\n } else {\r\n audio.pause();\r\n cancelAnimationFrame(raf);\r\n playState = \"play\";\r\n playIconContainer.classList.remove(\"is-playing\");\r\n }\r\n });\r\n if (element.getAttribute(\"autoplay\")) {\r\n //audio.setAttribute('autoplay','autoplay');\r\n playIconContainer.click();\r\n }\r\n // muteIconContainer.addEventListener(\"click\", () => {\r\n // if (muteState === \"unmute\") {\r\n // audio.muted = true;\r\n // muteState = \"mute\";\r\n // } else {\r\n // audio.muted = false;\r\n // muteState = \"unmute\";\r\n // }\r\n // });\r\n\r\n audio.addEventListener(\"progress\", displayBufferedAmount);\r\n\r\n seekSlider.addEventListener(\"input\", (e) => {\r\n showRangeProgress(e.target);\r\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\r\n if (!audio.paused) {\r\n cancelAnimationFrame(raf);\r\n }\r\n });\r\n\r\n seekSlider.addEventListener(\"change\", () => {\r\n audio.currentTime = seekSlider.value;\r\n if (!audio.paused) {\r\n requestAnimationFrame(whilePlaying);\r\n }\r\n });\r\n\r\n skipForward.addEventListener(\"click\", () => {\r\n audio.currentTime += 30;\r\n });\r\n\r\n skipBackward.addEventListener(\"click\", () => {\r\n audio.currentTime -= 15;\r\n });\r\n };\r\n\r\n customElements.define(\"audio-player\", AudioPlayer);\r\n})();\r\n", "$('.js-image-slider').slick({\r\n prevArrow:\r\n '',\r\n nextArrow:\r\n '',\r\n dots: true,\r\n dotsClass: 'image-slider__dots',\r\n responsive: [\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n arrows: false,\r\n },\r\n },\r\n ],\r\n});\r\n", "import { Utils } from \"../helpers/utils\";\r\n\r\n// Mediathek load more videos\r\nvar mediathekLoadMoreVideos = (function ($) {\r\n \"use strict\";\r\n\r\n function bindings() {\r\n $(\"body\").on(\"click\", \".js-mediathek-load-more-videos\", function () {\r\n loadVideos(VIDEOGALLERY_PAGE, true);\r\n });\r\n\r\n window.addEventListener(\r\n \"popstate\",\r\n function () {\r\n const params = Utils.queryToParams(location.search);\r\n if (!params[\"videosTags\"] && !params[\"videosTag\"]) {\r\n resetMediathek();\r\n } else if (params[\"videosTags\"]) {\r\n setVideoFiltersFromHistory(params[\"videosTags\"]);\r\n } else if (params[\"videosTag\"]) {\r\n setVideoFiltersFromHistory(params[\"videosTag\"]); //decrecated\r\n }\r\n },\r\n { passive: true }\r\n );\r\n }\r\n\r\n function resetMediathek() {\r\n resetVideoFilters();\r\n\r\n const firstInputElement = document.querySelector('input[type=\"checkbox\"].justone');\r\n firstInputElement.checked = true;\r\n firstInputElement.parentNode.classList.add(\"checked\");\r\n const dropdownToggleText = document.querySelector(\".dropdown-text\");\r\n dropdownToggleText.textContent = dropdownToggleText.dataset.text;\r\n\r\n loadVideosFromFilter(true);\r\n }\r\n function resetVideoFilters() {\r\n const filterCheckboxesChecked = document.querySelectorAll('input[type=\"checkbox\"].justone:checked');\r\n filterCheckboxesChecked.forEach(function (filterCheckbox) {\r\n filterCheckbox.checked = false;\r\n filterCheckbox.parentNode.classList.remove(\"checked\");\r\n });\r\n }\r\n function setVideoFiltersFromHistory(queryParams) {\r\n const videoList = queryParams.split(\",\");\r\n\r\n resetVideoFilters();\r\n\r\n videoList.forEach((element, index) => {\r\n const inputElement = document.querySelector('[value=\"' + element + '\"]');\r\n inputElement.checked = true;\r\n inputElement.parentNode.classList.add(\"checked\");\r\n\r\n if (index === videoList.length - 1) {\r\n inputElement.dispatchEvent(new Event(\"change\"));\r\n }\r\n });\r\n }\r\n\r\n const getActiveTagIds = function () {\r\n const filterCheckboxesChecked = document.querySelectorAll('input[type=\"checkbox\"].justone:checked');\r\n const activeTagItemIds = Array.from(filterCheckboxesChecked).map(function (filterCheckbox) {\r\n return filterCheckbox.value;\r\n });\r\n\r\n return activeTagItemIds.join();\r\n };\r\n\r\n function loadVideosFromFilter(noHistory) {\r\n const activeTagItemIds = getActiveTagIds();\r\n\r\n const resetMediathekFilterButton = document.querySelector(\"#reset-mediathek-filters\");\r\n //show/hide reset Button\r\n if (resetMediathekFilterButton !== null) {\r\n if (activeTagItemIds.length) {\r\n resetMediathekFilterButton.classList.remove(\"is-hidden\");\r\n } else {\r\n resetMediathekFilterButton.classList.add(\"is-hidden\");\r\n }\r\n }\r\n\r\n loadVideos(0, false);\r\n VIDEOGALLERY_PAGE = 1;\r\n const params = Utils.queryToParams(location.search);\r\n\r\n let addHistoryEntry = false;\r\n if (!noHistory) {\r\n if (!params[\"videosTags\"] && !params[\"videosTag\"]) {\r\n addHistoryEntry = true;\r\n } else if (params[\"videosTags\"]) {\r\n if (params[\"videosTags\"].length !== activeTagItemIds.length) {\r\n addHistoryEntry = true;\r\n }\r\n } else if (params[\"videosTag\"]) {\r\n if (params[\"videosTag\"].length !== activeTagItemIds.length) {\r\n addHistoryEntry = true;\r\n }\r\n }\r\n }\r\n\r\n if (addHistoryEntry) {\r\n if (activeTagItemIds) {\r\n params[\"videosTags\"] = activeTagItemIds;\r\n } else {\r\n delete params[\"videosTags\"];\r\n }\r\n history.pushState(null, null, location.origin + location.pathname + Utils.paramsToQuery(params) + location.hash);\r\n }\r\n }\r\n\r\n function loadVideos(page, append) {\r\n const activeTagItemIds = getActiveTagIds();\r\n const ajaxUrl = \"/alexiongermanyapi/VideoGallery/VideoGallery\";\r\n $.ajax({\r\n url: ajaxUrl,\r\n type: \"get\",\r\n async: false,\r\n data: {\r\n selectedTagIds: activeTagItemIds,\r\n dsItemId: VIDEOGALLERY_ID,\r\n page: page,\r\n },\r\n success: function (data) {\r\n if (data.trim() !== \"\") {\r\n if (append) {\r\n $(\".videoteaserList.mediathek .loadmore-mediathek-wrapper\").replaceWith(data);\r\n VIDEOGALLERY_PAGE++;\r\n } else {\r\n $(\".videoteaserList.mediathek\").html(data);\r\n }\r\n $(\".js-mediathek-load-more-videos\").removeClass(\"hidden\");\r\n } else {\r\n if (!append) {\r\n $(\".videoteaserList.mediathek\").html(\"\");\r\n }\r\n $(\".js-mediathek-load-more-videos\").addClass(\"hidden\");\r\n }\r\n },\r\n error: function (data) {\r\n alert(\"error loading videos\");\r\n },\r\n });\r\n }\r\n\r\n return {\r\n init: bindings,\r\n filterMediathek: loadVideosFromFilter,\r\n };\r\n})(jQuery);\r\nif (document.querySelectorAll(\".mediathek\").length > 0) {\r\n mediathekLoadMoreVideos.init();\r\n}\r\n// /Mediathek load more videos\r\nexport { mediathekLoadMoreVideos };\r\n", "import { mediathekLoadMoreVideos } from \"./mediathek\";\r\nimport { Utils } from \"../helpers/utils\";\r\n\r\n(() => {\r\n //dropdowns\r\n const sameWidth = {\r\n name: \"sameWidth\",\r\n enabled: true,\r\n phase: \"beforeWrite\",\r\n requires: [\"computeStyles\"],\r\n fn: ({ state }) => {\r\n state.styles.popper.width = `${state.rects.reference.width}px`;\r\n },\r\n effect: ({ state }) => {\r\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\r\n },\r\n };\r\n\r\n const popperInstances = [];\r\n const params = Utils.queryToParams(location.search);\r\n let noHistory = true;\r\n let searching = false;\r\n\r\n document.querySelectorAll(\"[data-toggle~=dropdown]\").forEach(initDropdown);\r\n\r\n function initDropdown(dropdownToggle) {\r\n const dropdown = dropdownToggle.parentNode;\r\n const dropdownMenu = dropdown.querySelector(\".dropdown-menu\");\r\n\r\n dropdown.style.position = \"static\";\r\n\r\n const popperInstance = Popper.createPopper(dropdownToggle, dropdownMenu, {\r\n placement: \"bottom-start\",\r\n modifiers: [sameWidth],\r\n });\r\n popperInstances.push(popperInstance);\r\n\r\n dropdownToggle.setAttribute(\"aria-haspopup\", \"true\");\r\n dropdownToggle.setAttribute(\"aria-expanded\", \"false\");\r\n dropdownMenu.setAttribute(\"aria-hidden\", \"true\");\r\n\r\n function toggleDropdown(e) {\r\n if (dropdownToggle.getAttribute(\"aria-expanded\") === \"true\") {\r\n closeDropdown();\r\n } else {\r\n openDropdown();\r\n window.dispatchEvent(new CustomEvent(\"scroll\"));\r\n }\r\n }\r\n function closeDropdown() {\r\n dropdownToggle.setAttribute(\"aria-expanded\", \"false\");\r\n dropdownMenu.setAttribute(\"aria-hidden\", \"true\");\r\n dropdown.classList.remove(\"dropdown-on\");\r\n }\r\n function openDropdown() {\r\n dropdownToggle.setAttribute(\"aria-expanded\", \"true\");\r\n dropdownMenu.setAttribute(\"aria-hidden\", \"false\");\r\n dropdown.classList.add(\"dropdown-on\");\r\n //set focus to first child\r\n dropdownMenu.children[0].focus();\r\n }\r\n\r\n dropdownToggle.addEventListener(\"click\", toggleDropdown);\r\n\r\n document.addEventListener(\"click\", (event) => {\r\n if (dropdown.contains(event.target)) return;\r\n //Clicked outside\r\n closeDropdown();\r\n });\r\n\r\n initFilterCheckboxes(dropdown);\r\n }\r\n\r\n function initFilterCheckboxes(dropdown) {\r\n const dropdownToggleTextInitial = dropdown.querySelector(\".dropdown-text\").dataset.text;\r\n\r\n // behaviour checkboxes\r\n const dropdownToggleText = dropdown.querySelector(\".dropdown-text\");\r\n const filterCheckboxes = dropdown.querySelectorAll('input[type=\"checkbox\"].justone');\r\n\r\n let total = 0;\r\n\r\n filterCheckboxes.forEach(function (filterCheckbox) {\r\n filterCheckbox.addEventListener(\"change\", function (event) {\r\n const checkbox = event.target;\r\n if (checkbox.checked) {\r\n checkbox.parentNode.classList.add(\"checked\");\r\n } else {\r\n checkbox.parentNode.classList.remove(\"checked\");\r\n }\r\n\r\n total = dropdown.querySelectorAll('input[type=\"checkbox\"].justone:checked').length;\r\n\r\n if (total === 0) {\r\n dropdownToggleText.textContent = dropdownToggleTextInitial;\r\n } else {\r\n dropdownToggleText.textContent = \"(\" + total + \") ausgew\u00E4hlt\";\r\n }\r\n\r\n if (dropdown.classList.contains(\"dropdown--mediathek\")) {\r\n mediathekLoadMoreVideos.filterMediathek();\r\n } else {\r\n //liveSearch();\r\n debouncedLiveSearch();\r\n }\r\n });\r\n });\r\n }\r\n\r\n const cards = document.querySelectorAll(\".download-list .teaser_box:not(.teaser_box--login)\");\r\n const noResults = document.querySelector(\"#no-results\");\r\n const resetSearchButton = document.querySelector(\"#reset-download-search\");\r\n const resetFilterButton = document.querySelector(\"#reset-download-filters\");\r\n\r\n if (resetFilterButton !== null) {\r\n resetFilterButton.addEventListener(\"click\", function () {\r\n resetFilter();\r\n });\r\n }\r\n if (resetSearchButton !== null) {\r\n resetSearchButton.addEventListener(\"click\", function () {\r\n document.getElementById(\"download-search-input\").value = \"\";\r\n liveSearch();\r\n });\r\n }\r\n const resetMediathekFilterButton = document.querySelector(\"#reset-mediathek-filters\");\r\n if (resetMediathekFilterButton !== null) {\r\n resetMediathekFilterButton.addEventListener(\"click\", function () {\r\n const allFilterCheckboxes = document.querySelectorAll('.dropdown--mediathek input[type=\"checkbox\"].justone');\r\n allFilterCheckboxes.forEach(function (opt) {\r\n opt.checked = false;\r\n const changeEvent = new Event(\"change\");\r\n opt.dispatchEvent(changeEvent);\r\n });\r\n });\r\n }\r\n\r\n const downloadSearchButton = document.querySelector(\"#download-search\");\r\n if (downloadSearchButton !== null) {\r\n downloadSearchButton.addEventListener(\"submit\", function (event) {\r\n event.preventDefault();\r\n liveSearch();\r\n });\r\n }\r\n\r\n function resetFilter() {\r\n const allFilterCheckboxes = document.querySelectorAll('.download-filter input[type=\"checkbox\"].justone');\r\n allFilterCheckboxes.forEach(function (opt) {\r\n opt.checked = false;\r\n const changeEvent = new Event(\"change\");\r\n opt.dispatchEvent(changeEvent);\r\n });\r\n }\r\n function setFiltersFromHistory(queryParams) {\r\n const filterList = queryParams.split(\",\");\r\n\r\n noHistory = true;\r\n resetFilter();\r\n\r\n filterList.forEach((element, index) => {\r\n const inputElement = document.querySelector('[value=\"' + element + '\"]');\r\n inputElement.checked = true;\r\n inputElement.parentNode.classList.add(\"checked\");\r\n inputElement.dispatchEvent(new Event(\"change\"));\r\n });\r\n }\r\n\r\n function debouncedLiveSearch() {\r\n searching = true;\r\n let timeout;\r\n timeout = setTimeout(() => {\r\n if (searching) {\r\n liveSearch();\r\n searching = false;\r\n }\r\n }, 200);\r\n }\r\n function liveSearch() {\r\n const searchTerm = document.getElementById(\"download-search-input\").value;\r\n\r\n //get checked filter checkboxes\r\n const selectedTagsGrouped = Array.from(document.querySelectorAll(\".dropdown-menu\"))\r\n .map(function (el) {\r\n return Array.from(el.querySelectorAll('input[type=\"checkbox\"].justone:checked')).map(function (el) {\r\n return el.value;\r\n });\r\n })\r\n .filter(function (group) {\r\n return group.length;\r\n });\r\n\r\n //show/hide reset Button\r\n if (selectedTagsGrouped.length) {\r\n resetFilterButton.classList.remove(\"is-hidden\");\r\n } else {\r\n resetFilterButton.classList.add(\"is-hidden\");\r\n }\r\n if (searchTerm !== \"\") {\r\n resetSearchButton.classList.remove(\"is-hidden\");\r\n } else {\r\n resetSearchButton.classList.add(\"is-hidden\");\r\n }\r\n cards.forEach(function (card) {\r\n card.classList.add(\"is-hidden\");\r\n\r\n const cardTagsIds = Array.from(card.querySelectorAll(\"[data-tag-id\")).map(function (cardTag) {\r\n return cardTag.dataset.tagId;\r\n });\r\n\r\n const tagMatches = selectedTagsGrouped.every(function (group) {\r\n return group.some(function (tag) {\r\n return cardTagsIds.includes(tag);\r\n });\r\n });\r\n\r\n if (selectedTagsGrouped.length > 0) {\r\n if (tagMatches && card.textContent.toLowerCase().includes(searchTerm.toLowerCase())) {\r\n card.classList.remove(\"is-hidden\");\r\n }\r\n } else if (card.textContent.toLowerCase().includes(searchTerm.toLowerCase())) {\r\n card.classList.remove(\"is-hidden\");\r\n }\r\n });\r\n const params = Utils.queryToParams(location.search);\r\n\r\n let addHistoryEntry = false;\r\n if (!noHistory) {\r\n if (!params[\"filterTags\"] || params[\"filterTags\"].length !== selectedTagsGrouped.length) {\r\n addHistoryEntry = true;\r\n }\r\n }\r\n\r\n if (addHistoryEntry) {\r\n if (selectedTagsGrouped.length) {\r\n params[\"filterTags\"] = selectedTagsGrouped;\r\n } else {\r\n delete params[\"filterTags\"];\r\n }\r\n history.pushState(null, null, location.origin + location.pathname + Utils.paramsToQuery(params) + location.hash);\r\n }\r\n\r\n //show no-results div when no card matches\r\n if (noResults !== null) {\r\n if (document.querySelectorAll(\".download-list .teaser_box.is-hidden:not(.teaser_box--login)\").length === cards.length) {\r\n noResults.classList.remove(\"is-hidden\");\r\n } else {\r\n noResults.classList.add(\"is-hidden\");\r\n }\r\n }\r\n popperInstances.forEach((popperInstance) => popperInstance.update());\r\n\r\n noHistory = false;\r\n }\r\n\r\n window.addEventListener(\r\n \"popstate\",\r\n function () {\r\n const params = Utils.queryToParams(location.search);\r\n if (!params[\"filterTags\"]) {\r\n noHistory = true;\r\n resetFilter();\r\n } else if (params[\"filterTags\"]) {\r\n setFiltersFromHistory(params[\"filterTags\"]);\r\n }\r\n },\r\n { passive: true }\r\n );\r\n\r\n if (!params[\"filterTags\"]) {\r\n resetFilter();\r\n } else if (params[\"filterTags\"]) {\r\n setFiltersFromHistory(params[\"filterTags\"]);\r\n }\r\n})();\r\n", "import { Utils } from \"../helpers/utils\";\r\n\r\n(() => {\r\n\r\n const params = Utils.queryToParams(location.search);\r\n const filterList = document.querySelector(\".filter-form\");\r\n if(!filterList) return;\r\n const filterCheckboxes = filterList.querySelectorAll('input[type=\"checkbox\"]');\r\n const allTeaser = document.querySelectorAll(\".teaser-list--filterable .teaser_box:not(.teaser_box--login)\");\r\n const noResults = document.querySelector(\"#no-results\");\r\n let selectedTags = [];\r\n let filtering = false;\r\n\r\n if(!filterCheckboxes) return;\r\n\r\n filterCheckboxes.forEach(function (filterCheckbox) {\r\n filterCheckbox.addEventListener(\"change\", function (event) {\r\n filterCheckboxes.forEach(function (filterCheckbox2) {\r\n if(filterCheckbox == filterCheckbox2) return;\r\n filterCheckbox2.checked = false;\r\n });\r\n debouncedFilterList();\r\n });\r\n });\r\n\r\n filterList.addEventListener(\"reset\", function (event) {\r\n filterCheckboxes.forEach(function (opt) {\r\n opt.dispatchEvent(new Event(\"change\"));\r\n });\r\n });\r\n\r\n function setFiltersFromHistory(queryParams) {\r\n const paramList = queryParams.split(\",\");\r\n\r\n paramList.forEach((element, index) => {\r\n const inputElement = document.querySelector('[value=\"' + element + '\"]');\r\n inputElement.checked = true;\r\n inputElement.parentNode.classList.add(\"checked\");\r\n inputElement.dispatchEvent(new Event(\"change\"));\r\n });\r\n }\r\n\r\n function debouncedFilterList() {\r\n filtering = true;\r\n let timeout;\r\n timeout = setTimeout(() => {\r\n if (filtering) {\r\n handleFilterList();\r\n filtering = false;\r\n }\r\n }, 200);\r\n }\r\n\r\n function handleFilterList() {\r\n selectedTags = Array.from(filterList.querySelectorAll('input[type=\"checkbox\"]:checked')).map(function (el) {\r\n return el.value;\r\n });\r\n\r\n allTeaser.forEach(function (teaser) {\r\n teaser.classList.add(\"is-hidden\");\r\n const teaserTagsIds = Array.from(teaser.querySelectorAll(\"[data-tag-id]\")).map(function (teaserTag) {\r\n return teaserTag.dataset.tagId;\r\n });\r\n const tagMatches = selectedTags.every(function (tag) {\r\n return teaserTagsIds.includes(tag);\r\n });\r\n if (tagMatches) {\r\n teaser.classList.remove(\"is-hidden\");\r\n }\r\n });\r\n\r\n handleNoResults();\r\n handleHistory();\r\n }\r\n\r\n function handleNoResults() {\r\n if (noResults !== null) {\r\n if (document.querySelectorAll(\".teaser-list--filterable .teaser_box.is-hidden:not(.teaser_box--login)\").length === allTeaser.length) {\r\n noResults.classList.remove(\"is-hidden\");\r\n } else {\r\n noResults.classList.add(\"is-hidden\");\r\n }\r\n }\r\n }\r\n\r\n function handleHistory() {\r\n const params = Utils.queryToParams(location.search);\r\n \r\n if (!params[\"filterTags\"] || params[\"filterTags\"].length !== selectedTags.length) {\r\n if (selectedTags.length) {\r\n params[\"filterTags\"] = selectedTags;\r\n } else {\r\n delete params[\"filterTags\"];\r\n }\r\n history.pushState(null, null, location.origin + location.pathname + Utils.paramsToQuery(params) + location.hash);\r\n }\r\n }\r\n\r\n if (params[\"filterTags\"]) {\r\n setFiltersFromHistory(params[\"filterTags\"]);\r\n }\r\n})();\r\n", "/** @type {NodeListOf} */\r\nconst cards = document.querySelectorAll(\".target-group-teaser\");\r\ncards.forEach((card) => {\r\n /** @type {HTMLLinkElement} */\r\n const link = card.querySelector(\".target-group-teaser__link\");\r\n if (!link) return;\r\n\r\n card.classList.add(\"target-group-teaser--linked\");\r\n\r\n /** @param {MouseEvent} event */\r\n const isNewTabClick = (event) => {\r\n return event.button === 1 || (isCurrentTabClick(event) && event.ctrlKey);\r\n };\r\n\r\n /** @param {MouseEvent} event */\r\n const isCurrentTabClick = (event) => event.button === 0;\r\n\r\n /** @type {number} */\r\n let down;\r\n card.addEventListener(\"mousedown\", (event) => {\r\n if (isNewTabClick(event)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (isCurrentTabClick(event)) {\r\n down = Date.now();\r\n }\r\n });\r\n card.addEventListener(\"mouseup\", (event) => {\r\n if (isNewTabClick(event)) {\r\n window.open(link.href, \"_blank\");\r\n return;\r\n }\r\n\r\n if (isCurrentTabClick(event) && Date.now() - down < 200) {\r\n link.click();\r\n }\r\n });\r\n});\r\n", "(function () {\r\n const DCREFERER = document.querySelector('[name=\"dc_iframe_referer\"]');\r\n\r\n if (!DCREFERER) return;\r\n\r\n let queryString = location.search;\r\n if(queryString.includes(\"returnUrl\")){\r\n queryString = '';\r\n }\r\n\r\n DCREFERER.value += queryString + location.hash;\r\n\r\n const mediaQueryList = window.matchMedia(\"screen and (max-width : 1023px)\");\r\n const closeDetails = function () {\r\n const dcInfo = document.querySelector('.doccheck__info-2');\r\n if(!dcInfo) return;\r\n dcInfo.removeAttribute('open');\r\n };\r\n const openDetails = function () {\r\n const dcInfo = document.querySelector('.doccheck__info-2');\r\n if(!dcInfo) return;\r\n dcInfo.setAttribute('open', 'open');\r\n };\r\n const onMatchMedia = function (event) {\r\n if (event.matches) {\r\n closeDetails();\r\n } else {\r\n openDetails();\r\n }\r\n };\r\n mediaQueryList.addEventListener(\"change\", onMatchMedia, false);\r\n if (mediaQueryList.matches) closeDetails();\r\n \r\n})();\r\n", "import \"./components/main/main\";\r\nimport \"./components/mobile-menu\";\r\nimport \"./components/disclaimer\";\r\nimport \"./components/podcast/podcast\";\r\nimport \"./components/image-slider\";\r\nimport \"./components/mediathek\";\r\nimport \"./components/filter-dropdowns\";\r\nimport \"./components/filter-teaser\";\r\nimport \"./components/target-group-teaser\";\r\nimport \"./components/dc-login\";\r\nimport \"./components/contact-flag\";\r\nimport \"./components/contact-form\";\r\nimport \"./components/reference-popover\";\r\nimport \"./helpers/helpers\";\r\n", "(function () {\r\n const SELECTS = document.querySelectorAll(\".kontakt_box select, .info-popup select\");\r\n SELECTS.forEach(function (select) {\r\n select.options[0].value = \"\";\r\n });\r\n})();\r\n", "(() => {\r\n const sups = document.querySelectorAll(\"sup\");\r\n sups.forEach((sup) => {\r\n if(!sup.textContent.includes(\"ref\")) return;\r\n\r\n const refIds = [];\r\n const refTargets = [];\r\n const orders = [];\r\n \r\n const myPopover = document.createElement('div');\r\n const moreSubs = getMoreSubs(sup);\r\n\r\n moreSubs.unshift(sup);\r\n \r\n moreSubs.forEach((moreSup, index) => {\r\n const refId = moreSup.textContent;\r\n const refTarget = document.getElementById(refId);\r\n const order = refTarget.dataset.order;\r\n\r\n refIds.push(refId);\r\n refTargets.push(refTarget);\r\n orders.push(order);\r\n\r\n const clonedNode = refTarget.cloneNode(true);\r\n clonedNode.removeAttribute('id');\r\n clonedNode.removeAttribute('class');\r\n clonedNode.removeAttribute('hidden');\r\n\r\n myPopover.append(clonedNode);\r\n\r\n if(index > 0){\r\n moreSup.remove();\r\n }\r\n\r\n });\r\n\r\n const popoverId = refIds.join(\"\") + '_';\r\n\r\n myPopover.setAttribute('popover', 'auto');\r\n myPopover.setAttribute('id', popoverId);\r\n myPopover.className ='refpopover';\r\n\r\n document.querySelector('main').append(myPopover);\r\n \r\n sup.classList.add('refsup');\r\n sup.innerHTML = '';\r\n\r\n sup.querySelector(\"button\").addEventListener(\"click\", (event) => {\r\n const currentPopover = document.getElementById(popoverId);\r\n currentPopover.style.display = \"block\";\r\n \r\n const rect = sup.getBoundingClientRect();\r\n const scrollLeft = document.documentElement.scrollLeft;\r\n const scrollTop = document.documentElement.scrollTop;\r\n\r\n currentPopover.style.left = rect.left + scrollLeft - (currentPopover.clientWidth / 2) + \"px\";\r\n currentPopover.style.top = rect.top + scrollTop - (currentPopover.clientHeight + 12) + \"px\";\r\n currentPopover.style.removeProperty('display');\r\n\r\n if(!currentPopover.contains(currentPopover.querySelector('button'))){\r\n const closeButton = document.createElement('button');\r\n closeButton.type ='button';\r\n closeButton.setAttribute('popovertarget', currentPopover.id);\r\n closeButton.setAttribute('popovertargetaction', 'hide');\r\n\r\n const closeLabel = document.createElement('span');\r\n closeLabel.classList.add('sr-only');\r\n closeLabel.textContent = 'schlie\u00DFen';\r\n\r\n closeButton.append(closeLabel);\r\n\r\n currentPopover.prepend(closeButton);\r\n }\r\n });\r\n\r\n function getMoreSubs(elem) {\r\n const sibs = [];\r\n while (elem = elem.nextSibling) {\r\n if (elem.nodeType === 3) break; // text node\r\n if (elem.nodeName.toUpperCase() === 'SUP') {\r\n sibs.push(elem);\r\n }\r\n }\r\n return sibs;\r\n }\r\n });\r\n})();", "\uFEFFwindow.logoutUser = function logoutUser() {\r\n $.ajax({\r\n url: \"/api/Sitecore/DocCheckLogin/LogoutUser\",\r\n type: \"post\",\r\n })\r\n .done(function () {\r\n location.reload();\r\n })\r\n .fail(function () {\r\n alert(\"Server unavailable. Please try later.\");\r\n });\r\n};\r\n\r\nwindow.setCookie = function setCookie(name, value, days) {\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\r\n};\r\n\r\nwindow.getCookie = function getCookie(cname) {\r\n var name = cname + \"=\";\r\n var decodedCookie = decodeURIComponent(document.cookie);\r\n var ca = decodedCookie.split(\";\");\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == \" \") {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n};\r\n"], "mappings": "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", "names": ["require_contact_flag", "__commonJSMin", "CONTACT", "HAMBURGER", "CONTACT_BUTTON", "toggleContact", "e", "TOGGLE_LAYER", "Utils", "query", "res", "param", "parts", "params", "e", "this_", "goToNextTab", "goToPrevTab", "slide", "carousel_", "slide_", "currentSlide_", "currentPos_", "nextPos_", "nextPosExists_", "nextSlide_", "prevPos_", "prevPosExists_", "prevSlide_", "autoslide_", "autoSlideTabs", "sliderTimerExists_", "slideTabs_", "pos", "maxHeight", "tabs", "GeneratePDF", "name", "results", "el", "buttons", "lastActiveQuickmenuDropDown", "event", "$target", "target", "closeMobileNav", "clickDiv", "loginLayer", "DCREFERER", "mediaQueryList", "closeDetails", "dcInfo", "openDetails", "onMatchMedia", "minWidth", "maxWidth", "diffWidth", "targetScroll", "topNav", "setNavScrolled", "scrollPos", "menuPos", "p", "activeText", "pp", "link", "li", "showHideContactForm", "pointer", "dot", "header", "headerHeight", "topPos", "leftOffset", "leftPos", "leftPointer", "headerHeightAdd", "pHeight", "rowA", "lastRowA", "lastRowRowspan", "myRow", "getIEVersion", "img", "sAgent", "Idx", "loadBindings", "wrap", "init", "VideoplayerPopup", "loadBindings_", "placePopup_", "_CONTAINER", "_HEADLINE", "_TEXT", "_CLICKDIV", "_VIDEOHTML", "_POPUP", "imagePopup", "$", "placePopup", "_this", "_TITLE", "_DESCRIPTION", "videoPopup", "updateUrl", "params", "Utils", "onNavigation", "decodeEntities", "encodedString", "textArea", "videoItemId", "ajaxUrl", "data", "loginElements", "symptomcheckerForm", "url", "model", "apiUrl", "jqXhr", "textStatus", "errorThrown", "accordion", "bindings", "tab_", "tabAutoHeight_", "hash_", "tabHash_", "id", "nextPage", "pages", "newTabIndex", "previousTabIndex", "i", "showHideInput", "searchField", "searchTerm", "pdfOverlay", "clickDiv_", "url_", "content_", "studyPopup", "openArticle", "openPopup", "openVideo", "studyMenu", "btn", "type", "popup", "popupContent", "studyTab", "top", "mobile", "closePopup", "checkClose", "LoadStudyTab", "TARGET_LIST", "getPageHashFromLink", "parts", "getHashByColor", "color", "init_", "hashValue", "element", "openTab", "_STUDY_TAB", "_STUDY_TAB_ID", "_STUDY_TAB_COLOR", "updateRefererLinkInFormular", "value", "_AJAX_URL", "studyTabContent_", "studyTabContentHtml_", "StudyTeaser", "ACTIVE_CLASS", "ACTIVE", "VIDEO", "StudyIntro", "BUTTON", "INTRO", "FOOTER", "LOGO", "PROF", "updateIntro", "DisplayStudyCircles", "display", "storageValue", "InfoPopup", "infoPopup", "infoPopupKey", "delay", "time", "delta", "tid", "BackToTopButton", "_scrollToTopButton", "_showOnDesktop", "update", "MobileMenu", "visibleClass", "LazyGallery", "root", "loadData", "tab", "page", "KeyvisualSlider", "sliderElement", "slickConfig", "initialized", "FilterTable", "seletcs", "select", "table", "updateTable", "val", "rows", "setDarkClass", "filterIds", "initSocialShare", "button", "social", "getSocialUrl", "getSocialParams", "newUrl", "paramValue", "socialShare", "sidemenuMobile", "sidemenuClone", "mNav", "initSidemenuMobile", "SUBMENUES", "SUBSUBMENU", "REQUIRED_VP", "lazyGalleries", "lazyGallery", "buttonText", "navItems", "navItem", "carousels", "_event", "_slick", "_currentSlide", "nextSlide", "carousel", "prevActiveSlideNavItem", "nextActiveSlideNavItem", "scroller", "slides", "scrollbarWidth", "container", "inner", "width", "hidePopup", "callback", "menu", "isMenuVisible", "showMobileMenu", "hidePopup", "hideMobileMenu", "e", "clickDiv", "url", "blank", "baseUrl", "disclaimerFullHtml", "disclaimerText", "disclaimer", "mobileMenuVisible", "isMenuVisible", "hideDisclaimer", "hidePopup", "showMobileMenu", "hideMobileMenu", "podcastContainer", "loggedIn", "el", "feedLive", "feedProtected", "podcastInfo", "fetchFeed", "url", "protected", "withIntro", "response", "str", "data", "podcastIntro", "items", "date", "formatedDate", "formatDate", "formateDateToOrderString", "calculateTime", "podcastObj", "renderScreen", "error", "promises", "podcastObj1", "podcastObj2", "allPodcasts", "a", "b", "renderPodcastsOverview", "renderPodcastsInfo", "renderPodcasts", "input", "months", "addZ", "n", "secs", "minutes", "seconds", "returnedSeconds", "truncate", "string", "maxLength", "options", "EMPTY_OBJECT", "EMPTY_STRING", "DEFAULT_TRUNCATE_SYMBOL", "DEFAULT_SLOP", "EXCLUDE_TAGS", "total", "content", "KEY_VALUE_REGEX", "IS_CLOSE_REGEX", "CLOSE_REGEX", "SELF_CLOSE_REGEX", "HTML_TAG_REGEX", "URL_REGEX", "IMAGE_TAG_REGEX", "WORD_BREAK_REGEX", "matches", "result", "index", "tail", "tag", "selfClose", "_removeImageTag", "match", "len", "_dumpCloseTag", "tags", "html", "_getTag", "_getEndPosition", "tailPos", "defaultPos", "position", "isShort", "slopPos", "substr", "startSlice", "endSlice", "count", "skeleton", "element", "event", "toggleBtn", "podcastBtn", "audioPlayer", "AudioPlayer", "templateContent", "everything", "shadow", "audioPlayerContainer", "playIconContainer", "seekSlider", "audio", "durationContainer", "currentTimeContainer", "skipBackward", "skipForward", "playState", "muteState", "raf", "playAudio", "e", "whilePlaying", "showRangeProgress", "rangeInput", "displayDuration", "setSliderMax", "displayBufferedAmount", "bufferedAmount", "mediathekLoadMoreVideos", "$", "bindings", "loadVideos", "params", "Utils", "resetMediathek", "setVideoFiltersFromHistory", "resetVideoFilters", "firstInputElement", "dropdownToggleText", "loadVideosFromFilter", "filterCheckbox", "queryParams", "videoList", "element", "index", "inputElement", "getActiveTagIds", "filterCheckboxesChecked", "noHistory", "activeTagItemIds", "resetMediathekFilterButton", "addHistoryEntry", "page", "append", "ajaxUrl", "data", "sameWidth", "state", "popperInstances", "params", "Utils", "noHistory", "searching", "initDropdown", "dropdownToggle", "dropdown", "dropdownMenu", "popperInstance", "toggleDropdown", "e", "closeDropdown", "openDropdown", "event", "initFilterCheckboxes", "dropdownToggleTextInitial", "dropdownToggleText", "filterCheckboxes", "total", "filterCheckbox", "checkbox", "mediathekLoadMoreVideos", "debouncedLiveSearch", "cards", "noResults", "resetSearchButton", "resetFilterButton", "resetFilter", "liveSearch", "resetMediathekFilterButton", "opt", "changeEvent", "downloadSearchButton", "setFiltersFromHistory", "queryParams", "filterList", "element", "index", "inputElement", "timeout", "searchTerm", "selectedTagsGrouped", "el", "group", "card", "cardTagsIds", "cardTag", "tagMatches", "tag", "addHistoryEntry", "params", "Utils", "filterList", "filterCheckboxes", "allTeaser", "noResults", "selectedTags", "filtering", "filterCheckbox", "event", "filterCheckbox2", "debouncedFilterList", "opt", "setFiltersFromHistory", "queryParams", "element", "index", "inputElement", "timeout", "handleFilterList", "el", "teaser", "teaserTagsIds", "teaserTag", "tag", "handleNoResults", "handleHistory", "cards", "card", "link", "isNewTabClick", "event", "isCurrentTabClick", "down", "DCREFERER", "queryString", "mediaQueryList", "closeDetails", "dcInfo", "openDetails", "onMatchMedia", "event", "import_contact_flag", "select", "sup", "refIds", "refTargets", "orders", "myPopover", "moreSubs", "getMoreSubs", "moreSup", "index", "refId", "refTarget", "order", "clonedNode", "popoverId", "event", "currentPopover", "rect", "scrollLeft", "scrollTop", "closeButton", "closeLabel", "elem", "sibs", "name", "value", "days", "expires", "date", "cname", "decodedCookie", "ca", "i", "c"] }