(function () { (function () { var adtoox_player_params = { adtoox_div_id: '', get_player_div_url: '', css_url: '', js_url: '', seq: '' }; var adtooxDiv; var queryParams = (function () { var url; if (typeof document.currentScript !== 'undefined') { url = document.currentScript.src; } else { var scriptTags = document.getElementsByTagName('script'); var thisScriptTag = scriptTags[scriptTags.length - 1]; url = thisScriptTag.src; } var obj = parseQueryString(url); for (var i in obj) { obj[i] = decodeURIComponent(obj[i]); } return obj; })(); function parseQueryString(str) { var objURL = {}; str.replace( new RegExp("([^?=&]+)(=([^&]*))?", "g"), function ($0, $1, $2, $3) { objURL[$1] = $3; } ); return objURL; } var parentTypes = { iFrame: "Unfriendly iFrame", friendlyIframe: "Friendly iFrame", other: "Other HTML Element" }; function getParentType() { var topLevel = false; var friendlyIframe = (typeof inFIF !== 'undefined' && inFIF === true) || (typeof inDapIF !== 'undefined' && inDapIF === true); try { topLevel = window.top === window; } catch (e) { } if (!topLevel) { if (friendlyIframe) { return parentTypes.friendlyIframe; } else if (!friendlyIframe) { return parentTypes.iFrame; } } else if (topLevel) { return parentTypes.other; } } var _params; function generatePlayer(params) { _params = params; /*Start of Impression code*/ var thirdPartyImpressions = null; var playBehaviour = "undefined"; var thirdPartyDestinationName = "undefined"; var seq = "unknown_from_adtoox_generate_player"; if (typeof queryParams.third_party_destination_name === "string") { var uri = queryParams.third_party_destination_name; thirdPartyDestinationName = encodeURIComponent(uri); } if (typeof queryParams.play_behaviour === "string") { playBehaviour = queryParams.play_behaviour; } for (var urls in params.preInitTrackingUrlsFirstParty) { params.preInitTrackingUrlsFirstParty[urls] += "&custom_id=" + thirdPartyDestinationName + "&tag3=" + playBehaviour; } if (typeof queryParams.third_party_impression_events !== 'undefined') { queryParams.third_party_impression_events = JSON.parse(queryParams.third_party_impression_events); for (var stgUrls in queryParams.third_party_impression_events) { queryParams.third_party_impression_events[stgUrls] = replaceTimestampAndReturnStr(queryParams.third_party_impression_events[stgUrls]); } thirdPartyImpressions = params.preInitTrackingUrlsFirstParty.concat(queryParams.third_party_impression_events); } else { thirdPartyImpressions = params.preInitTrackingUrlsFirstParty.concat(params.preInitTrackingUrlsThirdParty); } /* * * @type generatePlayer.thirdPartyImpressions * SENDS THE IMPRESSIONS */ for (var i in params.preInitTrackingUrlsFirstParty) { var parser = document.createElement('a'); parser.href = thirdPartyImpressions[i]; var firstPartyParams = parseQueryString(parser.search); if (typeof firstPartyParams["seq"] !== 'undefined') { seq = firstPartyParams["seq"]; } } /*End of impressions*/ var unique_id = "adtoox-banner-" + 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); var format_width = queryParams.formatWidth || params.formatWidth; var format_height = queryParams.formatHeight || params.formatHeight; var get_player_div_url = params.divUrl; var css_url = params.cssUrl; var js_url = params.jsUrl; var polite_load = false; if (typeof queryParams.polite_load_method !== "undefined") { if (queryParams.polite_load_method === "true") { polite_load = true; } else { polite_load = false; } } else { polite_load = false; } var adtoox_div_id = unique_id; adtooxDiv = document.createElement('div'); adtooxDiv.id = adtoox_div_id; adtooxDiv.style.width = format_width + "px"; adtooxDiv.style.height = format_height + "px"; for (var j in thirdPartyImpressions) { if (isUrl(thirdPartyImpressions[j])) { sendEvent(thirdPartyImpressions[j]); } else { sendEvent(thirdPartyImpressions[j]); } } //console.log(getParentType()); var parentType = getParentType(); var stgNode = document.getElementById(queryParams.stg_node_id); /*if (typeof queryParams.play_behaviour !== 'undefined' && queryParams.play_behaviour === "overlay" && //overlay parentType === parentTypes.friendlyIframe) { //fif window.frameElement.parentNode.appendChild(adtooxDiv); //outside iframe } else */ { // expand/inbanner , other/iframe/fif adtooxDiv = document.createElement('div'); adtooxDiv.id = adtoox_div_id; adtooxDiv.style = 'width: ' + format_width + 'px; height: ' + format_height + 'px;'; stgNode.parentNode.replaceChild(adtooxDiv, stgNode); } //remove body margins if parent context is iframe if (parentType === parentTypes.iFrame || parentType === parentTypes.friendlyIframe) { document.body.style.margin = 0; document.body.style.padding = 0; } adtoox_player_params.adtoox_div_id = adtoox_div_id; adtoox_player_params.get_player_div_url = get_player_div_url; adtoox_player_params.css_url = css_url; adtoox_player_params.js_url = js_url; adtoox_player_params.seq = seq; if (polite_load) { //wait for document to load var intervalId = window.setInterval(function () { if (document.readyState === "complete") { loadPlayer(queryParams); window.clearInterval(intervalId); } }, 10); } else { loadPlayer(queryParams); } } window.generatePlayer = generatePlayer; function sendEvent(source) { if (typeof source !== 'string') return; var evImg = document.createElement('img'); evImg.onload = evImg.onerror = function () { this.parentNode.removeChild(this); }; evImg.src = source; evImg.style.position = "absolute"; evImg.style.opacity = 0; evImg.setAttribute('width', 1); evImg.setAttribute('height', 1); document.body.appendChild(evImg); } function replaceTimestampAndReturnStr(url) { var timestamp = Date.now().toString(); var res = url.replace(/([%][5][B][tT][iI][mM][eE][sS][tT][aA][mM][pP][%][5][D])|(\[[tT][iI][mM][eE][sS][tT][aA][mM][pP]\])/g, timestamp); return res; } function isUrl(urlStr) { var format = /\(?(?:(http|https|ftp):\/\/)?(?:((?:[^\W\s]|\.|-|[:]{1})+)@{1})?((?:www.)?(?:[^\W\s]|\.|-)+[\.][^\W\s]{2,4}|localhost(?=\/)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::(\d*))?([\/]?[^\s\?]*[\/]{1})*(?:\/?([^\s\n\?\[\]\{\}\#]*(?:(?=\.)){1}|[^\s\n\?\[\]\{\}\.\#]*)?([\.]{1}[^\s\?\#]*)?)?(?:\?{1}([^\s\n\#\[\]]*))?([\#][^\s\n]*)?\)?/g; if (typeof urlStr === 'string') { var url = urlStr.toLowerCase(); if (!format.test(url)) { return false; } else { return true; } } else { return false; } } function createDummyContent(queryParams) { var dummy = document.createElement('div'); dummy.id = "adtooxDummy"; dummy.style.borderRadius = "2px"; dummy.style.width = queryParams.formatWidth ||_params.formatWidth + "px"; dummy.style.height = queryParams.formatHeight ||_params.formatHeight + "px"; dummy.style.backgroundColor = queryParams.backgroundColor || "#d2d2d2"; adtooxDiv.appendChild(dummy); } function loadPlayer(queryParams) { createDummyContent(queryParams); createHeadIfMissing(); createPlayer(queryParams); } function getPlayerUrl(get_player_div_url, seq) { var playerDivURL = get_player_div_url; playerDivURL = replaceTimestampAndReturnStr(playerDivURL); playerDivURL += '&overriding_initial_first_party_seq=' + seq; return playerDivURL; } function createPlayer(queryParams) { var htmlContent = null; var styleElement = null; var jsDone = false; ajaxCallback(getPlayerUrl(adtoox_player_params.get_player_div_url, adtoox_player_params.seq), function (responseText) { htmlContent = responseText.replace(/adtoox_player_UUID/g, adtoox_player_params.adtoox_div_id); }); addCss(adtoox_player_params.css_url, function (styleE) { styleElement = styleE; }, queryParams.backgroundColor); addJs(adtoox_player_params.js_url, function () { jsDone = true; }, queryParams.backgroundColor); var intID = setInterval(function () { if (jsDone && styleElement !== null && htmlContent !== null) { adtooxDiv.innerHTML = htmlContent; adtooxDiv.appendChild(styleElement); evaluateScripts(); clearInterval(intID); } }, 25); } function getBrowser() { var ua = navigator.userAgent, tem, M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; if (/trident/i.test(M[1])) { tem = /\brv[ :]+(\d+)/g.exec(ua) || []; return 'IE ' + (tem[1] || ''); } if (M[1] === 'Chrome') { tem = ua.match(/\bOPR\/(\d+)/) if (tem != null) return 'Opera ' + tem[1]; } M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?']; if ((tem = ua.match(/version\/(\d+)/i)) != null) M.splice(1, 1, tem[1]); return M.join(' '); } function ajaxCallback(url, callBack) { var xmlhttp; if (window.XMLHttpRequest && getBrowser() !== 'MSIE 9') { xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && (xmlhttp.status == 200 || xmlhttp.status == 206)) { callBack(xmlhttp.responseText); } } } else if (window.XDomainRequest) { xmlhttp = new XDomainRequest(); xmlhttp.onprogress = function () { }; xmlhttp.onload = function () { callBack(xmlhttp.responseText) }; } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && (xmlhttp.status == 200 || xmlhttp.status == 206)) { callBack(xmlhttp.responseText); } } } xmlhttp.open("GET", url, true); xmlhttp.send(); } function addCss(css_url, onAdded, replacementColor) { ajaxCallback(css_url, function (responseText) { var style = document.createElement("style"); var modifiedCss = responseText.replace(/adtoox_player_UUID/g, adtoox_player_params.adtoox_div_id); if (replacementColor) { modifiedCss = modifiedCss.replace(/#D2D2D2|#d2d2d2/g, replacementColor); } style.innerHTML = modifiedCss; if (typeof onAdded === 'function') onAdded(style); }); } function addJs(js_url, onAdded, replacementColor) { ajaxCallback(js_url, function (responseText) { var script = document.createElement("script"); script.type = "text/javascript"; var modifiedScript = responseText; if (replacementColor) { modifiedScript = modifiedScript.replace(/#D2D2D2|#d2d2d2/g, replacementColor); } script.text = modifiedScript; addElementFirst(adtooxDiv, script); if (typeof onAdded === 'function') onAdded(); } ); } function addElementFirst(parentE, newChildE) { if (parentE.firstChild) { parentE.insertBefore(newChildE, parentE.firstChild); } else { parentE.appendChild(newChildE); } } function evaluateScripts(adtoox_div_id) { var scriptE = adtooxDiv.getElementsByTagName("script"); for (var i = 0; i < scriptE.length; i++) { window.eval(scriptE[i].text); } } function createHeadIfMissing() { var tagName = 'head'; var headList = document.getElementsByTagName(tagName); if (headList.length == 0) { var htmlE = document.getElementsByTagName('html')[0]; var headE = document.createElement(tagName); addElementFirst(htmlE, headE); } } })(); var params = { uniqueId: 'adtoox_js_d2d3ed9bf1bb4f2599be1ad2f3a3a27a', formatWidth: 970, formatHeight: 250, divUrl: 'https://displaycompiler.adtooxcirrus.com/adplayer-distributor-war-1.65.0/AdplayerServlet?action=get_player_div&vast_url=https://global-assets.adtooxcirrus.com:443//178308327_7ba6838a095fcd7bb831c1bbcacf7bb7_178308328.xml?access-token=UpC9PirkP7vLexjc1NhRZ-3aManY7ATQYCfb3GVKBiLNDH-0YqJxBCgVoOo0a-AwSR4OtSv4EmxzvkQFst6S9RSzvF_KX-RzqYq4ofjD5MY&player_layout_type=10&inscreen_functionality=true&smart_polite=true&play_behaviour=overlay&stg_node_id=adtoox-ad135749&click_macro=insert_click_macro_here', cssUrl: 'https://global-assets.adtooxcirrus.com:443/155859475_45a60fd86ba2652dc8d7ba3288d159bc_155859476.zip/unzip/adplayer-package_17-01-2020_15-18/lib/css/style_970x250_1.css', jsUrl: 'https://global-assets.adtooxcirrus.com:443/155859475_45a60fd86ba2652dc8d7ba3288d159bc_155859476.zip/unzip/adplayer-package_17-01-2020_15-18/lib/js/AdtooxBanner.min.js', preInitTrackingUrlsFirstParty: ['https://se-de-fr-ect.adtooxcloud.com/ectracker/plugin?len=30&cc=1MKCT30BR001&cc_id=178303315&bc=9035&seq=7b696a35-e3bd-492e-8a83-70df215db591&rnd=734009132&res=autoplay&tag1=970x250&tag2=script_tag_loading'], preInitTrackingUrlsThirdParty: [] }; generatePlayer(params); })();