var apntag = apntag || {};
apntag.anq = apntag.anq || [];
var AdsMirago = '';
var fw_curl = fw_curl || '';
var sl = document.location.protocol == "http:" ? 0 : 1;
var EVENTS = {REQUEST: "adRequested", AVAILABLE: "adAvailable", LOADED: "adLoaded", REQUEST_FAIL: "adRequestFailure", NO_BID: "adNoBid", DEFAULT: "adDefault", ERROR: "adError", COLLAPSE: "adCollapse", BAD_REQUEST: "adBadRequest"};
var feeds = [];
var miragoFeed,criteoFeed;
if (typeof fz === "undefined") {
var fz = true;
}
if (typeof fc === "undefined") {
var fc = true;
}
if (typeof czi === "undefined") {
var czi = 805795;
}
if (typeof mzi === "undefined") {
var mzi = 658374;
}
if (typeof window.$4wConsentGdprApplies === "undefined") {
window.$4wConsentGdprApplies = "";
}
if (typeof window.$4wConsentData === "undefined") {
window.$4wConsentData = "";
}
$nocookie = typeof $4wConsentPurpose !== 'undefined' && $4wConsentPurpose ? '&nocookie=true' : '';
if (typeof window.$4w__tcfapi !== 'function') {
window.$4wCallbacks = window.$4wCallbacks || {};
function postMessageHandler(event) {
let json = {};
try {
json = typeof event.data === 'string' ? JSON.parse(event.data) : event.data;
}
catch (ignore) {}
if (json.__tcfapiReturn) {
const payload = json.__tcfapiReturn;
if (typeof window.$4wCallbacks[payload.callId] === 'function') {
window.$4wCallbacks[payload.callId](payload.returnValue, payload.success);
delete window.$4wCallbacks[payload.callId];
}
return;
}
}
window.addEventListener('message', postMessageHandler, false);
window.$4w__tcfapi = function(cmd, version, callback, arg) {
var frame = window;
var tcfFrame;
var wt = window.top;
while (frame) {
try {
if (!tcfFrame && frame.frames['__tcfapiLocator']) {
tcfFrame = frame;
break;
}
} catch(ignore) {}
if (frame === wt) break;
frame = frame.parent;
}
if (!tcfFrame) {
callback({msg: '__tcfapiLocator not found'}, false);
return;
}
const callId = Math.random() + '';
const msg = {
__tcfapiCall: {
command: cmd,
parameter: arg,
version: version,
callId: callId
}
};
window.$4wCallbacks[callId] = callback;
tcfFrame.postMessage(msg, '*');
};
}
function getJSONP(url, success) {
var ud = '_' + Math.floor((Math.random() * 10000000) + 1),
script = document.createElement('script'),
head = document.getElementsByTagName('head')[0]
|| document.documentElement;
window[ud] = function (data) {
head.removeChild(script);
success && success(data);
};
script.src = url.replace('callback=?', 'callback=' + ud);
head.appendChild(script);
}
getJSONP('https://adsr.4wnetwork.com/feed.jsonp?a=' + mzi + '&u=http://www.4wmarketplace.com/&n=' + $4w_option['numberadverts'] + '&i=1&ih=' + $4w_option['logoimageheight'] + '&iw=' + $4w_option['logoimagewidth'] + '&ch=22&s=' + s + '&ai=1&sl=' + sl + '&gdpr=' + $4wConsentGdprApplies + '&gdpr_consent=' + $4wConsentData + $nocookie + '&callback=?', function (data) {
miragoFeed = data.data;
});
if(fc){
getJSONP('https://cas.criteo.com/delivery/0.1/napi.jsonp?zoneid=' + czi + '&publisherid=' + s + '&callback=?', function (data) {
criteoFeed = data;
});
}
var apntag = apntag || {};
apntag.anq = apntag.anq || [];
var cb = Math.round(new Date().getTime());
var d = document, e = d.createElement('script'), sl = d.createElement('link'), p = d.getElementsByTagName('head')[0];
/*
e.type = 'text/javascript';
e.async = true;
e.src = 'https://acdn.adnxs.com/ast/static/0.8.0/ast.js';
e.id = '4W_SDK_NATIVE';
p.insertBefore(e, p.firstChild);
*/
sl.type = 'text/css';
sl.rel = 'stylesheet';
sl.href = 'https://static.4wnetwork.com/asset/css/mirago.css?v=3&nc=' + cb;
p.insertBefore(sl, p.firstChild);
function printCode() {
var divOpenMirago = '
';
var divCloseMirago = '';
var d = document.getElementById($4w_targetId);
var code = '';
d.className = $4w_option['containerclass'];
feeds.sort(function (a, b) {
return 0.5 - Math.random()
});
for (i = 0; i < feeds.length; i++) {
code += feeds[i];
}
d.innerHTML = divOpenMirago + code + divCloseMirago;
}
function codeMirago(first) {
first = typeof first !== 'undefined' ? first : true;
if (typeof miragoFeed !== 'undefined') {
var AdsMirago = '';
var c = feeds.length;
for (i = 0; i < miragoFeed.advert.length - c; i++) {
AdsMirago = '';
AdsMirago += '';
AdsMirago += '';
AdsMirago += '
' + miragoFeed.advert[i].title + '
';
AdsMirago += '
' + miragoFeed.advert[i].description + '
';
AdsMirago += '
' + miragoFeed.advert[i].displayurl + '
';
AdsMirago += '
';
AdsMirago += '';
AdsMirago += '';
feeds.push(AdsMirago);
}
} else if (first) {
first = false;
getJSONP('https://adsr.4wnetwork.com/feed.jsonp?a=' + mzi + '&u=http://www.4wmarketplace.com/&n=' + $4w_option['numberadverts'] + '&i=1&ih=' + $4w_option['logoimageheight'] + '&iw=' + $4w_option['logoimagewidth'] + '&ch=22&s=' + s + '&ai=1&sl=' + sl + '&gdpr=' + $4wConsentGdprApplies + '&gdpr_consent=' + $4wConsentData + $nocookie + '&callback=?', function (data) {
miragoFeed = data.data;
});
console.log('recall fm')
setTimeout(codeMirago(first), 0);
}
}
function codeCriteo(first) {
first = typeof first !== 'undefined' ? first : true;
var AdsCriteo = '';
if (criteoFeed.response_status == 0 && typeof criteoFeed.products === "object" && typeof criteoFeed.products[0] !== 'undefined') {
AdsCriteo = '';
AdsCriteo += '';
AdsCriteo += '';
AdsCriteo += '
' + criteoFeed.products[0].title + '
';
AdsCriteo += '
' + criteoFeed.products[0].description + '
';
AdsCriteo += '
' + criteoFeed.advertiser.domain + '
';
AdsCriteo += '
';
AdsCriteo += '';
AdsCriteo += '';
feeds.push(AdsCriteo);
} else if (first && fc) {
getJSONP('https://cas.criteo.com/delivery/0.1/napi.jsonp?zoneid=' + czi + '&publisherid=' + s + '&callback=?', function (data) {
criteoFeed = data;
});
console.log('recall fc')
setTimeout(codeCriteo(false), 0);
}
}
var deliveryAds = function () {
fz = false; // Forzatura a false per non far erogare zodiac
if (fz) {
apntag.anq.push(function () {
apntag.defineTag({
member: $4w_member,
tagId: +$4w_option['tagId'],
allowedFormats: ['native'],
sizes: [[1, 1]],
targetId: $4w_targetId
});
apntag.onEvent('adLoaded', $4w_targetId, function (adObj) {
console.log('adLoaded');
var AdsZodiak = '';
if (adObj.native) {
var n = adObj.native;
// Native Ad-Customization Script
AdsZodiak = '';
AdsZodiak += '';
AdsZodiak += '';
AdsZodiak += '
' + n.title + '
';
AdsZodiak += '
' + n.body + '
';
// AdsZodiak += '
' + n.cta + '
';
AdsZodiak += '
';
AdsZodiak += '';
AdsZodiak += '';
feeds.push(AdsZodiak);
}
if(fc){
codeCriteo();
}
codeMirago();
printCode();
});
apntag.onEvent('adNoBid', $4w_targetId, function () {
console.log('adNoBid');
if(fc){
codeCriteo();
}
codeMirago();
printCode();
});
apntag.onEvent('adError', $4w_targetId, function () {
console.log('adError');
if(fc){
codeCriteo();
}
codeMirago();
printCode();
});
apntag.onEvent('adBadRequest', $4w_targetId, function () {
console.log('adBadRequest');
if(fc){
codeCriteo();
}
codeMirago();
printCode();
});
// Object.keys(EVENTS).map(function (objectKey, index) {
// var value = EVENTS[objectKey];
// apntag.onEvent(value, $4w_targetId, function () {
// console.log(value)
// });
// });
});
apntag.anq.push(function () {
apntag.loadTags();
});
apntag.anq.push(function () {
apntag.showTag($4w_targetId);
});
} else {
if(fc){
codeCriteo();
}
codeMirago();
printCode();
}
};
window.onload = function () {
// GESTIONE CONSENT FRAMEWORK 2.0
if (typeof window.__tcfapi === 'function') {
window.__tcfapi('getTCData', 2, (tcData, success) => {
if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
window.$4wConsentData = tcData.tcString;
window.$4wConsentGdprApplies = tcData.gdprApplies == true || tcData.gdprApplies == 'true' || tcData.gdprApplies == 1 ? 1 : 0;
window.$4wConsentPurpose = typeof tcData.purpose !== 'undefined' && typeof tcData.purpose.consents !== 'undefined' && typeof tcData.purpose.consents[5] !== 'undefined' && tcData.purpose.consents[5] ? 0 : 1;
console.log("[native.js] GDPR=", window.$4wConsentGdprApplies);
console.log("[native.js] GDPR_CONSENT=", window.$4wConsentData);
$nocookie = typeof $4wConsentPurpose !== 'undefined' && $4wConsentPurpose ? '&nocookie=true' : '';
}
deliveryAds();
});
}
else
{
// prova tramite postMessage a leggere il consent
window.$4w__tcfapi('getTCData', 2, (tcData, success) => {
if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
window.$4wConsentData = tcData.tcString;
window.$4wConsentGdprApplies = tcData.gdprApplies == true || tcData.gdprApplies == 'true' || tcData.gdprApplies == 1 ? 1 : 0;
window.$4wConsentPurpose = typeof tcData.purpose !== 'undefined' && typeof tcData.purpose.consents !== 'undefined' && typeof tcData.purpose.consents[5] !== 'undefined' && tcData.purpose.consents[5] ? 0 : 1;
console.log("[native.js] with postMessage GDPR=", window.$4wConsentGdprApplies);
console.log("[native.js] with postMessage GDPR_CONSENT=", window.$4wConsentData);
$nocookie = typeof $4wConsentPurpose !== 'undefined' && $4wConsentPurpose ? '&nocookie=true' : '';
}
deliveryAds();
});
}
};