PageSourceSearch

https://www.zchocolat.com/themes/zchocolat/assets/cache/head-c4c316244.js

js zchocolat.com collected 2026-10-02 05:40:59 UTC 7,366 bytes, 48 lines download raw bytes

1(function(w,d){'use strict';var settings=w.zgtm||{};var containerId=settings.containerId;if(!containerId){return}
2if(w.navigator&&w.navigator.webdriver){return}
3w.dataLayer=w.dataLayer||[];if(settings.internal){w.dataLayer.push({traffic_type:'internal'})}
4var currency=(settings.cart&&settings.cart.currency)||'EUR';var cart=normaliseCart(settings.cart);var known={};var listOf={};var sent={};function normaliseCart(raw){if(!raw||!raw.items){return{items:[],value:0}}
5return{items:raw.items.slice(),value:Number(raw.value)||0}}
6function push(payload){if(!payload){return}
7w.dataLayer.push({ecommerce:null});w.dataLayer.push(payload)}
8function once(key){if(sent[key]){return!1}
9sent[key]=!0;return!0}
10function remember(items,listName){if(!items){return}
11for(var i=0;i<items.length;i++){if(items[i]&&items[i].item_id){known[String(items[i].item_id)]=items[i];if(listName){listOf[String(items[i].item_id)]=listName}}}}
12function cartValue(){var total=0;for(var i=0;i<cart.items.length;i++){total+=(Number(cart.items[i].price)||0)*(Number(cart.items[i].quantity)||0)}
13return Math.round(total*100)/100}
14function announcePrepared(){var blocks=d.querySelectorAll('script.zgtm-event:not([data-zgtm-done])');for(var i=0;i<blocks.length;i++){blocks[i].setAttribute('data-zgtm-done','1');var payload;try{payload=JSON.parse(blocks[i].textContent)}catch(e){continue}
15announce(payload)}}
16function announce(payload){if(!payload||!payload.event){return}
17if(payload.ecommerce&&payload.ecommerce.items){remember(payload.ecommerce.items,payload.event==='view_item_list'?payload.ecommerce.item_list_name:null);if(payload.event==='add_to_cart'){upsert(payload.ecommerce.items[0],Number(payload.ecommerce.items[0].quantity)||1)}else if(payload.event==='remove_from_cart'){upsert(payload.ecommerce.items[0],-(Number(payload.ecommerce.items[0].quantity)||1))}}
18push(payload)}
19w.zgtmAnnounce=announcePrepared;var pendingTimer=null;var pendingLast=0;function fetchPending(){if(!settings.pendingUrl||typeof w.fetch!=='function'||pendingTimer){return}
20var wait=Math.max(800,3000-(Date.now()-pendingLast));pendingTimer=setTimeout(function(){pendingTimer=null;pendingLast=Date.now();w.fetch(settings.pendingUrl+(settings.pendingUrl.indexOf('?')===-1?'?':'&')+'ajax=1',{credentials:'same-origin',headers:{'X-Requested-With':'XMLHttpRequest'}}).then(function(response){return response.json()}).then(function(data){var events=(data&&data.events)||[];for(var i=0;i<events.length;i++){announce(events[i])}}).catch(function(){})},wait)}
21function watchCartMoves(){var names=['cart-sidebar:open','cart-sidebar:sync','cart:updated'];for(var i=0;i<names.length;i++){d.addEventListener(names[i],fetchPending)}
22if(w.prestashop&&typeof w.prestashop.on==='function'){w.prestashop.on('updateCart',fetchPending)}
23var drawer=d.getElementById('cart-sidebar');if(drawer&&typeof MutationObserver==='function'){new MutationObserver(fetchPending).observe(drawer,{childList:!0,subtree:!0,characterData:!0})}}
24function watchProductClicks(){d.addEventListener('click',function(event){var link=event.target&&event.target.closest?event.target.closest('a[href]'):null;if(!link){return}
25var container=link.closest('[data-id-product]');var id=container?String(container.getAttribute('data-id-product')||''):'';var item=id?known[id]:null;var list=id?listOf[id]:null;if(!item||!list){return}
26push({event:'select_item',ecommerce:{currency:currency,item_list_name:list,items:[Object.assign({},item,{item_list_name:list})]}})},!0)}
27function watchCart(){d.addEventListener('cart-sidebar:open',function(){push({event:'view_cart',ecommerce:{currency:currency,value:cartValue(),items:cart.items}})})}
28function upsert(item,delta){var id=String(item.item_id);for(var i=0;i<cart.items.length;i++){if(String(cart.items[i].item_id)===id){cart.items[i].quantity=Math.max(0,(Number(cart.items[i].quantity)||0)+delta);if(cart.items[i].quantity===0){cart.items.splice(i,1)}
29return}}
30if(delta>0){cart.items.push(Object.assign({},item,{quantity:delta}))}}
31function watchCheckout(){if(settings.page!=='checkout'){return}
32if(once('begin_checkout')){push({event:'begin_checkout',ecommerce:{currency:currency,value:cartValue(),items:cart.items}})}
33var sections=d.querySelectorAll('.zchk-section');if(sections.length<4){return}
34var delivery=sections[2];var payment=sections[3];var observer=new MutationObserver(function(){if(delivery.classList.contains('zchk-section--complete')&&once('add_shipping_info')){push({event:'add_shipping_info',ecommerce:{currency:currency,value:cartValue(),items:cart.items}})}
35if(payment.classList.contains('zchk-section--active')&&once('add_payment_info')){push({event:'add_payment_info',ecommerce:{currency:currency,value:cartValue(),items:cart.items}})}});observer.observe(delivery,{attributes:!0,attributeFilter:['class']});observer.observe(payment,{attributes:!0,attributeFilter:['class']})}
36w.zgtmTrack=function(eventName,payload){if(!eventName){return}
37push(Object.assign({event:String(eventName)},payload||{}))};w.dataLayer.push({'gtm.start':new Date().getTime(),event:'gtm.js'});var first=d.getElementsByTagName('script')[0];var script=d.createElement('script');script.async=!0;
37script.src='https://www.googletagmanager.com/gtm.js?id='+encodeURIComponent(containerId);first.parentNode.insertBefore(script,first);function start(){announcePrepared();watchProductClicks();watchCart();watchCartMoves();watchCheckout();if(settings.pending){fetchPending()}}
38remember(cart.items);if(d.readyState==='loading'){d.addEventListener('DOMContentLoaded',start)}else{start()}})(window,document);(function(w,d){'use strict';var settings=w.zbrevo||{};var clientKey=settings.clientKey;if(!clientKey){return}
39w.sib={equeue:[],client_key:clientKey};if(settings.email){w.sib.email_id=settings.email}
40w.sendinblue={};var methods=['track','identify','trackLink','page'];for(var i=0;i<methods.length;i++){(function(k){w.sendinblue[k]=function(){var arg=Array.prototype.slice.call(arguments);(w.sib[k]||function(){var t={};t[k]=arg;w.sib.equeue.push(t)})(arg[0],arg[1],arg[2],arg[3])}})(methods[i])}
41var loader=d.createElement('script');var first=d.getElementsByTagName('script')[0];loader.type='text/javascript';loader.id='sendinblue-js';loader.async=!0;loader.src=(settings.scriptUrl||'https://sibautomation.com/sa.js')+'?key='+encodeURIComponent(clientKey);first.parentNode.insertBefore(loader,first);w.sendinblue.page();function addToCart(name){name=String(name||'').trim();if(!name){return}
42w.sendinblue.track('addtocart',{},{data:{product_name:name}})}
43d.addEventListener('cart-sidebar:open',function(event){var line=event&&event.detail&&event.detail.optimisticLine;if(line&&line.name){addToCart(line.name)}});function watchCart(){if(!w.prestashop||typeof w.prestashop.on!=='function'){return}
44w.prestashop.on('updateCart',function(event){var reason=(event&&event.reason)||{};if(String(reason.linkAction||'')!=='add-to-cart'){return}
45var id=String(reason.idProduct||'');var name='';var products=event&&event.resp&&event.resp.cart&&event.resp.cart.products;if(products&&products.length){for(var j=0;j<products.length;j++){if(String(products[j].id_product)===id){name=products[j].name;break}}}
46if(!name){var title=d.querySelector('.product__title, .product-title, h1');name=title?title.textContent:''}
47addToCart(name)})}
48if(d.readyState==='loading'){d.addEventListener('DOMContentLoaded',watchCart)}else{watchCart()}})(window,document)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.