;</script> <!-- Facebook Pixel Code --><script type=)
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.agent='dvapptrian';n.queue=[];
t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
require([
'jquery',
'underscore',
'mage/url',
'mage/cookies'
], function ($, _, mageUrl) {
var propagationStop = 0;
$(function () {
function getUserData()
{
var sectionUrl = 'https://bunx.nl/customer/section/load';
$.ajax({
url: sectionUrl,
cache: false,
data: {
sections: "apptrian_facebook_pixel_matching_section"
},
type: "GET",
dataType : "json"
})
.done(function(json) {
run(json);
});
}
getUserData();
function run(response) {
var userData = {};
var apptrianFacebookPixelUrl="https://bunx.nl/losse-ballast-pro-inox-timer-amalgaam-130-watt"; var apptrianFacebookPixelProductId=2299;
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop)) {
return false;
}
}
return true;
}
if (propagationStop === 0) {
propagationStop = 1;
var section;
var sectionData;
if (response !== 'undefined' && response.hasOwnProperty('apptrian_facebook_pixel_matching_section')) {
section = response.apptrian_facebook_pixel_matching_section;
if (section !== 'undefined' && section.hasOwnProperty('matching_data')) {
sectionData = section.matching_data;
if (!isEmpty(sectionData)) {
userData = sectionData;
}
}
}
fbq('init', '956738131052763', userData);
function stringToHash(string)
{
var hash = 0;
if (string.length == 0) return hash;
for (i = 0; i < string.length; i++) {
char = string.charCodeAt(i);
hash = ((hash << 5) - hash) + char;
hash = hash & hash;
}
return String(hash);
}
function generateEventId(eName)
{
var uCookie = document.cookie;
var uHash = stringToHash(uCookie);
var url = window.location.href;
var urlHash = stringToHash(url);
function getTimeStamp() {
if (!Date.now) {
Date.now = function() { return new Date().getTime(); }
}
return Date.now();
}
var timestamp = String(getTimeStamp());
return eName + uHash + urlHash + timestamp;
}
function fireConversionsApiEvent(eName, eData, eId)
{
var apiUrl = 'https://bunx.nl/apptrian_facebookpixel/index/index';
$.ajax({
url: apiUrl,
cache: false,
data: {
eventName: eName,
eventData: eData,
eventId: eId,
url: window.location.href,
userData: userData
},
type: "GET",
dataType : "json",
})
.done(function( json ) {
var result = json;
});
}
function moveParamsOutsideContents(data) {
var isMoveParamsOutsideContentsEnabled = 0;
if (isMoveParamsOutsideContentsEnabled) {
if (!('contents' in data)) {
return data;
}
var contents = data['contents'];
var contentsLength = contents.length;
if (contentsLength > 1) {
var c = 0;
for (i = 0; i < contentsLength; i++) {
var item = contents[i];
for (var index in item) {
if (index == 'id' || index == 'item_price' || index == 'quantity') {
continue;
}
delete data['contents'][c][index];
}
c++;
}
} else {
var item = contents[0];
for (var index in item) {
var value = item[index];
if (index == 'id' || index == 'item_price' || index == 'quantity') {
continue;
}
data[index] = value;
delete data['contents'][0][index];
}
}
return data;
} else {
return data;
}
}
var pageViewEventId = generateEventId("PageView");
var pageViewEventIdObj = {};
pageViewEventIdObj.eventID = pageViewEventId;
var pageViewData = {};
fbq("track", "PageView", pageViewData, pageViewEventIdObj);
if (isConsentGranted()) {fireConversionsApiEvent("PageView", pageViewData, pageViewEventId);}
var productData = {
"contents": [
{
"id": "01-SB874",
"quantity": 1,
"item_price": 399
}
],
"content_type": "product",
"value": 399,
"currency": "EUR"
};
var productDataForViewContent = {
"contents": [
{
"id": "01-SB874",
"quantity": 1,
"item_price": 399
}
],
"content_type": "product",
"value": 399,
"currency": "EUR"
};
var isDetectSelectedSkuEnabled = 0;
var taxFlag = 1;
var viewContentEventId = generateEventId('ViewContent');
var viewContentEventIdObj = {};
viewContentEventIdObj.eventID = viewContentEventId;
productDataForViewContent = moveParamsOutsideContents(productDataForViewContent);
fbq('track', 'ViewContent', productDataForViewContent, viewContentEventIdObj);
if (isConsentGranted()) {fireConversionsApiEvent('ViewContent', productDataForViewContent, viewContentEventId);}
$('#product-addtocart-button').on('click', function() {
if (isDetectSelectedSkuEnabled) {
updateProductData();
}
if (productData.contents.length) {
productData = moveParamsOutsideContents(productData);
var addToCartEventId = generateEventId('AddToCart');
var addToCartEventIdObj = {};
addToCartEventIdObj.eventID = addToCartEventId;
fbq('track', 'AddToCart', productData, addToCartEventIdObj);
if (isConsentGranted()) {fireConversionsApiEvent('AddToCart', productData, addToCartEventId);}
}
});
$('.action.towishlist').on('click', function() {
if (isDetectSelectedSkuEnabled) {
updateProductData();
}
if (productData.contents.length) {
productData = moveParamsOutsideContents(productData);
var addToWishlistEventId = generateEventId('AddToWishlist');
var addToWishlistEventIdObj = {};
addToWishlistEventIdObj.eventID = addToWishlistEventId;
fbq('track', 'AddToWishlist', productData, addToWishlistEventIdObj);
if (isConsentGranted()) {fireConversionsApiEvent('AddToWishlist', productData, addToWishlistEventId);}
}
});
}
}
function getCookieDataFromString(str)
{
var data = {};
try {
data = JSON.parse(str);
} catch (e) {
if (str.indexOf('=') > -1) {
var arr = str.split('=');
var key = '';
var value = '';
var k = 1;
for (let i = 0; i < arr.length; i+=2) {
key = '';
value = '';
if (arr[i] !== undefined) {
key = arr[i].trim();
}
if (arr[k] !== undefined) {
value = arr[k].trim();
}
if (key) {
data[key] = value;
}
k+=2;
}
} else {
data = str;
}
}
return data;
}
function isConsentGranted()
{
var isCookieConsentEnabled = 0;
if (!isCookieConsentEnabled) {
return 1;
}
var cookieName = 'user_allowed_save_cookie';
var cookie = $.mage.cookies.get(cookieName);
var result = 0;
if (!cookie) {
return result;
}
var cookieData = getCookieDataFromString(cookie);
var cookieKey = '';
var cookieValue = '';
if (cookieKey && cookieValue) {
if (typeof cookieData === 'object' && cookieData[cookieKey] !== undefined) {
var value = cookieData[cookieKey];
if (value == cookieValue) {
result = 1;
}
}
} else if (!cookieKey && cookieValue) {
if (cookie == cookieValue) {
result = 1;
}
} else if (cookieKey && !cookieValue) {
if (typeof cookieData === 'object' && cookieKey in cookieData) {
result = 1;
}
} else {
if (cookie) {
result = 1;
}
}
return result;
}
function checkConsent()
{
if (isConsentGranted()) {
}
}
checkConsent();
var consentButton = $('#btn-cookie-allow');
if (consentButton.length) {
consentButton.on('click', function() {
setTimeout(function() {
checkConsent();
}, 1000);
});
}
});
});