PageSourceSearch

https://www.ruhrnachrichten.de/wp-content/themes/cyan/assets/pep/js/amaterasu.min.js?ver=4.83.0

js ruhrnachrichten.de collected 2026-09-24 08:41:34 UTC 20,315 bytes, 1 lines download raw bytes

1class Amaterasu{static init(){Amaterasu.initWindowEventHandler();Amaterasu.initTopicHeaderBlocks();Amaterasu.initSliders();Amaterasu.initScrollListener();Amaterasu.initTopMenuForSmallScreen();Amaterasu.initBurgerMenu();Amaterasu.initToTopButton();Amaterasu.initSlimSelect();Amaterasu.initPasswordFieldToggle();Amaterasu.initModals();Amaterasu.initAccordions();Amaterasu.initGreetingsText();Amaterasu.initSettingPanels();Amaterasu.randomizePromoBundles();Amaterasu.initContrastMode();Amaterasu.initIframeResize();Amaterasu.initSpotlightBundles();Amaterasu.isTouchscreen="ontouchstart"in window||navigator.msMaxTouchPoints}static getCookie(name){const v=document.cookie.match(`(^|;) ?${name}=([^;]*)(;|$)`);return v?v[2]:null}static setCookie(name,value,days,domain=null){const d=new Date;d.setTime(d.getTime()+24*60*60*1e3*days);let cookieString=`${name}=${value};path=/;expires=${d.toUTCString()}`;if(domain){cookieString+=`;domain=${domain}`}document.cookie=cookieString}static setContrastModeCookie(enabled){const cookieValue=enabled?"true":"false";let domain=null;if(window.location.host){const match=window.location.host.match(/\.([a-zA-Z-]+\.[a-z]{2,})$/);domain=match?match[0]:null}Amaterasu.setCookie("contrastMode",cookieValue,365,domain)}static deleteCookie(name){Amaterasu.setCookie(name,"",-1)}static initSliders(){function chooseTinyLayout(swiper){if(swiper.params.spaceBetween===16){for(let i=0;i<2;i+=1){if(swiper.el.previousElementSibling!==null){swiper.prependSlide(swiper.el.previousElementSibling)}}}else{for(let i=0;i<2;i+=1){if(swiper.slides[i]){swiper.el.parentNode.insertBefore(swiper.slides[i],swiper.el)}}}swiper.update();swiper.slideTo(0)}if(typeof Swiper!=="undefined"){const teaserSliderCommonParams={slidesPerView:"auto",spaceBetween:4,loop:true,pagination:{el:".swiper-pagination",clickable:false,dynamicBullets:true},a11y:{prevSlideMessage:"Vorheriger Slide",nextSlideMessage:"Nächster Slide",slideLabelMessage:false,firstSlideMessage:"Dies ist die erste Slide",lastSlideMessage:"Dies ist die letzte Slide",containerRole:"group",containerRoleDescriptionMessage:"slider",itemRoleDescriptionMessage:"slide"},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"},breakpoints:{640:{spaceBetween:16}}};Amaterasu.prepareSliders();Array.from(document.getElementsByClassName("swiper")).forEach(sli
1der=>{const autoPlay=slider.getAttribute("data-autoplay");const teaserSliderParams={...teaserSliderCommonParams};if(autoPlay){teaserSliderParams.autoplay={pauseOnMouseEnter:true,delay:parseInt(autoPlay,10)}}if(slider.classList.contains("teaser-slider--square")||slider.classList.contains("obituaries")){new Swiper(slider,teaserSliderParams);return}if(slider.classList.contains("teaser-slider--tiny")){new Swiper(slider,{...teaserSliderParams,...{on:{breakpoint(swiper){chooseTinyLayout(swiper)},afterInit(swiper){chooseTinyLayout(swiper)}}}});return}if(slider.classList.contains("teaser-slider--big")){new Swiper(slider,{...teaserSliderParams,...{slidesPerView:1,spaceBetween:0,effect:"fade"}});return}if(slider.classList.contains("teaser-slider--portrait")){new Swiper(slider,{...teaserSliderParams,...{spaceBetween:16}});return}if(slider.classList.contains("standout-box__slider")){new Swiper(slider,{...teaserSliderParams,...{slidesPerView:"auto",loop:true,centeredSlides:true}});slider.querySelectorAll(".lightbox-link").forEach(link=>{link.addEventListener("click",Amaterasu.openLightBox)});return}if(slider.classList.contains("picture-slider")){const swiperCaption=slider.parentElement.querySelector(".picture-slider__caption");const swiperPaginationFraction=slider.parentElement.querySelector(".picture-slider__pagination-fraction");new Swiper(slider,{...teaserSliderParams,...{slidesPerView:1,spaceBetween:0,navigation:{enabled:false,nextEl:".swiper-button-next",prevEl:".swiper-button-prev"},on:{afterInit:swiper=>{swiperPaginationFraction.innerText=`${swiper.realIndex+1}/${swiper.slides.length}`;swiperCaption.innerHTML=swiper.el.querySelector(".swiper-slide-active figcaption").innerHTML},slideChangeTransitionEnd:swiper=>{const activeSlide=swiper.el.querySelector(".swiper-slide-active");if(activeSlide!==null){swiperPaginationFraction.innerText=`${swiper.realIndex+1}/${swiper.slides.length}`;swiperCaption.innerHTML=activeSlide.querySelector("figcaption").innerHTML}}},breakpoints:{640:{navigation:{enabled:true}}}}})}})}}static prepareSliders(){Amaterasu.randomizeSliderOrder();Array.from(document.getElementsByClassName("swiper")).forEach(sli
1der=>{const pagination=document.createElement("div");const pagePrev=document.createElement("button");const pageNext=document.createElement("button");pagination.classList.add("swiper-pagination");pagePrev.classList.add("swiper-button-prev");pageNext.classList.add("swiper-button-next");slider.appendChild(pagination);slider.appendChild(pagePrev);slider.appendChild(pageNext);Array.from(slider.firstElementChild.children).forEach(sliderItem=>{sliderItem.classList.add("swiper-slide")})});Array.from(document.getElementsByClassName("teaser-slider--tiny")).forEach(tinySlider=>{const tinySliderWrapper=document.createElement("div");tinySliderWrapper.classList.add("teaser-bundle","teaser-bundle--tiny-slider");tinySlider.parentNode.insertBefore(tinySliderWrapper,tinySlider);tinySliderWrapper.appendChild(tinySlider)})}static randomizeSliderOrder(){Array.from(document.getElementsByClassName("swiper-wrapper")).forEach(wrapper=>{if(wrapper.hasAttribute("data-randomize")){Amaterasu.randomizeElementsInContainer(wrapper)}})}static randomizePromoBundles(){Array.from(document.getElementsByClassName("promo-bundle")).forEac
1h(bundle=>{if(bundle.children.length>3){Amaterasu.randomizeElementsInContainer(bundle)}})}static randomizeElementsInContainer(container){const elements=Array.from(container.children);const randomElements=elements.sort(()=>Math.random()-.5);randomElements.forEach(element=>{container.appendChild(element)})}static clearDialog(dialogElement){dialogElement.setAttribute("closing","");dialogElement.addEventListener("animationend",()=>{dialogElement.removeAttribute("closing");dialogElement.close();dialogElement.remove()},{once:true});window.setTimeout(()=>{dialogElement.remove()},600)}static isMouseEventInElement(mouseEvent,element){const rect=element.getBoundingClientRect();return rect.top<=mouseEvent.clientY&&mouseEvent.clientY<=rect.top+rect.height&&rect.left<=mouseEvent.clientX&&mouseEvent.clientX<=rect.left+rect.width}static initWindowEventHandler(){let resizeTimeHandler;window.addEventListener("load",Amaterasu.calcComponentHeights);window.addEventListener("bundleChanged",Amaterasu.calcToggleElementContentHeight);window.addEventListener("resize",()=>{clearTimeout(resizeTimeHandler);resizeTimeHandler=setTimeout(Amaterasu.calcComponentHeights,200)})}static resizeEventCallback=[];static calcComponentHeights(){Amaterasu.resizeEventCallback.forEach(fn=>{if(fn in Amaterasu){Amaterasu[fn]()}else if(typeof Amaterasu_Article!=="undefined"&&fn in Amaterasu_Article){Amaterasu_Article[fn]()}})}static initTopicHeaderBlocks(){const topicHeaderContents=document.getElementsByClassName("topic-header__content");if(topicHeaderContents.length>0){Array.from(topicHeaderContents).forEach(element=>{const topicHeaderContent=element;const toggleButton=document.createElement("button");const topicHeaderContentWrapper=document.createElement("div");topicHeaderContentWrapper.classList.add("topic-header__content-wrapper");while(topicHeaderContent.firstChild){topicHeaderContentWrapper.appendChild(topicHeaderContent.firstChild)}topicHeaderContent.appendChild(topicHeaderContentWrapper);toggleButton.classList.add("topic-header__toggle","more-less-button");toggleButton.setAttribute("aria-expanded","false");toggleButton.setAttribute("aria-label","Beschreibung anzeigen");toggleButton.innerText="mehr";toggleButton.addEventListener("click",e=>{const ariaExpanded=e.currentTarget.getAttribute("aria-expanded")==="true"?"false":"true";toggleButton.setAttribute("aria-expanded",ariaExpanded);toggleButton.setAttribute("aria-label",ariaExpanded==="true"?"Beschreibung ausblenden":"Beschreibung anzeigen");toggleButton.innerText=ariaExpanded==="true"?"weniger":"mehr";topicHeaderContent.setAttribute("aria-hidden",ariaExpanded==="true"?"false":"true")});topicHeaderContent.after(toggleButton)})}}static initScrollListener(){const timeout=200;window.lastScrollY=0;window.scrollTimeout=null;window.addEventListener("scroll",()=>{if(window.scrollTimeout===null){window.scrollTimeout=setTimeout(()=>{const newScroll=window.scrollY;const scrollDirection=newScroll>window.lastScrollY&&newScroll>200?"down":"up";window.lastScrollY=newScroll;document.documentElement.style.setProperty("--scroll-y",`${newScroll}`);document.body.classList.toggle("scrolling-down",scrollDirection==="down");window.scrollTimeout=null},timeout)}})}static initTopMenuForSmallScreen(){document.querySelectorAll(".submenu-container, .tabs, .header-bar__nav").forEach(navigationContainer=>{const navigation=navigationContainer?navigationContainer.firstElementChild:null;if(navigation&&navigation.children.length>0){const navigationContentWidth=navigation.scrollWidth;let navigationPosition=navigationContainer.offsetLeft;let navigationWidth=navigationContainer.offsetWidth;const navigationEndPosition=navigationPosition+navigationWidth;let smallScreenMenuActive=false;let moveLeft;let moveRight;const clearMove=()=>{clearInterval(moveLeft);clearInterval(moveRight);moveLeft=null;moveRight=null};const moveNavigationContent=e=>{const scrollSpeed=10;const mouseXPosition=e.clientX;const hoverAreaMargin=80;if(mouseXPosition>navigationEndPosition-hoverAreaMargin){if(!moveLeft){moveLeft=setInterval(()=>{navigationContainer.scrollLeft+=scrollSpeed},50)}}else if(mouseXPosition<navigationPosition+hoverAreaMargin){if(!moveRight){moveRight=setInterval(()=>{navigationContainer.scrollLeft-=scrollSpeed},16)}}else{clearMove()}};const initMenuForSmallScreenListener=()=>{smallScreenMenuActive=true;navigationContainer.addEventListener("mouseover",moveNavigationContent);navigationContainer.addEventListener("mouseleave",clearMove)};const clearMenuForSmallScreenListener=()=>{smallScreenMenuActive=false;navigationContainer.removeEventListener("mouseover",moveNavigationContent);navigationContainer.removeEventListener("mouseleave",clearMove)};const maybeInitMenuForSmallScreen=()=>
1{if(navigationWidth<navigationContentWidth&&!Amaterasu.isTouchscreen){initMenuForSmallScreenListener()}else if(smallScreenMenuActive){clearMenuForSmallScreenListener()}};maybeInitMenuForSmallScreen();window.addEventListener("resize",()=>{navigationPosition=navigation.offsetLeft;navigationWidth=navigation.offsetWidth;maybeInitMenuForSmallScreen()})}})}static initBurgerMenu(){const menuButton=document.getElementById("burger-menu-button");const userButton=document.getElementById("user-menu-button");const menu=document.getElementById("site-navigation");const userMenu=document.getElementById("user-navigation");function toggleSiteNavigation(e){e.preventDefault();document.body.classList.remove("user-nav-open");let isNavOpen=document.body.classList.toggle("nav-open");menuButton.setAttribute("aria-expanded",isNavOpen?"true":"false");userButton.setAttribute("aria-expanded","false");if(isNavOpen){menuButton.focus()}}if(menuButton!==null){document.querySelectorAll('a[href="#site-navigation"]').forEach(element=>{element.addEventListener("click",toggleSiteNavigation)})}if(userButton!==null){userButton.addEventListener("click",e=>{if(userMenu!==null){e.preventDefault();document.body.classList.remove("nav-open");userButton.setAttribute("aria-expanded",document.body.classList.toggle("user-nav-open")?"true":"false");menuButton.setAttribute("aria-expanded","false")}})}if(menu!==null){menu.addEventListener("click",e=>{if(e.target===menu){e.preventDefault();document.body.classList.remove("nav-open");menuButton.setAttribute("aria-expanded","false")}});const widgetNavMenus=menu.querySelectorAll(".widget_nav_menu");if(widgetNavMenus.length>0){widgetNavMenus.forEach((menu,index)=>{const title=menu.querySelector(".widgettitle");if(title){title.setAttribute("tabindex","0");menu.setAttribute("aria-expanded",index<2?"true":"false");title.addEventListener("click",()=>{const isExpanded=menu.getAttribute("aria-expanded")==="true";menu.setAttribute("aria-expanded",isExpanded?"false":"true")});title.addEventListener("keydown",e=>{if(e.key==="Enter"){e.preventDefault();const isExpanded=menu.getAttribute("aria-expanded")==="true";menu.setAttribute("aria-expanded",isExpanded?"false":"true")}})}})}}if(userMenu!==null){userMenu.addEventListener("click",e=>{if(e.target===userMenu){e.preventDefault();document.body.classList.remove("user-nav-open");userButton.setAttribute("aria-expanded","false")}});userMenu.addEventListener("focusout",e=>{const{relatedTarget:relatedTarget}=e;if(!relatedTarget||!userMenu.contains(relatedTarget)){document.body.classList.remove("user-nav-open");userButton.setAttribute("aria-expanded","false")}})}}static initToTopButton(){const toTopButton=document.getElementById("to-top-button");if(toTopButton!==null){toTopButton.addEventListener("click",e=>{e.preventDefault();window.scroll(0,0)})}}static initSlimSelect(){if(typeof SlimSelect==="undefined"){return}Array.from(document.getElementsByClassName("form-item__select")).forEac
1h(selectEl=>{new SlimSelect({select:selectEl,settings:{contentLocation:selectEl.parentElement,contentPosition:"relative",showSearch:false}})})}static initPasswordFieldToggle(){document.querySelectorAll('.form-item__input[type="password"]').forEach(passwordField=>{const toggleButton=document.createElement("span");let passwordResetTimer=null;toggleButton.classList.add("password-toggler");toggleButton.addEventListener("click",e=>{e.preventDefault();window.clearTimeout(passwordResetTimer);passwordField.focus();passwordField.type=passwordField.type==="password"?"text":"password"});passwordField.after(toggleButton);passwordField.addEventListener("blur",()=>{passwordResetTimer=window.setTimeout(()=>passwordField.type="password",500)})})}static initModals(){const modalTriggers=document.getElementsByClassName("modal-trigger");Array.from(modalTriggers).forEach(trigger=>{const modalId=trigger.dataset.target;const modal=document.getElementById(modalId);if(modal){trigger.addEventListener("click",e=>{e.preventDefault();modal.showModal()})}});Array.from(document.getElementsByTagName("dialog")).forEach(modal=>{const closeButtons=modal.querySelectorAll("[data-close]");modal.addEventListener("click",e=>{if(Array.from(closeButtons).includes(e.target)){modal.close();return}for(let i=0;i<closeButtons.length;i++){if(closeButtons[i].contains(e.target)){modal.close();return}}if(!Amaterasu.isMouseEventInElement(e,modal)){modal.close()}})})}static initAccordions(){const accordions=document.getElementsByClassName("accordion");
1Array.from(accordions).forEach(accordion=>{const accordionItems=accordion.getElementsByClassName("accordion-panel");Array.from(accordionItems).forEach(accordionItem=>{const accordionItemToggler=accordionItem.getElementsByClassName("accordion-panel__button").item(0);accordionItemToggler.addEventListener("click",()=>{const openAccordionItems=accordion.getElementsByClassName("accordion-panel--active");Array.from(openAccordionItems).forEach(openAccordionItem=>{if(openAccordionItem!==accordionItem){openAccordionItem.classList.remove("accordion-panel--active");openAccordionItem.setAttribute("aria-expanded","false")}});accordionItem.setAttribute("aria-expanded",accordionItem.classList.toggle("accordion-panel--active").toString())})})})}static initGreetingsText(){const greetingsText=document.getElementById("greetings-text");if(greetingsText!==null){const today=new Date;const curHr=today.getHours();if(curHr<4){greetingsText.innerHTML="Gute Nacht"}else if(curHr<11){greetingsText.innerHTML="Guten Morgen"}else if(curHr<18){greetingsText.innerHTML="Guten Tag"}else{greetingsText.innerHTML="Guten Abend"}}}static initSettingPanels(){Array.from(document.getElementsByClassName("setting__button")).forEach(toggle=>{toggle.addEventListener("click",()=>{toggle.setAttribute("aria-expanded",toggle.getAttribute("aria-expanded")==="true"?"false":"true")})})}static openLightBox(e){e.preventDefault();const lightBox=document.createElement("dialog");const modalCloseButton=document.createElement("button");const figure=document.createElement("figure");const image=document.createElement("img");const caption=e.currentTarget.parentNode.querySelector("figcaption");lightBox.className="lightbox";modalCloseButton.className="modal__close";figure.className="lightbox__image";lightBox.addEventListener("click",e2=>{if(e2.target===modalCloseButton){Amaterasu.clearDialog(lightBox);return}if(!Amaterasu.isMouseEventInElement(e2,lightBox)){Amaterasu.clearDialog(lightBox)}});image.setAttribute("src",e.currentTarget.href);image.setAttribute("alt","");figure.appendChild(image);if(caption){const cloneCaption=caption.cloneNode(true);const matchUrl=caption.innerText.match(/https?:\/\/(?:[-\w.]|%[\da-fA-F]{2})+\S*|www\.[-\w.]+\.\S+/i);if(matchUrl){const link=document.createElement("a");link.setAttribute("href",matchUrl[0]);link.setAttribute("target","_blank");link.setAttribute("aria-label","Link in neuem Tab öffnen");link.appendChild(image);figure.appendChild(link)}figure.appendChild(cloneCaption)}lightBox.appendChild(figure);lightBox.appendChild(modalCloseButton);document.body.appendChild(lightBox);lightBox.showModal()}static initContrastMode(){const contrastTogglers=document.querySelectorAll(".contrast-toggler");const systemContrastMode=matchMedia("(forced-colors: active)").matches;const userContrastMode=Amaterasu.getCookie("contrastMode");function activateHighContrastMode(){contrastTogglers.forEach(contrastToggler=>{contrastToggler.checked=true});document.body.classList.add("high-contrast");Amaterasu.setContrastModeCookie(true)}function deactivateHighContrastMode(){contrastTogglers.forEach(contrastToggler=>{contrastToggler.checked=false});document.body.classList.remove("high-contrast");Amaterasu.setContrastModeCookie(false)}if(userContrastMode==="true"){activateHighContrastMode()}if(userContrastMode===null&&systemContrastMode){activateHighContrastMode();const contrastModal=document.getElementById("high-contrast-modal");contrastModal.showModal()}contrastTogglers.forEach(contrastToggler=>{contrastToggler.addEventListener("change",e=>{if(e.target.checked){activateHighContrastMode()}else{deactivateHighContrastMode()}})})}static getTimestampLabel(postDate){const now=new Date;const timeDiffMs=now-postDate;const timeDiffMin=timeDiffMs/(1e3*60);if(timeDiffMin>0&&timeDiffMin<1){return"1 Min."}if(timeDiffMin>=1&&timeDiffMin<=60){const timeDiffAbs=Math.round(timeDiffMin);return`vor ${timeDiffAbs} Min.`}const postDateString=postDate.toISOString().split("T")[0];const nowDateString=now.toISOString().split("T")[0];if(postDateString===nowDateString){const hours=String(postDate.getHours()).padStart(2,"0");const minutes=String(postDate.getMinutes()).padStart(2,"0");return`${hours}:${minutes} Uhr`}const yesterday=new Date(now);yesterday.setDate(yesterday.getDate()-1);if(postDateString===yesterday.toISOString().split("T")[0]){return"gestern"}const twoDaysAgo=new Date(now);twoDaysAgo.setDate(twoDaysAgo.getDate()-2);if(postDateString===twoDaysAgo.toISOString().split("T")[0]){return"vor 2 Tagen"}const day=String(postDate.getDate()).padStart(2,"0");const month=String(postDate.getMonth()+1).padStart(2,"0");const year=postDate.getFullYear();return`${day}.${month}.${year}`}static initIframeResize(){window.addEventListener("message",function(event){if(event.data?.type==="iframe-resize"){const iframe=document.querySelector(`iframe[src^="${event.origin}"]`);if(!iframe)return;
1iframe.style.height=`${event.data.height}px`}})}static initSpotlightBundles(){document.querySelectorAll(".teaser-bundle--spotlight").forEach(bundle=>{const items=bundle.querySelectorAll(".bundle__item");if(items.length>2){const showMoreButton=document.createElement("button");const secondItem=items[1];showMoreButton.classList.add("bundle__show-more");showMoreButton.setAttribute("aria-expanded","false");showMoreButton.innerText="Mehr zum Thema";showMoreButton.addEventListener("click",()=>{showMoreButton.setAttribute("aria-expanded","true")});secondItem.after(showMoreButton)}})}}Amaterasu.init();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.