// ATM Build: uJZEyMIlU "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 = 'gsfxdqhuq'; 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": "gsfxdqhuq", "data": { "geo": false, "gdpr": true, "cssAdd": false, "privacy": { "back": "Tilbake", "save": "Lagre samtykke", "stack": "", "title": "NETTSTEDET BRUKER COOKIES", "accept": "Godta", "legInt": "Leigitimt intresse", "details": "Detaljer", "message": "Vi bruker informasjonskapsler for at du skal få en god brukeropplevelse. Vi samler også inn informasjon om dine bruksmønstre og interesser. Denne informasjonen bruker vi blant annet til å vise annonser som er relevante for deg, samt for analyseformål. Noen av disse informasjonskapslene er fra tredjeparter.\n\nDu velger selv om du vil godta informasjonskapsler eller gjøre egne innstillinger.", "language": "no", "partners": "Partnere", "purposes": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], "settings": "Endre innstillinger", "acceptAll": "Godta", "rejectAll": "Neka allt", "editButton": "Redigera inställningar", "specialFeatures": [ 1, 2 ] }, "position": "messageBox", "cssOverride": true, "gdprTrigger": true, "gdprChoiceButton": true }, "prebid": { "loadPrebidJs": false, "units": { "undefined": { "code": "Batliv.no 1 Toppbanner MO 620x300", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d04" } }, { "bidder": "adform", "params": { "mid": 969710 } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961230", "accountId": "17246" } }, { "bidder": "appnexus", "params": { "placementId": 20977100 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459443", "publisherId": "158847" } } ], "mediaTypes": { "banner": { "sizes": [ [ 320, 50 ] ] } } }, "9WIL_2nV3": { "code": "Batliv.no 2 Netboard Fullbredde DT 700x90-1058x600", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d0d" } }, { "bidder": "adform", "params": { "mid": 969704 } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961236", "accountId": "17246" } }, { "bidder": "appnexus", "params": { "placementId": 20977081 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459437", "publisherId": "158847" } } ], "mediaTypes": { "banner": { "sizes": [ [ 728, 90 ], [ 980, 300 ] ] } } }, "HCOT1Jmx0": { "code": "Batliv.no 2 Netboard Fullbredde MO 620x300", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d16" } }, { "bidder": "adform", "params": { "mid": 969708 } }, { "bidder": "appnexus", "params": { "placementId": 20977093 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459442", "publisherId": "158847" } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961240", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 300, 300 ], [ 320, 250 ], [ 300, 250 ] ] } } }, "o2R1F-yEr": { "code": "Batliv.no 3A Netboard DT 580x300-620x500", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d17" } }, { "bidder": "adform", "params": { "mid": 969703 } }, { "bidder": "appnexus", "params": { "placementId": 20977079 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459316", "publisherId": "158847" } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961234", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 580, 500 ] ] } } }, "UH-eQZy5a": { "code": "Batliv.no 3a Netboard MO 320x50-620x300", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d18" } }, { "bidder": "appnexus", "params": { "placementId": 20977082 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459441", "publisherId": "158847" } }, { "bidder": "adform", "params": { "mid": 969709 } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961238", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 300, 250 ] ] } } }, "AezDgFkce": { "code": "Labrador Surround BL", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d1a" } }, { "bidder": "adform", "params": { "mid": 969705 } }, { "bidder": "appnexus", "params": { "placementId": 20977094 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459438", "publisherId": "158847" } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961242", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 980, 300 ] ] } } }, "7V9oUlDsQ": { "code": "NY Båtliv Medium Rectangle 300x250", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d1d" } }, { "bidder": "adform", "params": { "mid": 969706 } }, { "bidder": "appnexus", "params": { "placementId": 20977095 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459439", "publisherId": "158847" } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961244", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 300, 250 ] ] } } }, "MaU9OrNDe": { "code": "NY Båtliv Half Page 300x600", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d1f" } }, { "bidder": "adform", "params": { "mid": 969702 } }, { "bidder": "appnexus", "params": { "placementId": 20977071 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459315", "publisherId": "158847" } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961230", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 300, 600 ] ] } } }, "E6jKRgeB7": { "code": "NY Båtliv Mobile leaderboard", "bids": [ { "bidder": "adnuntius", "params": { "auId": "d8d20" } }, { "bidder": "adform", "params": { "mid": 969707 } }, { "bidder": "appnexus", "params": { "placementId": 20977078 } }, { "bidder": "pubmatic", "params": { "adSlot": "3459440", "publisherId": "158847" } }, { "bidder": "rubicon", "params": { "siteId": "362278", "zoneId": "1961232", "accountId": "17246" } } ], "mediaTypes": { "banner": { "sizes": [ [ 300, 250 ], [ 320, 250 ] ] } } } }, "map": { "0000000000000627": "9WIL_2nV3", "000000000000062b": "HCOT1Jmx0", "0000000000000635": "o2R1F-yEr", "0000000000000636": "UH-eQZy5a", "00000000000892ec": "AezDgFkce" }, "analytics": false, "requester": { "siteId": "pp3p2p588kj06613", "system": "adnuntius" }, "aliases": [] }, "cmp": { "css": ".adn-window {\n z-index: 100;\n}\n@media screen and (max-width: 800px) {\n .adn-window {\n z-index: 100;\n }\n .adn-footer {\n padding: 15px 10px;\n }\n .adn-content {\n padding: 20px 15px;\n overflow-y: scroll;\n max-height: 265px;\n }\n}", "tcf": true, "addCss": true, "layout": "messageBox", "enabled": true, "adnuntius": true, "reloadTime": 180, "languageCode": "AxD9Jpsju", "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": [ { "type": "", "variable": "adn_kv", "default": "" } ], "variableMap": { "adn_kv": "adn_kv" }, "tags": { "bShRJFg7W": { "purposes": [], "type": "javascriptCustom", "content": { "script": "" } }, "IDUg9b2XQ": { "purposes": [], "type": "javascriptCustom", "content": { "script": "" } }, "hT-zCcaG0": { "purposes": [], "type": "javascriptCustom", "content": { "script": "" } }, "F34ZKKcui": { "purposes": [ "yef72Nps0" ], "type": "javascriptCustom", "content": { "script": "" } }, "fa8oDfE0y": { "purposes": [], "type": "javascriptCustom", "content": { "script": "" } }, "rROkaZTrZ": { "purposes": [ "yef72Nps0" ], "type": "adnuntiusData", "content": { "script": " window.adn = window.adn || {};\n adn.calls = adn.calls || [];\n adn.calls.push(function() {\n adn.view('0000000000293d6b');\n });\n console.log('test');", "folderId": "0000000000293d6b" } }, "Qzog1GkXO": { "purposes": [], "type": "html", "content": { "script": "
\n
\n
\n ANNONSE\n
\n \n
\n
", "target": "#affiliate_watski", "targetId": "affiliate_watski" } }, "SIoaYIoZw": { "purposes": [], "type": "javascript", "content": { "url": "https://www.googletagmanager.com/gtag/js?id=G-YZCWNPGC7F", "id": "SIoaYIoZw" } }, "v20wQ1PMQ": { "purposes": [], "type": "javascriptCustom", "content": { "url": "", "script": "" } }, "gu3Gm7XMB": { "purposes": [], "type": "zummyRecs", "content": { "css": "a.zum-aff, a.zum-aff:visited, a.zum-aff:hover {\n display: block;\n width: 33.33%;\n float: left;\n text-decoration: none;\n color: #111;\n font-family: \"Open Sans\", sans-serif;\n padding: 0 3.33%;\n position: relative;\n}\n\n.zum-aff-holder{\n padding: 10px 10px 10px 10px;\n overflow: hidden;\n display: flex;\n align-items: center;\n}\n\n.zum-aff-image {\n width: 100%;\n padding-bottom: 50%;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n position: relative;\n margin-bottom: 2px;\n float: left;\n}\n\n.zum-aff-headline { \n font-size: 16px;\n font-weight: 600;\n} \n\n.zum-aff-price {\n color: #000;\n float: left; \n font-size: 24px;\n width: 100%;\n}\n\n.zum-aff-price span {\n font-size: 12px;\n}\n\n.watski_product_price{\n font-family: 'Nunito Sans', sans-serif;\n font-size:32px;\n color:#d0021b;\n font-weight:900;\n letter-spacing: 2px;\n float: right;\n display: block;\n}\n \n .watski_product_name{\n font-family: 'Nunito Sans', sans-serif;\n font-size:14px;\n color:#000;\n font-weight:900;\n display: block;\n float: left; \n width: 100%;\n\n} \n.watski_currency{\n opacity: 0.4;\n text-transform: uppercase;\n font-family: 'Nunito Sans', sans-serif;\n font-weight:200;\n font-size: 16px;\n float: right; \n display: inline;\n color: #000;\n}\n\n.watski_button{\n background: #24af6e;\n border-radius: 4px;\n padding: 4px 10px;\n color: #fff;\n font-weight: bold;\n display: block;\n float: left; \n font-size: 12px;\n position: absolute;\n bottom: 0;\n margin: 0 0 14px;\n} \n\n@media screen and (max-width: 480px) {\n a.zum-aff, a.zum-aff:visited, a.zum-aff:hover {\n width: 100%;\n }\n}", "max": "", "date": "400", "read": "", "size": "3", "type": "affiliate", "filter": "", "network": "", "targetId": "affiliate_123", "template": "\n\n
\n
\n
\n
{{title}}
\n
{{price}}
\n
Kjøp nå
\n
", "customerId": "watski" } }, "-UTu63PwK": { "purposes": [], "type": "zummyRecs", "content": { "css": " \n#recs_-UTu63PwK {\n background-color: #b3d9ff;\n overflow: hidden;\n}\n\na.zum-rec, a.zum-rec:visited, a.zum-rec:hover {\n display: block;\n width: 33%;\n float: left;\n text-decoration: none;\n color: #111;\n font-family: \"Open Sans\", sans-serif;\n}\n\n.zum-holder{\n padding: 10px 10px 10px 10px;\n}\n\n.zum-image {\n width: 100%;\n padding-bottom: 75%;\n background-size: cover;\n background-position: center;\n position: relative;\n margin-bottom: 8px;\n}\n.zum-title {\n font-size: 20px;\n}\n.zum-headline { \n font-weight: 600;\n font-size: 2rem;\n} \n\n.zum-plus-article, .zum-plus-native, .zum-ad-article, .zum-ad-plus, .zum-ad-paywall { display: none; }\n\n.zum-plus-paywall {\n position: absolute;\n z-index: 100;\n background-color: #fff;\n color: #000;\n text-transform: uppercase;\n line-height: 1.2;\n padding: 0.3em 0.5em;\n bottom: 0.5em;\n right: 0.4em;\n -webkit-box-shadow: 0 0 4px -1px #000;\n box-shadow: 0 0 4px -1px #000;\n border-radius: 0.2rem;\n}\n\n.zum-ad-native {\n padding: 4px 10px;\n font-size: 1.2rem;\n background-color: #93b258;\n color: #f1f1e6 !important;\n position: absolute;\n top: 0px;\n width: 100%;\n}\n\n@media screen and (max-width: 770px) {\n a.zum-rec, a.zum-rec:visited, a.zum-rec:hover{\n width: 100%;\n }\n}\n", "max": "3", "date": "1000", "read": "100", "size": "3", "type": "summary", "filter": "", "network": "", "targetId": "recs_-UTu63PwK", "template": "\n
\n
\n
Pluss
\n
ANNONSØRINNHOLD
\n
\n

{{title}}

\n
\n
", "customerId": "batmagasinet", "adPlacement": "" } } } } try { } catch (e) { throw new Error('Custom variables are not valid') } atm.containers[CONTAINER_ID].tags["bShRJFg7W"].content.script = function(){gtag('event', 'Consent', { action: 'settings' });}; atm.containers[CONTAINER_ID].tags["IDUg9b2XQ"].content.script = function(){gtag('event', 'Consent', { action: 'accept' });}; atm.containers[CONTAINER_ID].tags["hT-zCcaG0"].content.script = function(){ (function () { var e = document.getElementsByTagName("script")[0]; var d = document.createElement("script"); d.src = "//files.zummy.io/script/recs.min.js"; d.type = "text/javascript"; d.async = true; d.defer = true; d.id = "zummy"; d.dataset.zummy = "batmagasinet"; e.parentNode.insertBefore(d, e); })();}; atm.containers[CONTAINER_ID].tags["F34ZKKcui"].content.script = function(){var ck=ck||[];(function(){var e=["init","identify","track","trackLink","pageview"],t=function(e){return function(){ck.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var n=0;n -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) { if (tag.purposes.length > 0 && !atm.utils.findInArray(atm.GLOBALS.forcedPurposes, tag.purposes)) { runable = false; atm.haltedTags.push(tagId); } } else { if (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 || { "css": ".adn-window {\n z-index: 100;\n}\n@media screen and (max-width: 800px) {\n .adn-window {\n z-index: 100;\n }\n .adn-footer {\n padding: 15px 10px;\n }\n .adn-content {\n padding: 20px 15px;\n overflow-y: scroll;\n max-height: 265px;\n }\n}", "tcf": true, "addCss": true, "layout": "messageBox", "enabled": true, "adnuntius": true, "reloadTime": 180, "languageCode": "AxD9Jpsju", "pageviewTrigger": true, "availablePurposes": { "adnuntiusPurposes": [ "94yMlt7Lp", "A9RJuENXb", "L41UstbaB", "mLZSM_gsS", "yef72Nps0" ], "tcfPurposes": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], "tcfSpecialFeatures": [ 1, 2 ] }, "texts": { "back": "Tilbake", "save": "Lagre", "title": "Dine valg:", "accept": "Godta valgte", "legInt": "Legitim interesse", "details": "Detaljer", "message": "Informasjonskapsler og personvern
\n\nFor å gi deg relevante annonser på vårt nettsted bruker vi informasjon fra ditt besøk på vårt nettsted. Du kan reservere deg mot dette under \"Innstillinger\".
\n
\nFor øvrig bruker vi informasjonskapsler og lignende verktøy for analyse, for å sammenligne nettlesere, tilpasse innhold til deg og for å utvikle og tilby nødvendig funksjonalitet. Les mer i vår personvernerklæring. \n
\n
\nVi er med i Fagpressen-nettverket. Om du samtykker under, vil du få relevante annonser på nettstedene til medlemmene i nettverket basert på informasjon fra dine besøk på tvers av disse nettstedene. En oversikt over medlemmene finner du på Fagpressen.no.
\n", "partners": "Partnere", "purposes": { "94yMlt7Lp": { "text": "Informasjonskapsler for å analysere og lage statistikk over bruk på vårt nettsted, for eksempel antall besøkende, hvilke sider som besøkes mest og hvordan sidene navigeres.", "title": "Analytiske" }, "A9RJuENXb": { "text": "Informasjonskapsler for å gi deg relevant markedsføring basert på informasjonen vi har om deg på andre nettsteder og sosiale medier og for å måle effekten av den.", "title": "Tilpasset markedsføring" }, "L41UstbaB": { "text": "Informasjonskapsler for å huske eventuelle brukervalg og for å gi deg tilpasset innhold på vårt nettsted.", "title": "Personalisering" }, "mLZSM_gsS": { "text": "Informasjonskapsler for grunnleggende funksjoner på vårt nettsted, som utfylling av skjemaer og innlogging.", "title": "Nødvendige" }, "yef72Nps0": { "text": "Vi er med i Fagpressen-nettverket. Om du samtykker under, vil du få relevante annonser på nettstedene til medlemmene i nettverket basert på informasjon fra dine besøk på tvers av disse nettstedene. En oversikt over medlemmene finner du på Fagpressen.no ", "title": "Fagpressen nettverk" } }, "settings": "Innstillinger", "acceptAll": "Godta alle", "rejectAll": "Godta valgte", "editButton": "Rediger" }, "purposeText": [ { "id": 1, "name": "Lagre og/eller få tilgang til informasjon på en enhet", "description": "Informasjonskapsler, enhetsidentifikatorer eller annen informasjon kan lagres eller åpnes på enheten din for de formålene som presenteres for deg.", "descriptionLegal": "Leverandører kan:\n* lagre og få tilgang til informasjon på enheten, som eksempel informasjonskapsler og enhetsidentifikatorer som presenteres til en bruker.\n" }, { "id": 2, "name": "Velg grunnleggende annonser", "description": "Annonser kan vises til deg basert på innholdet du ser på, appen du bruker, den omtrentlige lokasjonen din eller enhetstypen din.", "descriptionLegal": "For å gjøre grunnleggende annonsevalg, kan leverandører:\n* bruke sanntidsinformasjon om sammenhengen for at annonsen vises, for å vise annonsen, inkludert informasjon om innholdet og enheten, som for eksempel: enhetstype og evner, brukeragent, URL, IP-adresse \n* bruke en brukers ikke-presise geolokasjonsdata\n* kontrollere hyppigheten av annonser som vises til en bruker\n* sekvensere rekkefølgen som annonser vises til en bruker\n* forhindre en annonse fra å tjene i en upassende redaksjonell (merkevareutrygt) sammenheng.\nLeverandører kan ikke:\n* Opprette en personlig annonseprofil med denne informasjonen for valg av fremtidige annonser uten et separat juridisk grunnlag om å opprette en tilpasset annonseprofil.\nNB. Ikke-presis betyr kun en omtrentlig lokasjon som involverer at en radius på minst 500 meter er tillatt.\n" }, { "id": 3, "name": "Opprett en personlig annonseprofil", "description": "En profil kan bygges om deg og interessene dine for å vise deg personlige annonser som er relevante for deg.", "descriptionLegal": "For å opprette en personlig annonseprofil kan leverandører:\n* Samle inn informasjon om en bruker, inkludert en brukers aktivitet, interesser, demografisk informasjon eller sted, for å opprette eller redigere en brukerprofil for bruk i personlig annonsering.\n" }, { "id": 4, "name": "Velg personlige annonser", "description": "Personlige annonser kan vises til deg basert på en profil om deg.", "descriptionLegal": "For å velge personlige annonser kan leverandører:\n* velge personlige annonser basert på en brukerprofil eller andre historiske brukerdata, inkludert en brukers tidligere aktivitet, interesser, besøk på nettsteder eller apper, sted eller demografisk informasjon.\n" }, { "id": 5, "name": "Opprette en personlig innholdsprofil", "description": "En profil kan bygges om deg og interessene dine for å vise deg personlig innhold som er relevant for deg.", "descriptionLegal": "For å opprette en personlig innholdsprofil kan leverandører:\n* samle inn informasjon om en bruker, inkludert en brukers aktivitet, interesser, besøk på nettsteder eller apper, demografisk informasjon eller sted, for å opprette eller redigere en brukerprofil for personlig tilpasset innhold.\n" }, { "id": 6, "name": "Velge personlig innhold", "description": "Personlig innhold kan vises til deg basert på en profil om deg.", "descriptionLegal": "For å velge personlig innhold kan leverandører:\n* velge tilpasset innhold basert på en brukerprofil eller andre historiske brukerdata, inkludert en brukers tidligere aktivitet, interesser, besøk på nettsteder eller apper, sted eller demografisk informasjon.\n" }, { "id": 7, "name": "Måle annonseprestasjon", "description": "Prestasjonen og effektiviteten til annonser du ser eller samhandler med kan måles.", "descriptionLegal": "For å måle annonseprestasjon kan leverandører:\n* måle om og hvordan annonser ble levert til og samhandlet med av en bruker\n* skaffe rapporter om annonser, inkludert effektiviteten og prestasjonen deres\n* skaffe rapporter om brukere som samhandlet med annonser, med data som ble observert i løpet av brukerens samhandling med den annonsen\n* skaffe rapporter til utgivere om annonsene som vises på eiendommen deres\n* måle om en annonse fungerer i en egnet redaksjonell miljøsammenheng (merkevaresikkert)\n* fastslå prosentandelen av annonsen som hadde mulighet til å bli sett, og varigheten av denne muligheten. \nLeverandører kan ikke:\n* Bruke publikumsdata hentet fra paneler eller tilsvarende for å legge til målte data om annonser uten juridisk grunnlag for å bruke markedsundersøkelser til å generere publikumsinnsikt.\n" }, { "id": 8, "name": "Måle innholdsprestasjon", "description": "Prestasjonen og effektiviteten til innhold du ser eller samhandler med kan måles.", "descriptionLegal": "For å måle innholdsprestasjon kan leverandører:\n* måle og rapportere hvordan innhold ble levert til og samhandlet med av brukere\n* skaffe rapporter ved bruk av direkte målbar eller kjent informasjon om brukere som samhandlet med innholdet.\nLeverandører kan ikke:\n* måle om og hvordan annonser (inkludert opprinnelige annonser) ble levert til og samhandlet med av en bruker\n* Bruke publikumsdata hentet fra panel eller tilsvarende for å legge til målte data om annonser uten et separat juridisk grunnlag for å bruke markedsundersøkelser til å generere publikumsinnsikt.\n" }, { "id": 9, "name": "Bruk markedsundersøkelser til å generere publikumsinnsikt", "description": "Markedsundersøkelser kan brukes til å lære mer om publikum som besøker nettsteder/apper og ser på annonser.", "descriptionLegal": "For å bruke markedsundersøkelser til å generere publikumsinnsikt kan leverandører:\n* gi samlet rapportering til annonsører eller representantene deres om publikum som nås med annonsene, gjennom innsikt hentet fra panel og tilsvarende\n* gi samlet rapportering til utgivere om publikum som ble servert eller samhandlet, med innhold og/eller annonser på eiendommen deres, ved å bruke innsikt hentet fra panel og tilsvarende \n* knytte offline-data til en online-bruker med formål om markedsundersøkelser for å generere publikumsinnsikt hvis leverandørene har erklært å matche og kombinere offline-datakilder (funksjon 1).\nLeverandører kan ikke: \n* Måle prestasjonen og effektiviteten til annonser som en bestemt bruker fikk levert eller samhandlet med, uten et separat juridisk grunnlag for å måle annonseprestasjon.\n* Måle hvilket innhold en bestemt bruker ble levert og hvordan de samhandlet med det, uten et separat juridisk grunnlag for å måle innholdsprestasjon.\n" }, { "id": 10, "name": "Utvikle og forbedre produkter", "description": "Dataene dine kan brukes til å forbedre eksisterende systemer og programvare, og til å utvikle nye produkter.", "descriptionLegal": "For å utvikle nye produkter og forbedre produkter kan leverandører:\n* bruke informasjon til å forbedre de eksisterende produktene med nye funksjoner og for å utvikle nye produkter\n* opprette nye modeller og algoritmer gjennom maskinlæring\nLeverandører kan ikke:\n* utføre andre databehandlingsoperasjoner som er tillatt under et annet formål, under dette formålet\n" } ], "specialFeaturesText": [ { "id": 1, "name": "Bruke nøyaktige geolokasjonsdata", "description": "De nøyaktige geolokasjonsdataene dine kan brukes til å støtte ett eller flere formål. Dette betyr at plasseringen din kan være nøyaktig til innenfor et par meter. ", "descriptionLegal": "Leverandører kan:\n* Samle inn og behandle nøyaktige geolokasjonsdata til støtte for ett eller flere formål.\nNB. Nøyaktig geolokasjon betyr at det ikke er noen restriksjoner på presisjonen til en brukers plassering. Den kan være nøyaktig til innenfor et par meter.\n" }, { "id": 2, "name": "Aktivt skanne enhetsegenskaper for identifikasjon", "description": "Enheten din kan identifiseres basert på en skanning av enhetens unike kombinasjon av egenskaper.", "descriptionLegal": "Leverandører kan:\n* opprette en identifikator ved hjelp av data som samles inn ved å aktivt skanne en enhet for spesifikke egenskaper, f.eks. installerte skrifttyper eller skjermoppløsning \n* bruke en slik identifikator til å identifisere en enhet på nytt.\n" } ], "adnuntiusPurposesTexts": [ { "id": "yef72Nps0", "index": "0", "externalId": false, "adnuntiusPurpose": "", "name": "Fagpressen nettverk", "description": "Vi er med i Fagpressen-nettverket. Om du samtykker under, vil du få relevante annonser på nettstedene til medlemmene i nettverket basert på informasjon fra dine besøk på tvers av disse nettstedene. En oversikt over medlemmene finner du på Fagpressen.no ", "forced": false }, { "id": "mLZSM_gsS", "index": "1", "externalId": false, "adnuntiusPurpose": "", "name": "Nødvendige", "description": "Informasjonskapsler for grunnleggende funksjoner på vårt nettsted, som utfylling av skjemaer og innlogging.", "forced": true }, { "id": "94yMlt7Lp", "index": "2", "externalId": false, "adnuntiusPurpose": "- Select Purpose -", "name": "Analytiske", "description": "Informasjonskapsler for å analysere og lage statistikk over bruk på vårt nettsted, for eksempel antall besøkende, hvilke sider som besøkes mest og hvordan sidene navigeres.", "forced": false }, { "id": "L41UstbaB", "index": "3", "externalId": false, "adnuntiusPurpose": "", "name": "Personalisering", "description": "Informasjonskapsler for å huske eventuelle brukervalg og for å gi deg tilpasset innhold på vårt nettsted.", "forced": false }, { "id": "A9RJuENXb", "index": "4", "externalId": false, "adnuntiusPurpose": "", "name": "Tilpasset markedsføring", "description": "Informasjonskapsler for å gi deg relevant markedsføring basert på informasjonen vi har om deg på andre nettsteder og sosiale medier og for å måle effekten av den.", "forced": false } ], "mappedExternalId": {} }; "use strict"; atm.createPrebidRequest = function (request) { var prebidUnits = []; request.adUnits.forEach(function (adUnit) { var prebidId = atm.prebid.map[adUnit.auId]; if (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].javascriptCustom = function (script) { try { script.script(); } catch (e) { atm.log('error', 'Custom Javascript is malformed ' + e.message, 'Custom JavaScript'); } }; "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 }); }); }; "use strict"; atm.containerFunctions[CONTAINER_ID].html = function (data) { try { var target = (data.target || data.target != '') ? document.querySelector(data.target) : document.body; var range = document.createRange(); range.selectNode(document.getElementsByTagName("body").item(0)); var documentFragment = range.createContextualFragment(data.script); if (target) target.appendChild(documentFragment); } catch (e) { atm.log('error', 'Custom html ' + e.message); } }; "use strict"; atm.containerFunctions[CONTAINER_ID].javascript = function (data) { var triggerOnLoad = data.onLoad ? function () { atm.addListener("script." + [data.id]); atm.dispatch("script." + [data.id]); } : false; atm.utils.addScript(data.url, false, triggerOnLoad); }; "use strict"; atm.containerFunctions[CONTAINER_ID].zummyRecs = function (data) { try { var css = false; var auid = false; if (data.css != '') css = data.css.replace(/"/g, "'"); if (data.auid != '') auid = data.auid; var canonical = document.querySelector("link[rel='canonical']"); var adsArray = data.adPlacement ? data.adPlacement.split(",") : []; var params = []; params.push('size=' + data.size || ""); params.push('date=' + data.date || ""); params.push('read=' + data.read || ""); params.push('filter=' + data.filters || ""); params.push('click=true'); params.push('&url=' + encodeURIComponent(canonical ? canonical.href : window.location.href)); params.push('&user=' + atm.utils.getCookie('uuid')); var zummyReqUrl = "https://content.zummy.io/content/" + data.customerId + "/" + data.type + "?" + params.join("&"); var renderRecs = function (recsData) { var html = ''; for (var i = 0; i < recsData.length; i++) { var rec = recsData[i]; html += atm.utils.replaceTags(data.template, { title: rec.title, image: rec.image, url: rec.url, description: rec.description, click: rec.click, type: rec.type, price: rec.price, currency: rec.currency }); } if (css) atm.utils.addCssString(css); var targetDiv = document.getElementById(data.targetId); if (targetDiv) atm.utils.addContent(html, data.targetId); }; atm.utils.ajax("GET", zummyReqUrl, function (recs) { if (auid != false && auid != undefined) { atm.utils.ajax("GET", "https://delivery.adnuntius.com/i?auId=" + auid + "&format=json", function (ads) { var adTick = 0; var mixedRecs = []; for (var i = 0; i < recs.length; i++) { var rec = recs[i]; if (adsArray.indexOf(i + 1) > -1) { var ad = (ads.adUnits[0]) ? ads.adUnits[0].ads[adTick] : false; if (ad) { mixedRecs.push({ title: ad.text.title.content, description: ad.text.description.content, image: ad.assets.image.cdnId, click: ad.urls.destination }); adTick++; } else { mixedRecs.push(rec); } } else { mixedRecs.push(rec); } } renderRecs(mixedRecs); }); } else { renderRecs(recs); } }); } catch (e) { atm.log('error', e, 'Zummy Recommendations'); } }; atm.addListener("pageload.gsfxdqhuq", function(eventData){ if( (true) ) atm.utils.runTags('gsfxdqhuq', ["Qzog1GkXO","gu3Gm7XMB","-UTu63PwK","hT-zCcaG0","fa8oDfE0y"]) }); atm.addListener("pageview.gsfxdqhuq", function(eventData){ if( (true) ) atm.utils.runTags('gsfxdqhuq', ["SIoaYIoZw","F34ZKKcui","rROkaZTrZ"]) }); "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(); })(); window.addEventListener('load', function (event) { 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); }