(function initializeAnalyticsConsent(window, document) { 'use strict'; var storageKey = 'incognito.analytics-consent.v1'; var accepted = 'accepted'; var declined = 'declined'; var trackerOrigin = 'https://analytics.msvincognito.nl/'; if (window.__incognitoMatomoConsentController) return; window.__incognitoMatomoConsentController = true; function readDecision() { try { var value = window.localStorage.getItem(storageKey); return value === accepted || value === declined ? value : null; } catch (_error) { return null; } } function writeDecision(value) { try { window.localStorage.setItem(storageKey, value); } catch (_error) { // Consent applies to this page load only when browser storage is unavailable. } } function initializeMatomo() { var queue = window._paq = window._paq || []; if (window.__incognitoMatomoInitialized) return; window.__incognitoMatomoInitialized = true; queue.push(['requireConsent']); queue.push(['disableCookies']); queue.push(['setConsentGiven']); queue.push(['setTrackerUrl', trackerOrigin + 'matomo.php']); queue.push(['setSiteId', '1']); queue.push(['trackPageView']); queue.push(['enableLinkTracking']); var tracker = document.createElement('script'); tracker.id = 'incognito-matomo-script'; tracker.async = true; tracker.src = trackerOrigin + 'matomo.js'; document.head.appendChild(tracker); } function createButton(id, label) { var button = document.createElement('button'); button.id = id; button.className = 'incognito-consent-action'; button.type = 'button'; button.textContent = label; return button; } var banner = document.createElement('section'); banner.id = 'incognito-analytics-consent'; banner.setAttribute('role', 'dialog'); banner.setAttribute('aria-labelledby', 'incognito-analytics-consent-title'); banner.setAttribute('aria-describedby', 'incognito-analytics-consent-description'); banner.innerHTML = '
'; var actions = document.createElement('div'); actions.className = 'incognito-consent-actions'; var acceptButton = createButton('incognito-analytics-accept', 'Accept analytics'); var declineButton = createButton('incognito-analytics-decline', 'Decline'); actions.appendChild(acceptButton); actions.appendChild(declineButton); banner.appendChild(actions); var settingsButton = document.createElement('button'); settingsButton.id = 'incognito-privacy-settings'; settingsButton.type = 'button'; settingsButton.textContent = 'Privacy settings'; function showBanner(moveFocus) { banner.hidden = false; settingsButton.hidden = true; if (moveFocus) acceptButton.focus(); } function hideBanner(restoreFocus) { banner.hidden = true; settingsButton.hidden = false; if (restoreFocus) settingsButton.focus(); } acceptButton.addEventListener('click', function acceptAnalytics() { if (banner.hidden) return; writeDecision(accepted); if (window.__incognitoMatomoInitialized) { window._paq.push(['setConsentGiven']); window._paq.push(['trackPageView']); } else { initializeMatomo(); } hideBanner(true); }); declineButton.addEventListener('click', function declineAnalytics() { if (banner.hidden) return; writeDecision(declined); if (window._paq) { window._paq.push(['forgetConsentGiven']); window._paq.push(['deleteCookies']); } hideBanner(true); }); settingsButton.addEventListener('click', function openPrivacySettings() { showBanner(true); }); document.body.appendChild(banner); document.body.appendChild(settingsButton); var decision = readDecision(); if (decision === accepted) { banner.hidden = true; settingsButton.hidden = false; initializeMatomo(); } else if (decision === declined) { banner.hidden = true; settingsButton.hidden = false; } else { showBanner(false); } })(window, document);