This commit is contained in:
2025-05-20 00:42:06 +02:00
parent 3a604530bc
commit 43f52d3fe1
126 changed files with 36 additions and 486862 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,144 +0,0 @@
/**
* NOTICE OF LICENSE
*
* This source file is subject to a trade license awared by
* Garamo Online L.T.D.
*
* Any use, reproduction, modification or distribution
* of this source file without the written consent of
* Garamo Online L.T.D It Is prohibited.
*
* @author ReactionCode <info@reactioncode.com>
* @copyright 2015-2020 Garamo Online L.T.D
* @license Commercial license
*/
function RcAnalyticsEvents(){var publicValues=this;var privateValues={};privateValues.moduleUrl=prestashop.urls.base_url+'modules/rc_pganalytics/';privateValues.redirected=!1;privateValues.redirectLink=null;privateValues.productsPosition={};privateValues.initial=!0;privateValues.sendProducts=[];privateValues.sentProducts=[];privateValues.sendPromotions=[];privateValues.sentPromotions=[];privateValues.scrollTimeout=null;privateValues.lastIdProductView='';privateValues.doNotTrack=(window.doNotTrack=="1"||navigator.doNotTrack=="yes"||navigator.doNotTrack=="1"||navigator.msDoNotTrack=="1");publicValues.trackingFeatures=null;publicValues.lists=null;publicValues.productsListCache=null;publicValues.ecommPageType='';publicValues.controllerName='';publicValues.isCheckout='';publicValues.compliantModuleName='';publicValues.skipCartStep='';publicValues.eventScrollList=eventScrollList;publicValues.eventClickPromotionItem=eventClickPromotionItem;publicValues.eventClickProductList=eventClickProductList;publicValues.eventProductView=eventProductView;publicValues.eventSocialShareProductView=eventSocialShareProductView;publicValues.eventAddCartProduct=eventAddCartProduct;publicValues.eventCartQuantityUp=eventCartQuantityUp;publicValues.eventCartQuantityDown=eventCartQuantityDown;publicValues.eventCartQuantityDelete=eventCartQuantityDelete;publicValues.eventPrestashopCheckout=eventPrestashopCheckout;publicValues.eventOpcSuperCheckout=eventOpcSuperCheckout;publicValues.eventCartOpcSupercheckout=eventCartOpcSupercheckout;publicValues.eventOpcPrestaTeam=eventOpcPrestaTeam;publicValues.eventCartOpcPrestaTeam=eventCartOpcPrestaTeam;publicValues.eventOpcTheCheckout=eventOpcTheCheckout;publicValues.eventCartOpcTheCheckout=eventCartOpcTheCheckout;publicValues.onSearchResults=onSearchResults;publicValues.onCheckoutProducts=onCheckoutProducts;publicValues.onAddOrder=onAddOrder;publicValues.onSignUp=onSignUp;publicValues.sendGtagConfig=sendGtagConfig;publicValues.setClientId=setClientIdInDb;if(RcAnalyticsEvents.prototype.getInstance){return RcAnalyticsEvents.prototype.getInstance}
RcAnalyticsEvents.prototype.getInstance=this;function eventScrollList(){if(!privateValues.initial){clearTimeout(privateValues.scrollTimeout);scrollElementDetection();privateValues.scrollTimeout=setTimeout(function(){if(privateValues.sendProducts.length||privateValues.sendPromotions.length){doneScroll()}},800)}else{privateValues.initial=!1;scrollElementDetection();doneScroll()}}
function eventClickPromotionItem(event){var mainSelector=['.js-ga-track-promo a'];var target=delegateEvents(mainSelector,event.target);var promoQuery;var promoLink;if(event.button===0&&target&&target.nodeName==='A'&&window.ga&&window.ga.length){promoQuery=target.search;promoLink=target.href;if(promoQuery&&promoLink){event.preventDefault();onPromotionClick(promoQuery,promoLink)}}}
function eventClickProductList(event){var mainSelector=['.js-product-miniature'];var variantSelector=['.js-product-miniature .variant-links a'];var eventSelectors=['.js-product-miniature .product-thumbnail','.js-product-miniature .product-title a','.js-product-miniature .variant-links a','.js-product-miniature .quick-view'];var target=delegateEvents(eventSelectors,event.target);var caseClick=1;var classList;var link;var productNode;var variantNode;var variantAttribute;var idProduct;var idProductAttribute;var list;if(event.button===0&&target&&target.nodeName==='A'&&window.ga&&window.ga.length){if(!event.ctrlKey&&!event.shiftKey){classList=target.classList;if(!classList.contains('quick-view')&&!classList.contains('quick-view-mobile')){link=target.getAttribute('href');if(link){event.preventDefault()}}}
productNode=delegateEvents(mainSelector,target);variantNode=delegateEvents(variantSelector,target);if(productNode){idProduct=parseInt(productNode.getAttribute('data-id-product'));idProductAttribute=parseInt(productNode.getAttribute('data-id-product-attribute'))}
list=checkFilters();if(!isNaN(idProduct)){if(variantNode){variantAttribute=variantNode.getAttribute('data-id-product-attribute');if(variantAttribute){idProductAttribute=variantAttribute}}
if(isNaN(idProductAttribute)){idProductAttribute=0}
idProduct=idProduct+'-'+idProductAttribute;getData(caseClick,idProduct,list,link,null)}else if(link){document.location=link}}}
function eventProductView(event){var caseClick=4;var productListView=publicValues.lists.productView;var productDetailsNode;var productDetails;var idProductValue;var idProductAttributeValue;var idProductView;if(document.body.id!=='product'){if(event&&event.dataset){idProductValue=event.dataset.idProduct;idProductAttributeValue=event.dataset.idProductAttribute}else{idProductValue=document.querySelector('#product_page_product_id').value;idProductAttributeValue=event.id_product_attribute}
productListView='quick_view'}else{productDetailsNode=document.querySelector('#product-details');productDetails=JSON.parse(productDetailsNode.dataset.product);idProductValue=productDetails.id_product;idProductAttributeValue=productDetails.id_product_attribute}
idProductView=idProductValue+'-'+idProductAttributeValue;if(idProductView!==privateValues.lastIdProductView){getData(caseClick,idProductView,productListView,null,null);privateValues.lastIdProductView=idProductView}}
function eventSocialShareProductView(event){var eventSelectors=['.facebook','.twitter','.googleplus','.pinterest'];var target=delegateEvents(eventSelectors,event.target);var network;if(event.button===0&&target&&window.ga&&window.ga.length){if(target){eventSelectors.forEach(function(platform){platform=platform.substring(1);if(target.classList.contains(platform)){network=platform}});if(network){onSocialAction(network)}}}}
function eventAddCartProduct(event){var caseClick=2;var productViewList=publicValues.lists.productView;var idProduct;var idProductAttribute;var quantityWanted;var quickViewModal;if(event&&event.reason&&event.resp&&document.body.id!=='cart'){quickViewModal=document.querySelector('[id^=quickview-modal]');if(quickViewModal){productViewList='quick_view'}
idProduct=parseInt(event.reason.idProduct);idProductAttribute=parseInt(event.reason.idProductAttribute);if(document.body.id==='product'||quickViewModal){quantityWanted=parseInt(document.querySelector('#quantity_wanted').value)}else{quantityWanted=1}
if(!isNaN(idProduct)&&!isNaN(quantityWanted)){if(isNaN(idProductAttribute)){idProductAttribute=0}
idProduct=idProduct+'-'+idProductAttribute;getData(caseClick,idProduct,productViewList,null,quantityWanted)}}}
function eventCartQuantityUp(event){var eventSelectors=['.js-increase-product-quantity'];var mainSelector=['.cart-item'];var target=delegateEvents(eventSelectors,event.target);var caseClick=2;var quantityWanted=1;var mainNode;var dataNode;var idProduct;var idProductAttribute;if(event.button===0&&target&&window.ga&&window.ga.length){mainNode=delegateEvents(mainSelector,target);dataNode=mainNode.querySelector('.remove-from-cart');if(dataNode){idProduct=parseInt(dataNode.getAttribute('data-id-product'));idProductAttribute=parseInt(dataNode.getAttribute('data-id-product-attribute'))}
if(!isNaN(idProduct)){if(isNaN(idProductAttribute)){idProductAttribute=0}
idProduct=idProduct+'-'+idProductAttribute;getData(caseClick,idProduct,publicValues.lists.default,null,quantityWanted)}}}
function eventCartQuantityDown(event){var eventSelectors=['.js-decrease-product-quantity'];var mainSelector=['.cart-item'];var target=delegateEvents(eventSelectors,event.target);var caseClick=3;var quantityRemoved=1;var mainNode;var dataNode;var idProduct;var idProductAttribute;if(event.button===0&&target&&window.ga&&window.ga.length){mainNode=delegateEvents(mainSelector,target);dataNode=mainNode.querySelector('.remove-from-cart');if(dataNode){idProduct=parseInt(dataNode.getAttribute('data-id-product'));idProductAttribute=parseInt(dataNode.getAttribute('data-id-product-attribute'))}
if(!isNaN(idProduct)){if(isNaN(idProductAttribute)){idProductAttribute=0}
idProduct=idProduct+'-'+idProductAttribute;getData(caseClick,idProduct,publicValues.lists.default,null,quantityRemoved)}}}
function eventCartQuantityDelete(event){var eventSelectors=['.remove-from-cart'];var mainSelector=['.cart-item'];var target=delegateEvents(eventSelectors,event.target);var caseClick=3;var mainNode;var idProduct;var idProductAttribute;var quantityRemoved;if(event.button===0&&target&&window.ga&&window.ga.length){idProduct=parseInt(target.getAttribute('data-id-product'));idProductAttribute=parseInt(target.getAttribute('data-id-product-attribute'));mainNode=delegateEvents(mainSelector,target);if(mainNode){quantityRemoved=mainNode.querySelector('.js-cart-line-product-quantity');quantityRemoved=parseInt((quantityRemoved?quantityRemoved.value:null))}
if(!isNaN(idProduct)&&!isNaN(quantityRemoved)){if(isNaN(idProductAttribute)){idProductAttribute=0}
idProduct=idProduct+'-'+idProductAttribute;getData(caseClick,idProduct,publicValues.lists.default,null,quantityRemoved)}}}
function eventPrestashopCheckout(event){var eventSelectors=['#checkout-delivery-step button','#payment-confirmation button'];var target=delegateEvents(eventSelectors,event.target);var currentStepNode;var shippingNode;var paymentNode;var checkoutOption;if(event.button===0&&target&&window.ga&&window.ga.length){currentStepNode=document.querySelector('.js-current-step');if(currentStepNode.id==='checkout-delivery-step'){shippingNode=document.querySelector('[id^=delivery_option_]:checked');shippingNode=delegateEvents(['.delivery-option'],shippingNode);shippingNode=shippingNode?shippingNode.querySelector('.carrier-name'):null;checkoutOption=shippingNode?shippingNode.textContent.trim():''}else if(currentStepNode.id==='checkout-payment-step'){paymentNode=document.querySelector('[id^=payment-option-]:checked');paymentNode=delegateEvents(['.payment-option'],paymentNode);paymentNode=paymentNode?paymentNode.querySelector('[for^=payment-option-] span'):null;checkoutOption=paymentNode?paymentNode.textContent.trim():''}
onCheckoutOption(checkoutOption)}}
function eventOpcSuperCheckout(event){var eventSelectors=['#supercheckout_confirm_order'];var mainCarrierSelector=['.highlight'];var mainPaymentSelector=['.highlight'];var target=delegateEvents(eventSelectors,event.target);var cgv;var shippingNode;var shippingOption;var paymentNode;var paymentOption;var checkoutOption;if(event.button===0&&target&&window.ga&&window.ga.length){cgv=document.querySelector('input[id^=conditions_to_approve]');if(!cgv||cgv.checked){shippingNode=document.querySelector('.supercheckout_shipping_option:checked');if(shippingNode){shippingNode=delegateEvents(mainCarrierSelector,shippingNode);shippingNode=shippingNode.querySelector('label img')||shippingNode.querySelector('label');shippingOption=(shippingNode?shippingNode.getAttribute('alt')||shippingNode.textContent.trim():'');shippingOption=normalizeText(shippingOption)}
paymentNode=document.querySelector('#payment-method input:checked');paymentNode=delegateEvents(mainPaymentSelector,paymentNode);paymentNode=paymentNode.querySelector('label img')||paymentNode.querySelector('label span');paymentOption=(paymentNode?paymentNode.getAttribute('alt')||paymentNode.textContent.trim():'');paymentOption=normalizeText(paymentOption);checkoutOption=paymentOption+' / '+shippingOption;onCheckoutOption(checkoutOption)}}}
function eventCartOpcSupercheckout(event){var eventSelectors=['.increase_button','.decrease_button','.removeProduct'];var mainSelector=['[id^=product_]'];var target=delegateEvents(eventSelectors,event.target);var targetClassList;var caseClick=2;var quantity=1;var mainNode;var dataNode;var quantityNode;var ids;var idProduct;var idProductAttribute;var indexedProduct;if(event.button===0&&target&&window.ga&&window.ga.length){targetClassList=target.classList;mainNode=delegateEvents(mainSelector,target);if(mainNode){dataNode=mainNode.id;if(dataNode){ids=dataNode.split('_');idProduct=parseInt(ids[1]);idProductAttribute=parseInt(ids[2])}
if(!isNaN(idProduct)){if(isNaN(idProductAttribute)){idProductAttribute=0}
indexedProduct=idProduct+'-'+idProductAttribute;if(targetClassList.contains('decrease_button')||targetClassList.contains('removeProduct')){caseClick=3;if(targetClassList.contains('removeProduct')){quantityNode=mainNode.querySelector('.quantitybox');quantity=parseInt((quantityNode?quantityNode.value:null))}}
getData(caseClick,indexedProduct,publicValues.lists.default,null,quantity)}}}}
function eventOpcPrestaTeam(event){var eventSelectors=['#btn_place_order'];var mainCarrierSelector=['.delivery-option'];var mainPaymentSelector=['.module_payment_container'];var target=delegateEvents(eventSelectors,event.target);var cgv;var shippingNode;var shippingOption;var paymentNode;var paymentOption;var checkoutOption;if(event.button===0&&target&&window.ga&&window.ga.length){cgv=document.querySelector('#cgv');if(!cgv||cgv.checked){shippingNode=document.querySelector('.delivery_option_radio:checked');paymentNode=document.querySelector('.payment_radio:checked');if(shippingNode){shippingNode=delegateEvents(mainCarrierSelector,shippingNode);shippingNode=shippingNode.querySelector('.delivery_option_title');shippingOption=(shippingNode?shippingNode.textContent.trim():'');shippingOption=normalizeText(shippingOption)}
if(paymentNode){paymentNode=delegateEvents(mainPaymentSelector,paymentNode);paymentNode=paymentNode.querySelector('.payment_content span');paymentOption=(paymentNode?paymentNode.textContent.trim():'');paymentOption=normalizeText(paymentOption);checkoutOption=paymentOption+' / '+shippingOption;onCheckoutOption(checkoutOption)}}}}
function eventCartOpcPrestaTeam(event){var eventSelectors=['.bootstrap-touchspin-up','.bootstrap-touchspin-down','.remove-from-cart'];var mainSelector=['.bootstrap-touchspin'];var target=delegateEvents(eventSelectors,event.target);var targetClassList;var caseClick=2;var quantity=1;var mainNode;var dataNode;var quantityNode;var idProduct;var idProductAttribute;var indexedProduct;if(event.button===0&&target&&window.ga&&window.ga.length){targetClassList=target.classList;mainNode=delegateEvents(mainSelector,target);if(mainNode){dataNode=mainNode.querySelector('.remove-from-cart');if(dataNode){idProduct=dataNode.dataset.idProduct;idProductAttribute=dataNode.dataset.idProductAttribute;if(!isNaN(idProduct)){if(isNaN(idProductAttribute)){idProductAttribute=0}
indexedProduct=idProduct+'-'+idProductAttribute;if(targetClassList.contains('bootstrap-touchspin-down')||targetClassList.contains('remove-from-cart')){caseClick=3;if(targetClassList.contains('remove-from-cart')){quantityNode=mainNode.querySelector('.cart-line-product-quantity');quantity=parseInt((quantityNode?quantityNode.value:null))}}
getData(caseClick,indexedProduct,publicValues.lists.default,null,quantity)}}}}}
function eventOpcTheCheckout(event){var eventSelectors=['#confirm_order'];var mainCarrierSelector=['.delivery-option'];var mainPaymentSelector=['.payment-option'];var target=delegateEvents(eventSelectors,event.target);var requiredCheckBox1;var requiredCheckBox2;var shippingNode;var shippingOption;var paymentNode;var paymentOption;var checkoutOption;if(event.button===0&&target&&window.ga&&window.ga.length){requiredCheckBox1=document.querySelector('input[name=required-checkbox-1]');requiredCheckBox2=document.querySelector('input[name=required-checkbox-2]');if((!requiredCheckBox1||requiredCheckBox1.checked)&&(!requiredCheckBox2||requiredCheckBox2.checked)){shippingNode=document.querySelector('[id^=delivery_option]:checked');paymentNode=document.querySelector('[id^=payment-option]:checked');if(shippingNode){shippingNode=shippingNode.closest(mainCarrierSelector);shippingNode=shippingNode.querySelector('.carrier-name');shippingOption=(shippingNode?shippingNode.textContent.trim():'');shippingOption=normalizeText(shippingOption)}
if(paymentNode){paymentNode=paymentNode.closest(mainPaymentSelector);paymentNode=paymentNode.querySelector('label[for^=payment-option-] span');paymentOption=(paymentNode?paymentNode.textContent.trim():'');paymentOption=normalizeText(paymentOption);checkoutOption=paymentOption+' / '+shippingOption;onCheckoutOption(checkoutOption)}}}}
function eventCartOpcTheCheckout(event){var eventSelectors=['.cart-line-product-quantity-up','.cart-line-product-quantity-down','.remove-from-cart'];var mainSelector=['.product-line-actions'];var target=delegateEvents(eventSelectors,event.target);var targetClassList;var caseClick=2;var quantity=1;var mainNode;var dataNode;var quantityNode;var idProduct;var idProductAttribute;var indexedProduct;if(event.button===0&&target&&window.ga&&window.ga.length){targetClassList=target.classList;mainNode=delegateEvents(mainSelector,target);if(mainNode){dataNode=mainNode.querySelector('.remove-from-cart');if(dataNode){idProduct=dataNode.dataset.idProduct;idProductAttribute=dataNode.dataset.idProductAttribute;if(!isNaN(idProduct)){if(isNaN(idProductAttribute)){idProductAttribute=0}
indexedProduct=idProduct+'-'+idProductAttribute;if(targetClassList.contains('cart-line-product-quantity-down')||targetClassList.contains('remove-from-cart')){caseClick=3;if(targetClassList.contains('remove-from-cart')){quantityNode=mainNode.querySelector('.cart-line-product-quantity');quantity=parseInt((quantityNode?quantityNode.value:null))}}
getData(caseClick,indexedProduct,publicValues.lists.default,null,quantity)}}}}}
function onSearchResults(){var eventName='view_search_results';var eventParams={};var searchTerm;if(document.body.id==='search'){searchTerm=getSearchTerm();if(searchTerm){eventParams.search_term=searchTerm;sendGtagEvent(eventName,eventParams)}}}
function onScrollTracking(products){var eventName='view_item_list';var eventParams;var eventDimensions;var sendNow;if(Array.isArray(products)&&products.length){while(products.length>0){sendNow=products.splice(0,publicValues.trackingFeatures.productSendRate);eventParams={'non_interaction':1,'items':[]};sendNow.forEach(function(product){eventParams.items.push(productLayer(product))});if(publicValues.trackingFeatures.config.remarketing||publicValues.trackingFeatures.config.businessData){eventDimensions=setRemarketingDimensions(sendNow,publicValues.ecommPageType);Object.assign(eventParams,eventDimensions)}
sendGtagEvent(eventName,eventParams)}}}
function onPromotionView(promotions){var eventName='view_promotion';var eventParams={'promotions':getPromotionsLayered(promotions)};sendGtagEvent(eventName,eventParams)}
function onPromotionClick(promotion,link){var eventName='select_content';var eventParams={'promotions':[getPromotionLayer(promotion)]};if(link){privateValues.redirectLink=link;eventParams.event_callback=callbackWithTimeout(function(){redirectLink()},2000)}
sendGtagEvent(eventName,eventParams)}
function onProductClick(product,link){var eventName='select_content';var eventParams={'content_type':'product','items':[]};eventParams.items.push(productLayer(product));if(link){privateValues.redirectLink=link;eventParams.event_callback=callbackWithTimeout(function(){redirectLink()},2000)}
sendGtagEvent(eventName,eventParams)}
function onProductView(product){var eventName='view_item';var eventParams={'non_interaction':1,'items':[]};var ecommPageType=publicValues.ecommPageType;var eventDimensions;eventParams.items.push(productLayer(product));if(publicValues.trackingFeatures.config.remarketing||publicValues.trackingFeatures.config.businessData){if(product.list_name==='quick_view'){ecommPageType='product'}
eventDimensions=setRemarketingDimensions([product],ecommPageType);Object.assign(eventParams,eventDimensions)}
sendGtagEvent(eventName,eventParams)}
function onSocialAction(network){var eventName='share';var eventParams={'method':network,'event_value':publicValues.trackingFeatures.eventValues.socialAction};if(publicValues.trackingFeatures.goals.socialAction){sendGtagEvent(eventName,eventParams)}}
function onSignUp(){var index=publicValues.trackingFeatures.isGuest;var customerType=publicValues.trackingFeatures.signUpTypes[index];var eventName='sign_up';var eventParams={'method':customerType,'value':publicValues.trackingFeatures.eventValues.signUp};if(publicValues.trackingFeatures.goals.signUp&&publicValues.trackingFeatures.isNewSignUp){sendGtagEvent(eventName,eventParams);publicValues.trackingFeatures.isNewSignUp=0;publicValues.trackingFeatures.isGuest=0}}
function onAddToCart(product,link){var eventName='add_to_cart';var eventParams={'items':[]};var eventDimensions={};var ecommPageType='cart';eventParams.items.push(productLayer(product));if(publicValues.trackingFeatures.config.remarketing||publicValues.trackingFeatures.config.businessData){eventDimensions=setRemarketingDimensions([product],ecommPageType);Object.assign(eventParams,eventDimensions)}
if(!publicValues.trackingFeatures.cartAjax&&link){privateValues.redirectLink=link;eventParams.event_callback=callbackWithTimeout(function(){redirectLink()},2000)}
sendGtagEvent(eventName,eventParams)}
function onRemoveFromCart(product,link){var eventName='remove_from_cart';var eventParams={'items':[]};eventParams.items.push(productLayer(product));if(!publicValues.trackingFeatures.cartAjax&&link){privateValues.redirectLink=link;eventParams.event_callback=callbackWithTimeout(function(){redirectLink()},2000)}
sendGtagEvent(eventName,eventParams)}
function onCheckoutProducts(products){var eventName='checkout_progress';var eventParams;var eventDimensions;var sendNow;var currentCheckoutStep=getCheckOutStep();if(currentCheckoutStep===1){eventName='begin_checkout'}
if(Array.isArray(products)&&products.length){while(products.length>0){sendNow=products.splice(0,publicValues.trackingFeatures.productSendRate);eventParams={'checkout_step':currentCheckoutStep,'items':[]};sendNow.forEach(function(product){eventParams.items.push(productLayer(product))});if(publicValues.trackingFeatures.config.remarketing||publicValues.trackingFeatures.config.businessData){eventDimensions=setRemarketingDimensions(sendNow,publicValues.ecommPageType);Object.assign(eventParams,eventDimensions)}
sendGtagEvent(eventName,eventParams)}}}
function onCheckoutOption(checkoutOption){var eventName='set_checkout_option';var eventParams={'checkout_step':getCheckOutStep(),'checkout_option':checkoutOption};sendGtagEvent(eventName,eventParams)}
function onAddOrder(order,products,idShop){var eventName='purchase';var adWordsConversionEventName='conversion';var adWordsConversionParams={'transaction_id':order.transaction_id,'value':order.value,'currency':publicValues.trackingFeatures.currency};var productLength=products.length;var firstLoop=1;var eventDimensions;var eventParams;var sendNow;if(Array.isArray(products)&&products.length){while(products.length>0){sendNow=products.splice(0,publicValues.trackingFeatures.productSendRate);eventParams={'items':[],'send_to':publicValues.trackingFeatures.analyticsId};if(firstLoop){eventParams.event_callback=callbackWithTimeout(function(){setOrderInDb(order.transaction_id,idShop)},1000);firstLoop=0}
Object.keys(order).forEach(function(key){if(order[key]!==null&&order[key]!==!1&&order[key]!==''){if(key==='value'&&productLength>publicValues.trackingFeatures.productSendRate){return}
eventParams[key]=order[key]}});sendNow.forEach(function(product){eventParams.items.push(productLayer(product))});if(publicValues.trackingFeatures.config.remarketing||publicValues.trackingFeatures.config.businessData){eventDimensions=setRemarketingDimensions(sendNow,publicValues.ecommPageType);Object.assign(eventParams,eventDimensions)}
sendGtagEvent(eventName,eventParams)}
if(publicValues.trackingFeatures.adwordsId&&publicValues.trackingFeatures.adwordsCl){adWordsConversionParams.send_to=publicValues.trackingFeatures.adwordsId+'/'+publicValues.trackingFeatures.adwordsCl;sendGtagEvent(adWordsConversionEventName,adWordsConversionParams)}}}
function sendGtagConfig(configId){var configElement=publicValues.trackingFeatures[configId];var configFeatures=publicValues.trackingFeatures.config;var configParams={};var doNotTrack=(publicValues.trackingFeatures.checkDoNotTrack&&privateValues.doNotTrack);if(publicValues.trackingFeatures.disableInternalTracking||doNotTrack){window['ga-disable-'+publicValues.trackingFeatures.analyticsId]=!0}
if(configId==='analyticsId'){configParams.site_speed_sample_rate=configFeatures.simpleSpeedSampleRate;configParams.anonymize_ip=configFeatures.anonymizeIp;configParams.link_attribution=configFeatures.linkAttribution;if(configFeatures.userIdFeature){configParams.user_id=configFeatures.userIdValue}
if(configFeatures.remarketing||configFeatures.businessData){configParams.custom_map={};if(configFeatures.remarketing){configParams.custom_map['dimension'+configFeatures.customDimensions.ecommProdId]='ecomm_prodid';configParams.custom_map['dimension'+configFeatures.customDimensions.ecommPageType]='ecomm_pagetype';configParams.custom_map['dimension'+configFeatures.customDimensions.ecommTotalValue]='ecomm_totalvalue';configParams.custom_map['dimension'+configFeatures.customDimensions.ecommCategory]='ecomm_category'}
if(configFeatures.businessData){configParams.custom_map['dimension'+configFeatures.customDimensions.dynxItemId]='dynx_itemid';configParams.custom_map['dimension'+configFeatures.customDimensions.dynxItemId2]='dynx_itemid2';configParams.custom_map['dimension'+configFeatures.customDimensions.dynxPageType]='dynx_pagetype';configParams.custom_map['dimension'+configFeatures.customDimensions.dynxTotalValue]='dynx_totalvalue'}}else{configParams.allow_display_features=configFeatures.remarketing}
if(Array.isArray(configFeatures.crossDomainList)&&configFeatures.crossDomainList.length){configParams.linker={'domains':configFeatures.crossDomainList}}
if(configFeatures.optimizeId){configParams.optimize_id=configFeatures.optimizeId}
configParams.currency=publicValues.trackingFeatures.currency}else if(configId==='adwordsId'){configParams.send_page_view=!1}
if(configElement){gtag('config',configElement,configParams)}}
function sendGtagEvent(eventName,eventParams){gtag('event',eventName,eventParams)}
function getPromotionsLayered(promotions){var promotionsLayered=[];promotions.forEach(function(promotion){promotionsLayered.push(getPromotionLayer(promotion))});return promotionsLayered}
function getPromotionLayer(promotion){var promotionFields={'pid':'id','pn':'name','pc':'creative_name','pp':'creative_slot'};var promotionLayer={};var promotionQueryData;var gaKey;promotionQueryData=getQueryData(promotion);Object.keys(promotionFields).forEach(function(key){gaKey=promotionFields[key];if(promotionQueryData.hasOwnProperty(key)){promotionLayer[gaKey]=decodeURIComponent(promotionQueryData[key])}});return promotionLayer}
function productLayer(product){var productKeys=['id','name','variant','brand','category','list_name','list_position','quantity','price','coupon'];var gaProduct={};productKeys.forEach(function(key){if(product[key]!==null){gaProduct[key]=product[key]}});return gaProduct}
function setRemarketingDimensions(products,ecommPageType){var ecommDimensions={};var businessDimensions={};var remarketingDimensions={};var totalValue=0;var productPrice=0;products.forEach(function(product){productPrice=product.price;if(product.quantity){productPrice=productPrice*product.quantity}
totalValue=parseFloat((totalValue+productPrice).toFixed(2));if(publicValues.trackingFeatures.config.remarketing){ecommDimensions=processEcommProduct(product,ecommDimensions,ecommPageType,totalValue)}
if(publicValues.trackingFeatures.config.businessData){businessDimensions=processBusinessProduct(product,businessDimensions,ecommPageType,totalValue)}});Object.assign(remarketingDimensions,ecommDimensions,businessDimensions);return remarketingDimensions}
function getFeedIdProduct(idProduct,idAttribute,feedPrefix,feedVariant,feedSuffix){var feedIdProduct=idProduct;if(feedVariant&&idAttribute){feedIdProduct=idProduct+feedVariant+idAttribute}
return feedPrefix+feedIdProduct+feedSuffix}
function processEcommProduct(product,ecommDimensions,ecommPageType,totalValue){var feedIdProduct;ecommDimensions.ecomm_pagetype=ecommPageType;if(ecommPageType==='product'||ecommPageType==='cart'||ecommPageType==='purchase'){feedIdProduct=getFeedIdProduct(product.id,product.id_attribute,publicValues.trackingFeatures.merchantPrefix,publicValues.trackingFeatures.merchantVariant,publicValues.trackingFeatures.merchantSuffix);if(ecommPageType==='cart'||ecommPageType==='purchase'){if(!ecommDimensions.hasOwnProperty('ecomm_prodid')){ecommDimensions.ecomm_prodid=[]}
ecommDimensions.ecomm_prodid.push(feedIdProduct)}else{ecommDimensions.ecomm_prodid=feedIdProduct}}
if(ecommPageType==='product'||ecommPageType==='cart'||ecommPageType==='purchase'){ecommDimensions.ecomm_totalvalue=totalValue}
if((ecommPageType==='category'||ecommPageType==='product')&&product.category){ecommDimensions.ecomm_category=product.category}
return ecommDimensions}
function processBusinessProduct(product,businessDimensions,ecommPageType,totalValue){var dynxPageTypes={'home':'home','searchresults':'searchresults','product':'offerdetail','cart':'conversionintent','purchase':'conversion'};var dynxPageType='other';var idAttribute;var feedIdProduct;if(dynxPageTypes.hasOwnProperty(ecommPageType)){dynxPageType=dynxPageTypes[ecommPageType]}
businessDimensions.dynx_pagetype=dynxPageType;if(dynxPageType==='searchresults'||dynxPageType==='offerdetail'||dynxPageType==='conversionintent'||dynxPageType==='conversion'){feedIdProduct=getFeedIdProduct(product.id,product.id_attribute,publicValues.trackingFeatures.businessDataPrefix,publicValues.trackingFeatures.businessDataVariant,'');if(!publicValues.trackingFeatures.businessDataVariant){if(!businessDimensions.hasOwnProperty('dynx_itemid2')){businessDimensions.dynx_itemid2=[]}
if(product.id_attribute){idAttribute=product.id_attribute.toString()}
businessDimensions.dynx_itemid2.push(idAttribute)}
if(!businessDimensions.hasOwnProperty('dynx_itemid')){businessDimensions.dynx_itemid=[]}
businessDimensions.dynx_itemid.push(feedIdProduct);if(dynxPageType==='offerdetail'||dynxPageType==='conversionintent'||dynxPageType==='conversion'){businessDimensions.dynx_totalvalue=totalValue}}
return businessDimensions}
function getSearchTerm(){var searchWordNode;var searchTerm;if(document.body.id==='search'){searchWordNode=document.querySelector('input[name=s]');searchTerm=searchWordNode.value||null}
return searchTerm}
function getCheckOutStep(){var currentStepValue=1;var currentStepNode;if(publicValues.isCheckout){if(document.body.id==='checkout'&&publicValues.controllerName==='order'&&publicValues.compliantModuleName==='default'){currentStepNode=document.querySelector('.js-current-step');switch(currentStepNode.id){case 'checkout-personal-information-step':currentStepValue=2;break;case 'checkout-addresses-step':currentStepValue=3;break;case 'checkout-delivery-step':currentStepValue=4;break;case 'checkout-payment-step':currentStepValue=5;break}}else if(publicValues.controllerName===publicValues.compliantModuleName||(publicValues.controllerName==='order'&&publicValues.compliantModuleName==='onepagecheckoutps'&&publicValues.skipCartStep==='')){currentStepValue=2}
return currentStepValue}}
function getData(caseClick,idProducts,list,link,quantityWanted){var req=new XMLHttpRequest();var url=privateValues.moduleUrl+'rc_pganalytics-ajax.php';var data={'action':'product','products_position':privateValues.productsPosition,'list':list,'quantity_wanted':quantityWanted,'products_list_cache':publicValues.productsListCache};var formData;var response;var type;if(typeof idProducts==='object'){data.id_products=idProducts}else{data.id_products=[idProducts]}
formData=new FormData();formData.append('data',JSON.stringify(data));formData.append('token',publicValues.trackingFeatures.token);req.open('POST',url,!0);req.onreadystatechange=function(){try{if(req.status===200){if(req.readyState===4){type=req.getResponseHeader('Content-Type');if(type==='application/json'){response=JSON.parse(req.responseText);if(typeof response==='object'){if(caseClick===0){onScrollTracking(response)}else if(caseClick===1){onProductClick(response[0],link)}else if(caseClick===2){onAddToCart(response[0],link)}else if(caseClick===3){onRemoveFromCart(response[0],link)}else if(caseClick===4){onProductView(response[0])}}}else{throw 'response is not an JSON object'}}}else{throw 'Unexpected XHR error'}}catch(error){console.warn('rc_pganalytics: '+error);if(link){privateValues.redirectLink=link;redirectLink()}}};req.send(formData)}
function setOrderInDb(orderId,idShop){var req=new XMLHttpRequest();var url=privateValues.moduleUrl+'rc_pganalytics-ajax.php';var data={'action':'orderComplete','is_order':!0,'id_order':orderId,'id_shop':idShop,'id_customer':publicValues.trackingFeatures.config.userIdValue};var adBlocker=(!window.ga||!window.ga.length);var doNotTrack=(publicValues.trackingFeatures.checkDoNotTrack&&privateValues.doNotTrack);var formData;if(doNotTrack||adBlocker){data.action='abortedTransaction';data.doNotTrack=privateValues.doNotTrack;data.adBlocker=adBlocker}
formData=new FormData();formData.append('data',JSON.stringify(data));formData.append('token',publicValues.trackingFeatures.token);req.open('POST',url,!0);req.send(formData)}
function setClientIdInDb(){var clientId;var trackers;var req;var url;var data;var formData;if(window.ga){ga(function(){trackers=ga.getAll();if(Array.isArray(trackers)&&trackers.length){clientId=trackers[0].get('clientId');if(clientId&&clientId!==publicValues.trackingFeatures.clientId){req=new XMLHttpRequest();url=privateValues.moduleUrl+'rc_pganalytics-ajax.php';data={'action':'clientId','id_customer':publicValues.trackingFeatures.config.userIdValue,'id_shop':publicValues.trackingFeatures.idShop,'client_id':clientId};formData=new FormData();formData.append('data',JSON.stringify(data));formData.append('token',publicValues.trackingFeatures.token);req.open('POST',url,!0);req.send(formData)}}})}}
function scrollElementDetection(){var products=document.querySelectorAll('.js-product-miniature');var promos=document.querySelectorAll('.js-ga-track-promo');if(products.length){processScrollElement(products,'product')}
if(promos.length){processScrollElement(promos,'promo')}}
function processScrollElement(elements,type){var visibleElement;var idProduct;var idProductAttribute;var isInViewport;elements.forEach(function(element){isInViewport=isElementInViewport(element);if(isInViewport){if(type==='product'){idProduct=parseInt(element.getAttribute('data-id-product'));idProductAttribute=parseInt(element.getAttribute('data-id-product-attribute'))|0;if(!isNaN(idProduct)){visibleElement=idProduct+'-'+idProductAttribute;if(privateValues.sentProducts.indexOf(visibleElement)===-1&&privateValues.sendProducts.indexOf(visibleElement)===-1){privateValues.sendProducts.push(visibleElement)}}}else if(type==='promo'){visibleElement=element.querySelector('a').search;if(visibleElement){if(privateValues.sentPromotions.indexOf(visibleElement)===-1&&privateValues.sendPromotions.indexOf(visibleElement)===-1){privateValues.sendPromotions.push(visibleElement)}}}}})}
function scrollProductPositionDetection(){var products=document.querySelectorAll('.js-product-miniature');var actualPosition=getInitPosition();var productKey;var idProduct;var idProductAttribute;products.forEach(function(product){idProduct=parseInt(product.getAttribute('data-id-product'));idProductAttribute=parseInt(product.getAttribute('data-id-product-attribute'));if(isNaN(idProductAttribute)){idProductAttribute=0}
if(!isNaN(idProduct)){productKey=idProduct+'-'+idProductAttribute;if(!privateValues.productsPosition.hasOwnProperty(productKey)){privateValues.productsPosition[productKey]=actualPosition;actualPosition ++}}})}
function getInitPosition(){var pagination;var itemsNumber;pagination=document.querySelector('.current .disabled.js-search-link');pagination=(pagination?pagination.textContent.trim():1);itemsNumber=publicValues.trackingFeatures.productsPerPage;return(parseInt(itemsNumber)*parseInt(pagination))-parseInt(itemsNumber)+1}
function doneScroll(){var caseClick=0;var list;if(privateValues.sendProducts.length>0){scrollProductPositionDetection();list=checkFilters();getData(caseClick,privateValues.sendProducts,list,null,null);Array.prototype.push.apply(privateValues.sentProducts,privateValues.sendProducts);privateValues.sendProducts=[]}
if(privateValues.sendPromotions.length>0){onPromotionView(privateValues.sendPromotions);Array.prototype.push.apply(privateValues.sentPromotions,privateValues.sendPromotions);privateValues.sendPromotions=[]}
clearTimeout(privateValues.scrollTimeout)}
function checkFilters(){var list=publicValues.lists.default;var isEnabledFilter=document.querySelector('#js-active-search-filters');if(isEnabledFilter&&isEnabledFilter.className==='active_filters'){list=publicValues.lists.filter}else if(document.body.id==='search'){publicValues.ecommPageType='searchresults'}
return list}
function redirectLink(){if(!privateValues.redirected){privateValues.redirected=!0;window.location=privateValues.redirectLink}}
function callbackWithTimeout(callback,timeout){var called=!1;function fn(){if(!called){called=!0;callback()}}
setTimeout(fn,timeout||1000);return fn}
function getQueryData(query){var vars={};query.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value){vars[key]=value});return vars}
function isElementInViewport(element){var isVisible=!1;var winHeight=window.innerHeight;var winOffset=window.pageYOffset;var minY=winOffset;var maxY=winOffset+winHeight;var itemTop;var itemBottom;var elHeight;var elComputedStyle;var elHeightPadding;var rect;elHeight=element.clientHeight;if(elHeight){elComputedStyle=getComputedStyle(element);elHeightPadding=parseInt(elComputedStyle.paddingTop)+parseInt(elComputedStyle.paddingBottom);rect=element.getBoundingClientRect();itemTop=rect.top+winOffset;itemBottom=itemTop+(elHeight-elHeightPadding);isVisible=((itemTop>=minY&&itemTop<maxY)||(itemBottom>=minY&&itemBottom<maxY))}
return isVisible}
function normalizeText(text){var filtered='';if(typeof text==='string'){filtered=text.replace(/^\s+|\n+.*/g,'').trim()}
return filtered}
function delegateEvents(selectors,target){var matchMode;if(target){matchMode=target.matches||target.webkitMatchesSelector||target.msMatchesSelector;matchMode=matchMode.name||/function\s+([\w\$]+)\s*\(/.exec(matchMode.toString());if(typeof matchMode!=='string'){matchMode=matchMode?matchMode[1]:''}
if(matchMode){while(target.parentNode!==null){if(target.nodeType===1){for(var i=0;i<selectors.length;i++){if(target[matchMode](selectors[i])){return target}}}
target=target.parentNode}}}}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long