var primaryLanguage="";var hosts = ['www.boeren.nu','www.truckfan.nl','www.truckfan.be','www.alexmiedema.nl','www.dakartrucks.nl','www.vastgereden.nl','www.maishakselaars.nl','www.vrachtwagenongeval.nl','www.grondverzetters.nl','www.maishakselaars2.nl','www.tractorfan.nl','www.tractorfan.de','www.tractorfan.it','www.tractorfan.fr','www.tractorfan.fi','www.tractorfan.es','www.tractorfan.pl','www.tractorfan.hu','www.tractorfan.ru','www.tractorfan.cz','www.tractorfan.net','www.tractorfan.dk','www.tractorfan.se','www.tractorfan.no','www.tractorfan.us','www.tractorfan.at','www.tractorfan.co.uk','www.tractorfan.ch','www.tractorfan.ca','www.tractorfan.gr','www.tractorfan.sk','www.tractorfan.net.in','www.tractorfan.web.tr','www.tractorfan.net.br','www.tractorfan.ro','www.prikkebord.nl','www.nieuwsgrazer.nl','f1-kalender.nl','f1-kalender.be','f1-circuits.nl','gp-australie.nl','gp-china.nl','gp-bahrein.nl','gp-rusland.nl','gp-spanje.nl','gp-monaco.nl','gp-canada.nl','gp-europa.nl','gp-oostenrijk.nl','gp-silverstone.nl','gp-hongarije.nl','gp-spa.nl','gp-monza.nl','gp-singapore.nl','gp-maleisie.nl','gp-suzuka.nl','gp-usa.nl','gp-mexico.nl','gp-brazilie.nl','gp-abudhabi.nl','gp-frankrijk.nl','gp-duitsland.nl','tip4.vastgereden.nl','www.trekkertrekkers.nl','www.tractorfan.eu','www.gemeentelink.nl','www.quotum.nu','www.fosfaat.nu','www.varkensrechten.nu','www.pluimveerechten.nu','www.toeslagrechten.nu','www.mechanisatie.nl','www.koemarkt.nl','www.landbouwgrond.nu','quotum.nu','fosfaat.nu','varkensrechten.nu','pluimveerechten.nu','toeslagrechten.nu','mechanisatie.nl','koemarkt.nl','landbouwgrond.nu','www.dejong-automotive.nl','www.dejong-automotive.de','www.dejong-automotive.at','www.dejong-automotive.be','www.dejong-norge.com','www.efarm.nl','efarm.nl','www.verlengenrijbewijs.nl','www.aanvragenrijbewijs.nl','www.ammoniakrechten.nl','www.boeren.online','www.rallytrucks.nl','www.evfan.nl','www.dejong-autoonderdelen.nl','www.dejong-autoonderdelen.be','www.dejong-motoren.de','www.dejong-motoren.at','www.dejong-motoren.ch','www.dejong-motoren.cz','www.dejong-motoren.no','www.dejong-automotive.com','www.carparts-engines.com','www.koppenvlakken.nl','www.motorcodes.nl','gp-mugello.nl','gp-portugal.nl','www.boerenweer.nl','test.gemeentelink.nl','tip4.adfarmer.nl','adfarmer.nl','gp-imola.nl','www.motorcodes.de','www.enginenumbers.com','www.jonkmanbedrijfswagens.nl','tip4.dejong-automotive.nl','gp-zandvoort.net','tip4.motorcodes.nl','gp-turkije.nl','gp-qatar.nl','www.ccs-stekker.nl','www.oplaadstoring.nl','www.laadprijzen.nl','f1-stand.nl','f1-coureurs.nl','gp-emiliaromagna.nl','gp-saudiarabia.nl','gp-miami.nl','www.flextarief.nl','www.dynamisch-tarief.nl','coalitiesimulator.nl',]; var gotID = false; var changePreferences = false; var afVID = null; var afPreloaded = 0; var afLoaded = 0; var afConsented = null; var afManual = false; loadPaused(); var str_cookie_h4 = 'We use cookies'; var str_introduction_p = 'Our websites can only exist thanks to the display of advertisements. What kind of ads do you prefer?'; var str_personalised_button = 'Personalised'; var str_neutral_button = 'Personalised'; if (primaryLanguage == 'nl') { str_cookie_h4 = 'Wij gebruiken cookies'; str_introduction_p = 'Onze websites kunnen alleen bestaan dankzij het vertonen van advertenties. Wat voor advertenties hebben jouw voorkeur?'; str_personalised_button = 'Gepersonaliseerd'; str_neutral_button = 'Ongepersonaliseerd'; } if (primaryLanguage == 'de') { str_cookie_h4 = 'Wir verwenden Cookies'; str_introduction_p = 'Unsere Websites können nur durch die Einblendung von Werbung existieren. Welche Art von Anzeigen bevorzugen Sie?'; str_personalised_button = 'Personalisiert'; str_neutral_button = 'Unpersonalisiert'; } if (primaryLanguage == 'fr') { str_cookie_h4 = 'Nous utilisons des cookies'; str_introduction_p = "Nos sites web ne peuvent exister qu'en affichant des publicités. Quel type d'annonces préférez-vous?"; str_personalised_button = 'Personnalisé'; str_neutral_button = 'Non personnalisé'; } if (primaryLanguage == 'it') { str_cookie_h4 = 'Noi usiamo i cookies'; str_introduction_p = "I nostri siti web possono esistere solo mostrando pubblicità. Che tipo di annunci preferisci?"; str_personalised_button = 'Personalizzato'; str_neutral_button = 'Non personalizzato'; } if (primaryLanguage == 'es') { str_cookie_h4 = 'Utilizamos cookies'; str_introduction_p = "Nuestros sitios web sólo pueden existir gracias a la publicidad. ¿Qué tipo de anuncios prefiere?"; str_personalised_button = 'Personalizado'; str_neutral_button = 'No personalizado'; } if (getParam('afVID')) { afVID = getParam('afVID'); } else { if (getCookie('afVID')) { afVID = getCookie('afVID'); } } if (getParam('afConsented')) { afConsented = getParam('afConsented'); } else { if (getCookie('afConsented')) { afConsented = getCookie('afConsented'); } } var url = new URL(window.location.href); url.searchParams.delete('afVID'); url.searchParams.delete('afConsented'); var afData = { url: url.href, afVID: afVID, ref: document.referrer, ttl: document.title, adblocker: 'onbekend' }; if (navigator.cookieEnabled && document.visibilityState !== 'prerender') { getAfVID(); if (typeof cookielessDomain == 'undefined') getConsent(); } function getAfVID() { if (gotID) { return; } gotID = true; if (typeof afData.afVID !== 'undefined') { postAfVID(afData); } else { if (afData.ref) { // Kijk of referer een vid heeft var parts = afData.ref.split('/'); // Als host in onze lijst staat en de hostname niet gelijk is aan die van de huidige website if (in_array(parts[2], hosts) && window.location.hostname !== parts[2]) { var url = parts[0] + '//' + parts[2] + '/cookie.php'; var xmlHttp = new XMLHttpRequest(); xmlHttp.withCredentials = true; xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { if (!xmlHttp.responseText) return; var response = JSON.parse(xmlHttp.responseText); if (response.afVID) { setCookie('afVID', response.afVID); afData.afVID = response.afVID } postAfVID(afData); } } xmlHttp.open("get", url); xmlHttp.send(); } else { postAfVID(afData); } } else { // Track data postAfVID(afData); } } } function consentPreferences() { changePreferences = true; getConsent(); } function getConsent() { console.log('Checking consent'); if (changePreferences || !afConsented) { if (document.getElementById("t_overlay")) { document.getElementById("t_overlay").style.display = 'block'; } else { var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://dashboard.webfarmer.nl/css/modal.css?t=1'; document.getElementsByTagName('head')[0].appendChild(link); var modal = ''; var node = document.createElement("div"); node.id = 't_overlay'; node.innerHTML = modal; document.body.appendChild(node); document.getElementById("personalised").onclick = function() { consent('personalised'); document.getElementById("t_overlay").style.display = 'none'; } document.getElementById("neutral").onclick = function() { consent('neutral'); document.getElementById("t_overlay").style.display = 'none'; } } } else { consented(afConsented); } } function addParam(variable, value) { var anchors = document.getElementsByTagName('a'); for (let i = 0; i < anchors.length; i++) { let a = anchors[i].href; try { var url = new URL(a); if (in_array(url.hostname, hosts) && window.location.hostname !== url.hostname) { url.searchParams.append(variable, value); } anchors[i].href = url.href; } catch (e) { } } } function getParam(variable) { var params = new URLSearchParams(window.location.search); return params.get(variable); } function consent(adType) { console.log('Storing consent' + adType); var dt = new Date(); var dateTime = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate(); var expires = 30 * 24 * 60 * 60 * 1000; var str = adType + '|' + window.location.hostname + '|' + dateTime; setCookie('afConsented', str, expires); afConsented = str; consented(str); } function loadPaused() { afManual = document.getElementsByClassName('adsbygoogle').length; (adsbygoogle = window.adsbygoogle || []).pauseAdRequests = 1; var script = document.createElement('script'); script.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; script.crossOrigin = "anonymous"; script.setAttribute('crossorigin', 'anonymous'); script.setAttribute('data-ad-client', "ca-pub-3943113124708810"); script.onload = () => { afData.adblocker = 'none'; postLoaded('none'); afPreloaded = 1; if (afConsented) loadRegular(); console.log('Preload success'); } script.onerror = () => { afData.adblocker = 'blocked'; postLoaded('blocked'); afPreloaded = 2; if (afConsented) loadAlternative(); console.log('Preload failed'); } document.body.appendChild(script); } function loadRegular() { if (afLoaded) return; console.log('Loading regular'); var parts = afConsented.split('|'); try { (adsbygoogle = window.adsbygoogle || []).pauseAdRequests = 0; if (parts[0] == 'neutral') { (adsbygoogle = window.adsbygoogle || []).requestNonPersonalizedAds = 1; document.getElementById('cpfooter').innerHTML = '

U heeft op ' + parts[2] + ' neutrale cookies geaccepteerd via ' + parts[1] + '

'; if (afManual) { console.log('Loading non personal manual'); (adsbygoogle = window.adsbygoogle || []).push({}); } else { console.log('Loading non personal auto'); (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-3943113124708810", enable_page_level_ads: true }); } } else { document.getElementById('cpfooter').innerHTML = '

U heeft op ' + parts[2] + ' gepersonaliseerde cookies geaccepteerd via ' + parts[1] + '

'; if (afManual) { console.log('Loading personal manual'); (adsbygoogle = window.adsbygoogle || []).push({}); } else { console.log('Loading personal auto'); (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-3943113124708810", enable_page_level_ads: true }); } } } catch (error) { } afLoaded = 1; } function loadAlternative() { if (primaryLanguage == 'nl') { var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://dashboard.webfarmer.nl/css/banner.css'; document.getElementsByTagName('head')[0].appendChild(link); var xmlHttp = new XMLHttpRequest(); xmlHttp.withCredentials = true; xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { var ad = JSON.parse(xmlHttp.responseText) var banner = '
' + '
' + '

' + ad.title + '

' + '
' + ad.price + '
'; var node = document.createElement("div"); node.id = 't_banner'; node.innerHTML = banner; document.body.appendChild(node); document.getElementById('closeAlternative').addEventListener('click', closeAlternative); } } xmlHttp.open("get", '/t.php?alt=1'); xmlHttp.send(); } afLoaded = 2; } function closeAlternative() { document.getElementById('t_banner').css('display', 'none'); } function consented(str) { if (!changePreferences) { window.history.replaceState({}, document.title, afData.url); addParam('afConsented', str); var parts = str.split('|'); if (afData.afVID) postConsent(parts[0]); if (afPreloaded > 0) { if (afPreloaded == 1) { loadRegular(); } else { loadAlternative(); } } } else { window.location.href = afData.url; } } function postAfVID(elements) { var formData = new FormData(); for (var key in elements) { formData.append(key, elements[key]); } var xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { if (!xmlHttp.responseText) return; var response = JSON.parse(xmlHttp.responseText); setCookie('afVID', response.afVID); addParam('afVID', response.afVID); afData.afVID = response.afVID; } } xmlHttp.open("post", "https://dashboard.webfarmer.nl/register.php"); xmlHttp.send(formData); } function postConsent(adType) { var formData = new FormData(); formData.append('afVID', afData.afVID); formData.append('adblocker', afData.adblocker); formData.append('adType', adType); var xmlHttp = new XMLHttpRequest(); xmlHttp.open("post", "https://dashboard.webfarmer.nl/consented.php"); xmlHttp.send(formData); } function postLoaded(status) { var formData = new FormData(); formData.append('afVID', afData.afVID); formData.append('status', status); var xmlHttp = new XMLHttpRequest(); xmlHttp.open("post", "https://dashboard.webfarmer.nl/blocker.php"); xmlHttp.send(formData); } function getCookie(name) { var b = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)'); return b ? b.pop() : ''; } function setCookie(name, value, time) { if (!time) time = 21 * 24 * 60 * 60 * 1000; var date = new Date(); date.setTime(date.getTime() + time); expires = "; expires=" + date.toUTCString(); document.cookie = name + "=" + value + expires + "; Path=/; SameSite=None; Secure"; } function in_array(needle, haystack) { for (var i in haystack) { if (haystack[i] == needle) return true; } return false; }