(function (window, $) { 'use strict'; var STORAGE_KEY = 'cookiesPreferences'; var LEGACY_ACCEPT = 'cookiesAccepted'; var LEGACY_REJECT = 'cookiesRejected'; function setCookie(name, value, days) { var expires = ''; if (typeof days === 'number') { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = ';expires=' + date.toUTCString(); } document.cookie = name + '=' + encodeURIComponent(value) + expires + ';path=/;SameSite=Lax'; } function deleteCookie(name) { document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;SameSite=Lax'; } function getCookie(name) { var prefix = name + '='; var parts = decodeURIComponent(document.cookie).split(';'); for (var i = 0; i < parts.length; i++) { var part = parts[i]; while (part.charAt(0) === ' ') { part = part.substring(1); } if (part.indexOf(prefix) === 0) { return part.substring(prefix.length); } } return ''; } function readPreferences() { var raw = getCookie(STORAGE_KEY); if (raw) { try { var parsed = JSON.parse(raw); if (parsed && typeof parsed === 'object') { return { analytics: !!parsed.analytics, marketing: !!parsed.marketing, set: true }; } } catch (e) { } } if (getCookie(LEGACY_ACCEPT) === 'true') { return { analytics: true, marketing: true, set: true }; } if (getCookie(LEGACY_REJECT) === 'true') { return { analytics: false, marketing: false, set: true }; } return { analytics: false, marketing: false, set: false }; } function writePreferences(prefs, reload) { deleteCookie(LEGACY_ACCEPT); deleteCookie(LEGACY_REJECT); setCookie(STORAGE_KEY, JSON.stringify({ analytics: prefs.analytics ? 1 : 0, marketing: prefs.marketing ? 1 : 0, v: 1 }), 365); if (reload !== false) { window.location.reload(); } } function syncPanel(prefs) { $('#cookiePrefAnalytics').prop('checked', !!prefs.analytics); $('#cookiePrefMarketing').prop('checked', !!prefs.marketing); } function openBanner() { $('#cookieConsent').stop(true, true).fadeIn(200); } function closeBanner() { $('#cookieConsent').stop(true, true).fadeOut(200); $('#cookiePreferencesPanel').addClass('d-none'); } window.ms1CookieConsent = { getPreferences: readPreferences, openManager: function () { syncPanel(readPreferences()); $('#cookiePreferencesPanel').removeClass('d-none'); openBanner(); } }; $(function () { var prefs = readPreferences(); syncPanel(prefs); if (!prefs.set) { openBanner(); } $('#acceptCookies').on('click', function () { writePreferences({ analytics: true, marketing: true }); }); $('#rejectCookies').on('click', function () { writePreferences({ analytics: false, marketing: false }); }); $('#customizeCookies').on('click', function () { $('#cookiePreferencesPanel').removeClass('d-none'); }); $('#saveCookiePreferences').on('click', function () { writePreferences({ analytics: $('#cookiePrefAnalytics').is(':checked'), marketing: $('#cookiePrefMarketing').is(':checked') }); }); $('[data-cookie-manage]').on('click', function (event) { event.preventDefault(); window.ms1CookieConsent.openManager(); }); }); }(window, jQuery));