PageSourceSearch

https://grammer.nl/wp-content/cache/minify/ecf5f.js

js grammer.nl collected 2026-10-06 07:49:53 UTC 23,872 bytes, 52 lines download raw bytes

1(function(){var cfg=window.GRM_TRACKER;if(!cfg||!cfg.pingUrl)return;if(cfg.toestemming){var gestart=false;var start=function(){if(!gestart){gestart=true;grmTrackerStart();}};if(window.marcoCookieKeuze&&window.marcoCookieKeuze.statistiek){start();}
2else{window.addEventListener('marco-cookie-keuze',function(e){if(e.detail&&e.detail.statistiek){start();}});}
3return;}
4grmTrackerStart();function grmTrackerStart(){var ua=navigator.userAgent||'';if(/bot|crawl|spider|headless|phantomjs/i.test(ua))return;var SID_KEY='grm_sid';var EXP_KEY='grm_exp';var SESSIE_DUUR=24*60*60*1000;function zetSessieCookie(sid){try{document.cookie='grm_sessie_id='+sid+'; max-age='+(SESSIE_DUUR/1000)+'; path=/; SameSite=Lax';}catch(e){}}
5function getSessieId(){try{var exp=parseInt(localStorage.getItem(EXP_KEY)||'0',10);var sid=localStorage.getItem(SID_KEY);if(!sid||Date.now()>exp){sid=Math.random().toString(36).substr(2,12)+Date.now().toString(36);localStorage.setItem(SID_KEY,sid);}
6localStorage.setItem(EXP_KEY,Date.now()+SESSIE_DUUR);zetSessieCookie(sid);return sid;}catch(e){var nsSid='ns'+Math.random().toString(36).substr(2,12);zetSessieCookie(nsSid);return nsSid;}}
7var sessieId=getSessieId();var pageStart=Date.now();var huidigUrl=window.location.pathname+window.location.search;var huidigTitel=document.title;function ping(params){var data=new FormData();data.append('sessie_id',sessieId);data.append('url',params.url||'');data.append('titel',params.titel||'');data.append('prev_url',params.prev_url||'');data.append('duur',params.duur||0);if(navigator.sendBeacon){navigator.sendBeacon(cfg.pingUrl,data);}else{fetch(cfg.pingUrl,{method:'POST',body:data,keepalive:true});}}
8ping({url:huidigUrl,titel:huidigTitel});document.addEventListener('visibilitychange',function(){if(document.visibilityState==='hidden'){var duur=Math.round((Date.now()-pageStart)/1000);ping({prev_url:huidigUrl,duur:duur});}
9if(document.visibilityState==='visible'){pageStart=Date.now();}});function event(type,waarde){var data=new FormData();data.append('sessie_id',sessieId);data.append('type',type);data.append('url',huidigUrl);data.append('waarde',waarde||'');if(navigator.sendBeacon){navigator.sendBeacon(cfg.eventUrl,data);}else{fetch(cfg.eventUrl,{method:'POST',body:data,keepalive:true});}}
10document.addEventListener('click',function(e){var el=e.target.closest('button.single_add_to_cart_button, .add_to_cart_button, [name="add-to-cart"], '+'button[type="submit"].cart, .wc-block-components-product-add-to-cart button');if(el){var product=document.querySelector('.product_title, h1.entry-title');event('winkelwagen_toevoegen',product?product.textContent.trim().substring(0,200):'');}});document.addEventListener('click',function(e){var el=e.target.closest('a.cart-contents, a.grm-header__cart, .cart-icon, a[href*="/winkelmand"], a[href*="/cart"], '+'.wc-block-cart, .site-header-cart a, #site-header-cart a, '+'.navbar .cart, .menu-cart a, a.wc-cart');if(el){event('winkelwagen_bekijken','');}});var scrollMijlpalen={25:false,50:false,75:false,100:false};function checkScroll(){var doc=document.documentElement;var body=document.body;var hoogte=Math.max(doc.scrollHeight,body.scrollHeight)-window.innerHeight;if(hoogte<=0)return;var pct=Math.round(window.scrollY/hoogte*100);[25,50,75,100].forEach(function(m){if(!scrollMijlpalen[m]&&pct>=m){scrollMijlpalen[m]=true;event('scroll_'+m,m+'%');}});}
11var scrollTimer;window.addEventListener('scroll',function(){clearTimeout(scrollTimer);scrollTimer=setTimeout(checkScroll,200);},{passive:true});}})();;document.addEventListener('DOMContentLoaded',function(){var container=document.querySelector('.wc-pao-addons-container');if(container){var heading=document.createElement('div');heading.className='marco-opties-kop';heading.innerHTML='<span class="marco-lijn"></span><span class="marco-koptekst">Kies uw opties</span><span class="marco-lijn"></span>';container.parentNode.insertBefore(heading,container);}
12document.querySelectorAll('.wc-pao-addon-container').forEach(function(addon){var label=addon.querySelector('label');if(!label)return;var labelText=label.textContent.trim();var hadVerplicht=/\(verplicht\)/i.test(labelText);labelText=labelText.replace(/^Optie:\s*/i,'').replace(/\s*\*\s*$/,'').replace(/\s*\(verplicht\)\s*/i,'').trim();if(/gratis/i.test(labelText)){addon.classList.add('marco-gratis');var badge=maakBadge('GRATIS','marco-badge-gratis');labelText=labelText.replace(/\s*gratis\s*/i,' ').trim();labelText=labelText.replace(/\(\s*\)/g,'').replace(/\s+/g,' ').trim();wrapLabelBadge(label,badge,labelText,addon);}
13else if(/\d+%\s*korting/i.test(labelText)){addon.classList.add('marco-korting');var match=labelText.match(/(\d+)%\s*korting/i);var percentage=match?match[1]:'';var badge=maakBadge(percentage+'% KORTING','marco-badge-korting');labelText=labelText.replace(/\s*\(met\s+\d+%\s*korting\)\s*/i,'').replace(/\s*met\s+\d+%\s*korting\s*/i,'').trim();wrapLabelBadge(label,badge,labelText,addon);}
14else{addon.classList.add('marco-gewoon');label.textContent=kapitaliseer(labelText);}
15if(addon.classList.contains('wc-pao-required-addon')||hadVerplicht){var verplichtSpan=document.createElement('span');verplichtSpan.className='marco-verplicht';verplichtSpan.textContent=' (verplicht)';label.appendChild(verplichtSpan);}});function kapitaliseer(tekst){if(!tekst)return tekst;return tekst.charAt(0).toUpperCase()+tekst.slice(1);}
16function maakBadge(tekst,klasse){var badge=document.createElement('span');badge.className='marco-badge '+klasse;badge.textContent=tekst;return badge;}
17function wrapLabelBadge(label,badge,cleanText,addon){label.textContent=kapitaliseer(cleanText);var wrapper=document.createElement('div');wrapper.className='marco-label-rij';label.parentNode.insertBefore(wrapper,label);wrapper.appendChild(label);wrapper.appendChild(badge);}
18var observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){mutation.addedNodes.forEach(function(node){if(node.nodeType===1&&node.classList&&node.classList.contains('wc-pao-validation-notice')){var container=node.closest('.wc-pao-addon-container');if(container)container.classList.add('marco-validatiefout');}});if(mutation.type==='attributes'&&mutation.target.classList.contains('wc-pao-validation-notice')){var container=mutation.target.closest('.wc-pao-addon-container');if(!container)return;var notice=mutation.target;var zichtbaar=notice.style.display!=='none'&&notice.offsetParent!==null;container.classList.toggle('marco-validatiefout',zichtbaar);}});});document.querySelectorAll('.wc-pao-addon-container select').forEach(function(sel){sel.addEventListener('change',function(){var container=sel.closest('.wc-pao-addon-container');if(container)container.classList.remove('marco-validatiefout');});});var addonsContainer=document.querySelector('.wc-pao-addons-container');if(addonsContainer){observer.observe(addonsContainer,{childList:true,subtree:true,attributes:true,attributeFilter:['style','class']});}});;function marcoUpdateHeaderHoogte(){var fp=document.querySelector('.float-panel');if(!fp)return;var adminBar=document.getElementById('wpadminbar');if(adminBar&&document.body.classList.contains('admin-bar')){fp.style.top=adminBar.offsetHeight+'px';}
19document.documentElement.style.setProperty('--header-hoogte',fp.offsetHeight+'px');}
20window.addEventListener('load',marcoUpdateHeaderHoogte);window.addEventListener('resize',marcoUpdateHeaderHoogte);document.addEventListener('DOMContentLoaded',function(){setTimeout(marcoUpdateHeaderHoogte,50);var navCollapse=document.getElementById('bs4navbar');if(navCollapse){new MutationObserver(function(){setTimeout(marcoUpdateHeaderHoogte,320);}).observe(navCollapse,{attributes:true,attributeFilter:['class']});}
21setTimeout(function(){if(window.innerWidth>=992||!window.jQuery)return;window.jQuery('.grm-navbar .nav-item.dropdown').off('mouseenter mouseleave');},500);if(window.innerWidth<992){document.querySelectorAll('.grm-navbar .nav-item.dropdown > a').forEach(function(link){link.addEventListener('click',function(e){e.preventDefault();var item=this.closest('.nav-item.dropdown');var isOpen=item.classList.contains('show');document.querySelectorAll('.grm-navbar .nav-item.dropdown.show').forEach(function(el){el.classList.remove('show');el.querySelector('.dropdown-menu').classList.remove('show');});if(!isOpen){item.classList.add('show');item.querySelector('.dropdown-menu').classList.add('show');}});});document.addEventListener('click',function(e){if(!e.target.closest('.grm-navbar .nav-item.dropdown')){document.querySelectorAll('.grm-navbar .nav-item.dropdown.show').forEach(function(el){el.classList.remove('show');el.querySelector('.dropdown-menu').classList.remove('show');});}});}
22if(document.body.classList.contains('home')){var titleEl=document.querySelector('h2.grm-title__home');var titleCol=titleEl?titleEl.closest('.col-lg-12'):null;var row=titleCol?titleCol.parentElement:null;var productsCol=row?Array.from(row.children).find(function(el){return el.querySelector('ul.products');}):null;if(titleCol&&productsCol){var wrapper=document.createElement('div');wrapper.className='marco-products-sectie';row.insertBefore(wrapper,productsCol);wrapper.appendChild(productsCol);wrapper.appendChild(titleCol);}}
23(function(){var footer=document.querySelector('footer.gr-footer');if(!footer)return;var footerRow=footer.querySelector('.container .row');if(!footerRow)return;footerRow.querySelectorAll(':scope > .col-md-4').forEach(function(col){col.classList.remove('col-md-4');col.classList.add('col-md-3');});footer.querySelectorAll('h4.footer-titles').forEach(function(h4){if(h4.textContent.trim().toLowerCase().includes('volg ons')){h4.classList.add('marco-volg-ons-titel');}});var paymentList=footer.querySelector('ul.payment-options');if(paymentList){var pluginBase='/wp-content/plugins/marco-grammer-aanpassingen/images/';var betaalmethodes=[{bestand:'ideal.svg',label:'iDEAL'},{bestand:'bancontact.svg',label:'Bancontact'},{bestand:'visa.svg',label:'Visa'},{bestand:'mastercard.svg',label:'Mastercard'},{bestand:'paypal.svg',label:'PayPal'},{bestand:'klarna.svg',label:'Klarna'}];paymentList.innerHTML='';
23betaalmethodes.forEach(function(m){var li=document.createElement('li');var img=document.createElement('img');img.src=pluginBase+m.bestand;img.alt=m.label;img.loading='lazy';li.appendChild(img);paymentList.appendChild(li);});}
24var kiyohTpl=document.getElementById('marco-kiyoh-tpl');if(kiyohTpl){var scoreEl=kiyohTpl.querySelector('.marco-kiyoh-score');if(scoreEl){var score=scoreEl.textContent.trim().replace(',','.');footer.querySelectorAll('a').forEach(function(link){if(link.textContent.toLowerCase().includes('kiyoh')){link.textContent='Kiyoh klantenbeoordeling: '+score+'/10';}});}}
25var extraCol=document.createElement('div');extraCol.className='col-md-3 marco-footer-extra';extraCol.innerHTML='<h4 class="footer-titles" data-t="openingstijden">'+marcoT('openingstijden')+'</h4>'+'<ul class="marco-footer-tijden">'+'<li><span data-t="ma-do">'+marcoT('ma-do')+'</span><span>8:30 – 17:00</span></li>'+'<li><span data-t="vrijdag">'+marcoT('vrijdag')+'</span><span>8:30 – 15:00</span></li>'+'<li><span data-t="za-zo">'+marcoT('za-zo')+'</span><span data-t="gesloten">'+marcoT('gesloten')+'</span></li>'+'</ul>'+'<h4 class="footer-titles" style="margin-top:22px" data-t="contact">'+marcoT('contact')+'</h4>'+'<address class="marco-footer-adres">'+'<strong>EBLO Handelsmaatschappij B.V.</strong>'+'Schrijnwerkersstraat 10<br>'+'3334 KH Zwijndrecht<br>'+'<br>'+'<a href="tel:+31180512866">NL: +31 (0)180 - 512 866</a><br>'+'<a href="tel:+3232324228">BE: +32 (0)3 232 42 28</a><br>'+'<a href="mailto:[email protected]">[email protected]</a>'+'</address>'+'<h4 class="footer-titles" style="margin-top:22px" data-t="blijf-op-hoogte">'+marcoT('blijf-op-hoogte')+'</h4>'+'<p class="marco-footer-nieuwsbrief-tekst" data-t="nieuwsbrief-tekst">'+marcoT('nieuwsbrief-tekst')+'</p>'+'<form class="marco-nieuwsbrief-form">'+'<input type="email" placeholder="'+marcoT('email-placeholder')+'" class="marco-nieuwsbrief-input" data-t-placeholder="email-placeholder">'+'<input type="text" name="website" class="marco-nieuwsbrief-honeypot" tabindex="-1" autocomplete="off" aria-hidden="true">'+'<button type="submit" class="marco-nieuwsbrief-knop" data-t="aanmelden">'+marcoT('aanmelden')+'</button>'+'</form>';footerRow.appendChild(extraCol);var bottomRow=footer.querySelectorAll('.container .row')[1];if(bottomRow){var kvkEl=document.createElement('p');kvkEl.className='marco-footer-kvk';kvkEl.textContent='KVK: 24161817  |  Btw-nr: NL008830861B01';bottomRow.appendChild(kvkEl);}
26extraCol.querySelector('.marco-nieuwsbrief-form').addEventListener('submit',function(e){e.preventDefault();var form=this;var email=form.querySelector('.marco-nieuwsbrief-input').value.trim();var honeypot=form.querySelector('.marco-nieuwsbrief-honeypot').value;var knop=form.querySelector('.marco-nieuwsbrief-knop');if(!email)return;knop.textContent=marcoT('aanmelden-bezig');knop.disabled=true;fetch('/wp-json/marco/v1/nieuwsbrief',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({email:email,website:honeypot})}).then(function(r){return r.json();}).then(function(data){if(data.success){knop.textContent=data.message||marcoT('aangemeld');knop.style.background='rgb(62, 136, 85)';form.querySelector('.marco-nieuwsbrief-input').value='';}else{knop.textContent=marcoT('probeer-opnieuw');knop.disabled=false;}}).catch(function(){knop.textContent=marcoT('probeer-opnieuw');knop.disabled=false;});});})();var hoverFix=document.createElement('style');hoverFix.id='marco-dropdown-hover-fix';hoverFix.textContent='@media (max-width: 991px) {'+'  .grm-navbar .nav-item.dropdown:hover > .dropdown-menu { display: none !important; }'+'  .grm-navbar .nav-item.dropdown.show > .dropdown-menu { display: block !important; }'+'  .grm-navbar .navbar-nav .dropdown-menu { position: static !important; float: none !important; }'+'}';document.head.appendChild(hoverFix);});document.addEventListener('DOMContentLoaded',function(){var balk=document.createElement('div');balk.className='marco-zoekbalk';balk.innerHTML='<input type="text" id="marco-zoek-input" placeholder="'+marcoT('zoek-placeholder')+'" autocomplete="off" data-t-placeholder="zoek-placeholder">'+'<button type="button" id="marco-zoek-wissen" class="marco-zoekbalk-wissen" title="'+marcoT('wissen-titel')+'">&times;</button>'+'<button type="button" id="marco-zoek-knop" class="marco-zoekbalk-knop" data-t="zoeken">'+marcoT('zoeken')+'</button>';var pluginWrap=document.querySelector('.dgwt-wcas-search-wrapp');if(pluginWrap){pluginWrap.parentElement.insertBefore(balk,pluginWrap);}else{var container=document.querySelector('.grm-header .col-md-6');if(!container)return;container.innerHTML='';container.appendChild(balk);}
27var dropdown=document.createElement('div');dropdown.id='marco-zoek-dropdown';dropdown.className='marco-zoekbalk-dropdown';document.body.appendChild(dropdown);var input=document.getElementById('marco-zoek-input');var wissen=document.getElementById('marco-zoek-wissen');function positioneerDropdown(){var rect=balk.getBoundingClientRect();dropdown.style.position='fixed';dropdown.style.top=rect.bottom+'px';dropdown.style.left=rect.left+'px';dropdown.style.width=rect.width+'px';}
28var preview=document.createElement('div');preview.className='marco-zoekbalk-preview';preview.innerHTML='<img src="" alt=""><div class="marco-zoekbalk-preview-naam"></div>';document.body.appendChild(preview);var producten=null;setTimeout(function(){haalProductenOp(function(){});},300);function levenshtein(a,b){var m=a.length,n=b.length,dp=[],i,j;for(i=0;i<=m;i++){dp[i]=[i];for(j=1;j<=n;j++){dp[i][j]=i===0?j:a[i-1]===b[j-1]?dp[i-1][j-1]:1+Math.min(dp[i-1][j],dp[i][j-1],dp[i-1][j-1]);}}
29return dp[m][n];}
30function normaliseer(s){return s.replace(/[^a-z0-9]/gi,'').toLowerCase();}
31function isCode(s){return/[a-z]/i.test(s)&&/[0-9]/.test(s);}
32function woordMatch(woord,tekst){if(tekst.includes(woord))return true;var woordN=normaliseer(woord);var maxAfstand=isCode(woordN)?1:(woord.length<=4?1:2);return tekst.split(/\s+/).some(function(w){var wN=normaliseer(w);if(wN===woordN)return true;if(Math.abs(wN.length-woordN.length)>maxAfstand)return false;if(levenshtein(woordN,wN)<=maxAfstand)return true;if(wN.length>
32=woordN.length){return levenshtein(woordN,wN.slice(0,woordN.length))<=maxAfstand;}
33return false;});}
34function haalProductenOp(callback){if(producten){callback(producten);return;}
35var cacheKey='marco_producten_v10';var cacheTijd='marco_producten_tijd_v9';var nu=Date.now();var opgeslagen=localStorage.getItem(cacheKey);var tijd=localStorage.getItem(cacheTijd);if(opgeslagen&&tijd&&(nu-parseInt(tijd))<6*3600*1000){producten=JSON.parse(opgeslagen);callback(producten);return;}
36fetch('/wp-json/marco/v1/producten').then(function(r){return r.json();}).then(function(data){producten=data;localStorage.setItem(cacheKey,JSON.stringify(data));localStorage.setItem(cacheTijd,nu.toString());callback(producten);}).catch(function(){callback([]);});}
37function toonPreview(el,src,naam){var rect=dropdown.getBoundingClientRect();preview.querySelector('img').src=src||'';preview.querySelector('.marco-zoekbalk-preview-naam').textContent=naam;var left=rect.right+12;var top=rect.top;if(left+220>window.innerWidth-10)left=rect.left-212;preview.style.left=left+'px';preview.style.top=top+'px';preview.classList.add('zichtbaar');}
38function verbergPreview(){preview.classList.remove('zichtbaar');}
39var huidigeResultaten=[];var huidigeQuery='';var zoekLogTimer=null;var gelogdZoek={};function plangLiveZoekLog(query,aantalResultaten){clearTimeout(zoekLogTimer);if(!query||aantalResultaten===0||gelogdZoek[query])return;zoekLogTimer=setTimeout(function(){gelogdZoek[query]=true;fetch('/wp-json/marco/v1/zoekopdracht-live',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({query:query})}).catch(function(){});},800);}
40function getGroep(product){var cat=product.cat.toLowerCase();if(cat.includes('stoel')||cat.includes('boot'))return'stoelen';if(cat.includes('kussen'))return'kussens';return'overige';}
41var groepPrioriteit={stoelen:1,kussens:2,overige:3};function renderDropdown(){var actief=Array.from(dropdown.querySelectorAll('.marco-filter-cb:checked')).map(function(cb){return cb.value;});var gefilterd=actief.length===0?huidigeResultaten:huidigeResultaten.filter(function(p){return actief.indexOf(getGroep(p))!==-1;});var lijstEl=dropdown.querySelector('.marco-zoekbalk-resultaten-scroll');var alleEl=dropdown.querySelector('.marco-zoekbalk-alle');
41if(!lijstEl)return;if(gefilterd.length===0){lijstEl.innerHTML='<div class="marco-zoekbalk-geen-resultaten">'+marcoT('geen-producten-cat')+'</div>';if(alleEl)alleEl.style.display='none';return;}
42var tonen=actief.length>0?gefilterd:gefilterd.slice(0,8);lijstEl.innerHTML=tonen.map(function(p){return'<a href="'+p.url+'" class="marco-zoekbalk-item">'+
43(p.image?'<img src="'+p.image+'" alt="'+marcoProductNaam(p)+'">':'')+'<div><div class="marco-zoekbalk-naam">'+marcoProductNaam(p)+'</div>'+'<div class="marco-zoekbalk-cat">'+p.cat+'</div>'+
44(p.sku?'<div class="marco-zoekbalk-sku">'+marcoT('artnr')+' '+p.sku+'</div>':'')+'</div>'+'</a>';}).join('');if(alleEl){alleEl.style.display='';var n=gefilterd.length;alleEl.textContent=n===1?marcoT('bekijk-alle-1'):marcoT('bekijk-alle-n',{n:n});if(actief.length>0){var slugs=[];gefilterd.forEach(function(p){if(p.cat_slugs){p.cat_slugs.forEach(function(s){if(slugs.indexOf(s)===-1)slugs.push(s);});}});alleEl.href='/zoeken/?query='+encodeURIComponent(huidigeQuery)+'&groep='+actief[0];}else{alleEl.href='/zoeken/?query='+encodeURIComponent(huidigeQuery);}}
45var items=dropdown.querySelectorAll('.marco-zoekbalk-item');items.forEach(function(el,i){el.addEventListener('mouseenter',function(){toonPreview(el,gefilterd[i].image,gefilterd[i].name);});el.addEventListener('mouseleave',verbergPreview);});var wrap=dropdown.querySelector('.marco-zoekbalk-resultaten-wrap');setTimeout(function(){wrap.classList.toggle('onderaan',lijstEl.scrollHeight<=lijstEl.clientHeight);},0);}
46function toonResultaten(query){if(query.length<2){dropdown.classList.remove('actief');dropdown.innerHTML='';return;}
47huidigeQuery=query;haalProductenOp(function(lijst){var woorden=query.toLowerCase().trim().split(/\s+/);huidigeResultaten=lijst.map(function(p){var naam=p.name.toLowerCase();var cat=p.cat.toLowerCase();var tekst=naam+' '+cat+' '+(p.sku||'').toLowerCase()+' '+(p.alt_nrs||'').toLowerCase();var alleAanwezig=woorden.every(function(w){return woordMatch(w,tekst);});if(!alleAanwezig)return null;var w0=woorden[0];var score=0;if(naam.startsWith(w0))score=4;else if(new RegExp('\\b'+w0).test(naam))score=3;else if(naam.includes(w0))score=2;else score=1;return{product:p,score:score};}).filter(function(r){return r!==null;}).sort(function(a,b){var ga=groepPrioriteit[getGroep(a.product)];var gb=groepPrioriteit[getGroep(b.product)];return ga!==gb?ga-gb:b.score-a.score;}).map(function(r){return r.product;});if(huidigeResultaten.length===0){dropdown.innerHTML='<div class="marco-zoekbalk-geen-resultaten">'+marcoT('geen-producten')+'</div>';dropdown.classList.add('actief');positioneerDropdown();return;}
48var groepen=[];var gezien={};
48huidigeResultaten.forEach(function(p){var g=getGroep(p);if(!gezien[g]){gezien[g]=true;groepen.push(g);}});var labels={stoelen:marcoT('stoelen'),kussens:marcoT('kussens'),overige:marcoT('overige')};var aantallen={};huidigeResultaten.forEach(function(p){var g=getGroep(p);aantallen[g]=(aantallen[g]||0)+1;});var cbHtml=groepen.length>1?'<div class="marco-zoekbalk-filters">'+
49groepen.map(function(g){return'<label class="marco-filter-label">'+'<input type="checkbox" class="marco-filter-cb" value="'+g+'">'+'<span class="marco-filter-check"></span>'+
50labels[g]+' <span class="marco-filter-aantal">('+aantallen[g]+')</span>'+'</label>';}).join('')+'</div>':'';var zoekUrl='/zoeken/?query='+encodeURIComponent(query);dropdown.innerHTML=cbHtml+'<div class="marco-zoekbalk-resultaten-wrap">'+'<div class="marco-zoekbalk-resultaten-scroll"></div>'+'</div>'+'<a href="'+zoekUrl+'" class="marco-zoekbalk-alle"></a>';var scroll=dropdown.querySelector('.marco-zoekbalk-resultaten-scroll');scroll.addEventListener('scroll',function(){var wrap=dropdown.querySelector('.marco-zoekbalk-resultaten-wrap');wrap.classList.toggle('onderaan',this.scrollHeight-this.scrollTop<=this.clientHeight+4);});dropdown.querySelectorAll('.marco-filter-cb').forEach(function(cb){cb.addEventListener('change',renderDropdown);});renderDropdown();positioneerDropdown();dropdown.classList.add('actief');plangLiveZoekLog(query,huidigeResultaten.length);});}
51window.addEventListener('scroll',function(){if(dropdown.classList.contains('actief'))positioneerDropdown();});window.addEventListener('resize',function(){if(dropdown.classList.contains('actief'))positioneerDropdown();});input.addEventListener('input',function(){wissen.classList.toggle('zichtbaar',this.value.length>0);toonResultaten(this.value.trim());});input.addEventListener('focus',function(){if(this.value.trim().length>=2)toonResultaten(this.value.trim());haalProductenOp(function(){});});wissen.addEventListener('click',function(){input.value='';wissen.classList.remove('zichtbaar');dropdown.classList.remove('actief');dropdown.innerHTML='';input.focus();});document.getElementById('marco-zoek-knop').addEventListener('click',function(){var q=input.value.trim();if(q)window.location.href='/zoeken/?query='+encodeURIComponent(q);});input.addEventListener('keydown',function(e){if(e.key==='Enter'){var q=this.value.trim();if(q)window.location.href='/zoeken/?query='+encodeURIComponent(q);}
52if(e.key==='Escape'){dropdown.classList.remove('actief');dropdown.innerHTML='';verbergPreview();}});document.addEventListener('click',function(e){if(!e.target.closest('.marco-zoekbalk')&&!e.target.closest('.marco-zoekbalk-dropdown')){dropdown.classList.remove('actief');verbergPreview();}});});

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.