/
eucookielaw3.min.js
1 lines (1 loc) · 16.7 KB
/
eucookielaw3.min.js
1
!function(e,t){window.EUCookieLaw=function(e){"use strict";function t(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function o(t){window.scrollY>_+e.scrollTolerance&&(window.removeEventListener("scroll",o),O('[data-eucookielaw-id="cookie-group-list-item"]',E).forEach(function(t){D&&console.log(this),t.classList.add(e.dialogCookieItemApprovedClass),t.classList.remove(e.dialogCookieItemRejectedClass)}),w())}function i(e,t){return"eucookielaw-accepted-"+t+"-"+e}function n(e){return i(x.STATUS,e)}function a(e){return i(x.DATE,e)}function r(t){var o=localStorage.getItem(a(t)||!1),i=localStorage.getItem(n(t)||!1),r=!1;if(o){var l=new Date(o),s=l.setDate(l.getDate()+e.expiringPeriod);s>new Date&&(r=i)}return r}function l(e){return s(e)||c(e)}function s(e){return r(e)===P.OK}function c(e){return r(e)===P.KO}function d(e){var t=new Date;localStorage.setItem(n(e),P.OK),localStorage.setItem(a(e),t.toISOString()),window.userConsentCallback&&"function"==typeof window.userConsentCallback&&window.userConsentCallback(e,P.OK,t.toISOString()),O('[data-eucookielaw-related-group="'+e+'"]').forEach(function(t){var o=t.getAttribute("data-eucookielaw-rightvalue")||!1,i=atob(t.getAttribute("data-eucookielaw-inner-text")||""),n=atob(t.getAttribute("data-eucookielaw-inner-html")||"");if(o){var a=o.split(";");if(a.forEach(function(e){if(""!==e){var o=e.split(":"),i=o[0],n=atob(o[1]);t.setAttribute(i,n)}}),"script"===t.nodeName.toLowerCase()){var r=t.getAttribute("type"),l=t.getAttribute("async"),s=t.getAttribute("defer"),c=t.getAttribute("src"),d=y("script");r&&d.setAttribute("type",r),l&&d.setAttribute("async",l),s&&d.setAttribute("defer",s),c&&d.setAttribute("src",c),T(d,t),t.remove(),t=d}}D&&console.log("Approved group",e),""!==i&&(t.innerText=i,t.removeAttribute("data-eucookielaw-inner-text")),""!==n&&(t.innerHTML=n,t.removeAttribute("data-eucookielaw-inner-html"))})}function u(e){var t=new Date;localStorage.setItem(n(e),P.KO),localStorage.setItem(a(e),t.toISOString()),window.userConsentCallback&&"function"==typeof window.userConsentCallback&&window.userConsentCallback(e,P.KO,t.toISOString()),O('[data-eucookielaw-related-group="'+e+'"]').forEach(function(t){C(t,e)})}function f(e,t,o){t=t||"",o=o||"";var i=t+e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/^\./,"##__HASANYPREFIX__##").replace(/\./g,"\\.").replace(/^##__HASANYPREFIX__##/,".*")+o;return new RegExp(i)}function g(e){D&&console.log("getGroupByURL","checking for",e);for(var t in Q)if(Q.hasOwnProperty(t)){D&&console.log("analyzing",t,Q[t]);for(var o in Q[t].URL)if(Q[t].URL.hasOwnProperty(o)){var i=Q[t].URL[o],n=f(i,"^");if(D&&console.log("getGroupByURL","testing for",i,n),n.test(e))return t}}return!1}function p(e){if(""!==e)for(var t in Q)if(Q.hasOwnProperty(t))for(var o in Q[t].URL)if(Q[t].URL.hasOwnProperty(o)){var i=Q[t].URL[o],n=f(i);if(n.test(e))return t}return!1}function k(e){if(void 0===e);else{if("string"==typeof e)return;if(void 0===e.length){void 0!==e.id&&(V[e.id]=e);for(var t in e)e.hasOwnProperty(t)&&W.indexOf(t)===-1&&k(e[t])}else for(var o=0;o<e.length;o++)k(e[o])}}function h(e){"undefined"==typeof jQuery||"undefined"==typeof jQuery.fn.modal?(document.querySelector("body").classList.remove("modal-open"),E.classList.remove("in")):e||$(S).modal("hide")}function v(){void 0!==b&&(delete document.cookie,b=void 0)}function A(){var t=[];for(var o in e.handledNodes){var i=e.handledNodes[o],n=Object.keys(i.attr||{});n.forEach(function(e){t.push(e)})}return t.unique()}function m(){D&&console.log(A());var e={attributes:!0,characterData:!0,childList:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0,attributeFilter:A()},t=L("html");K=new MutationObserver(F),K.observe(t,e)}function C(e,t){if([B.TEXT_NODE,B.COMMENT_NODE].indexOf(e.nodeType)===-1){var o=e.nodeName.toUpperCase(),i=H[o]||!1;if(i){var n=!1;for(var a in i.attr){if(i.attr.hasOwnProperty(a)){var r=i.attr[a],l=e.getAttribute(a);D&&console.log(a,l);var c=t||g(l);if(c)if(e.setAttribute("data-eucookielaw-related-group",c),s(c));else if(null!=l){var d=e.getAttribute("data-eucookielaw-rightvalue")||"";if(d+=a+":"+btoa(l)+";",e.setAttribute("data-eucookielaw-rightvalue",d),e.setAttribute(a,r),"SRC"===a.toUpperCase()&&["IFRAME","SCRIPT"].indexOf(o)!==-1){e.onreadystatechange=function(e){return D&&console.log("this is loading",this,e),!1};for(var u=y(o),f=e.parentNode,k=0;k<e.attributes.length;k++){var h=e.attributes[k];u.setAttribute(h.name,h.value)}f.insertBefore(u,e),f.removeChild(e),e=null,e=u}n=!0,D&&console.info("Should Remove Content for ",o,e)}}var v=e.getAttribute("data-eucookielaw-inner-html")||!1;if(i.removeContent&&!i.lookupInnerText&&v===!1&&n){var A=e.innerHTML;D&&console.group("updating inner-html attribute start",A),e.setAttribute("data-eucookielaw-inner-html",btoa(A)),e.innerHTML="",D&&console.groupEnd()}}if(i.lookupInnerText){D&&console.log("looking up into inner text for",o);var m=e.innerText;c=t||p(m),c&&(e.setAttribute("data-eucookielaw-related-group",c),s(c)||(e.setAttribute("data-eucookielaw-inner-text",btoa(m)),e.innerText=""))}}}}function w(){O('[data-eucookielaw-id="cookie-group-list-item"]').forEach(function(t){var o=t.getAttribute("data-group");t.classList.contains(e.dialogCookieItemApprovedClass)?(D&&console.log(o,"has been accepted"),d(o)):(D&&console.log(o,"has been revoked"),u(o))})}null===localStorage.getItem("eucookielaw-client-signature")&&localStorage.setItem("eucookielaw-client-signature",t()),NodeList.prototype.forEach||(NodeList.prototype.forEach=Array.prototype.forEach),Array.prototype.unique||(Array.prototype.unique=function(){var e=[];return this.map(function(t){e.indexOf(t)===-1&&e.push(t)}),e});var E,b=document.cookie,O=function(e,t){return void 0===t&&(t=document),t.querySelectorAll(e)},L=function(e,t){return void 0===t&&(t=document),t.querySelector(e)},y=function(e){return document.createElement(e)},I=function(e){return document.createTextNode(e)},T=function(e,t){return t.parentNode.insertBefore(e,t),e},M=function(e,t){e.appendChild(t)},N=function(e,t,o,i){if("function"==typeof Object.defineProperty){var n={configurable:!0};"function"==typeof o&&(n.set=o),"function"==typeof i&&(n.get=i),Object.defineProperty(e,t,n)}else"function"==typeof o&&e.__defineSetter__(t,o),"function"==typeof i&&e.__defineGetter__(t,i)},D=!1,R=parseInt(1e5*Math.random()),S=null,_=0,U={expiringPeriod:365,cookieEnabled:!1,runLegacyMode:!0,cookieWhiteList:[],agreeMethod:EUCookieLaw.CHECK_MODE_IMMEDIATE,scrollTolerance:200,applyMinimalStyle:!0,handledNodes:{IFRAME:{attr:{src:"about:blank"}},IMG:{attr:{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}},SCRIPT:{attr:{src:"about:blank"},removeContent:!0,lookupInnerText:!0},LINK:{attr:{href:"about:blank"}}},openCallback:function(e){try{return"undefined"!=typeof jQuery&&"undefined"!=typeof jQuery.fn.modal?jQuery(e).modal("show"):(e.classList.add("in"),document.querySelector("body").classList.add("modal-open")),!0}catch(e){}return!1},dialogCookieGroupsListHiddenClass:"hidden",dialogCookieGroupsListDefaultIsHidden:!0,dialogCookieItemApprovedClass:"approved",dialogCookieItemRejectedClass:"rejected",dialogBuilder:{id:"dialog-container",html:'<div data-eucookielaw-id="{{id}}" id="eucookielaw-{{instanceId}}" class="modal fade eucookielaw-modal {{classes}}" role="dialog" tabindex="-1">{{content}}</div>',classes:"",content:{id:"dialog",html:'<div data-eucookielaw-id="{{id}}" class="modal-dialog modal-lg {{classes}}">{{content}}</div>',classes:"",content:{id:"dialog-content",html:'<div data-eucookielaw-id="{{id}}" class="modal-content {{classes}}">{{content}}</div>',classes:"",content:[{id:"header-container",html:'<div data-eucookielaw-id="{{id}}" class="modal-header {{classes}}"><{{titleTag}} class="modal-title">{{content}}</{{titleTag}}></div>',classes:"",titleTag:"strong",content:"Cookie Policy agreement"},{id:"body-container",html:'<div data-eucookielaw-id="{{id}}" class="modal-body">{{content}}</div>',content:[{id:"body-text-content",html:'<p data-eucookielaw-id="{{id}}" class="{{classes}}">{{content}}</p>',classes:"",content:"This site uses cookies"},{id:"body-button-container",html:'<p data-eucookielaw-id="{{id}}" class="eucokielaw-dialog-button-container {{classes}}">{{content}}</p>',classes:"",content:{id:"review-button",isCookieDetailsButton:!0,html:'<a data-eucookielaw-id="{{id}}" href="#" class="btn btn-default btn-block {{classes}}">{{content}}</a>',classes:"",content:"Review consents"}},{id:"cookie-group-list",html:'<div data-eucookielaw-id="{{id}}" class="list-group {{classes}}">{{content}}</div>',classes:"",isCookieGroupContainer:!0,content:{id:"cookie-group-list-item",html:'<div data-eucookielaw-id="{{id}}" class="list-group-item {{status}}"><strong>{{content}}</strong><br /><span class="text-muted">{{description}}</span></div>'}},{id:"button-container",html:'<div data-eucookielaw-id="{{id}}" class="buttons text-right {{classes}}">{{content}}</div>',classes:"",content:[{id:"close-button",isCloseButton:!0,html:'<a data-dismiss="modal" data-eucookielaw-id="{{id}}" href="#" class="btn btn-primary {{classes}}">{{content}}</a>',classes:"",content:"Close"}]}]},{id:"footer-container",html:'<div data-eucookielaw-id="{{id}}" class="modal-footer">{{content}}</div>',content:{html:'<div class="eucookielaw-dialog-footer">{{content}}</div>',content:'<small>Powered by <a href="https://diegolamonica.info/tools/eucookielaw/">EUCookieLaw <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAELElEQVQ4jY3UT0ibdxzH8feTJ08e85fUJyYxsWal082trsWDMhOcrjCZ2DWH0ZYd2sNOxdMOhcIQBsXbYAhedll3XmG9CQUVVqSpTGjHaLLQBTpnTJ8GNf//Pf920WLdOvq9/eD3e/1+/L58P/Dm5QYC4+Pj0fn5ecfrNgn/J9jt9qFkMjk3MzPzcU9PT7/D4RA6nY4tlUrVKpXK6aWlpcobgaFQ6NTFixd/PH/+/MTIyAiKoiCKIuVyGZvNRi6XY3V1dX10dPTT2dnZ2iuPOH5Bf39/+Nq1a39OT0/bPB4Psizj9Xqx2+34fD6azSaFQgFFURL5fP5LYPEoIB4Do5cvX/55cnLypM/nIxgMsru7i2VZuFwubDYbkiQRiUSIxWKsrKzEx8bGHA8ePPjlELAdwWJnzpwZV1V1zOl00mw2qdfrzM3NIUkS1WqVra0tMpkMAOFwmGQy6U2n018vLi6GjoMy8LaiKN9GIhGcTiemaeL1erl9+zaWZfH8+XMePXrE0tIS9XodgIGBASYmJuzPnj3rPQ6GXC5X1OFw9IdCIURRxO/3k8lkKBaLqKqKaZoMDw9z48YNLMsCwOfzMTU1JdTr9c+O/qEAfBAKhd4JBAKfDA4OMjg4yPDwMLqu02q1kGWZ3d1dZFlGEAT8fj92ux1N04hEIrRaram+vr5vNE0zbQedDsmyHDUMA1mWabfbXLhwgY2NDfx+P5IksbGxwd27dzEMg3w+T7FY5OrVq3Q6HS5dusT169cZGhr6wn7wSpdpmn9ZlkWlUkEURW7evAlAtVpFFEXi8TixWIxyuYwkSezv71OpVLh37x7xeJx2u82LFy9cIiAB70uSVFYU5XOPx4MkSQQCAWRZZnt7m3a7TXd3N61Wi729PSRJwufzMTMzgyiKaJpGPp/n/v37yzbAANrFYrGuaRqFQgFVVSkUCjgcDgzD4M6dO+i6TqPRwDAMnE4nT548YX9//+UEbW5u4na7vxMBCwgD7yqKkul0Oh8eQpZl4XQ6SSQSZLNZqtUqgUCAEydOsLCwwLlz5yiXy+zt7bG8vPzr2trarUMQ4L1qtfowGAxeKZVKtp6eHkRRRNd1dnZ20HWdbDZLs9mkq6uLRCKBIAiUy2XW1tZIpVJJVVXzh6PXAMK6rg90d3f/IYri2M7OjuDxeABwu93Iskw+n2d0dJRcLsfTp0+p1Wqsr6+TSqXm0+n0T4B1NG36gWnAF41G1b6+vu/tdrurt7eXs2fPvoQty6Krq4t0Ok02m6VUKi1sbm7eAtrw7/g6CXwE9MqyvDIyMvIVcMU0TcnhcBAMBhEEwVBV1Wi1Wg81Tfvh8ePHq8D2IfBfeagAk8BbQAf4PRAIWIIghEVRVCqVyt+NRqMGmMBvQOno4dcltgs4DZwCPAeNMwENqAE5YOtg/Ur9A4rvtmO4NgDnAAAAAElFTkSuQmCC" /></small>'}}]}}}},P={OK:"ok",KO:"ko"},x={STATUS:"status",DATE:"date"},B={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},K=null;void 0===e&&(e={});for(var G in U)void 0===e[G]&&(e[G]=U[G]);if(D=e.debugEnabled||!1,D&&console.log(e),e.applyMinimalStyle){var q=function(){var e=y("style");return M(e,I("")),M(document.head,e),e.sheet}();q.insertRule("#eucookielaw-"+R+" ."+e.dialogCookieItemRejectedClass+",#eucookielaw-"+R+" ."+e.dialogCookieItemApprovedClass+"{\tcursor: pointer; }",0),q.insertRule("#eucookielaw-"+R+" ."+e.dialogCookieItemRejectedClass+':before { content: "×"; color: #a00; }',0),q.insertRule("#eucookielaw-"+R+" ."+e.dialogCookieItemApprovedClass+':before { content: "✓"; color: #080; }',0)}var H=e.handledNodes,Q={},V=[],j=function(){N(document,"cookie",function(t){if(D&&console.info("Trying to write the cookie "+t),!e.cookieEnabled){D&&console.log("But document cookie is not enabled");var o=t.split("="),i=!1;if(/^__eucookielaw$/.test(o[0]))D&&console.info("Is the technical cookie"),i=!0;else{D&&console.log("Checking in cookie list");for(var n=0;n<e.cookieWhiteList.length;n++){var a=e.cookieWhiteList[n],r="."===a.substr(0,1),l="."===a.substr(-1),s=a.substring(r?1:0,a.length-(l?-1:0)),c="^"+(r?".*":"")+s.replace(/([(|\.{^$\[\]}*+])/g,"\\$1")+(l?".*":"")+"$",d=new RegExp(c);if(D&&console.log("Checking if the cookie '"+o[0]+"' matches the value defined in "+a+" (rule: "+c+")"),d.test(o[0])){i=!0;break}}}return i?(D&&console.log("The cookie "+o[0]+" is allowed"),e.cookieEnabled=!0,document.cookie=t,e.cookieEnabled=!1,D&&console.info(document.cookie)):D&&console.log("The cookie "+o[0]+" is not allowed"),!1}return D&&console.warn("I'm resetting the original document cookie"),delete document.cookie,document.cookie=t,t},function(){return b})};this.allowCookie=function(t){e.cookieWhiteList.push(t)},this.setAgreeMode=function(t){e.agreeMethod=t},this.registerGroup=function(e,t,o,i){void 0===Q[e]&&(Q[e]={name:t,description:o,accepted:s(e),enabledByDefault:i,URL:[]})},this.registerURL=function(e,t){void 0===Q[e]&&this.registerGroup(e,e,""),"string"==typeof t?Q[e].URL.push(t):t.forEach(function(t){Q[e].URL.push(t)})},this.handleNode=function(t,o,i){D&&console.log("adding handler for",t,i),e.handledNodes[t.toUpperCase()]={attr:o,removeContent:i.removeContent,lookupInnerText:i.lookupContent}},this.updateDialogProperty=function(e,t,o){V[e][t]=o};var X=!1,F=function(e){X||(D&&console.group("mutationObserverCallback"),D&&console.log("starting"),X=!0,e.forEach(function(e){if("childList"===e.type)for(var t=0;t<e.addedNodes.length;t++){var o=e.addedNodes[t];C(o)}else"attributes"===e.type&&D&&console.log("The "+e.attributeName+" attribute was modified from "+e.oldValue+" into ",e.target[e.attributeName])}),X=!1,D&&console.groupEnd())},W=["html","isCookieGroupContainer","isAgreeButton","isCloseButton","isCookieDetailsButton"];k(e);var Y=function(e){var t="";if(void 0===e)t="";else if("string"==typeof e)t=e;else if(void 0===e.length){t=e.html||"",t=t.replace(/{{instanceId}}/g,R);for(var o in e)e.hasOwnProperty(o)&&W.indexOf(o)===-1&&(t=t.replace(new RegExp("{{"+o+"}}","g"),Y(e[o])))}else for(var i=0;i<e.length;i++)t+=Y(e[i]);return t};this.showAlert=function(){if(S)return void(e.openCallback&&e.openCallback(S)||S.setAttribute("open","open"));var t=V["cookie-group-list-item"];V["cookie-group-list-item"]=void 0;var i=[];for(var n in Q){var a=JSON.parse(JSON.stringify(t));a.status=s(n)||!l(n)&&Q[n].enabledByDefault?e.dialogCookieItemApprovedClass:e.dialogCookieItemRejectedClass,a.content=Q[n].name,a.description=Q[n].description,a.group=n,i.push(a)}this.updateDialogProperty("cookie-group-list","content",i);var r=Y(e.dialogBuilder),c=document.createDocumentFragment(),f=y("div");f.innerHTML=r,M(c,f),E=f.firstChild,L("body").appendChild(E),e.openCallback&&e.openCallback(E)||E.setAttribute("open","open"),S=E,O('[data-eucookielaw-id="cookie-group-list-item"]',E).forEach(function(t,o){!function(t){t.setAttribute("data-group",i[o].group),t.addEventListener("click",function(t){D&&console.log("firing click event",this),t.preventDefault(),t.stopImmediatePropagation(),e.agreeMethod!==EUCookieLaw.CHECK_MODE_IMMEDIATE&&e.agreeMethod!==EUCookieLaw.CHECK_MODE_ON_SCROLL||(this.classList.contains(e.dialogCookieItemRejectedClass)?d(this.getAttribute("data-group")):u(this.getAttribute("data-group"))),this.classList.toggle(e.dialogCookieItemApprovedClass),this.classList.toggle(e.dialogCookieItemRejectedClass)})}(t)});var g=L('[data-eucookielaw-id="cookie-group-list"]',E).classList;L('[data-eucookielaw-id="review-button"]',E).addEventListener("click",function(t){t.preventDefault(),t.stopImmediatePropagation(),g.toggle(e.dialogCookieGroupsListHiddenClass),g.toggle("expanded"),g.toggle("collapsed")}),L('[data-eucookielaw-id="close-button"]',E).addEventListener("click",function(e){w(),h(!0)}),e.dialogCookieGroupsListDefaultIsHidden?[e.dialogCookieGroupsListHiddenClass,"collapsed"].forEach(function(e){g.add(e)}):g.add("expanded"),e.agreeMethod===EUCookieLaw.CHECK_MODE_ON_SCROLL&&window.addEventListener("scroll",o)},this.run=function(){j(),m()},e.runLegacyMode&&(console.info("Running in Legacy Mode, please regenerate configuration through builder https://diegolamonica.info/tools/eucookielaw/builder/"),this.run());var z=this;document.addEventListener("DOMContentLoaded",function(){var e=!1;_=window.scrollY;for(var t in Q)if(!s(t)&&!c(t)){e=!0;break}e?z.showAlert():v()}),document.addEventListener("click",function(t){D&&console.log(e.agreeMethod,t),e.agreeMethod!==EUCookieLaw.CHECK_MODE_ON_CLICK||document.querySelector(".eucookielaw-modal").contains(t.target)||(w(),h(),e.agreeMethod=EUCookieLaw.CHECK_MODE_IMMEDIATE)})},EUCookieLaw.CHECK_MODE_ON_SCROLL=1,EUCookieLaw.CHECK_MODE_IMMEDIATE=2,EUCookieLaw.CHECK_MODE_ON_CLICK=4,EUCookieLaw.CHECK_MODE_ON_CONSENT=8,t[""]=e}({},function(){return this}());