1function wrapZoovuResults(){let e=document.querySelector("ul.z-search-list");if(e){if(!e.parentElement.classList.contains("overview-wrap")){var t=document.createElement("div");t.className="overview-wrap margin three product search with-stock",e.parentElement.insertBefore(t,e),t.appendChild(e)}e.classList.add("overview")}let r=document.querySelector(".z-search-layer__main");return r&&!r.classList.contains("pageright")&&r.classList.add("pageright"),e}function addClassesToListItems(){let e=document.querySelector("ul.z-search-list");e&&e.querySelectorAll("li.z-search-suggests:not(.overview-item)").forEach(t=>{t.classList.add("overview-item","product-card","zoovu-item")})}function getCompareHtml(){return!blnZoovuCategory||blnZoovuCompareCategory?`<div class="zoovu-compare"> 2 <input type="checkbox" id="add-to-compare-{{attributes.sxIdentifierAttribute[0]}}" class="z-search-actions__compare-checkbox" /> 3 <label for="add-to-compare-{{attributes.sxIdentifierAttribute[0]}}" class="z-search-actions__compare">${strLabelCardCompare}</label> 4 </div>`:`<div class="add-to-compare"> 5 <input type="checkbox" name="add-to-compare" value="{{attributes.sxIdentifierAttribute[0]}}" id="add-to-compare-{{attributes.sxIdentifierAttribute[0]}}" /> 6 <label for="add-to-compare-{{attributes.sxIdentifierAttribute[0]}}">${strLabelCardCompare}</label> 7 </div>`}function bindZoovuPrijsVeldBlur(){if(!(typeof blnExpertHeader=="undefined"||!blnExpertHeader)){var e=null;document.addEventListener("focusin",function(t){t.target&&t.target.classList&&t.target.classList.contains("z-search-slider__input")&&(e=t.target.value)}),document.addEventListener("focusout",function(t){var r=t.target;!r||!r.classList||!r.classList.contains("z-search-slider__input")||e===null||r.value===e||(e=null,r.dispatchEvent(new KeyboardEvent("keydown",{key:"Enter",code:"Enter",bubbles:!0})))})}}bindZoovuPrijsVeldBlur();function fillZoovuPickupCounts(){var e=Array.prototype.slice.call(document.querySelectorAll("a.card-stock-link[data-articleno]"));function t(){typeof RefreshExpertCardPickup=="function"&&RefreshExpertCardPickup()}if(!e.length||typeof strLabelCardStockPickupStores=="undefined"||!strLabelCardStockPickupStores){t();return}var r=[];e.forEach(function(s){var i=parseInt(s.getAttribute("data-articleno"),10);i>0&&r.indexOf(i)===-1&&r.push(i)}),$.post(strAjaxPath+"store-stock-count.php",{arrArticleNos:r},function(s){s&&s.blnOk&&s.arrCounts&&e.forEach(function(i){var o=parseInt(s.arrCounts[i.getAttribute("data-articleno")],10);if(o>0){var l=(o===1?strLabelCardStockPickupStore:strLabelCardStockPickupStores).replace("[COUNT]",o).replace("[LINKSTART]",'<span class="pickup-stores">').replace("[LINKEND]","</span>");i.innerHTML=" "+l}}),t()},"json").fail(t)}function createStoreStockElement(){if(!document.getElementById("store-stock")){var e=document.createElement("div");e.id="store-stock",e.className="no-display";var t=document.createElement("div");t.className="stock-popup-reload-wrapper",e.appendChild(t);let r=document.querySelector("ul.z-search-list");r&&r.parentElement?r.insertAdjacentElement("afterend",e):document.body.appendChild(e)}}function reorganizeZoovuCategoryLayout(){let e=document.getElementById("zoovu-category-info"),t=document.querySelector(".z-search-layer__main");e&&t&&(t.insertBefore(e,t.firstChild),e.style.display="",typeof ToggleText=="function"&&ToggleText());let r=e?e.querySelector(".linked-txt"):null;if(r){let s=document.querySelector(".z-search-frame--results");s&&(r.remove(),s.insertAdjacentElement("afterend",r))}}function injectTrustbars(){if(typeof strTrustbarHtml=="undefined"||!strTrustbarHtml)return;let e=document.querySelector("ul.z-search-list");if(!e)return;e.querySelectorAll(".trustbar-zoovu").forEach(s=>s.remove());let t=e.querySelectorAll("li.z-search-suggests:not(.z-search-suggests--hidden)");if(t.length<=3)return;let r=[];for(let s=2;s<t.length;s+=6)s<t.length-1&&r.push(s);r.reverse().forEach(s=>{t[s]&&t[s].insertAdjacentHTML("afterend",strTrustbarHtml)})}var objZoovuGuidedTitleObserver=null;function injectZoovuGuidedTitle(){!blnExpertHeader||typeof strLabelCardGuideTitle=="undefined"||strLabelCardGuideTitle===""||document.querySelectorAll("span.z-search-guided-questions__question").forEach(function(e){if(!e.querySelector("span.z-search-guided-questions__eyebrow")){var t=document.createElement("span");t.className="z-search-guided-questions__eyebrow",t.innerHTML=strLabelCardGuideTitle,e.insertBefore(t,e.firstChild)}})}function watchZoovuGuidedTitle(){if(injectZoovuGuidedTitle(),!(objZoovuGuidedTitleObserver||!blnExpertHeader)){var e=document.querySelector(strZoovuContentBlock)||document.body;e&&(objZoovuGuidedTitleObserver=new MutationObserver(injectZoovuGuidedTitle),objZoovuGuidedTitleObserver.observe(e,{childList:!0,subtree:!0}))}}function shouldShowZoovuCompare(e){if(typeof arrAllowedCompareCategories=="undefined"||!Array.isArray(arrAllowedCompareCategories))return!1;let t=[];e&&Array.isArray(e)&&e.forEach(function(r){r.conceptIdName==="CATEGORY"&&r.value&&t.push(r.value)});for(let r=0;r<t.length;r++)if(arrAllowedCompareCategories.indexOf(t[r])!==-1)return!0;return!1}function removeZoovuCompareFromProduct(e){let t=e.querySelector(".zoovu-compare");t&&(t.innerHTML="")}function buildResultTemplate(){var e=typeof blnExpertHeader!="undefined"&&blnExpertHeader,t=` 8 {{#attributes.FRONTENDLABEL[0]}}
9 <span class="label" {{#attributes.LABELCOLORCODE[0]}} style="background: #{{attributes.LABELCOLORCODE[0]}};" {{/attributes.LABELCOLORCODE[0]}}> 10 {{attributes.FRONTENDLABEL[0]}} 11 </span> 12 {{/attributes.FRONTENDLABEL[0]}}`;return` 13 <div class="energylabel"> 14 <span {{#attributes.ENERGYLABELIMAGE[0]}}href="{{attributes.ENERGYLABELIMAGE[0]}}" data-fancybox data-fancybox-class="energylabel-popup" {{/attributes.ENERGYLABELIMAGE[0]}} class="energyclass"> 15 {{#attributes.ENERGYCLASSIMAGE[0]}} 16 <img src="{{attributes.ENERGYCLASSIMAGE[0]}}" alt="" title="" class="energyclass"/> 17 {{/attributes.ENERGYCLASSIMAGE[0]}} 18 </span> 19 </div> 20 21 <a href="{{link}}" title="{{attributes.ALTNAME[0]}}"> 22 <figure> 23 <img src="{{image}}" class="lazyload" data-src="{{image}}" alt="{{attributes.IMAGEALT[0]}}" title="{{attributes.IMAGEDESCRIPTION[0]}}"> 24 </figure> 25 ${e?"":t} 26 </a> 27 28 ${e?` 29 {{#attributes.FRONTENDLABEL[0]}} 30 <div class="label-top"> 31 <span class="label" {{#attributes.LABELCOLORCODE[0]}} style="background: #{{attributes.LABELCOLORCODE[0]}};" {{/attributes.LABELCOLORCODE[0]}}> 32 {{attributes.FRONTENDLABEL[0]}} 33 </span> 34 </div> 35 {{/attributes.FRONTENDLABEL[0]}}`:""} 36 37 <div class="wrap"> 38 <a href="{{link}}" class="product-data" title="{{attributes.ALTNAME[0]}}"> 39 <b class="title"> 40 {{name}} 41 </b> 42 43 <div data-bv-show="inline_rating" data-bv-seo="false" data-bv-product-id="{{dataPointHash.sxidentifierattribute[0]}}"></div> 44 {{#attributes.TOPSPECS[0]}} 45 <ul class="topspecs" data-topspecs="{{attributes.TOPSPECS[0]}}"></ul> 46 {{/attributes.TOPSPECS[0]}} 47 </a> 48 <div class="add-to-cart-wrap"> 49 <div class="price-small"> 50 <div class="stock-wrapper"> 51 <div class="dealer-stock stock"> 52 <i class="fa-light fa-shop fa-2x d-none-mobile"></i> 53 <div> 54 <span> 55 <i class="fa-light fa-shop d-none-desktop"></i> 56 <a data-popup="bekijk-winkelvoorraad" class="show-store-stock card-stock-link" data-articleno="{{attributes.sxIdentifierAttribute[0]}}" title="${strLabelViewDealerStock}"> 57 ${strLabelViewDealerStock} 58 </a> 59 </span> 60 </div> 61 </div> 62 <div class="central-stock stock"> 63 <i class="fa-light fa-truck-fast fa-2x d-none-mobile"></i> 64 <div> 65 <span> 66 <i class="fa-light fa-truck-fast d-none-desktop"></i> 67 </span> 68 <strong class="{{attributes.STOCKLABELCLASS[0]}}"> 69 {{attributes.STOCKLABEL[0]}} 70 </strong> 71 </div> 72 </div> 73 </div> 74 <div class="price-wrapper {{attributes.pricewrappercashbackclass[0]}}"> 75 <div class="price-flex"> 76 <b class="price {{attributes.PRICEWRAPPERCASHBACKCLASS[0]}}"> 77 <span class="euro">{{attributes.PRICE[0]}}</span> 78 </b> 79 80 {{#attributes.PRICEWITHCASHBACK[0]}} 81 <span class="after-cashback"> 82 <small> 83 {{#attributes.AFTERCASHBACKLABEL[0]}} 84 {{attributes.AFTERCASHBACKLABEL[0]}} 85 {{/attributes.AFTERCASHBACKLABEL[0]}} 86 </small> 87 <span class="euro">{{attributes.PRICEWITHCASHBACK[0]}}</span> 88 </span> 89 {{/attributes.PRICEWITHCASHBACK[0]}} 90 </div> 91 92 {{#attributes.ADVICEPRICE[0]}}
93 <span class="oldprice"> 94 ${strLabelAdviceprice} 95 <span class="euro">{{attributes.ADVICEPRICE[0]}}</span> 96 <span class="tooltip" data-txt="${strLabelAdvicePriceTooltip}"> 97 <i class="fa-regular fa-circle-question"></i> 98 </span> 99 </span> 100 {{/attributes.ADVICEPRICE[0]}} 101 102 {{#attributes.SALEPRICE[0]}} 103 <span class="oldprice striped"> 104 <span class="euro">{{attributes.SALEPRICE[0]}}</span> 105 <span class="tooltip" data-txt="${strLabelStripedPriceTooltip}"> 106 <i class="fa-regular fa-circle-question"></i> 107 </span> 108 </span> 109 {{/attributes.SALEPRICE[0]}} 110 </div> 111 </div> 112 <form action="#" method="post" class="form-add-to-cart small"> 113 <input type="hidden" name="hdnQuantity" value="1"> 114 <input type="hidden" name="hdnArticleNo" value="{{attributes.sxIdentifierAttribute[0]}}"> 115 <input type="hidden" name="hdnPriceNo" value="1"> 116 <input type="hidden" name="hdnHrefPopupProductAdded" value="{{attributes.PRODUCTADDEDURL[0]}}"> 117 <span title=" 118{{#attributes.PREORDER[0]}}${strLabelPreOrder}{{/attributes.PREORDER[0]}} {{!#attributes.PREORDER[0]}}${strLabelInCart}{{/attributes.PREORDER[0]}}" 119 class="in-cart-mini"> 120 {{#attributes.PREORDER[0]}} 121 <span>${strLabelPreOrder}</span> 122 {{/attributes.PREORDER[0]}} 123 {{!#attributes.PREORDER[0]}} 124 <span>${strLabelInCart}</span> 125 {{/attributes.PREORDER[0]}} 126 <i class="fa-regular fa-cart-shopping fa-2x"></i> 127 </span> 128 </form> 129 </div> 130 <div class="zoovu-actions"> 131 `+getCompareHtml()+` 132 <div class="zoovu-zoe-chat"> 133 <button class="z-search-actions__action--chat btn btn-zoe-chat" title="${strLabelAskQuestion}"> 134 <!-- sparkles en geen tekstballon: het ontwerp zet bij deze knop het 135 icoon stars-01 (node 1140:39688). Het is de ZOE-chat, en die 136 wordt in het ontwerp als slimme hulp gepresenteerd, niet als 137 een gesprek. --> 138 <i class="fa-regular fa-sparkles"></i> 139 <span>${strLabelAskQuestion}</span> 140 </button> 141 </div> 142 </div> 143 </div> 144 `}function buildZoovuSuggestConfig(){return blnExpertHeader?{searchHistoryLabel:strLabelRecentSearches,source:{emptyState:{layoutType:1,content:[{type:"searchHistory",categoryStyle:"titles",style:"compact"},{type:"popularQueries",categoryStyle:"titles",style:"compact"}]},queryBased:{layoutType:1,content:[{type:"resultGroup",categoryStyle:"titles",style:"compact"}]}}}:{}}var arrZoovuSuggestPrices={};function rememberZoovuSuggestPrices(e){if(!(!e||!e.identifier||!Array.isArray(e.dataPoints))){var t={};e.dataPoints.forEach(function(r){r&&r.conceptIdName&&(t[r.conceptIdName]=r)}),arrZoovuSuggestPrices[e.identifier]=t}}function isZoovuSuggestPromo(e){var t=e.PRICECLASS;return!!(t&&t.value&&String(t.value).trim())}function formatZoovuSuggestPrice(e){return!e||!e.value?"":String(e.value).replace(/[â¬$£]/g,"").trim()}function formatZoovuCashback(e,t){if(!e||!t||typeof e.parsedValue!="number"||typeof t.parsedValue!="number")return"";var r=Math.round(e.parsedValue-t.parsedValue);if(r<=0)return"";var s=t.unit||e.unit||"",i=String(r).replace(/\B(?=(\d{3})+(?!\d))/g," ");return(s?s+" ":"")+i}function injectZoovuSuggestPrices(e){e.querySelectorAll(".unibox__selectable--has-image[data-product-identifier]").forEach(function(t){var r=arrZoovuSuggestPrices[t.getAttribute("data-product-identifier")];if(r){var s=t.querySelector(".unibox__content-container");if(s){if(!s.querySelector(".expert-suggest-price")){var i=formatZoovuSuggestPrice(r.PRICE);if(i){var o=isZoovuSuggestPromo(r)?formatZoovuSuggestPrice(r.ADVICEPRICE):"",l=document.createElement("span");if(l.className="expert-suggest-price",o){var a=document.createElement("s");a.textContent=o,l.appendChild(a)}var n=document.createElement("b");
144o&&(n.className="promo"),n.textContent=i,l.appendChild(n),s.appendChild(l)}}if(!t.querySelector(".expert-suggest-badge")){var u=formatZoovuCashback(r.PRICE,r.PRICEWITHCASHBACK);if(u){var c=document.createElement("span");c.className="expert-suggest-badge",c.textContent=u+" "+strLabelCashback,t.appendChild(c)}}}}})}function decorateZoovuSuggestBox(){let e=document.querySelector("#unibox-suggest-box");if(!e)return;injectZoovuSuggestPrices(e);let t=e.querySelector(".unibox__cluster--type-searchHistory");if(t&&t.children.length&&!t.querySelector(".unibox__suggest-heading")){let a=document.createElement("h2");a.className="unibox__suggest-heading",a.setAttribute("role","none"),a.textContent=strLabelRecentSearches,t.insertBefore(a,t.firstChild)}let r=e.querySelector(".unibox__cluster--type-popularQueries .unibox__suggest-heading");r&&(r.textContent=strLabelPopularSearches);let s=e.querySelector(".unibox__cluster--type-resultGroup");if(!s)return;let i=[];[].forEach.call(s.children,function(a){(a.classList.contains("unibox__suggest-heading")||!i.length)&&i.push({heading:null,items:[]}),a.classList.contains("unibox__suggest-heading")?i[i.length-1].heading=a:i[i.length-1].items.push(a)});let o=i.filter(function(a){return a.items.some(function(n){return n.classList.contains("unibox__selectable--has-image")})}),l=i.filter(function(a){return o.indexOf(a)===-1});l.forEach(function(a){a.heading&&(a.heading.remove(),a.heading=null)}),o.forEach(function(a){a.heading&&(a.heading.textContent=strLabelRecommendedProducts)}),l.concat(o).forEach(function(a){a.heading&&s.appendChild(a.heading),a.items.forEach(function(n){s.appendChild(n)})})}function markZoovuSuggestSections(){let e=document.querySelector("#unibox-suggest-box");if(!e)return;let t=[];e.querySelectorAll(".unibox__cluster").forEach(function(r){let s=!1;[].forEach.call(r.children,function(i){i.classList.remove("expert-suggest-section"),i.classList.contains("unibox__suggest-heading")?(t.push(i),s=!0):s||(t.push(i),s=!0)})}),t.slice(1).forEach(function(r){r.classList.add("expert-suggest-section")})}window.zoovuSearchConfig={style:{accentColor:strAccentColor},searchBox:{selector:"#txtSearch",searchButton:".search>button",placeholder:strLabelYourKeyword},suggestions:buildZoovuSuggestConfig(),results:{searchQueryParamName:"text",showPageSizeSelector:!0,pageSizeOptions:[24,48,96],pageSizeLabel:"#COUNT# "+strLabelPerPage,moreResultsPagingSize:48,categorySearch:{showCategoryFilter:!0},resultTemplate:{template:buildResultTemplate()},sortingParamName:"zSorting",showRelatedQueries:!1,integrationType:"embed",embedConfig:{contentBlock:strZoovuContentBlock,url:strZoovuSearchPageUrl},showGuidedQuestions:!0,guidedQuestionShowBack:!0,guidedQuestionBackLabel:strLabelBack,guidedQuestionSkipLabel:strLabelCardGuideSkip,guidedQuestionImageSize:"icon",guidedQuestionPosition:"top"},comparison:{enabled:!0,buttonLabel:strLabelAddToCompare,tooManyProductsLabel:strLabelOnlyCompareFirst4Products,zoeApiKey:strZoeApiKey,zoeLocale:strLang+"-BE",zoeRegion:"eu"},zoe:{showChat:!0,locale:strLang+"-BE",region:"eu",chatLabel:strLabelChat,title:strLabelChatAbout+" #PRODUCT_NAME#",apiKey:strZoeApiKey},queryTerm:{highlight:!1},tracking:{providers:["GA"]},layout:{desktop:{type:"grid",gridColsXl:3},navigation:{showAllResultsTab:!1,flatTabs:!0}},filters:{enabled:!0,highlightPopularFilters:!1,label:strLabelCardFilterAndSort,toggleButtonLabel:strLabelCardFilterAndSort,sliderMinUnitLabel:strLabelPriceFrom,sliderMaxUnitLabel:strLabelPriceTill,multiSelectShowMoreLabel:strLabelCardFilterMoreCount.replace("[COUNT]","#COUNT#"),multiSelectShowLessLabel:strLabelCardFilterLess,deleteAllLabel:strLabelCardClearFilters},language:strLang,siteId:intZoovuSiteId,ecom:!0,zoovuAccountId:"250000860",zoovuEnvironment:"tiger",callbacks:{suggestPostRender:function(){blnExpertHeader&&(decorateZoovuSuggestBox(),markZoovuSuggestSections())},suggestLine:function(e,t,r,s){blnExpertHeader&&rememberZoovuSuggestPrices(s)},postSearch:function(e,t,r,s){return wrapZoovuResults(),addClassesToListItems(),createStoreStockElement(),fillZoovuPickupCounts(),blnZoovuCategory&&(reorganizeZoovuCategoryLayout(),injectTrustbars()),watchZoovuGuidedTitle(),e},resultLine:function(e,t,r,s){t.querySelectorAll("span.euro").forEach(a=>{a.textContent=a.textContent.trim().replace(/^(.+?)\s*â¬\s*$/,"\u20AC $1")}),blnExpertHeader&&t.querySelectorAll("b.price span.euro").forEach(a=>{a.textContent=a.textContent.replace(/^\s*â¬\s*/,"").trim()}),blnExpertHeader&&t.querySelectorAll("b.price span.euro").forEach(a=>{let n=a.textContent.trim();if(n&&n.indexOf(",")===-1&&!a.querySelector(".price-dec")){let u=document.createElement("span");u.className="price-dec",u.textContent=",-",a.appendChild(u)}});let i=t.querySelector("ul.topspecs[data-topspecs]");if(i){let a=i.getAttribute("data-topspecs");a&&(i.innerHTML=a.split(";").map(function(n){let u=n.split(":"),c=u[0]||"",d=u.slice(1).join(":")||"";return'<li><span class="spec-name">'+c+'</span><span class="spec-sep">
144 : </span><span class="spec-value">'+d+"</span></li>"}).join(""))}let o=t.querySelector(".label-top");if(o&&/cashback/i.test(o.textContent)){let a=t.querySelector(".price-wrapper .price-flex");if(a){let n=a.querySelector("b.price"),u=n?n.nextSibling:a.firstChild;for(;o.firstChild;)a.insertBefore(o.firstChild,u);o.remove()}}let l=t.querySelector(".central-stock strong");if(blnExpertHeader&&l&&!t.querySelector(".central-stock span.stock-state")){let a=l.textContent.trim(),n=a.indexOf(". "),u="";if(n>0?(u=a.slice(0,n),a=a.slice(n+2)):typeof strLabelCardStockInStock!="undefined"&&(u=l.classList.contains("positive")?strLabelCardStockInStock:strLabelCardStockNotInStock),u){let c=document.createElement("span");c.className="stock-state "+(l.className||""),c.textContent=u,l.textContent=a,l.parentNode.insertBefore(c,l)}}return!blnZoovuCategory&&!shouldShowZoovuCompare(e.dataPoints)&&removeZoovuCompareFromProduct(t),e},moreResults:function(e,t,r,s){return addClassesToListItems(),blnZoovuCategory&&setTimeout(function(){injectTrustbars()},100),e},noResultsPageRendered:function(e,t,r,s){return wrapZoovuResults(),addClassesToListItems(),createStoreStockElement(),watchZoovuGuidedTitle(),e}}},blnExpertHeader&&(typeof strLabelCardMoreProducts!="undefined"&&strLabelCardMoreProducts!==""&&(window.zoovuSearchConfig.results.moreResultsButton=strLabelCardMoreProducts),typeof strLabelCardProductsShown!="undefined"&&strLabelCardProductsShown!==""&&(window.zoovuSearchConfig.results.pageDescriptionLabel=strLabelCardProductsShown.replace("[COUNT]","#COUNT#").replace("[TOTAL]","#TOTAL#")),window.zoovuSearchConfig.results.showCopyLinkToPositionButton=!1),["results","filters"].forEach(function(e){var t=window.zoovuSearchConfig[e];t&&Object.keys(t).forEach(function(r){/Label$/.test(r)&&t[r]===""&&delete t[r]})});
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.