wpj.storage = { getValue: function(key) { try { return localStorage.getItem(key); } catch (e) { return null; } }, setValue: function(key, value) { try { return localStorage.setItem(key, value); } catch (e) { return false; } }, cookies: { getItem: function(sKey) { if (!sKey) { return null; } return ( decodeURIComponent( document.cookie.replace( new RegExp( '(?:(?:^|.*;)\\s*' + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$' ), '$1' ) ) || null ); }, setItem: function(sKey, sValue, vEnd, sPath, sDomain) { if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)) { return false; } var sExpires = ''; if (vEnd) { switch (vEnd.constructor) { case Number: sExpires = vEnd === Infinity ? '; expires=Fri, 31 Dec 9999 23:59:59 GMT' : '; max-age=' + vEnd; break; case String: sExpires = '; expires=' + vEnd; break; case Date: sExpires = '; expires=' + vEnd.toUTCString(); break; } } document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue) + sExpires + (sDomain ? '; domain=' + sDomain : '') + '; path=' + (sPath ? sPath : '/') + '; secure; samesite=lax'; return true; }, removeItem: function(sKey, sPath, sDomain) { if (!this.hasItem(sKey)) { return false; } document.cookie = encodeURIComponent(sKey) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : ''); return true; }, hasItem: function(sKey) { if (!sKey) { return false; } return new RegExp('(?:^|;\\s*)' + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=').test( document.cookie ); }, keys: function() { var aKeys = document.cookie .replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, '') .split(/\s*(?:\=[^;]*)?;\s*/); for (var nLen = aKeys.length, nIdx = 0; nIdx < nLen; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); } return aKeys; } }, consents: { consents: {}, getConsent: function(consentName) { if (!consentName) { return null; } this.getConsents(); if (this.consents[consentName]) { return this.consents[consentName] } return false; }, getConsents: function() { var consents = decodeURIComponent( document.cookie.replace( new RegExp( '(?:(?:^|.*;)\\s*' + encodeURIComponent('cookie-bar').replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$' ), '$1' ) ).split(','); if (!(consents instanceof Array)){ consents = []; } return this.consents = { ad_storage: consents.includes('ad_storage') ? 'granted' : 'denied', personalization_storage: consents.includes('personalization_and_functionality_storage') ? 'granted' : 'denied', functionality_storage: 'granted', analytics_storage: consents.includes('analytics_storage') ? 'granted' : 'denied', } }, isEnabled: function(consentName) { if (!window.wpj.cookie_bar_send) { return true; } return this.getConsent(consentName) === 'granted'; } } };