PageSourceSearch

https://www.4mybaby.ch/theme/683d620a6efef7e874c774aee97f7d47/js/n…/neti-next-language-detector.js?1790851431

js 4mybaby.ch collected 2026-10-04 18:00:03 UTC 8,821 bytes, 1 lines download raw bytes

1(()=>{"use strict";class e{static isSupported(){return"undefined"!==document.cookie}static setItem(e,t,i){if(null==e)throw Error("You must specify a key to set a cookie");let a=new Date;a.setTime(a.getTime()+864e5*i);let o="";"https:"===location.protocol&&(o="secure"),document.cookie=`${e}=${t};expires=${a.toUTCString()};path=/;sameSite=lax;${o}`}static getItem(e){if(!e)return!1;let t=e+"=",i=document.cookie.split(";");for(let e=0;e<i.length;e++){let a=i[e];for(;" "===a.charAt(0);)a=a.substring(1);if(0===a.indexOf(t))return a.substring(t.length,a.length)}return!1}static removeItem(e){document.cookie=`${e}= ; expires = Thu, 01 Jan 1970 00:00:00 GMT;path=/`}static key(){return""}static clear(){}}class t{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return t.isIPhoneDevice()||t.isIPadDevice()}static isNativeWindowsBrowser(){return t.isIEBrowser()||t.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":t.isTouchDevice(),"is-ios":t.isIOSDevice(),"is-native-windows":t.isNativeWindowsBrowser(),"is-iphone":t.isIPhoneDevice(),"is-ipad":t.isIPadDevice(),"is-ie":t.isIEBrowser(),"is-edge":t.isEdgeBrowser()}}}let i="modal-backdrop",a="modal-backdrop-open",o="no-scroll",n={ON_CLICK:"backdrop/onclick"};class s{constructor(){return s.instance||(s.instance=this),s.instance}create(e){this._removeExistingBackdrops(),document.body.insertAdjacentHTML("beforeend",this._getTemplate());let t=document.body.lastChild;document.documentElement.classList.add(o),setTimeout(function(){t.classList.add(a),"function"==typeof e&&e()},75),this._dispatchEvents()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;this._getBackdrops().forEach(e=>e.classList.remove(a)),setTimeout(this._removeExistingBackdrops.bind(this),e),document.documentElement.classList.remove(o)}_dispatchEvents(){let e=t.isTouchDevice()?"touchstart":"click";document.addEventListener(e,function(e){e.target.classList.contains(i)&&document.dispatchEvent(new CustomEvent(n.ON_CLICK))})}_getBackdrops(){return document.querySelectorAll(`.${i}`)}_removeExistingBackdrops(){!1!==this._exists()&&this._getBackdrops().forEach(e=>e.remove())}_exists(){return document.querySelectorAll(`.${i}`).length>0}_getTemplate(){return`<div class="${i}"></div>`}}Object.freeze(new s);let r="js-pseudo-modal",c="js-pseudo-modal-template-root-element";class d{constructor(e,t=!0,i=".js-pseudo-modal-template",a=".js-pseudo-modal-template-content-element",o=".js-pseudo-modal-template-title-element"){this._content=e,this._useBackdrop=t,this._templateSelector=i,this._templateContentSelector=a,this._templateTitleSelector=o}open(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:350;this._hideExistingModal(),this._create(),setTimeout(this._open.bind(this,e),t)}close(){let e=this.getModal();this._modalInstance=bootstrap.Modal.getInstance(e),this._modalInstance.hide()}getModal(){return this._modal||this._create(),this._modal}updatePosition(){this._modalInstance.handleUpdate()}updateContent(e,t){this._content=e,this._setModalContent(e),this.updatePosition(),"function"==typeof t&&t.bind(this)()}_hideExistingModal(){try{let e=document.querySelector(`.${r} .modal`);if(!e)return;let t=bootstrap.Modal.getInstance(e);if(!t)return;t.hide(),window.focusHandler._removeFocusTrapGuard()}catch(e){console.warn(`[PseudoModalUtil] Unable to hide existing pseudo modal before opening pseudo modal: ${e.message}`)}}_open(e){this.getModal(),this._modal.addEventListener("hidden.bs.modal",this._modalWrapper.remove),this._modal.addEventListener("shown.bs.modal",e),this._modal.addEventListener("hidden.bs.modal",()=>window.focusHandler._removeFocusTrapGuard()),this._modal.addEventListener("hide.bs.modal",()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}),this._modalInstance.show(),window.focusHandler._addFocusTrapGuard(this._modalWrapper)}_create(){this._modalMarkupEl=document.querySelector(this._templateSelector),this._createModalWrapper(),this._modalWrapper.innerHTML=this._content,this._modal=this._createModalMar
1kup(),this._modalInstance=new bootstrap.Modal(this._modal,{backdrop:this._useBackdrop}),document.body.insertAdjacentElement("beforeend",this._modalWrapper)}_createModalWrapper(){this._modalWrapper=document.querySelector(`.${r}`),this._modalWrapper||(this._modalWrapper=document.createElement("div"),this._modalWrapper.classList.add(r))}_createModalMarkup(){let e=this._modalWrapper.querySelector(".modal");if(e)return e;let t=this._modalWrapper.innerHTML;return this._modalWrapper.innerHTML=this._modalMarkupEl.innerHTML,this._setModalContent(t),this._modalWrapper.querySelector(".modal")}_setModalTitle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{this._modalWrapper.querySelector(this._templateTitleSelector).innerHTML=e}catch(e){}}_setModalContent(e){let t=this._modalWrapper.querySelector(this._templateContentSelector);t.innerHTML=e;let i=t.querySelector(`.${c}`);if(i){this._modalWrapper.querySelector(`.${c}`).replaceChildren(i);return}try{let e=t.querySelector(this._templateTitleSelector);e&&(this._setModalTitle(e.innerHTML),e.parentNode.removeChild(e))}catch(e){}}}let l=window.PluginBaseClass;window.PluginManager.register("LanguageDetectorPlugin",class extends l{init(){this.setCookie=!0,this.config=window.netiLanguageDetectorConfig||{},this.cookieName="language-detector-redirect",this.targetLanguage=null,this.languages={},this.selectedLanguageId=null,this.checkLanguage()}getNormalizedCookie(){let t=e.getItem(this.cookieName);if(!t)return null;try{return JSON.parse(t)}catch(e){return{status:t,languageId:null}}}saveCookie(t,i){this.setCookie&&e.setItem(this.cookieName,JSON.stringify({status:t,languageId:i}))}async checkLanguage(){let e=this.getNormalizedCookie();if(e){let t=e.status;if("modal-disabled"===t||["redirect-accepted","redirect-declined","redirect-not-required"].includes(t)&&(this.config.isCheckout||!this.config.askAgain&&!this.config.autoRedirect||e.languageId&&e.languageId===this.config.currentLanguageId))return}try{let e=await fetch(window.router["frontend.language_detector.check_language"],{method:"GET",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"application/json"}});if(!e.ok)return;let t=await e.json();if(this.setCookie=t.setCookie,!0===t.modalDisabled&&!0===this.setCookie){this.saveCookie("modal-disabled",this.config.currentLanguageId);return}if(t.autoRedirect&&t.redirectUrl){window.location.href=t.redirectUrl;return}if(null!==t.redirectNotRequired&&void 0!==t.redirectNotRequired&&this.setCookie){this.saveCookie("redirect-not-required",this.config.currentLanguageId);return}if(!t.success)return;this.processResponse(t.data,t.html)}catch(e){console.error("LanguageDetector request failed:",e)}}processResponse(e,t){this.targetLanguage=e.targetLanguage,this.languages=e.languages,this.selectedLanguageId=this.targetLanguage.id,new d(t).open(),this.registerEvents()}registerEvents(){let e=document.getElementById("languageDetectorDecline"),t=document.getElementById("languageDetectorAccept");e.addEventListener("click",this.onLanguageDetectorDecline.bind(this)),t.addEventListener("click",this.onLanguageDetectorAccept.bind(this)),Object.values(this.languages).forEach(e=>{document.getElementById("languageDetectorLang-"+e.id).addEventListener("click",this.onLanguageDetectorSwitch.bind(this))})}onLanguageDetectorDecline(){this.saveCookie("redirect-declined",this.config.currentLanguageId)}onLanguageDetectorAccept(){this.saveCookie("redirect-accepted",this.selectedLanguageId)}onLanguageDetectorSwitch(e){let t=e.target.value,i=this.languages[t];this.selectedLanguageId=t,document.querySelector(".neti-language-detector-title").innerHTML=i.headline,document.querySelector(".neti-language-detector-text").innerHTML=i.text,document.getElementById("languageDetectorAccept").innerHTML=i.buttonAccept,document.getElementById("languageDetectorDecline").innerHTML=i.buttonDecline,document.getElementById("ld-modal-lang-name").innerHTML=i.name;let a=i.locale.toLowerCase().split("-"),o="country-"+a[1],n="language-"+a[0],s=document.getElementById("ld-modal-lang-flag").classList;s.remove(s[2],s[3]),s.add(o,n);let r=document.getElementById("languageDetectorAccept"),c=r.getAttribute("href");if(c){let e=c.match(/\/redirect\/[^/]+\/(.*)/),t=e?e[1]:"";(""===t||"/"===t)&&(t="/");let a=i.domain,o=`/LanguageDetector/redirect/${encodeURIComponent(a)}${"/"===t?"//":`/${t}`}`;r.setAttribute("href",o)}}},"body")})();

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.