window.addEventListener('scroll', moerchens_core_scroll_listener, false);
document.addEventListener('DOMContentLoaded', moerchens_core_scroll_listener);
function moerchens_core_scroll_listener(){
if(window.scrollY > 120){
document.body.classList.add('scrolled');
if(this.previousScrollY > this.scrollY){
document.body.classList.add('scrolled-up');
document.body.classList.remove('scrolled-down');
}else{
document.body.classList.add('scrolled-down');
document.body.classList.remove('scrolled-up');
}}else if(window.scrollY < 1){
document.body.classList.remove('scrolled');
document.body.classList.remove('scrolled-up');
document.body.classList.remove('scrolled-down');
}
this.previousScrollY=this.scrollY;
}
onAny('body:not(.wp-admin) :is(.follow-inner-link, .util-follow-inner-link)', 'click', (element, event)=> {
let maybeParent=event.target.closest('a');
location.href=maybeParent ? maybeParent.href:element.querySelector('a:not(.dont-follow)').href;
});
forAny('.tabs-wrapper, .tab-wrapper, .util-tabs-wrapper', tabsWrapper=> {
let tabButtons=tabsWrapper.querySelectorAll('a[href*="#tab-"]');
let tabContents=tabsWrapper.querySelectorAll('[id*="tab-"]');
tabButtons.forEach((button, key)=> {
if(key > 0){
button.classList.add('util-not-active');
}
button.addEventListener('click', event=> {
if(!button.classList.contains('util-not-active')){
return;
}
tabButtons.forEach(element=> element.classList.add('util-not-active'));
tabContents.forEach(element=> element.classList.add('util-hidden'));
let id=button.href.substring(button.href.indexOf('#') + 1);
tabsWrapper.querySelector('[id="' + id + '"]').classList.remove('util-hidden');
button.classList.remove('util-not-active');
event.preventDefault();
event.stopPropagation();
return false;
});
});
tabContents.forEach((content, key)=> {
if(key===0){
return;
}
content.classList.add('util-hidden');
});
if(location.hash!==''){
tabsWrapper.querySelector('a[href="' + location.hash + '"]')?.click()
}})
whenVisible('.mcore-dynamic-content', element=> {
document.addEventListener('mcore_reload/' + element.dataset.dynamicTrigger, _=> {
mcore_load_dynamic_content(element);
})
mcore_load_dynamic_content(element);
});
function mcore_load_dynamic_content(element){
element.classList.add('loading');
let request=new XMLHttpRequest();
request.onload=function (){
if(request.readyState===XMLHttpRequest.DONE&&request.status===200){
element.innerHTML=request.responseText;
document.dispatchEvent(new CustomEvent("mcore_reloaded", {detail: element}));
document.dispatchEvent(new CustomEvent("mcore_reloaded/" + element.dataset.dynamicTrigger, {detail: element}));
element.classList.remove('loading');
}};
request.open("GET", element.dataset.dynamicUrl, true);
request.send();
};