{"version":3,"file":"js/analytics.js","mappings":";;;;;AAAA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA,6CAA6C;AAC7C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,CAAC,E","sources":["webpack://immcon/./src/js/analytics.js"],"sourcesContent":["const GA_MEASUREMENT_ID = 'UA-XXXXXXXXX-X';\r\nlet gtag;\r\n\r\n$(() => {\r\n const respectDoNotTrackHeader = true; // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/DNT\r\n const cookiePreferenceName = 'cookie_consent';\r\n\r\n const hasDoNotTrackHeader = () => {\r\n const doNotTrack = window.navigator.doNotTrack || window.doNotTrack || window.navigator.msDoNotTrack;\r\n return doNotTrack == \"1\" || doNotTrack == \"yes\";\r\n }\r\n\r\n const clearCookies = () => {\r\n const cookies = document.cookie.split(\"; \");\r\n\r\n $.each(cookies, function (i, entry) {\r\n const cookie = entry.split('=');\r\n document.cookie = cookie[0] + \"=;expires=Thu, 01 Jan 1970 00:00:00 GMT\";\r\n });\r\n }\r\n\r\n if (respectDoNotTrackHeader && hasDoNotTrackHeader()) {\r\n clearCookies();\r\n return;\r\n }\r\n\r\n const loadGoogleTagManager = () => {\r\n const url = 'https://www.googletagmanager.com/gtag/js?id=' + GA_MEASUREMENT_ID;\r\n\r\n $.getScript(url, function () {\r\n window.dataLayer = window.dataLayer || [];\r\n gtag = function () {\r\n dataLayer.push(arguments);\r\n }\r\n\r\n gtag('js', new Date());\r\n gtag('config', GA_MEASUREMENT_ID, {\r\n 'transport_type': 'beacon'\r\n });\r\n });\r\n }\r\n\r\n const setCookiePreference = (value, daysValid) => {\r\n const date = new Date;\r\n date.setTime(date.getTime() + 24 * 60 * 60 * 1000 * daysValid);\r\n\r\n const preferenceObj = {\r\n value: value,\r\n expires: date.toGMTString()\r\n };\r\n\r\n window.localStorage.setItem(cookiePreferenceName, JSON.stringify(preferenceObj));\r\n }\r\n\r\n const getCookiePreference = () => {\r\n let storageItem = window.localStorage.getItem(cookiePreferenceName);\r\n let expires = 0;\r\n\r\n if (!storageItem) return false;\r\n\r\n try {\r\n storageItem = JSON.parse(storageItem);\r\n expires = Date.parse(storageItem.expires);\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n\r\n const today = Date.now();\r\n if (expires <= today) return false;\r\n\r\n return storageItem.value;\r\n }\r\n\r\n const initCookieBanner = () => {\r\n const cookieBanner = $('.cookie-banner');\r\n\r\n const hideCookieBanner = (callback) => {\r\n cookieBanner.show().animate({\r\n bottom: '-250px',\r\n opacity: 0\r\n },\r\n 250,\r\n 'swing',\r\n function () {\r\n $(this).hide();\r\n if (callback) callback();\r\n }\r\n );\r\n }\r\n\r\n // Check if cookie exists and show banner if not\r\n if (!getCookiePreference()) {\r\n clearCookies();\r\n setTimeout(function () {\r\n cookieBanner.show().animate({\r\n bottom: '0',\r\n opacity: 1\r\n }, 250);\r\n }, 500);\r\n } else if (getCookiePreference() == 'accepted') {\r\n //loadGoogleTagManager();\r\n }\r\n\r\n // Cookie Accepted\r\n cookieBanner.find('.btn.accept').on('click', function () {\r\n setCookiePreference('accepted', 365);\r\n hideCookieBanner();\r\n //loadGoogleTagManager();\r\n initCookieConsentUpdate();\r\n });\r\n\r\n // Cookie Declined\r\n cookieBanner.find('.btn.decline').on('click', function () {\r\n clearCookies();\r\n setCookiePreference('declined', 365);\r\n hideCookieBanner(function () {\r\n window.location.reload();\r\n });\r\n initCookieConsentUpdate();\r\n });\r\n\r\n // Banner Close\r\n cookieBanner.find('button.close').on('click', function () {\r\n hideCookieBanner();\r\n });\r\n }\r\n\r\n const initCookieConsentUpdate = () => {\r\n const wrapper = $('.update-cookie-consent');\r\n if (!wrapper.length) return;\r\n\r\n const cookieAcceptedEl = wrapper.find('.cookies-accepted');\r\n const cookieDeclinedEl = wrapper.find('.cookies-declined');\r\n const consent = getCookiePreference(cookiePreferenceName);\r\n\r\n cookieAcceptedEl.addClass('d-none');\r\n cookieDeclinedEl.addClass('d-none');\r\n\r\n if (consent == 'accepted') {\r\n wrapper.removeClass('d-none');\r\n cookieAcceptedEl.removeClass('d-none');\r\n } else if (consent == 'declined') {\r\n wrapper.removeClass('d-none');\r\n cookieDeclinedEl.removeClass('d-none');\r\n }\r\n\r\n wrapper.find('.btn.decline-cookies').on('click', function () {\r\n clearCookies();\r\n setCookiePreference('declined', 365);\r\n location.reload();\r\n });\r\n\r\n wrapper.find('.btn.accept-cookies').on('click', function () {\r\n setCookiePreference('accepted', 365);\r\n location.reload();\r\n });\r\n }\r\n\r\n initCookieBanner();\r\n initCookieConsentUpdate();\r\n});"],"names":[],"sourceRoot":""}