// START ESSENS COMMON var Essens = { data: {}, rand: 'nh9bw', sentEvents: [], logSequence: 1, mouseoverDelay: 1000, mouseoverTimeout: null, docsToTrack: [], readCookie: function(key) { var result; return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null; }, lazyLoadScriptIf: function(condition, url, listener) { var safelistener = function(){ try { listener(); } catch(e) { console.error(e); // do something with the error } }; if (condition) { var script = document.createElement('script'); var target = document.getElementsByTagName('script')[0]; script.src = url; if (script.readyState && script.onload !== null) { script.onreadystatechange = function() { if ( script.readyState === "loaded" || script.readyState === "complete" ) { script.onreadystatechange = null; safelistener(); } }; } else { script.onload = safelistener; } target.parentNode.insertBefore(script, target); } else { safelistener(); } }, // private property _b64keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding b64encode: function(input) { var output = ''; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Essens._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + Essens._b64keyStr.charAt(enc1) + Essens._b64keyStr.charAt(enc2) + Essens._b64keyStr.charAt(enc3) + Essens._b64keyStr.charAt(enc4); } return output; }, // private method for UTF-8 encoding _utf8_encode: function(string) { string = string.replace(/\r\n/g,"\n"); var utftext = ''; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, toggleWhy: function() { var el = document.getElementById('essens-why-box'); if (el) { if (typeof el.style.display === 'undefined' || el.style.display === 'none' || el.style.display === '' ) { Essens.logEvent('ad-explanation'); el.style.display = 'block'; } else { el.style.display = 'none'; } } return false; }, append: function(element, html) { document.getElementById(element).innerHTML = html; var re = /([\s\S]*?)<\//ig; var match; while (match = re.exec(html)) { eval(match[1]); } }, addDocToTracking: function(udidOrAd, source, relevance, imageShown, adWeight, eCTR, pageViewFactor) { // Essens.addDocToTracking('#{theAd.udid}', '#{theAd.source.subSourceId}', '#{theAd.relevance}', is, n, '#{theAd.percentage}', '#{theAd.expectedCTR}', '#{theAd.pageWeightFactor}'); var line; if (typeof udidOrAd === 'object') { var ad = udidOrAd; var is = ad.image ? 1 : 0; line = [ad.udid, ad.source.subSourceId, ad.relevance, is, ad.percentage, ad.expectedCTR, ad.pageWeightFactor].join(':'); } else { line = [udidOrAd, source, relevance, imageShown, docRank, adWeight, eCTR, pageViewFactor].join(':'); } if (Essens.docsToTrack.indexOf(line) === -1) { Essens.docsToTrack.push(line); } }, trackUrl: function() { var hostname = (document.location.protocol === 'https:') ? 'ssl' : 'api'; var imageUrl = document.location.protocol + '//' + hostname + '.essens.no/queryservices-ng/track?sq=0' // TODO: Modify check below to add referrer if origin is the same (meaning we are allowed to access top from an iframe) if (window == window.top) { imageUrl += '?rf=' + encodeURIComponent(top.document.referrer); } imageUrl += '&' + ESSENS_TRACK_PARAMS; if (Essens.docsToTrack.length) { imageUrl = imageUrl.replace(/&is=[^&]+/, ''); imageUrl = imageUrl.replace(/&rv=[^&]+/, ''); imageUrl = imageUrl.replace(/&hu=[^&]+/, ''); imageUrl += '&hu=' + encodeURIComponent(Essens.docsToTrack.join(',')); } return imageUrl; }, trackStr: function() { return ''; }, cancelMouseover: function(ev) { clearTimeout(Essens.mouseoverTimeout); }, logMouseover: function(ev) { Essens.mouseoverTimeout = setTimeout(function() { Essens.log('mouseover', Essens.data, 'wrapper'); }, Essens.mouseoverDelay); }, logEvent: function(type, event) { Essens.log(type, Essens.data, 'wrapper'); }, log: function(type, data, source, context, component, subComponent) { type = type || 'impression'; data = data || {}; component = component || 'ad'; session = window._ESSENS_PAGELOAD_ID; var ev = {system: 'ads', service: 'ad-server', source: source, component: component, sub_component: subComponent, context: context, session: session, sequence: Essens.logSequence, type: type, data: data}; if (Essens.sentEvents.indexOf(type) === -1) { Essens.sentEvents.push(type); Essens._log(ev); Essens.logSequence += 1; } }, _log: function(data) { var img = new Image(1, 1); // var src = '//l.essens.no/v1/ev.gif?f=b&e=' + encodeURIComponent(Essens.b64encode(JSON.stringify(data))); var src = '//l.essens.no/w/v1/ev.gif?f=b&e=' + encodeURIComponent(Essens.b64encode(JSON.stringify(data))); img.src = src; } } // fix for silly AV heuristics? var _dmy = 'google'; // END OF ESSENS COMMON // if (typeof top.jQuery !== 'undefined') eQ = top.jQuery; var ESSENS_DATA = '{"t1":1452800269361,"pu":"http://www.adressa.no/pluss/nyheter/2016/01/14/Ingen-gjen%C3%A5pning-av-Fredlybekken-12023582.ece","iid":"w8yxi7cvqqza3gmf4szs","ccd":1,"tp":"passback","placementid":8,"br":"chrome","dv":"desktop","pd":"MA-NOE3-1452740226-I4D54L5","qid":"1452797846_kQtnVq","customerid":2549,"cid":2549,"geo":{},"page_udid":"MA-NOE3-1452740226-I4D54L5"}'; var ESSENS_AD = ''; var ESSENS_DEBUG = ''; var ESSENS_PASSBACK = ''; var ESSENS_PASSBACK_TYPE = 'string'; var ESSENS_PASSBACK_PAYLOAD = ''; var ESSENS_TRACK_PARAMS = 't1=1452800269361&pu=http%3A%2F%2Fwww.adressa.no%2Fpluss%2Fnyheter%2F2016%2F01%2F14%2FIngen-gjen%25C3%25A5pning-av-Fredlybekken-12023582.ece&iid=w8yxi7cvqqza3gmf4szs&ccd=1&tp=passback&placementid=8&br=chrome&dv=desktop&pd=MA-NOE3-1452740226-I4D54L5&qid=1452797846_kQtnVq&customerid=2549&cid=2549'; var ESSENS_DO_TRACK = true; var essensDoPassback = false; if (typeof window._ESSENS_PAGELOAD_ID === 'undefined') { window._ESSENS_PAGELOAD_ID = (Math.random()+1).toString(36).substring(2,18) + '-' + (Math.random()+1).toString(36).substring(2,8) + '-' + (Math.random()+1).toString(36).substring(2,18); } if (typeof window._ESSENS_SEQUENCES === 'undefined') { window._ESSENS_SEQUENCES = {}; } try { Essens.data = JSON.parse(ESSENS_DATA); } catch(e) { } if (ESSENS_PASSBACK !== '') { essensDoPassback = true; if (ESSENS_PASSBACK_TYPE === 'string') { var passback_str = ESSENS_PASSBACK; } else { var passback_str = '' + ESSENS_PASSBACK_PAYLOAD + ''; } } var res = '
'; if (ESSENS_AD) res += '
' + ESSENS_AD + '
'; if (essensDoPassback) res += passback_str; res += '
'; document.write(res); // This needs to be done after writing the actual ad(s), so that any // Essens.addDocToTracking() calls from the template are registered // before we construct the track string if (ESSENS_DO_TRACK) document.write(Essens.trackStr()); if (ESSENS_DEBUG !== '') { ESSENS_DEBUG = 'Full debug info [' + Essens.rand + ']
' + ESSENS_DEBUG.replace('**ESSENS_TRACK_STR**', '
' + Essens.trackUrl() + ''); // ESSENS_DEBUG = 'Full debug info
' + ESSENS_DEBUG.replace('**ESSENS_TRACK_STR**', '
' + Essens.trackUrl() + ''); var debugId = 'essens-debug-container'; var existing = top.document.getElementById(debugId); if (existing) { existing.innerHTML = ESSENS_DEBUG + '
' + existing.innerHTML; } else { var essensDebug = document.createElement('div'); essensDebug.setAttribute('ondblclick', 'if (this.style.width === "300px") {this.style.width = "30px"; this.style.height = "30px"} else {this.style.width = "300px"; this.style.height = "auto"}'); essensDebug.id = debugId; essensDebug.style.width = '300px'; essensDebug.style.position = 'fixed' essensDebug.style.right = '5px'; essensDebug.style.top = '5px'; essensDebug.style.backgroundColor = 'rgba(255, 255, 255, 0.92)'; essensDebug.style.padding = '10px'; essensDebug.style.fontSize = '11px'; essensDebug.style.fontFamily = 'Tahoma'; essensDebug.style.lineHeight = '1.3em'; essensDebug.style.border = '1px solid #ddd'; essensDebug.style.boxShadow = '0 0 10px #aaa'; essensDebug.style.overflow = 'scroll'; essensDebug.style.maxHeight = '95%'; essensDebug.style.zIndex = '99999999'; essensDebug.style.whiteSpace = 'nowrap'; var essensBody = top.document.getElementsByTagName('body')[0]; essensBody.appendChild(essensDebug); top.document.getElementById(essensDebug.id).innerHTML = ESSENS_DEBUG; } } if (typeof inDapIF !== 'undefined' && typeof EAS_resize_fif !== 'undefined') { // setTimeout("EAS_resize_fif(true, 180, document.getElementById('essens_tmpl_1').offsetHeight)", 1000); }