40099-vm/static/js/cookie_popup.js
2026-05-27 01:24:24 +00:00

1 line
6.3 KiB
JavaScript

(function(d){function e(){var f=typeof domainName==="undefined"?cookieDomain:domainName;var i="xmcplc";var g="xmck_";var h=[];var j=null;this.setCookie=function(l,n,o){var m=g+l||i;n=n||"1";o=o||180;if(d.cookie(m)!==n){d.cookie(m,n,{expires:o,path:"/",domain:f});if(window.location.hostname==="localhost"){d.cookie(m,n,{expires:o,path:"/",domain:"localhost"})}if(typeof dataLayer!=="undefined"&&Array.isArray(dataLayer)&&parseInt(n)===1){var k=m+"_on";if(d.inArray(k,h)===-1){dataLayer.push({event:k});h.push(k)}}}};this.getCookie=function(l,k){var m=!!k?l:g+l||i;return d.cookie(m)}}function c(h){var f=this;var g={functional:true,analytical:false,promotional:false,preferences:false};this.onDataChanged=function(){};this.onSave=function(){};this.setCookiePart=function(i,k,j){var l={};l[i]=k;this.setData(l,j)};this.setData=function(j,l){var i=false;for(var k in j){if(g.hasOwnProperty(k)){g[k]=!!j[k];i=true}}if(i){if(l){this.save()}this.onDataChanged()}};this.enableAll=function(i){this.setData({functional:true,analytical:true,promotional:true,preferences:true},i)};this.isEnabledAll=function(){for(var i in this.getData()){if(!this.get(i)){return false}}return true};this.getData=function(){return g};this.has=function(i){return g.hasOwnProperty(i)};this.get=function(i){return g[i]};this.save=function(i){Object.keys(this.getData()).forEach(function(j){var k=j;if(!i||h.getCookie(k)===null){h.setCookie(k,f.get(j)?"1":"0")}});this.onSave()};this.load=function(){var i={};Object.keys(this.getData()).forEach(function(j){var k=h.getCookie(j);if(k!==null){i[j]=h.getCookie(j)==="1"}});b(i.promotional,i.analytical);i.functional=true;this.setData(i)}}function b(g,f){if(g!==undefined&&f!==undefined){if(window.cookiesCallback){window.cookiesCallback(g,f)}}}function a(m,h){var n=this;var i=false;var j=d(document);var g="popupShown";var o=d("#cookieModal");var k="riskWarningBarDisplay";var l=navigator.userAgent.toLowerCase().match(/mobile/i);var f=d("#risk-block span").hasClass("js-esmaRiskMsg");m.load();m.save(true);m.onDataChanged=function(){if(!i){i=true;n.refreshInputs();i=false}};m.onSave=function(){n.displayBottomPanel(!m.isEnabledAll())};o.on("hidden.bs.modal",function(){n.displayBottomPanel(!m.isEnabledAll())});j.on("click",".js-cookieCheckList input[type=checkbox]",function(p){m.setCookiePart(p.target.dataset.cookiesParts,p.target.checked)});j.on("click",".js-saveCookie",function(){b(m.getData()["promotional"],m.getData()["analytical"]);m.save();n.setPopupShown()});j.on("click","#js-changeModalSettings",function(){d(".cookie-modal__defaultBlock").hide();d(".cookie-modal__settingBlock").fadeIn()});j.on("click",".js-showModalCookieGeneral",function(){n.displayPopup(true)});j.on("click",".js-showModalCookieSettings",function(){n.displayPopup(true);d(".cookie-modal__defaultBlock").hide();d(".cookie-modal__settingBlock").fadeIn();d('.cookie-modalTabs a[href="#changeSettings"]').tab("show")});j.on("click","#js-cookieBarCloseButton",function(){n.displayBottomPanel(false)});j.on("click","#accept_default_cookie, .js-acceptDefaultCookie",function(p){p.preventDefault();m.enableAll(true);b(true,true);n.displayPopup(false);n.setPopupShown()});if(l&&f){if(d("#xmAppSlideIn").length!==0){xmAppDrawerPos()}j.on("click","#js-riskCloseButton",function(){var p=d("#js-riskCloseButton").attr("class");var q;if(p==="minimise"){q=1}else{if((p==="minimise up")){q=2}}n.setRiskWarningBarDisplayCookie(q);if(d("#xmAppSlideIn").length!==0){xmAppDrawerPos()}})}o.addClass("js-cookie-popup-loaded");this.refreshInputs=function(){try{d(".js-cookieCheckList input[type=checkbox]").each(function(q,s){var r=s.dataset.cookiesParts;if(m.has(r)){s.checked=m.get(r)}})}catch(p){console.log("Error",p)}};this.displayPopup=function(p){if(typeof isXmauPopupDisplayed==="function"&&isXmauPopupDisplayed()){return}if(p){o.modal({backdrop:"static",keyboard:false,show:true});n.displayBottomPanel(false)}else{o.modal({backdrop:"static",keyboard:false,show:false})}};this.setPopupShown=function(){h.setCookie(g,"1")};this.setRiskWarningBarDisplayCookie=function(p){h.setCookie(k,p,14)};this.isRiskWarningBarDisplayCookieSet=function(){return h.getCookie(k)==="1"||h.getCookie(k)==="2"};this.getRiskWarningBarDisplayCookie=function(){return h.getCookie(k)};this.isPopupShown=function(){return h.getCookie(g)==="1"};this.displayBottomPanel=function(p){if(p){d("#cookies-block").show();d("#js-cookieBarHeight").show()}else{d("#cookies-block").hide();d("#js-cookieBarHeight").hide()}};this.isMobile=function(){return l};this.isEsma=function(){return f};this.displayRiskWarningBar=function(p){if(p==="2"){d("#js-riskCloseButton").addClass("minimise up");d(this).toggleClass("up");d("#risk-block span.js-esmaRiskMsg").toggle();if(d("#js-riskCloseButton").hasClass("up")){setHeightRiskBox()}}else{if(p==="1"){d("#js-riskCloseButton").removeClass("minimise up");d("#js-riskCloseButton").addClass("minimise")}}if(d("#xmAppSlideIn").length!==0){xmAppDrawerPos()}}}d(document).ready(function(){function i(){var m=new e();var k=new c(m);var l=new a(k,m);l.refreshInputs();l.displayBottomPanel(!k.isEnabledAll());var n=j();l.displayPopup(!k.isEnabledAll()&&!l.isPopupShown()&&n.showPopup);if(l.isRiskWarningBarDisplayCookieSet()&&l.isMobile()&&l.isEsma()){l.displayRiskWarningBar(l.getRiskWarningBarDisplayCookie())}}function h(){var k=navigator.userAgent.toLowerCase().match(/mobile/i);if(k===null){return -1}var o=window.location.search;var l=new URLSearchParams(o);var n="-1";var m=l.has("attStatus");if(m){n=l.get("attStatus")}return n}function j(){var k=h();switch(k){case"0":case"1":case"2":return{cookiesData:{functional:1,analytical:0,promotional:0,preferences:0},showPopup:false};case"3":return{cookiesData:{functional:1,analytical:1,promotional:1,preferences:1},showPopup:false};case"-1":default:return{cookiesData:{functional:1,analytical:0,promotional:0,preferences:0},showPopup:true}}}function f(){var o=j();var k=typeof domainName==="undefined"?cookieDomain:domainName;cookieGroupsDefaultValues=o.cookiesData;var n=new Date();var m=n.setDate(n.getDate()+180);for(var l in cookieGroupsDefaultValues){if((new RegExp("xmck_"+l,"gi").exec(document.cookie))==null){document.cookie="xmck_"+l+"="+cookieGroupsDefaultValues[l]+"; path=/; domain="+k+"; expired="+m.toString()}}}f();var g=setInterval(function(){if(typeof d().modal==="function"&&typeof d.cookie==="function"){clearInterval(g);i()}},100)})})(jQuery);