forAny=function (selector, callbackfn, container){
container=container||document;
container.querySelectorAll(selector).forEach(callbackfn);
};
onAny=function (selector, type, callbackfn, container){
container=container||document;
container.querySelectorAll(selector).forEach(element=> element.addEventListener(type, event=> {
callbackfn(element, event);
}));
};
whenVisible=function (selector, callbackfn, container){
container=container||document;
let observer=new IntersectionObserver(observer_callback, {
root: null,
rootMargin: '0px',
threshold: 0
});
forAny(selector, element=> observer.observe(element), container);
function observer_callback(changes, observer){
changes.forEach(change=> {
if(change.isIntersecting){
observer.unobserve(change.target);
callbackfn(change.target);
}});
}};
getOrCreateUniqueSelector=function (element){
let id=element.id;
if(!id){
id='id-' + self.crypto.randomUUID();
element.id=id;
}
return '#' + id;
}
function mi_setCookie(cname, cvalue, exdays){
const d=new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
let expires="expires=" + d.toUTCString();
document.cookie=cname + "=" + cvalue + ";" + expires + ";path=/";
}
function mi_getCookie(cname){
let name=cname + "=";
let decodedCookie=decodeURIComponent(document.cookie);
let ca=decodedCookie.split(';');
for (let i=0; i < ca.length; i++){
let c=ca[i];
while (c.charAt(0)===' '){
c=c.substring(1);
}
if(c.indexOf(name)===0){
return c.substring(name.length, c.length);
}}
return false;
}
document.dispatchEvent(new CustomEvent('meine-infoseite-core/framework-loaded'));