// ATM Build: 8vF0JfzMW "use strict"; var adnMeta = adnMeta || {}; var adn = adn || {}; adn.calls = adn.calls || []; var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; window.atm = window.atm || {}; atm.queue = atm.queue || []; atm.events = atm.events || {}; atm.data = atm.data || {}; atm.transitData; atm.browser = atm.browser || {}; atm.ads = atm.ads || {}; atm.ortb2 = atm.ortb2 || {}; atm.containers = atm.containers || {}; atm.containerFunctions = atm.containerFunctions || {}; atm.GLOBALS = atm.GLOBALS || {}; atm.haltedTags = atm.haltedTags || []; atm.adUnits = atm.adUnits || []; atm.adUnitAliases = atm.adUnitAliases || []; atm.prebid = atm.prebid || { units: [], mappedUnits: {}, aliases: [], map: {} }; atm.eventList = ['consent.change', 'consent.saved', 'event',]; try { (function (atm, adn, doc, win) { var CONTAINER_ID = '-kv20mjld'; atm.containerFunctions[CONTAINER_ID] = atm.containerFunctions[CONTAINER_ID] || {} "use strict"; atm.cookie = (function () { var pairs = document.cookie.split(";"); var cookies = {}; for (var i = 0; i < pairs.length; i++) { var pair = pairs[i].split("="); cookies[(pair[0] + '').trim()] = unescape(pair.slice(1).join('=')); } return cookies; })(); atm.localStorage = (function () { var values = {}; var keys = Object.keys(localStorage); for (var i = 0; i < keys.length; i++) { try { values[keys[i]] = JSON.parse(localStorage[keys[i]]); } catch (e) { values[keys[i]] = localStorage[keys[i]]; } } return values; })(); atm.browser = window.location; atm.browser.consent = (localStorage.getItem('adn-consent') || localStorage.getItem('atm-consent')) ? JSON.parse(localStorage.getItem('adn-consent') || localStorage.getItem('atm-consent')) : { time: new Date().getTime(), tc: false, given: false, purposes: [], specialFeatures: [], vendors: [], legIntPurposes: [], adnuntiusPurposes: [], stack: false, }; atm.browser.consent.timeSinceConsent = new Date().getTime() - atm.browser.consent.time; atm.page = atm.page || {}; atm.page.meta = (function () { var metaObject = {}; var metaData = document.getElementsByTagName("meta"); var metaDataArray = [].slice.call(metaData); metaDataArray.forEach(meta => { var name = meta.name || meta.getAttribute('property') || meta.getAttribute('http-equiv'); if (name) metaObject[name] = meta.content; }); return metaObject; })(); atm.containers[CONTAINER_ID] = { "id": "-kv20mjld", "data": { "geo": false, "gdpr": false, "cssAdd": true, "position": "overlay", "cssOverride": true, "gdprChoiceButton": true }, "prebid": { "loadPrebidJs": false, "units": {}, "map": {}, "analytics": false, "requester": { "system": "adnuntius" }, "aliases": [] }, "tagType": "legacy", "cmp": { "layout": "messageBox", "enabled": true, "adnuntius": true, "editButton": true, "reloadTime": 180, "languageCode": "YQPGnULMY", "pageviewTrigger": true }, "templates": { "messageBox": "\n
\n
\n {{title}}\n
\n
\n

{{text}}

\n
\n
\n \n \n
\n
\n ", "overlay": "\n
\n
\n
\n
\n ", "settings": "\n
\n {{title}}\n {{text}}\n
\n
\n {{adnuntiusPurposes}}\n {{purposesList}}\n {{specialFeaturesList}}\n
\n
\n \n \n \n {{tcfButtons}}\n
\n ", "listItem": "\n
\n
\n

{{purposeTitle}}

\n

{{purposeText}}

\n
\n \n
\n ", "vendorList": "\n
\n {{title}}\n
\n
\n {{list}}\n
\n
\n \n \n \n
\n ", "editButton": "\n
\n {{title}}\n
\n " }, "variables": [], "variableMap": {}, "tags": { "F-dix3857": { "purposes": [ "mLZSM_gsS" ], "type": "kilkaya", "content": { "kilkayaId": "60ae49163984713a036f5c02" } }, "odLXUgpS9": { "purposes": [ "A9RJuENXb" ], "type": "adnuntiusData", "content": { "folderId": "0000000000293d6b" } } } } try { } catch (e) { throw new Error('Custom variables are not valid') } "use strict"; atm.log = function (type, message, ctx) { var makeBlock = function (color) { return 'background: ' + color + '; padding: 2px 10px; border-radius: 2px; color: rgba(0,0,0,.7); border-bottom: 1px solid rgba(0,0,0,.3);border-top: 1px solid rgba(255,255,255,.6);margin-left: 5px;'; }; var logType = 'log'; var eventType = ''; var color = '#79e1ec'; if (type == 'warn' || type == 'error') { logType = type; } else { eventType = '%c' + type; } switch (type) { case 'event': color = "#0aff82"; break; case 'tag': color = "#ee49d1"; break; case 'consent': color = "#af83ff"; break; } console[logType]('%cATM' + eventType, makeBlock("#00e6ff"), (eventType != '') ? makeBlock(color) : '', message || '', ctx || ''); }; atm.debug = function (type, message, ctx) { if (win.location.search.indexOf('atm_debug') > -1) { atm.log(type, message, ctx); } }; "use strict"; atm.utils = { createUuid: function () { var dt = new Date().getTime(); var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = (dt + Math.random() * 16) % 16 | 0; dt = Math.floor(dt / 16); return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16); }); return uuid; }, getCookie: function (cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; }, replaceTags: function (str, tags) { var tagNames = Object.keys(tags); for (var i = 0; i < tagNames.length; i++) { var tag = tagNames[i]; var pattern = "{{" + tag + "}}"; str = str.replace(new RegExp(pattern, "g"), tags[tag]); } return str; }, replaceTag: function (str, search, replace) { return str.replace(new RegExp(search, 'g'), replace); }, remove: function (target) { var removeElement = target || 'adn-overlay'; atm.utils.forEachClass(removeElement, function (el) { el.remove(); }); }, addScript: function (src, targetId, fn, options) { var script = doc.createElement("script"); script.type = "text/javascript"; script.src = src; if (options && options.async) script.async = true; if (options && options.defer) script.defer = true; if (options && options.type) script.type = options.type; if (options && options.nomodule) script.noModule = true; if (script.readyState) { // only required for IE <9 script.onreadystatechange = function () { if (script.readyState === "loaded" || script.readyState === "complete") { script.onreadystatechange = null; fn(); } }; } else { //Others script.onload = function () { if (fn) fn(); }; } if (targetId) doc.getElementById(targetId).appendChild(script); else doc.getElementsByTagName("head")[0].appendChild(script); }, addImage: function (src, width, height) { var img = doc.createElement('img'); img.src = src; if (width) img.width = width; if (height) img.height = height; doc.getElementsByTagName('body')[0].appendChild(img); }, addContent: function (content, targetId) { var node = doc.createElement("DIV"); node.innerHTML = content; if (targetId) { var target = doc.getElementById(targetId); target.innerHTML = ''; target.appendChild(node); } else doc.getElementsByTagName("body")[0].appendChild(node); }, addCss: function (url) { var link = doc.createElement("link"); link.href = url; link.type = "text/css"; link.rel = "stylesheet"; doc.getElementsByTagName("head")[0].appendChild(link); }, addCssString: function (string) { var css = string, head = doc.head || doc.getElementsByTagName('head')[0], style = doc.createElement('style'); head.appendChild(style); style.type = 'text/css'; if (style.styleSheet) { style.styleSheet.cssText = css; } else { style.appendChild(doc.createTextNode(css)); } }, forEachClass: function (classname, func) { var els = doc.getElementsByClassName(classname); for (var i = 0; i < els.length; i++) { func(els[i]); } }, forEachTag: function (tagName, func) { var els = doc.getElementsByTagName(tagName); for (var i = 0; i < els.length; i++) { func(els[i]); } }, merge: function (obj, src) { for (var key in src) { if (src.hasOwnProperty(key)) obj[key] = src[key]; } return obj; }, isObject: function (item) { return (item && typeof item === 'object' && !Array.isArray(item)); }, mergeDeep: function (target, source) { if (atm.utils.isObject(target) && atm.utils.isObject(source)) { for (const key in source) { if (atm.utils.isObject(source[key])) { if (!target[key]) Object.assign(target, { [key]: {} }); atm.utils.mergeDeep(target[key], source[key]); } else { Object.assign(target, { [key]: source[key] }); } } } return target; }, flatten: function (obj) { var returnObj = []; for (var key in obj) { returnObj.push(obj[key]); } return returnObj; }, findInArray: function (src, arr) { return arr.some(function (v) { return src.indexOf(v) >= 0; }); }, requestGAM: function (arr) { window.googletag.cmd.push(function () { for (let i = 0; i < arr.length; i++) { if (atm.prebidGoogle && atm.prebidGoogle[arr[i]]) { atm.prebidGoogle[arr[i]](); } } googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); }, runTags: function (localContainerId, tagArray) { if (tagArray != undefined) { for (var i = 0; i < tagArray.length; i++) { try { var tagId = tagArray[i]; var tag = atm.containers[localContainerId].tags[tagId]; var runable = true; if (atm.GLOBALS.haltTriggers && tag.purposes) { if (tag.purposes.length > 0 && !atm.utils.findInArray(atm.GLOBALS.forcedPurposes, tag.purposes)) { runable = false; atm.haltedTags.push(tagId); } } else { if (tag.purposes && tag.purposes.length > 0 && !atm.utils.findInArray(atm.browser.consent.adnuntiusPurposes, tag.purposes)) { runable = false; } } if (runable) { atm.debug('tag', 'Running tag: ' + tagId + ' in container: ' + localContainerId); atm.containerFunctions[localContainerId][tag.type](tag.content); if (atm.eventList.indexOf('tags.' + tagId) != -1) atm.dispatch('tags.' + tagId); } } catch (e) { atm.log('error', e, ': Tag: ' + tag); } } } }, runTriggers: function (container, type) { atm.containers[container].triggers[type].forEach(function (fn) { fn(); }); }, clickElement: function (data) { if (atm.triggers.click) atm.triggers.click(data); }, toggleClass: function (element, className) { if (element.classList) { element.classList.toggle(className); } else { var classes = element.className.split(" "); var i = classes.indexOf(className); if (i >= 0) classes.splice(i, 1); else classes.push(className); element.className = classes.join(" "); } }, newAjax: function (method, url, func) { if (win.XDomainRequest) { // if XDomainRequest is defined and not IE10 if (win.navigator.appVersion.indexOf("MSIE 10") === -1) { var ajaxIe = new win.XDomainRequest(); ajaxIe.open(method, url); ajaxIe.contentType = "text/plain"; ajaxIe.onerror = function () { }; ajaxIe.ontimeout = function () { }; ajaxIe.onprogress = function () { }; ajaxIe.timeout = function () { }; ajaxIe.onload = function () { }; ajaxIe.onload = func; return ajaxIe; } } var ajax = new XMLHttpRequest(); ajax.open(method, url); ajax.setRequestHeader("Content-Type", "text/plain"); if (func && typeof func === "function") { ajax.onreadystatechange = func; } ajax.onerror = function (e) { console.log(e); }; return ajax; }, ajax: function (method, url, func) { var ajax = atm.utils.newAjax(method, url, function () { if (ajax.readyState && ajax.readyState !== 4) { return false; } if (!ajax.status || ajax.status === 200) { if (func && typeof func === "function") { func(JSON.parse(ajax.response)); } else { atm.log('error', 'Ajax function is not a function'); } } else { atm.log('error', 'Request to URL: ' + url + ' got status ' + ajax.status); } }); ajax.send(); }, }; atm.privacy = atm.privacy || { "layout": "messageBox", "enabled": true, "adnuntius": true, "editButton": true, "reloadTime": 180, "languageCode": "YQPGnULMY", "pageviewTrigger": true, "availablePurposes": { "adnuntiusPurposes": [ "94yMlt7Lp", "L41UstbaB", "mLZSM_gsS" ], "tcfPurposes": [], "tcfSpecialFeatures": [] }, "texts": { "back": "Back", "save": "Save", "title": "Your Privacy Choices", "accept": "Accept", "legInt": "Legitimate Interest", "details": "Details", "message": "This website uses cookies and other tracking mechanisms to collect information about what you do on our website. We do this to provide relevant ads, to personalize content, and for analysis purposes. You can manage your permissions for this data collection under Settings. You can also read more in our privacy policy. ", "partners": "Partners", "purposes": { "94yMlt7Lp": { "text": "Cookies to collect data about the usage of this website, to understand aggregated user behaviour. Examples include number of visitors and which pages are the most visited.", "title": "Analysis" }, "A9RJuENXb": { "text": "Cookies to serve relevant advertising, based on information on this and other websites. ", "title": "Targeted advertising" }, "L41UstbaB": { "text": "Cookies to remember what you have read and chosen, to suggest content tailored to your interests. ", "title": "Personalization" }, "mLZSM_gsS": { "text": "Cookies to ensure that the website functions correctly, such as supporting form submission and customer login.", "title": "Necessary" }, "yef72Nps0": { "text": "", "title": "" } }, "settings": "Settings", "acceptAll": "Accept All", "rejectAll": "Reject All", "editButton": "Edit" }, "purposeText": [], "specialFeaturesText": [], "adnuntiusPurposesTexts": [ { "id": "mLZSM_gsS", "index": "1", "externalId": false, "adnuntiusPurpose": "", "name": "Necessary", "description": "Cookies to ensure that the website functions correctly, such as supporting form submission and customer login.", "forced": true }, { "id": "94yMlt7Lp", "index": "2", "externalId": false, "adnuntiusPurpose": "- Select Purpose -", "name": "Analysis", "description": "Cookies to collect data about the usage of this website, to understand aggregated user behaviour. Examples include number of visitors and which pages are the most visited.", "forced": false }, { "id": "L41UstbaB", "index": "3", "externalId": false, "adnuntiusPurpose": "", "name": "Personalization", "description": "Cookies to remember what you have read and chosen, to suggest content tailored to your interests. ", "forced": false } ], "mappedExternalId": {} }; "use strict"; atm.createPrebidRequest = function (request) { var prebidUnits = []; request.adUnits.forEach(function (adUnit) { var prebidMappedKey = Object.keys(atm.prebid.map).find(auId => auId.includes(adUnit.auId)); var prebidId = atm.prebid.map[prebidMappedKey]; if (prebidId && atm.prebid.mappedUnits[prebidId]) { prebidUnits.push(atm.prebid.mappedUnits[prebidId]); } }); return prebidUnits; }; atm.requestAds = function (request) { if (atm.prebid.aliases.length > 0) { for (let i = 0; i < atm.prebid.aliases.length; i++) { const element = atm.prebid.aliases[i]; window.pbjs.que.push(function () { pbjs.aliasBidder(element[1], [element[0]]); }); } } if (atm.prebid.map) { if (request.adUnits) { for (let i = 0; i < request.adUnits.length; i++) { var adUnit = request.adUnits[i]; if (adUnit.refresh) { adUnit = atm.ads.setPrebidRefresh(adUnit, request); } } } adn.calls.push(function () { adn.chbRequest(atm.createPrebidRequest(request), request); }); } else { adn.calls.push(function () { adn.request(request); }); } }; atm.request = atm.request || {}; atm.request.adnuntius = function (callback) { adn.calls.push(function () { adn.request({ adUnits: atm.ads.setAdnuntius(atm.adUnits, callback), }); }); }; atm.request.prebid = function (callback) { pbjs.que.push(function () { pbjs.addAdUnits(atm.adUnits); pbjs.requestBids({ ortb2: atm.ortb2, bidsBackHandler: function (data) { if (callback) { callback(data); } else atm.ads.renderPrebidWinners(); }, timeout: 3000 }); }); }; atm.request.refresh = function (auId) { }; adn.requestAds = atm.requestAds; "use strict"; atm.ads.adUnitMeta = atm.ads.adUnitMeta || {}; atm.addAdUnits = function (adUnitList) { atm.utils.merge(atm.adUnits, adUnitList); }; atm.clearAdUnits = function () { atm.adUnits = []; }; atm.removeAdUnitByCodeArray = function (codeArray) { for (let i = 0; i < codeArray.length; i++) { atm.removeAdUnitByCode(codeArray[i]); } }; atm.removeAdUnitByCode = function (code) { for (let i = 0; i < atm.adUnits.length; i++) { if (atm.adUnits[i].code == code) { atm.adUnits.splice(i, 1); break; } } }; atm.addOrtb = function (ortbData) { atm.ortb2 = atm.utils.mergeDeep(atm.ortb2, ortbData); }; atm.addAlias = function (aliasList) { atm.adUnitAliases = atm.adUnitAliases.concat(aliasList); }; atm.prebid.mappedUnits = atm.utils.merge(atm.prebid.mappedUnits, atm.containers[CONTAINER_ID].prebid.units); atm.prebid.units = atm.utils.merge(atm.prebid.units, atm.utils.flatten(atm.containers[CONTAINER_ID].prebid.units)); atm.prebid.aliases = atm.prebid.aliases.concat(atm.containers[CONTAINER_ID].prebid.aliases); atm.prebid.map = atm.utils.merge(atm.prebid.map, atm.containers[CONTAINER_ID].prebid.map); atm.ads.onCallDone = function (matched, callback) { atm.removeAdUnitByCodeArray(matched); if (callback) callback(); }; atm.ads.renderPrebidWinners = function () { var bids = pbjs.getHighestCpmBids(); var output = []; for (var i = 0; i < bids.length; i++) { var b = bids[i]; var iframe = document.createElement('iframe'); iframe.id = b.adId; iframe.width = b.width; iframe.height = b.height; iframe.frameBorder = 'no'; var target = document.getElementById(b.adUnitCode); target.style.display = 'block'; output.push({ 'adunit': b.adUnitCode, 'adId': b.adId, 'bidder': b.bidder, 'time': b.timeToRespond, 'cpm': b.cpm }); var tag = { adServerDomain: "", pubUrl: window.location.href, targetingMap: {}, hbPb: "adnuntius", adId: b.adId }; target.appendChild(iframe); ucTag.renderAd(iframe.contentWindow.document, tag); } if (output.length) { if (console.table) { console.table(output); } else { for (var j = 0; j < output.length; j++) { console.log(output[j]); } } } else { console.warn('No prebid winners'); } }; atm.ads.setAdnuntius = function (adUnits, callback) { var mappedAliases = {}; var adnAdUnitArray = []; var matchedAds = []; var totalAds = []; var removefromTotal = function (adUnit) { var position = totalAds.indexOf(adUnit.targetId); totalAds.splice(position, 1); if (totalAds.length == 0) { atm.ads.onCallDone(matchedAds, callback); } }; atm.adUnitAliases.forEach(function (aliasItem) { mappedAliases[aliasItem.alias] = aliasItem.bidder; }); adUnits.forEach((adUnit) => { totalAds.push(adUnit.code); adUnit.bids.forEach(function (bid) { if (bid.bidder == "adnuntius" || mappedAliases[bid.bidder] == "adnuntius") { var adnAdunit = { auId: bid.params.auId, targetId: adUnit.code, onNoMatchedAds: function (data) { removefromTotal(data); }, onImpressionResponse: function (data) { matchedAds.push(data.targetId); removefromTotal(data); }, }; if (adUnit.mediaTypes && adUnit.mediaTypes.banner && adUnit.mediaTypes.banner.sizes) adnAdunit.dimensions = adUnit.mediaTypes.banner.sizes; if (bid.params.targeting) { console.log(bid.params.targeting); } adnAdUnitArray.push(adnAdunit); } }); }); return adnAdUnitArray; }; atm.ads.setInterval = function (auId, request) { if (!atm.ads.adUnitMeta[auId].interval) { atm.ads.adUnitMeta[auId].interval = setInterval(function () { if (atm.ads.adUnitMeta[auId].refresh.count != 0) { adn.calls.push(function () { adn.chbRequest(atm.createPrebidRequest(request), request); }); atm.ads.adUnitMeta[auId].refresh.count--; } else { clearInterval(atm.ads.adUnitMeta[auId].interval); } }, atm.ads.adUnitMeta[auId].refresh.delay * 1000); } }; atm.ads.setPrebidRefresh = function (adUnit, request) { var singleAdUnitRequest = Object.assign({}, request); delete singleAdUnitRequest.headerBids; var targetId = (adUnit.targetId) ? ':' + adUnit.targetId : ''; var auId = adUnit.auId + targetId; var refresh = adUnit.refresh; if (refresh.count) refresh.count = refresh.count || 999; else { refresh = { delay: adUnit.refresh, count: 999, }; } var event = refresh.event || 'onViewable'; if (event != 'onViewable' && event != "onVisible") throw new Error('refresh event needs to be "onViewable" or "onVisible"'); delete adUnit.refresh; adUnit.clearTarget = true; atm.ads.adUnitMeta[auId] = atm.ads.adUnitMeta[auId] || {}; atm.ads.adUnitMeta[auId].refresh = refresh; atm.ads.adUnitMeta[auId].refreshFunction = function () { singleAdUnitRequest.adUnits = [adUnit]; atm.ads.setInterval(auId, singleAdUnitRequest); }; adUnit[event] = atm.ads.adUnitMeta[auId].refreshFunction; return adUnit; }; "use strict"; atm.addListener = function (name, callback) { if (atm.eventList.indexOf(name) == -1) { atm.eventList.push(name); atm.events[name] = new CustomEvent(name, { bubbles: true }); } document.addEventListener(name, function () { if (callback) callback(atm.transitData); }); }; atm.dispatch = function (name, data) { atm.debug(name, data); atm.transitData = data; document.dispatchEvent(atm.events[name]); }; "use strict"; atm.containerFunctions[CONTAINER_ID].kilkaya = function (data) { try { atm.utils.addScript("https://cl.k5a.io/" + data.kilkayaId + ".module.js", false, false, { type: "module" }); atm.utils.addScript("https://cl.k5a.io/" + data.kilkayaId + ".nomodule.js", false, false, { defer: true, nomodule: true }); } catch (e) { atm.log('error', 'Kilkaya Script ' + e.message); } }; "use strict"; atm.containerFunctions[CONTAINER_ID].adnuntiusData = function (tag) { atm.utils.addScript("https://cdn.adnuntius.com/adn.js"); window.adn = window.adn || {}; adn.calls = adn.calls || []; adn.calls.push(function () { adn.view(tag.folderId, { keywords: tag.keywords || [], categories: tag.categories || [], domainName: atm.browser.hostname }); }); }; atm.addListener("pageview.-kv20mjld", function(eventData){ if( (true) ) atm.utils.runTags('-kv20mjld', ["F-dix3857","odLXUgpS9"]) }); "use strict"; atm.consent = { host: (window.location.hostname == 'http://localhost') ? "http://localhost:4001/staging" : 'https://consent.adnuntius.com/v2', checkIfAllTrue: function () { var checked = []; atm.utils.forEachClass('adn-switch', function (el) { checked.push(el.checked); }); return checked.every(function (value) { return value == true; }); }, setAll: function (value, scope) { atm.debug('consent', 'Set all: ' + value + ' ' + scope || ''); var valueSet = { adnuntiusPurposes: (value) ? atm.privacy.availablePurposes.adnuntiusPurposes : [], purposes: (value) ? atm.privacy.availablePurposes.tcfPurposes : [], vendors: (value) ? ['all'] : [], legIntPurposes: (value) ? ['all'] : [], specialFeatures: (value) ? atm.privacy.availablePurposes.tcfSpecialFeatures : [], }; if (!scope) { if (atm.containers[CONTAINER_ID].cmp.adnuntius) { atm.browser.consent.adnuntiusPurposes = valueSet.adnuntiusPurposes; } if (atm.containers[CONTAINER_ID].cmp.tcf) { atm.browser.consent.purposes = valueSet.purposes; atm.browser.consent.specialFeatures = valueSet.specialFeatures; atm.browser.consent.vendors = valueSet.vendors; atm.browser.consent.legIntPurposes = valueSet.legIntPurposes; } } else { atm.browser.consent[scope] = valueSet[scope]; } atm.utils.forEachClass('adn-switch', function (el) { if (!el.disabled) el.checked = value; }); return this; }, save: function () { atm.browser.consent.time = new Date().getTime(); atm.browser.consent.created = atm.browser.consent.created || Math.round(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate()) / 100); atm.browser.consent.given = true; atm.browser.consent.adnConsents = []; for (var i = 0; i < atm.privacy.adnuntiusPurposesTexts.length; i++) { var purpose = atm.privacy.adnuntiusPurposesTexts[i]; if (purpose.forced && atm.browser.consent.adnuntiusPurposes.indexOf(purpose.id) == -1) { atm.browser.consent.adnuntiusPurposes.push(purpose.id); atm.browser.consent.namedConsent = atm.browser.consent.namedConsent || []; if (!atm.browser.consent.namedConsent.indexOf(atm.privacy.mappedExternalId[purpose.id]) == -1) { atm.browser.consent.namedConsent.push(atm.privacy.mappedExternalId[purpose.id]); } } if (atm.browser.consent.adnuntiusPurposes.indexOf(purpose.id) != -1) { if (purpose.adnuntiusPurpose != '') atm.browser.consent.adnConsents.push(purpose.adnuntiusPurpose); } } atm.utils.remove('adn-overlay'); atm.utils.remove('adn-message'); localStorage.setItem('adn-consent', JSON.stringify(atm.browser.consent)); if (atm.containers[CONTAINER_ID].cmp.tcf) { var ajax = atm.utils.newAjax("POST", atm.consent.host, function () { if (ajax.readyState && ajax.readyState !== 4) { return false; } if (!ajax.status || ajax.status === 200) { var response = JSON.parse(ajax.response); if (response.token) { var d = new Date(); d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = "euconsent-v2=" + response.token + "; path=/; " + expires; atm.browser.consent.tc = response.token; localStorage.setItem('adn-consent', JSON.stringify(atm.browser.consent)); } } }); ajax.send(JSON.stringify(atm.browser.consent)); } if (atm.browser.consent.adnConsents && atm.browser.consent.adnConsents.length > 0) { win.localStorage.setItem('atm.consent', JSON.stringify(atm.browser.consent.adnConsents)); } if (atm.callbacks && atm.callbacks.consentSave) { atm.callbacks.consentSave(atm.browser.consent); } atm.debug('consent', 'Saved', atm.browser.consent); if (atm.GLOBALS.haltTriggers) { atm.GLOBALS.haltTriggers = false; atm.utils.runTags(CONTAINER_ID, atm.haltedTags); } return this; }, getConsent: function () { return atm.browser.consent; }, saveAll: function (value) { this.setAll(value); this.save(); }, checkConsent: function (consents) { var consented = true; for (var i = 0; i < consents.length; i++) { var consent = consents[i]; if (atm.browser.consent.adnuntiusPurposes.indexOf(consent) == -1) consented = false; } return consented; }, update: function (scope, id, value) { if ((scope == 'vendors' && atm.browser.consent.vendors[0] == 'all') || (scope == 'legIntPurposes' && atm.browser.consent.legIntPurposes[0] == 'all')) { atm.browser.consent[scope] = []; for (var i = 0; i < atm.privacy[scope].length; i++) { var vendor = atm.privacy[scope][i]; if (vendor.id && vendor.id != id) atm.browser.consent[scope].push(vendor.id); } } var currentId = (isNaN(Number(id))) ? id : Number(id); if (value == false) { var index = atm.browser.consent[scope].indexOf(currentId); if (index > -1) { atm.browser.consent[scope].splice(index, 1); } } else { atm.browser.consent[scope].push(currentId); } var checkAllElement = document.getElementById('adn-purposes-all'); if (checkAllElement) checkAllElement.checked = atm.consent.checkIfAllTrue(); }, fetchVendorList: function (fn) { // Might have to check TCF var ajax = atm.utils.newAjax("GET", "https://t.atmng.io/consent/vendorlist.json", function () { if (ajax.readyState && ajax.readyState !== 4) { return false; } if (!ajax.status || ajax.status === 200) { fn(JSON.parse(ajax.response)); } }); ajax.send(); }, init: function (type, forced) { if (atm.containers[CONTAINER_ID].cmp.tcf) atm.consent.fetchVendorList(function (vendorList) { atm.privacy.vendorList = vendorList; var vendors = Object.keys(atm.privacy.vendorList.vendors).map(function (e) { return atm.privacy.vendorList.vendors[e]; }); atm.privacy.vendors = vendors; atm.privacy.legIntPurposes = atm.privacy.vendors.filter(function (vendor) { return vendor.legIntPurposes.length > 0; }); }); var mismatch = false; var defaultConsent = (atm.privacy.purposeText.length > 0) ? atm.privacy.purposeText : (atm.privacy.adnuntiusPurposesTexts.length > 0) ? atm.privacy.adnuntiusPurposesTexts : (atm.privacy.specialFeaturesText.lenght > 0) ? atm.privacy.specialFeaturesText : []; if (defaultConsent.length > 0) { var userConsent = atm.browser.consent.purposes; for (var i = 0; i < defaultConsent.length; i++) { var category = defaultConsent[i]; if (userConsent.indexOf(category) == -1) mismatch = true; } if (defaultConsent.length != userConsent.length) mismatch = true; if ((!atm.browser.consent.given || forced || mismatch) && !document.getElementById('adn-overlay')) { if (type == 'overlay') { atm.consent.render['settings']('adn-overlay', 'overlay'); } if (type == 'settings') { atm.consent.render['settings']('adn-overlay', 'settings'); } if (type == 'messageBox') { atm.consent.render.messageBox(); } } } }, render: { text: function (userConsent, text, scope) { var extraInfo = text.descriptionLegal || text.info; var purposeText = '
' + '

' + text.description + '

'; purposeText += (extraInfo) ? '' + '
' + '

' + extraInfo.replace(/\*/g, '
*') + '

' + '
' : ''; purposeText += '
'; return atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.listItem, { itemId: text.id, purposeTitle: text.name, purposeText: purposeText, listType: scope, checked: (userConsent.indexOf(text.id) > -1 || text.forced) ? 'checked' : '', forced: (text.forced) ? 'disabled' : '' }); }, purposes: function () { var userConsent = atm.browser.consent.purposes || []; var purposes = []; for (var i = 0; i < atm.privacy.purposeText.length; i++) { var purpose = atm.privacy.purposeText[i]; purposes.push(atm.consent.render.text(userConsent, purpose, 'purposes')); } return purposes.join(''); }, specialFeatures: function () { var userConsent = atm.browser.consent.specialFeatures || []; var specialFeatures = []; for (var i = 0; i < atm.privacy.specialFeaturesText.length; i++) { var purpose = atm.privacy.specialFeaturesText[i]; specialFeatures.push(atm.consent.render.text(userConsent, purpose, 'specialFeatures')); } return specialFeatures.join(''); }, adnuntiusPurposes: function () { var userConsent = atm.browser.consent.adnuntiusPurposes || []; var purposes = []; for (var i = 0; i < atm.privacy.adnuntiusPurposesTexts.length; i++) { var purpose = atm.privacy.adnuntiusPurposesTexts[i]; purposes.push(atm.consent.render.text(userConsent, purpose, 'adnuntiusPurposes')); } return purposes.join(''); }, settings: function (target, type) { atm.utils.remove('adn-message'); if (!doc.getElementById('adn-overlay')) atm.consent.render.overlay(); var title, text = ''; if (type == 'settings') { title = '' + atm.privacy.texts.settings + ''; text = ''; } else { title = '

' + atm.privacy.texts.title + '

'; text = '

' + atm.privacy.texts.message + '

'; } var tcfButtons = (atm.containers[CONTAINER_ID].cmp.tcf) ? '' + '' : ''; atm.utils.addContent(atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.settings, { title: title, text: text, save: atm.privacy.texts.save, adnuntiusPurposes: (atm.containers[CONTAINER_ID].cmp.adnuntius) ? atm.consent.render.adnuntiusPurposes : '', purposesList: (atm.containers[CONTAINER_ID].cmp.tcf) ? atm.consent.render.purposes : '', specialFeaturesList: (atm.containers[CONTAINER_ID].cmp.tcf) ? atm.consent.render.specialFeatures : '', partners: atm.privacy.texts.partners, acceptAll: atm.privacy.texts.acceptAll, rejectAll: atm.privacy.texts.rejectAll, tcfButtons: tcfButtons }), target || false); var checkAllElement = document.getElementById('adn-purposes-all'); if (checkAllElement) checkAllElement.checked = atm.consent.checkIfAllTrue(); }, overlay: function (target) { atm.utils.addContent(atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.overlay, {}), target || false); }, messageBox: function () { return atm.utils.addContent(atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.messageBox, { title: atm.privacy.texts.title, text: atm.privacy.texts.message, settings: atm.privacy.texts.settings, accept: atm.privacy.texts.accept, })); }, vendorList: function (target, type) { var userConsent = atm.browser.consent[type]; var checked = (atm.browser.consent[type][0] == 'all') ? true : false; var vendors = []; for (var i = 0; i < atm.privacy[type].length; i++) { var vendor = atm.privacy[type][i]; var presentText = ''; var featureText = ''; var information = (type == "vendors") ? 'purposes' : 'legIntPurposes'; for (var j = 0; j < vendor[information].length; j++) { var infoNumber = vendor[information][j]; var purposeItem = atm.privacy.vendorList.purposes[infoNumber]; presentText += '

' + purposeItem.name + '

'; presentText += '

' + purposeItem.description + '

'; } for (var j = 0; j < vendor.features.length; j++) { var feature = vendor.features[j]; var featureItem = atm.privacy.vendorList.features[feature]; featureText += '

' + featureItem.name + '

'; featureText += '

' + featureItem.description + '

'; } var vendorText = '
' + '' + '
' + '' + vendor.policyUrl + '' + '

Purposes

' + presentText + '

Features

' + featureText + '
' + '
'; vendors.push(atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.listItem, { purposeTitle: vendor.name, purposeText: vendorText, itemId: vendor.id, listType: type, checked: (checked || userConsent.indexOf(vendor.id) > -1) ? 'checked' : '', forced: '' })); } return atm.utils.addContent(atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.vendorList, { title: atm.privacy.texts.partners, acceptAll: atm.privacy.texts.acceptAll, rejectAll: atm.privacy.texts.rejectAll, list: vendors.join(''), listType: type, save: atm.privacy.texts.save, back: atm.privacy.texts.back, }), target || false); }, editButton: function (target) { atm.utils.addContent(atm.utils.replaceTags(atm.containers[CONTAINER_ID].templates.editButton, { title: atm.privacy.texts.editButton, }), target || false); }, } }; if (atm.containers[CONTAINER_ID].cmp != false && !atm.browser.consent.given) { atm.GLOBALS.haltTriggers = true; atm.GLOBALS.forcedPurposes = []; atm.privacy.adnuntiusPurposesTexts.forEach(function (purpose) { if (purpose.forced) atm.GLOBALS.forcedPurposes.push(purpose.id); }); } if (atm.containers[CONTAINER_ID].cmp && atm.containers[CONTAINER_ID].cmp.enabled) { if (!atm.containers[CONTAINER_ID].cmp.removeDefaultCss) atm.utils.addCss('https://t.atmng.io/consent/default.css'); if (atm.containers[CONTAINER_ID].cmp.addCss) atm.utils.addCssString(atm.containers[CONTAINER_ID].cmp.css); } if (!atm.GLOBALS.setPageload) { atm.GLOBALS.setPageload = true; window.addEventListener('load', function () { // atm.event.push({ 'browser': { 'state': 'pageloaded' } }); if (atm.containers[CONTAINER_ID].cmp && atm.containers[CONTAINER_ID].cmp.enabled) { if (atm.containers[CONTAINER_ID].cmp.editButton) atm.consent.render.editButton(); } if (atm.containers[CONTAINER_ID].cmp.pageviewTrigger) { if ((atm.consent && !atm.browser.consent.given) || (atm.browser.consent.given && atm.consent && atm.browser.consent.timeSinceConsent && atm.browser.consent.timeSinceConsent > atm.consent.reloadTime)) { atm.consent.init(atm.containers[CONTAINER_ID].cmp.layout); } } }); } atm.utils.addScript("https://cdn.adnuntius.com/adn.js",false,false,{async:true}); if(atm.containers[CONTAINER_ID].prebid){ if(atm.containers[CONTAINER_ID].prebid.config && atm.containers[CONTAINER_ID].prebid.config.custom){ try { new Function(atm.containers[CONTAINER_ID].prebid.config.custom)(); } catch (e) { atm.log('error', 'Custom prebid script malformed: ' + e.message, 'Custom Prebid') } } if(atm.containers[CONTAINER_ID].prebid.loadPrebidJs){atm.utils.addScript("https://tags.adnuntius.com/pb/prebid.js")} } "use strict"; (function () { var executeQueue = function () { try { var queItem; while (queItem = atm.queue.shift()) { if (typeof queItem == 'function') queItem(); } } catch (e) { atm.log('error', e, 'queue handler'); } }; win.setTimeout(executeQueue, 25); atm.queue.push = function () { Array.prototype.push.apply(this, arguments); win.setTimeout(executeQueue, 1); return this.length; }; executeQueue(); })(); if(document.onreadystatechange) { document.onreadystatechange = () => { if( atm.eventList.indexOf('pageload.' + CONTAINER_ID) != -1){ atm.dispatch('pageload.' + CONTAINER_ID) } } }else { if (document.readyState === "complete") { if( atm.eventList.indexOf('pageload.' + CONTAINER_ID) != -1){ atm.dispatch('pageload.' + CONTAINER_ID) } } else { window.addEventListener("load", function () { if( atm.eventList.indexOf('pageload.' + CONTAINER_ID) != -1){ atm.dispatch('pageload.' + CONTAINER_ID) } }); } }; if (atm.eventList.indexOf('pageview.' + CONTAINER_ID) > -1) atm.dispatch('pageview.' + CONTAINER_ID); })(atm, adn, document, window); } catch (e) { console.log('error', e); }