Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader

  • CAD-gegevens beschikbaar.
    Selecteer een artikel.
  • Technische documenten beschikbaar.
    Selecteer een artikel.

Bekijk filter

Maak je selectie compleet

Help

Help

Gevraagd aantal is direct beschikbaar.
Gevraagd aantal is binnenkort beschikbaar, mogelijks is een kleiner aantal direct beschikbaar.
Het artikel is niet meer leverbaar.

Opmerking:
Wenst u een deellevering van de direct beschikbare artikels, dan kan u dat kiezen bij het afsluiten van de bestelling.

Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader

Let op de afbeelding kan een soortgelijk artikel weergeven

37284751 product photo

Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader, model: A (20S2A00.05), zijdewit

Artikelnr. 372.84.751
37284752 product photo

Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader, model: B (20S2B00.05), zijdewit

Artikelnr. 372.84.752
37284753 product photo

Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader, model: C (20S2C00.05), zijdewit

Artikelnr. 372.84.753
37284754 product photo

Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader, model: D (20S2D00.05), zijdewit

Artikelnr. 372.84.754
37284755 product photo

Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS

voor eendelige kleppen van hout of met aluminium kader, model: E (20S2E00.05), zijdewit

Artikelnr. 372.84.755
Productgegevens

Toepassing

voor eendelige kleppen van hout of met een aluminium kader

Uitvoering

ingebouwde demping Blumotion

Materiaal

beslagelement: staal
afdekkap: kunststof

Afdekking kleur

Deksel materiaal

hout, aluminium kader

Klep type

eendelig

Voor dekselbreedte

1.800 mm

Voor dekselhoogte

350 – 800 mm

Montage

gereedschapsloze bevestiging van de dwarsstabilisatiestang

Levering

1 garnituur beslagelementen 20S2A00.05–20S2I00.05 (2 stuks, symmetrisch, incl. 10 spaanplaatschroeven ⌀ 4 x 35 mm)
1 garnituur armsets 20S3500.06 (telkens 1 stuk links/rechts, 2 afdekkappen voor dwarsstabilisatie)
1 garnituur afdekkappen 20S8000 (telkens één grote rechts/links en 2 ronde)
1 montagehandleiding

Aanvullende informatie

Gelieve de tabel op pagina MB 5.228 te gebruiken voor de keuze van de juiste krachteenheid.</title</p></div> </div></div></div> </form> <div class="row hfl-accessories-box"> <script type="text/javascript"> $(function() { initalizeCompareSelection('https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewCompareProducts-LoadSKUs', 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewCompareProducts-AddToQueue', 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewCompareProducts-RemoveFromQueue'); }); </script> <div class="hfl-accessories collapse__heading" data-toggle="collapse" data-target=".hfl-accessories-data">Aanvullende producten en accessoires <i class="icon font-icon font-icon-arrow-up js-icon-rotate"></i> </div> <div class="js-optionalCrossReferences hfl-accessories-data modulShopItems collapse in"> <div class="product-list slick-carousel reco-slide__container js-reco-slide__container shopItem" data-slick='{ "infinite":false, "slidesToShow": 3.1, "slidesToScroll": 3, "accessibility": false, "variableWidth": false, "responsive": [ {"breakpoint": 1559, "settings": { "slidesToShow": 3.1, "slidesToScroll": 3}}, {"breakpoint": 1326, "settings": {"slidesToShow": 2.5, "slidesToScroll": 2}}, {"breakpoint": 1100, "settings": {"slidesToShow": 2.1, "slidesToScroll": 2}}, {"breakpoint": 991, "settings": {"slidesToShow": 1.4, "slidesToScroll": 1}}, {"breakpoint": 880, "settings": {"slidesToShow": 1.2, "slidesToScroll": 1}}, {"breakpoint": 820, "settings": {"slidesToShow": 1.2, "slidesToScroll": 1}}, {"breakpoint": 768, "settings": {"slidesToShow": 2.5, "slidesToScroll": 2}}, {"breakpoint": 670, "settings": {"slidesToShow": 2.2, "slidesToScroll": 2}}, {"breakpoint": 520, "settings": {"slidesToShow": 1.9, "slidesToScroll": 1}}, {"breakpoint": 420, "settings": {"slidesToShow": 1.5, "slidesToScroll": 1}} ] }' > <div class="product-list-item article-list-block carousel reco-slide__item t-shadow t-shadow--lg slick-slide "> <div class="compare listView u-inline-block"><input id="compareListView-P-00915750P-00915750" data-testid="CompareListView_P-00915750" name="compareListView-P-00915750" type="checkbox" value="P-00915750"/> <a href="https://www.hafele.be/nl/store/compare/" data-testid="CompareSelectedProducts" class="a-text-link a-text-link--btn t-text-link compareTrigger reco-slide__compare-link js-reco-compare-link">Selectie vergelijken</a> <label for="compareListView-P-00915750P-00915750" class="reco-slide__compare-label js-reco-compare-lable">Vergelijken</label> </div><div class="pull-right u-position-relative"></div> <div class="productImageWrapper reco-slide__item-image"> <a href="https://www.hafele.be/nl/product/frontbevestiging-blum-aventos/P-00915750/"><img alt="ppic-04184439.jpg" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele/nl_BE/pim/images/category_view/ppic-04184439.jpg" /></a> <div class="reco-slide__compare-mask hidden"> <span class="reco-slide__compare-mask--info">Aan de vergelijkingslijst toegevoegd</span> </div> </div> <div class="productName reco-slide__item-title recently-view_name"> <a href="https://www.hafele.be/nl/product/frontbevestiging-blum-aventos/P-00915750/" class="a-text-link t-text-link t-text-link--secondary hfl-link--arrow__prefix hfl-link--arrow__prefix__right"> Frontbevestiging, Blum Aventos </a> </div><div class="reco-slide__item-varient"></div> <a href="https://www.hafele.be/nl/product/frontbevestiging-blum-aventos/P-00915750/" class="a-btn t-btn t-btn-primary a-btn--sm reco-slide__item-view-btn">Bekijk 2 artikels</a></div> <div class="product-list-item article-list-block carousel reco-slide__item t-shadow t-shadow--lg slick-slide "> <div class="compare listView u-inline-block"><input id="compareListView-3728498337284983" data-testid="CompareListView_37284983" name="compareListView-37284983" type="checkbox" value="37284983"/> <a href="https://www.hafele.be/nl/store/compare/" data-testid="CompareSelectedProducts" class="a-text-link a-text-link--btn t-text-link compareTrigger reco-slide__compare-link js-reco-compare-link">Selectie vergelijken</a> <label for="compareListView-3728498337284983" class="reco-slide__compare-label js-reco-compare-lable">Vergelijken</label> </div><div class="pull-right u-position-relative"><a id="WishList_RecentlyViewed" class="reco-slide__bookmark js-reco-bookmark hflLink warningFlyoutTrigger disableHover"> <svg width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-096-2-bookmark"></use></svg> </a> <div class="c-info-box__container c-info-box__container--reco-tile c-info-box--no-overlay" data-placement="top" data-width="202" data-class-ref="c-info-box__right-pointer reco-slide__infobox" data-id="js-addToWishlistFlyout"> <div class="c-info-box__button"> <div class="c-info-box__content"> <p>Meld u opnieuw aan om uw refentie op te slaan.</p> </div> </div> </div></div> <div class="productImageWrapper reco-slide__item-image"> <a href="https://www.hafele.be/nl/product/dwarsstabilisatiestang-voor-klep-zwenkbeslag-aventos-hs-servo-drive-/P-00915782/"><img alt="ppic-04184017.jpg" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele/nl_BE/pim/images/category_view/ppic-04184017.jpg" /></a> <div class="reco-slide__compare-mask hidden"> <span class="reco-slide__compare-mask--info">Aan de vergelijkingslijst toegevoegd</span> </div> </div> <div class="productName reco-slide__item-title recently-view_name"> <a href="https://www.hafele.be/nl/product/dwarsstabilisatiestang-voor-klep-zwenkbeslag-aventos-hs-servo-drive-/P-00915782/" class="a-text-link t-text-link t-text-link--secondary hfl-link--arrow__prefix hfl-link--arrow__prefix__right"> Dwarsstabilisatiestang, voor klep-zwenkbeslag Aventos HS (Servo-Drive) </a> </div> <a href="https://www.hafele.be/nl/product/dwarsstabilisatiestang-voor-klep-zwenkbeslag-aventos-hs-servo-drive-/P-00915782/" class="a-btn t-btn t-btn-primary a-btn--sm reco-slide__item-view-btn"> Bekijk artikel </a></div> <div class="product-list-item article-list-block carousel reco-slide__item t-shadow t-shadow--lg slick-slide "> <div class="compare listView u-inline-block"><input id="compareListView-3728498437284984" data-testid="CompareListView_37284984" name="compareListView-37284984" type="checkbox" value="37284984"/> <a href="https://www.hafele.be/nl/store/compare/" data-testid="CompareSelectedProducts" class="a-text-link a-text-link--btn t-text-link compareTrigger reco-slide__compare-link js-reco-compare-link">Selectie vergelijken</a> <label for="compareListView-3728498437284984" class="reco-slide__compare-label js-reco-compare-lable">Vergelijken</label> </div><div class="pull-right u-position-relative"><a id="WishList_RecentlyViewed" class="reco-slide__bookmark js-reco-bookmark hflLink warningFlyoutTrigger disableHover"> <svg width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-096-2-bookmark"></use></svg> </a> <div class="c-info-box__container c-info-box__container--reco-tile c-info-box--no-overlay" data-placement="top" data-width="202" data-class-ref="c-info-box__right-pointer reco-slide__infobox" data-id="js-addToWishlistFlyout"> <div class="c-info-box__button"> <div class="c-info-box__content"> <p>Meld u opnieuw aan om uw refentie op te slaan.</p> </div> </div> </div></div> <div class="productImageWrapper reco-slide__item-image"> <a href="https://www.hafele.be/nl/product/verbindingsset-voor-dwarsstabilisatiestang/P-00915777/"><img alt="ppic-04185191.jpg" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele/nl_BE/pim/images/category_view/ppic-04185191.jpg" /></a> <div class="reco-slide__compare-mask hidden"> <span class="reco-slide__compare-mask--info">Aan de vergelijkingslijst toegevoegd</span> </div> </div> <div class="productName reco-slide__item-title recently-view_name"> <a href="https://www.hafele.be/nl/product/verbindingsset-voor-dwarsstabilisatiestang/P-00915777/" class="a-text-link t-text-link t-text-link--secondary hfl-link--arrow__prefix hfl-link--arrow__prefix__right"> Verbindingsset, voor dwarsstabilisatiestang </a> </div> <a href="https://www.hafele.be/nl/product/verbindingsset-voor-dwarsstabilisatiestang/P-00915777/" class="a-btn t-btn t-btn-primary a-btn--sm reco-slide__item-view-btn"> Bekijk artikel </a></div> <div class="product-list-item article-list-block carousel reco-slide__item t-shadow t-shadow--lg slick-slide "> <div class="compare listView u-inline-block"><input id="compareListView-P-00915712P-00915712" data-testid="CompareListView_P-00915712" name="compareListView-P-00915712" type="checkbox" value="P-00915712"/> <a href="https://www.hafele.be/nl/store/compare/" data-testid="CompareSelectedProducts" class="a-text-link a-text-link--btn t-text-link compareTrigger reco-slide__compare-link js-reco-compare-link">Selectie vergelijken</a> <label for="compareListView-P-00915712P-00915712" class="reco-slide__compare-label js-reco-compare-lable">Vergelijken</label> </div><div class="pull-right u-position-relative"></div> <div class="productImageWrapper reco-slide__item-image"> <a href="https://www.hafele.be/nl/product/beslagelement-eenheid-voor-klep-zwenkbeslag-aventos-hs-servo-drive-elektrisch-/P-00915712/"><img alt="ppic-04691932.jpg" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele/nl_BE/pim/images/category_view/ppic-04691932.jpg" /></a> <div class="reco-slide__compare-mask hidden"> <span class="reco-slide__compare-mask--info">Aan de vergelijkingslijst toegevoegd</span> </div> </div> <div class="productName reco-slide__item-title recently-view_name"> <a href="https://www.hafele.be/nl/product/beslagelement-eenheid-voor-klep-zwenkbeslag-aventos-hs-servo-drive-elektrisch-/P-00915712/" class="a-text-link t-text-link t-text-link--secondary hfl-link--arrow__prefix hfl-link--arrow__prefix__right"> Beslagelement-eenheid, voor klep-zwenkbeslag Aventos HS Servo-Drive (elektrisch) </a> </div><div class="reco-slide__item-varient"></div> <a href="https://www.hafele.be/nl/product/beslagelement-eenheid-voor-klep-zwenkbeslag-aventos-hs-servo-drive-elektrisch-/P-00915712/" class="a-btn t-btn t-btn-primary a-btn--sm reco-slide__item-view-btn">Bekijk 23 artikels</a></div> <div class="product-list-item article-list-block carousel reco-slide__item t-shadow t-shadow--lg slick-slide "> <div class="compare listView u-inline-block"><input id="compareListView-4235303542353035" data-testid="CompareListView_42353035" name="compareListView-42353035" type="checkbox" value="42353035"/> <a href="https://www.hafele.be/nl/store/compare/" data-testid="CompareSelectedProducts" class="a-text-link a-text-link--btn t-text-link compareTrigger reco-slide__compare-link js-reco-compare-link">Selectie vergelijken</a> <label for="compareListView-4235303542353035" class="reco-slide__compare-label js-reco-compare-lable">Vergelijken</label> </div><div class="pull-right u-position-relative"><a id="WishList_RecentlyViewed" class="reco-slide__bookmark js-reco-bookmark hflLink warningFlyoutTrigger disableHover"> <svg width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-096-2-bookmark"></use></svg> </a> <div class="c-info-box__container c-info-box__container--reco-tile c-info-box--no-overlay" data-placement="top" data-width="202" data-class-ref="c-info-box__right-pointer reco-slide__infobox" data-id="js-addToWishlistFlyout"> <div class="c-info-box__button"> <div class="c-info-box__content"> <p>Meld u opnieuw aan om uw refentie op te slaan.</p> </div> </div> </div></div> <div class="productImageWrapper reco-slide__item-image"> <a href="https://www.hafele.be/nl/product/boormal-voor-corpusbewerking/P-00901715/"><img alt="ppic-04079670.jpg" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele/nl_BE/pim/images/category_view/ppic-04079670.jpg" /></a> <div class="reco-slide__compare-mask hidden"> <span class="reco-slide__compare-mask--info">Aan de vergelijkingslijst toegevoegd</span> </div> </div> <div class="productName reco-slide__item-title recently-view_name"> <a href="https://www.hafele.be/nl/product/boormal-voor-corpusbewerking/P-00901715/" class="a-text-link t-text-link t-text-link--secondary hfl-link--arrow__prefix hfl-link--arrow__prefix__right"> Boormal, voor corpusbewerking </a> </div> <a href="https://www.hafele.be/nl/product/boormal-voor-corpusbewerking/P-00901715/" class="a-btn t-btn t-btn-primary a-btn--sm reco-slide__item-view-btn"> Bekijk artikel </a></div> <div class="product-list-item article-list-block carousel reco-slide__item t-shadow t-shadow--lg slick-slide "> <div class="compare listView u-inline-block"><input id="compareListView-3728479237284792" data-testid="CompareListView_37284792" name="compareListView-37284792" type="checkbox" value="37284792"/> <a href="https://www.hafele.be/nl/store/compare/" data-testid="CompareSelectedProducts" class="a-text-link a-text-link--btn t-text-link compareTrigger reco-slide__compare-link js-reco-compare-link">Selectie vergelijken</a> <label for="compareListView-3728479237284792" class="reco-slide__compare-label js-reco-compare-lable">Vergelijken</label> </div><div class="pull-right u-position-relative"><a id="WishList_RecentlyViewed" class="reco-slide__bookmark js-reco-bookmark hflLink warningFlyoutTrigger disableHover"> <svg width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-096-2-bookmark"></use></svg> </a> <div class="c-info-box__container c-info-box__container--reco-tile c-info-box--no-overlay" data-placement="top" data-width="202" data-class-ref="c-info-box__right-pointer reco-slide__infobox" data-id="js-addToWishlistFlyout"> <div class="c-info-box__button"> <div class="c-info-box__content"> <p>Meld u opnieuw aan om uw refentie op te slaan.</p> </div> </div> </div></div> <div class="productImageWrapper reco-slide__item-image"> <a href="https://www.hafele.be/nl/product/frontbevestiging-blum-expando-t-voor-aventos-hk-tip-on-servo-drive-hs-servo-drive-hl-servo-drive-/P-01319366/"><img alt="ppic-04425020.jpg" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele/nl_BE/pim/images/category_view/ppic-04425020.jpg" /></a> <div class="reco-slide__compare-mask hidden"> <span class="reco-slide__compare-mask--info">Aan de vergelijkingslijst toegevoegd</span> </div> </div> <div class="productName reco-slide__item-title recently-view_name"> <a href="https://www.hafele.be/nl/product/frontbevestiging-blum-expando-t-voor-aventos-hk-tip-on-servo-drive-hs-servo-drive-hl-servo-drive-/P-01319366/" class="a-text-link t-text-link t-text-link--secondary hfl-link--arrow__prefix hfl-link--arrow__prefix__right"> Frontbevestiging, Blum Expando T, voor Aventos HK (Tip-On, Servo-Drive), HS (Servo-Drive), HL (Servo-Drive) </a> </div> <a href="https://www.hafele.be/nl/product/frontbevestiging-blum-expando-t-voor-aventos-hk-tip-on-servo-drive-hs-servo-drive-hl-servo-drive-/P-01319366/" class="a-btn t-btn t-btn-primary a-btn--sm reco-slide__item-view-btn"> Bekijk artikel </a></div></div> </div> <script type="text/javascript"> $(function(){ if (typeof onProductListLoad == 'function') { //implemented in haefele.compare.js onProductListLoad(); } }); </script></div> </div></div> </div> <div class="modal c-modal t-modal js-stock-notification-modal" id="js-stock-notification-modal" role="dialog"> <div class="c-modal__backdrop c-modal__backdrop-transparent" data-dismiss="modal"></div> <div class="modal-dialog c-modal-dialog" role="document"> <div class="modal-content c-modal__content js-notification-content"> <div class='hflAjaxLoader'><span></span></div> </div> </div> </div> </div> <input type="hidden" value="true" id="recoArticlePriceEnabled"/> <div id="js-recentlyViewedProductsAjaxLoader" class="jsOnly"><img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/images/ajax-loader.gif"/></div> <div id="footerContentPrint"> <table class="footerTable"> <tr> <td>Corporate Office: Häfele America Co., 3901 Cheyenne Drive, Archdale, N.C. 27263 <br/>Phone: 800.423.3531, Fax: 800.325.6197, Local Phone: 336.434.2322, Email: info@haefeleamericas.com</td> </tr> </table> </div> <span class="date">25/04/2024</span><div id="placeTableHere"> <div id="articleTableView" class="hflLayerBox articlesListLayer is-fullscreen hide"> <div class="background shadow"></div> <div class="hflShadow hflShadowTopLeft"></div> <div class="hflShadow hflShadowTop"></div> <div class="hflShadow hflShadowTopRight"></div> <div class="hflShadow hflShadowLeft"></div> <div class="hflLayerContainer"> <div class="hflLayerCnt"> <span class="closeButton cancelButton"></span> <img class="loader" src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/images/ajax-loader.gif" /> </div> </div> </div> </div><div id="canNotAddProductsLayer" class="c-modal c-modal-layer hflLayerBox hide" role="dialog"> <div class="background shadow"></div> <div class="modal-dialog c-modal__dialog" role="document"> <div class="modal-content c-modal__content"> <div class="modal-header c-modal__header"> <button type="button" class="close cancelButton" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><i class="icon font-icon font-icon-set-icn-002-2-close"></i></span></button> <h4 class="modal-title">Let op</h4> </div> <div class="modal-body c-modal__body c-modal__body--space-bottom"> <p>Selecteer een artikel via de tabel met kenmerken of de tabel met artikels, om deze in de winkelwagen te leggen.</p> </div> </div> </div> </div> <div class=" modal c-modal c-modal--full-screen t-modal t-modal--full-screen c-modal-layer deliveryAdressForm checkoutLayer fade" id="zoomTables" role="dialog" > <div class="background shadow"></div> <div class="modal-dialog c-modal__dialog c-modal__dialog-lg" role="document"> <div class="modal-content c-modal__content"> <div class="modal-header c-modal__header"> <button type="button" class="close cancelButton" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true"> <i class="icon icn-close"></i> </span> </button> <h4 class="modal-title" id="table-title-PDP"></h4> </div> <div class="modal-body c-modal__body c-modal__body--space-bottom"> <div id="table-content-PDP"></div> </div> </div> </div> </div> <script type="text/javascript"> function quickOrderQtyHandler(quantityValue){ var baseUrl = 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetPriceAndAvailabilityInformationPDS?SKU=P-00915622&ProductQuantity='; var qtyInput = $("#js-buyNowQuantity"); var currentVal = qtyInput.val() || "0"; var decimalSeparator = qtyInput.attr('data-decimal-separator') || "."; var groupingSeparator = qtyInput.attr('data-grouping-separator') || ","; // regex list var decimalZeroesEndRegex = new RegExp('['+decimalSeparator + ']'+'0+$'); var removeGroupingSeparatorRegex = new RegExp('['+groupingSeparator + ']', "g"); var decimalSeparatorRegex = new RegExp('['+decimalSeparator+']'); // remove all zeroes after decimal and remove all grouping separatos currentVal = currentVal.replace(decimalZeroesEndRegex, ''); currentVal= currentVal.replace(removeGroupingSeparatorRegex,''); //EURO Number Format if(decimalSeparator == ',' && groupingSeparator =='.'){ //convert euro number format to US number format : replace , with . currentVal = currentVal.replace(decimalSeparatorRegex,"."); } currentVal = parseFloat(currentVal); quantityValue = currentVal; baseUrl += quantityValue+"&SynchronizationAjaxToken="+(++synchronizationAjaxToken); $.ajax({ type: 'POST', dataType: 'html', url: baseUrl, async:false, success: function(data) { //get the synchronization token from the response var synchronizerRes = $(data).find('#synchronizationAjaxToken'); var synchronizerResValue = null; if(0 < synchronizerRes.length){ synchronizerResValue = synchronizerRes.attr("data-synchronization-token"); } if(synchronizerResValue == synchronizationAjaxToken){ var confirmedQuantityRes = $(data).find('#confirmedQuantityResponse'); //set the confirmed quantity from the response to the input field if the user input is different then empty string if(confirmedQuantityRes){ var confirmedQuantityValue = confirmedQuantityRes.attr('data-confirmed-quantity'); var totalPriceValue = ""; var totalPriceNoCurr = ""; var $noPriceSelector = $("input[name='noPriceDisplayVal']"); if($noPriceSelector.length){ totalPriceValue = $noPriceSelector.val(); }else{ totalPriceValue = confirmedQuantityRes.attr("data-total-price"); totalPriceNoCurr = confirmedQuantityRes.attr("data-total-price-nocrr"); } if(parseFloat(confirmedQuantityValue.replace(',', '.')) > 0){ $('#js-buyNowQuantity').val(confirmedQuantityValue); $(".js-buy-now-quantity-display").text(confirmedQuantityValue); $('.js-quick-total-price').text(totalPriceValue); $('.modaltotalCost').val(totalPriceNoCurr); if(parseFloat(confirmedQuantityValue.replace(',', '.')) > quantityValue) { $(".js-confirm-qty-message").addClass('hidden'); $(".js-updated-qty-message").removeClass('hidden'); } } } //if the article is not available add error class to the input quantity field var articleNotAvailable = $(data).find('#articleNotAvailable'); if(quantityValue != '' && 0 < articleNotAvailable.length && articleNotAvailable.attr('data-article-not-available') == 'true'){ $('#js-buyNowQuantity').addClass('error'); } } }, error: function() { }, timeout: 50000 }); } function excludeProductFromCart(){ setTimeout(function(){ var disabledAddToCart = $('#productPriceInformation .exclude-product-to-cart').not(".hidden").val(); if(disabledAddToCart == 'true') { $(".productOrderPriceBoxFooter").addClass("a-btn--not-allowed js-excluded-product").find("#addToCartLink").addClass('a-btn--no-events').attr("disabled","disabled"); } },100); } function specialStockStatusMessage(){ var isSpecialStockMessage = $('#productAvailabilityInformation .specialstock-status-message').not(".hidden").val(); if(isSpecialStockMessage == 'SPECIALSTOCK') { $(document).find('#specialStockMessages').css('display', 'inline-block'); } if(isSpecialStockMessage == 'SALESBLOCKED') { $(document).find('#salesBlockedMessages').css('display', 'inline-block'); } } $(document).on("mouseenter touchend",".js-excluded-product", function(e){ var infoBtn = $(this).find(".js-info-button"); $(infoBtn).trigger('click'); return false; }); function availabilityMessage(data){ var rgbToHex = function (rgb) { var hex = Number(rgb).toString(16); if (hex.length < 2) { hex = "0" + hex; } return hex; }; var fullColorHex = function(r,g,b) { var red = rgbToHex(r); var green = rgbToHex(g); var blue = rgbToHex(b); return '#'+red+green+blue; }; var availabilityStatusTitle = ''; var availabilityStatusColor = $(data).find("#productAvailabilityInformation span").attr("style"); if(availabilityStatusColor){ if(availabilityStatusColor && availabilityStatusColor.length > 0 ){ availabilityStatusColor = availabilityStatusColor.split(":")[1]; } var hexColorCode = null; if(availabilityStatusColor.indexOf('rgb') > -1){ var parsedRGBValue = availabilityStatusColor.replace(/[rgbRGB;()]/g, '').split(','); hexColorCode = fullColorHex.apply(null, parsedRGBValue); } if(availabilityStatusColor.toLowerCase() == '#339C76'.toLowerCase() || (hexColorCode !== null && hexColorCode == '#339C76'.toLowerCase())){ availabilityStatusColor = 'color:#339C76'; availabilityStatusTitle = 'direct leverbaar'; }else if(availabilityStatusColor.toLowerCase() == '#FFA50A'.toLowerCase() || (hexColorCode !== null && hexColorCode == '#FFA50A'.toLowerCase())){ availabilityStatusColor = 'color:#E6A400'; availabilityStatusTitle = 'Hoeveelheid is deels direct leverbaar'; }else if(availabilityStatusColor.toLowerCase() == '#D20A28'.toLowerCase() || (hexColorCode !== null && hexColorCode == '#D20A28'.toLowerCase())){ availabilityStatusColor = 'color:#D20A28'; availabilityStatusTitle = 'Niet op korte termijn leverbaar'; } var availabilityHTML = "</span><span class='availabilityStatusColor' style='"+availabilityStatusColor+"'>"+ availabilityStatusTitle +"</span>"; $(".availabilityStatusMsg").html(availabilityHTML); } } </script></div> </div> <div class='floatingGroupBlock hidden'> <div class="floatingGroupBlockInner u-xs-index-1 u-xs-fixed"></div> </div><div id="addToCartNotificationDialog"></div> <div class="footer-promise-bar"></div> <div id="js-footer" class="mobile-footer o-footer t-footer"> <div class="container footer-container"> <div class="row"> <div class="col-xs-12"> <div class="o-footer__blocks" id="js-footer-blocks"> <div class="o-footer__block" id="js-newsletter-block"> <div class="o-footer__block-text"> <span data-opentext-append="newsletter" class="o-footer__opentext newsletter hide-globalhub"></span> </div> </div> <hr class="visible-xs o-footer__rule t-footer__rule dont-print" /> <div class="o-footer__block"> <div class="o-footer__block-text"> <ul class="o-footer__list o-footer__list--login" id="js-footer-global-hub"> <li id="header-loggedin-link" class="header-loggedin-link layer myAccountLayerTrigger hide-globalhub" data-debuginfo="cms"> <a href="https://www.hafele.be/nl/account/start/" class="accountNumberFooter a-text-link a-text-link--no-underline t-text-link t-text-link--secondary" data-testid="MyAccount" > <span class="c-main-nav__item-icon"><svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-095-2-login-sucess"></use></svg></span><span class="header-login-title">Mijn account</span> <span class="user-info"> <span class="brackets">(</span> <span id="js-login-link" class="js-login-link c-main-nav__acc-no"></span> <span class="brackets">)</span> </span> </a> <span id="js-login-navigation" data-ajaxurl="https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/Template-Include?Template=comp%2Fhaefele%2Fheader%2FheaderItemLoginContent&HandlerPipeline=ProcessUser-GetCustomer&TargetPipeline=&Parameter1_Name=&Parameter1_Value=&Parameter2_Name=&Parameter2_Value=&Parameter3_Name=&Parameter3_Value=&Parameter4_Name=&Parameter4_Value=&Parameter5_Name=&Parameter5_Value=&Parameter6_Name=&Parameter6_Value=&TargetURLFragment=&RegisterLink=&RegisterLinkProtocol=&RegisterLinkParameters=&RegisterLinkText=&ForgotPasswordLink=&ForgotPasswordLinkProtocol=&ForgotPasswordLinkParameters=&ForgotPasswordLinkText="></span> </li> <li id="header-notloggedin-link" class="header-notloggedin-link layer hide-globalhub" data-debuginfo="cms"> <a data-testid="HeaderLinkLogin" class="footerLoginIcon a-text-link a-text-link--no-underline t-text-link t-text-link--secondary" href="https://www.hafele.be/nl/account/login/"> <span class="c-main-nav__item-icon"><svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-056-2-sales"></use></svg></span><span class="header-login-title">Login</span></a></li><li class="o-footer__list-item hide-globalhub"> <svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-085-2-country"></use></svg> <span data-opentext-append="worldwide" class="o-footer__opentext worldwide"> </span> </li> <li class="o-footer__list-item hide-globalhub"> <svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-037-2-apps"></use></svg> <span data-opentext-append="apps" class="o-footer__opentext apps"> </span> </li> <li class="o-footer__list-item hide-globalhub"> <span class="icon-20"> <svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-025-2-catalogue"></use></svg> </span> <span data-opentext-append="catalog" class="o-footer__opentext catalog"> </span> </li> <li class="o-footer__list-item hidden-xs hidden-sm"> <a href="javascript:void(0);" onclick="window.print();"> <svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-021-2-print"></use></svg> <span class="print-text">Pagina afdrukken</span> </a></li> </ul> <div class="row"> <div class="o-footer__lang-selector t-footer__lang-selector col-xs-12"> <p class="hidden">Taal kiezen</p> <div id="js-lang-dropdown-wrapper" class="hfl-select header-language"> <select id="language-dropdown" class="language-dropdown js-footer--language-dropdown"> <option data-locale-val="nl_BE" selected="selected">Nederlands</option><option data-locale-val="fr_BE" >Français</option></select> </div></div> </div> </div> </div> <hr class="visible-xs o-footer__rule t-footer__rule u-outer-bottom-15 dont-print" /> <div class="o-footer__block o-footer__block--last"><div id="js-hflFooter" class="o-footer__copy-opentext o-footer__copy-opentext--mobile col-xs-12 is-small-view visible-xs dont-print"><!-- OpenText CacheKey: opentextcontent --> <!-- OpenText CacheKey: opentextcontent --> <div class="opentext"> <div class="content-wrapper content-wrapper-center"> <div class="hflFooter" id="js-hflFooter"> <div class="hflFooterInner clearfix"> <a class="social icon font-icon font-icon-22 font-icon-set-icn-081-2-youtube" href="https://www.youtube.com/user/HafeleBelgiumNV/videos" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/youtube.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-063-1-instagram" href="https://www.instagram.com/hafele_belgium/" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hnz/instagram_icon.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-080-2-facebook" href="https://www.facebook.com/hafelebelgium" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/facebook.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-092-2-linkedin" href="https://www.linkedin.com/company/hafele-belgium" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/linkedin.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-077-2-pinterest" href="https://www.pinterest.com/hafelebelgium0432/_activity/" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/pinterest.png" alt="Häfele" title="Häfele" /> </a> <a class="action notActive printpage" href="" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/print.png" alt="Pagina afdrukken" title="Pagina afdrukken" /> <span>Pagina afdrukken</span> </a> <a class="action notActive" href="/nl/info/service/catalogi-brochures/407/#tab=3"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/apps.png" alt="Apps" title="Apps" /> <span>Apps</span> </a> <a class="action notActive" href="/nl/info/service/newsletter/408/"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/newsletter.png" alt="Nieuwsbrief" title="Nieuwsbrief" /> <span>Nieuwsbrief</span> </a> </div> <div class="o-footer__blocks hflFooterInner" id="site-footer-links" style="justify-content: normal;"> </div> <div class="hflFooterNav"> <small class="copyrightNote">© 2024 by Häfele</small> <a href="https://www.hafele.be/nl/info/gegevensbescherming/646/" id="cookie-consent-setting-footer">Cookie instellingen</a><isurl pipeline="ViewContent-Start" parameters="PageletEntryPointID=Haefele__Page_PI"> <a href="/nl/info/colofon/645/">Colofon</a> <a href="/nl/info/gegevensbescherming/646/">Gegevensbescherming</a><isurl pipeline="ViewContent-Start" parameters="PageletEntryPointID=Haefele__Page_PI"> <a href="/nl/info/algemene-verkoopvoorwaarden/746/">Algemene verkoopvoorwaarden</a> <a href="/nl/info/gebruiksvoorwaarden/647/">Gebruiksvoorwaarden</a><isurl pipeline="ViewContent-Start" parameters="PageletEntryPointID=Haefele__Page_PI"> <a href="/nl/info/sitemap/6689/">Sitemap</a> <a href="/nl/info/service/support/409/">Support</a></isurl></isurl></isurl></div> <script type="text/javascript">           /* Function to add style element */         function addStyle(styles) {             /* Create style document */             var css = document.createElement('style');             css.type = 'text/css';               if (css.styleSheet)                 css.styleSheet.cssText = styles;             else                 css.appendChild(document.createTextNode(styles));               /* Append style to the tag name */             document.getElementsByTagName("head")[0].appendChild(css);         }   //add css to DOM $(document).ready(function() { var styles = '.ot-button-44 input[type="submit"] { font-weight: normal !important; }'; styles = styles + " .font-icon-set-icn-063-1-instagram:before { content: '\\61' !important } .font-icon-set-icn-077-2-pinterest:before { content: '\\62' !important } .font-icon-set-icn-078-2-twitter:before { content: '\\63' !important } .font-icon-set-icn-079-2-google-plus:before { content: '\\64' !important } .font-icon-set-icn-080-2-facebook:before { content: '\\65' !important } .font-icon-set-icn-081-2-youtube:before { content: '\\66' !important } .font-icon-set-icn-089-2-weibo:before { content: '\\67' !important } .font-icon-set-icn-090-4-flickr:before { content: '\\68' !important } .font-icon-set-icn-091-2-blogspot:before { content: '\\69' !important } .font-icon-set-icn-092-2-linkedin:before { content: '\\6a' !important }"; styles = styles + ' .gallery-100 li img { width: 940px; } .gallery-75 li img { width: 700px; } .gallery-wrapper { position: relative; } .gallery { position: relative;overflow: hidden; } .gallery ul { width: 10000em;position: relative;list-style: none;margin: 0;padding: 0; } .gallery ul li { float: left; } .image-caption { text-align: center;margin-top: 5%;min-height: 15px;color: #969696;font-style: italic; } .gallery-pagination { position: absolute;left: 50%;margin-top: -7%;-webkit-transform: translate(-50%, 0);-ms-transform: translate(-50%, 0);} .gallery-pagination a { text-decoration: none;display: inline-block;font-size: 10px;line-height: 10px;min-width: 12px;background: #f1f1f1;color: #4E443C;text-align: center; } .gallery-pagination a { height: 13px;width: 10px;background: #f1f1f;color: #4E443C;text-indent: -9999px;margin-right: 15px; } .gallery-pagination a.active { background: #d20a28; } .jcarousel-prev:before,.jcarousel-next:before { margin-top: -7px; } .jcarousel-control-prev,.jcarousel-control-next { display: block;opacity: 0.7 !important; background-color: #000000 !important; background-image: linear-gradient(147deg, #000000 0%, #434343 74%) !important; } @media(max-width: 767px) { .gallery-100 li img,.gallery-75 li img,.gallery-50 li img { width: 345px !important;} .image-caption { min-height: 64px !important; } } @media(min-width: 768px) { .gallery-50 li img { width: 460px; } .gallery-50 .image-caption { max-width: 460px !important; } .gallery-75 .image-caption { width : 700px !important; } .gallery-75 .gallery-pagination { margin-top: -10%!important; } } @media(min-width: 768px) { .gallery-50 .gallery-pagination { margin-top: -70px !important; } .gallery-50 .image-caption { top: -40px !important; } } @media(max-width: 767px) { .gallery-wrapper .jcarousel-control-prev,.gallery-wrapper .jcarousel-control-prev:before,.gallery-wrapper .jcarousel-control-next,.gallery-wrapper .jcarousel-control-next:before { top: 35% !important; } } @media(min-width: 768px) { .gallery-wrapper .jcarousel-control-prev,.gallery-wrapper .jcarousel-control-next,.gallery-wrapper .jcarousel-control-prev:before, .gallery-wrapper .jcarousel-control-next:before { top: 42% !important; } } @media (max-width: 430px) { .gallery-100 li img,.gallery-75 li img,.gallery-50 li img { width: 385px !important; } .image-caption { max-width: 330px; } } @media screen and (min-width: 431px) and (max-width: 768px) { .gallery-100 li img, .gallery-75 li img, .gallery-50 li img { width: 710px !important; } .gallery-pagination { margin-top: -13% !important; } .image-caption { max-width: 611px !important; } } @media (min-width: 377px) and (max-width: 430PX) { .gallery-pagination { margin-top: -22% !important; } } @media (max-width: 376px) { .gallery-pagination { margin-top: -26.5% !important; } .gallery-75 .gallery-pagination { margin-top: -34%!important; } } @media(max-width: 330px) { .gallery-100 li img, .gallery-75 li img, .gallery-50 li img { width: 310px !important; } .gallery-pagination { margin-top: -31% !important; } }'; addStyle(styles); }) </script> <div class="contactUs" style="display:none"> <a href="/nl/info/service/contact/410/">Contact Us</a> </div> </div> </div> </div><!-- OpenText CacheKey: opentextcontent --><div class="o-footer-seo o-footer-seo--opentext t-footer-seo t-footer-seo--opentext u-xs-outer-bottom-15"> <div class="row"> <div class="col-xs-12"> <!-- Mandatory OT Parameter not Found. Cannot parse. --></div> </div> </div></div> <hr class="visible-xs o-footer__rule t-footer__rule u-outer-top-15 dont-print" /> <div id="js-soical-link-responsive" class="hide-globalhub o-footer__contact"> <span class="o-footer__contact-text">E-mail: <a class="a-text-link t-text-link t-text-link--tertiary" href="mailto:info@hafele.be?subject=Aanvraag Häfele [25/04/2024 15:52:56]"">info@hafele.be</a> </span> <span class="o-footer__contact-text">Tel.: <a class="a-text-link t-text-link t-text-link--tertiary" href="tel:+32 52/45 01 14">+32 52/45 01 14</a> </span> <span data-opentext-append="social" class="o-footer__opentext o-footer__social o-footer__social--icons t-footer__social t-footer__social--icons"></span> </div> <p id="js-copyright-text" class="visible-xs o-footer__copy u-no-outer-top u-no-outer-bottom dont-print"></p> </div> </div> </div> </div> <div class="row hidden-xs o-footer__copy font-14"><div class="contentDesktop o-footer__copy-opentext o-footer__copy-opentext--update"><!-- OpenText CacheKey: opentextcontent --> <!-- OpenText CacheKey: opentextcontent --> <div class="opentext"> <div class="content-wrapper content-wrapper-center"> <div class="hflFooter" id="js-hflFooter"> <div class="hflFooterInner clearfix"> <a class="social icon font-icon font-icon-22 font-icon-set-icn-081-2-youtube" href="https://www.youtube.com/user/HafeleBelgiumNV/videos" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/youtube.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-063-1-instagram" href="https://www.instagram.com/hafele_belgium/" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hnz/instagram_icon.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-080-2-facebook" href="https://www.facebook.com/hafelebelgium" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/facebook.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-092-2-linkedin" href="https://www.linkedin.com/company/hafele-belgium" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/linkedin.png" alt="Häfele" title="Häfele" /> </a> <a class="social icon font-icon font-icon-22 font-icon-set-icn-077-2-pinterest" href="https://www.pinterest.com/hafelebelgium0432/_activity/" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/pinterest.png" alt="Häfele" title="Häfele" /> </a> <a class="action notActive printpage" href="" target="_new"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/print.png" alt="Pagina afdrukken" title="Pagina afdrukken" /> <span>Pagina afdrukken</span> </a> <a class="action notActive" href="/nl/info/service/catalogi-brochures/407/#tab=3"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/apps.png" alt="Apps" title="Apps" /> <span>Apps</span> </a> <a class="action notActive" href="/nl/info/service/newsletter/408/"> <img src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/Haefele-HBL/nl_BE/opentext/assets/hww/newsletter.png" alt="Nieuwsbrief" title="Nieuwsbrief" /> <span>Nieuwsbrief</span> </a> </div> <div class="o-footer__blocks hflFooterInner" id="site-footer-links" style="justify-content: normal;"> </div> <div class="hflFooterNav"> <small class="copyrightNote">© 2024 by Häfele</small> <a href="https://www.hafele.be/nl/info/gegevensbescherming/646/" id="cookie-consent-setting-footer">Cookie instellingen</a><isurl pipeline="ViewContent-Start" parameters="PageletEntryPointID=Haefele__Page_PI"> <a href="/nl/info/colofon/645/">Colofon</a> <a href="/nl/info/gegevensbescherming/646/">Gegevensbescherming</a><isurl pipeline="ViewContent-Start" parameters="PageletEntryPointID=Haefele__Page_PI"> <a href="/nl/info/algemene-verkoopvoorwaarden/746/">Algemene verkoopvoorwaarden</a> <a href="/nl/info/gebruiksvoorwaarden/647/">Gebruiksvoorwaarden</a><isurl pipeline="ViewContent-Start" parameters="PageletEntryPointID=Haefele__Page_PI"> <a href="/nl/info/sitemap/6689/">Sitemap</a> <a href="/nl/info/service/support/409/">Support</a></isurl></isurl></isurl></div> <script type="text/javascript">           /* Function to add style element */         function addStyle(styles) {             /* Create style document */             var css = document.createElement('style');             css.type = 'text/css';               if (css.styleSheet)                 css.styleSheet.cssText = styles;             else                 css.appendChild(document.createTextNode(styles));               /* Append style to the tag name */             document.getElementsByTagName("head")[0].appendChild(css);         }   //add css to DOM $(document).ready(function() { var styles = '.ot-button-44 input[type="submit"] { font-weight: normal !important; }'; styles = styles + " .font-icon-set-icn-063-1-instagram:before { content: '\\61' !important } .font-icon-set-icn-077-2-pinterest:before { content: '\\62' !important } .font-icon-set-icn-078-2-twitter:before { content: '\\63' !important } .font-icon-set-icn-079-2-google-plus:before { content: '\\64' !important } .font-icon-set-icn-080-2-facebook:before { content: '\\65' !important } .font-icon-set-icn-081-2-youtube:before { content: '\\66' !important } .font-icon-set-icn-089-2-weibo:before { content: '\\67' !important } .font-icon-set-icn-090-4-flickr:before { content: '\\68' !important } .font-icon-set-icn-091-2-blogspot:before { content: '\\69' !important } .font-icon-set-icn-092-2-linkedin:before { content: '\\6a' !important }"; styles = styles + ' .gallery-100 li img { width: 940px; } .gallery-75 li img { width: 700px; } .gallery-wrapper { position: relative; } .gallery { position: relative;overflow: hidden; } .gallery ul { width: 10000em;position: relative;list-style: none;margin: 0;padding: 0; } .gallery ul li { float: left; } .image-caption { text-align: center;margin-top: 5%;min-height: 15px;color: #969696;font-style: italic; } .gallery-pagination { position: absolute;left: 50%;margin-top: -7%;-webkit-transform: translate(-50%, 0);-ms-transform: translate(-50%, 0);} .gallery-pagination a { text-decoration: none;display: inline-block;font-size: 10px;line-height: 10px;min-width: 12px;background: #f1f1f1;color: #4E443C;text-align: center; } .gallery-pagination a { height: 13px;width: 10px;background: #f1f1f;color: #4E443C;text-indent: -9999px;margin-right: 15px; } .gallery-pagination a.active { background: #d20a28; } .jcarousel-prev:before,.jcarousel-next:before { margin-top: -7px; } .jcarousel-control-prev,.jcarousel-control-next { display: block;opacity: 0.7 !important; background-color: #000000 !important; background-image: linear-gradient(147deg, #000000 0%, #434343 74%) !important; } @media(max-width: 767px) { .gallery-100 li img,.gallery-75 li img,.gallery-50 li img { width: 345px !important;} .image-caption { min-height: 64px !important; } } @media(min-width: 768px) { .gallery-50 li img { width: 460px; } .gallery-50 .image-caption { max-width: 460px !important; } .gallery-75 .image-caption { width : 700px !important; } .gallery-75 .gallery-pagination { margin-top: -10%!important; } } @media(min-width: 768px) { .gallery-50 .gallery-pagination { margin-top: -70px !important; } .gallery-50 .image-caption { top: -40px !important; } } @media(max-width: 767px) { .gallery-wrapper .jcarousel-control-prev,.gallery-wrapper .jcarousel-control-prev:before,.gallery-wrapper .jcarousel-control-next,.gallery-wrapper .jcarousel-control-next:before { top: 35% !important; } } @media(min-width: 768px) { .gallery-wrapper .jcarousel-control-prev,.gallery-wrapper .jcarousel-control-next,.gallery-wrapper .jcarousel-control-prev:before, .gallery-wrapper .jcarousel-control-next:before { top: 42% !important; } } @media (max-width: 430px) { .gallery-100 li img,.gallery-75 li img,.gallery-50 li img { width: 385px !important; } .image-caption { max-width: 330px; } } @media screen and (min-width: 431px) and (max-width: 768px) { .gallery-100 li img, .gallery-75 li img, .gallery-50 li img { width: 710px !important; } .gallery-pagination { margin-top: -13% !important; } .image-caption { max-width: 611px !important; } } @media (min-width: 377px) and (max-width: 430PX) { .gallery-pagination { margin-top: -22% !important; } } @media (max-width: 376px) { .gallery-pagination { margin-top: -26.5% !important; } .gallery-75 .gallery-pagination { margin-top: -34%!important; } } @media(max-width: 330px) { .gallery-100 li img, .gallery-75 li img, .gallery-50 li img { width: 310px !important; } .gallery-pagination { margin-top: -31% !important; } }'; addStyle(styles); }) </script> <div class="contactUs" style="display:none"> <a href="/nl/info/service/contact/410/">Contact Us</a> </div> </div> </div> </div><!-- OpenText CacheKey: opentextcontent --><div class="o-footer-seo o-footer-seo--opentext t-footer-seo t-footer-seo--opentext u-xs-outer-bottom-15"> <div class="row"> <div class="col-xs-12"> <!-- Mandatory OT Parameter not Found. Cannot parse. --></div> </div> </div></div></div> </div> </div> <div id="wishlistContainer" class="c-modal c-modal-layer hflLayerBox wishlistLayer addToWishlistLayer warningLayer hide" role="dialog"> <div class="background shadow"></div> <div class="modal-dialog c-modal__dialog" role="document"> <div class="modal-content c-modal__content"> <div class="hflLayerCnt u-no-inner-all u-no-outer-all"></div> <div class="hflAjaxLoader u-no-inner-all u-no-outer-all"><span class="u-outer-top-35"></span></div> <div class="hflAjaxError u-no-inner-all u-no-outer-all" style="display:none;"> <div class="errorContainer"> <h5>Artikels konden niet aan verlanglijsten worden toegevoegd.</h5> </div> </div> </div> </div> </div> <div id="FrontEndDebugInfoContainer" class="hidden"></div> <!-- PWA download icon --> <div class="footer-pwa-layer" id="downloadAppios"> <div class="message"> <div class="text font-14">Installeer deze webapp op je iPhone, tik op <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 64 64" class="svg-icons"><use xlink:href="#icn-ios-share"></use></svg> en klik op "Toevoegen aan startscherm" </div> <div class="close font-icon font-icon-set-icn-002-2-close font-14"></div> </div> </div> </div> </div><noscript> <style> .jsOnly { display: none; } </style> </noscript> <script src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/bundles/js/haefele-24.7.0-f40e1ea-20240405135846-1712318342590.min.js?lastModified=1714007646662"></script><script type="text/javascript"> getSessionInfo() .done(function(sessionInfoData) { var loginName = sessionInfoData.loginName; var loginEmail = sessionInfoData.loginEmail; var param = '&loginname=' + loginName + '&loginemail=' + loginEmail+ '&dl='+escape(document.location.href); $('.liveChatTeaser').on('click', function() { var opentexturl = $(this).data('url'); var completeURL = opentexturl + param; window.open(completeURL, '', 'width=450,height=400'); return false; }) }); </script><script type="text/javascript"> initLoginLink(); </script><script> var forms = $("form#directOrderForm"); if (forms.length) { forms.each(function (index, element) { $('<input>').attr({ type: 'hidden', name: 'DeviceSource', value: getDeviceSource() }).appendTo(element); }); } </script> <script type="text/javascript" src="https://unpkg.com/@zxing/library@latest/umd/index.min.js"></script> <script src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/js/zxing-qrean.js"></script> <script> var directEanScan = 0; var eanQRScan = 0; var selectedDeviceId; $( document ).ready(function() { eanScannerinit(); }); function eanScannerinit() { var stopErrorLogger; var lastScanResult = []; //This code for scanning based on zxing API $(document).on("click", ".eanQRScanner,.barToTextContainer,.directEanbarScanner", function(e) { e.stopImmediatePropagation(); e.isPropagationStopped(); e.preventDefault(); var currentReference = this; var inputCtrl = $(currentReference).siblings("input.inputArticleNo"); if($('.scanner-infobox').hasClass('hidden')) { $('.scanner-infobox').removeClass('hidden'); } $("#zxingvideo").show(); eanQRScan = 1; lastScanResult.length = 0; $('.camera_block').removeClass('hidden'); $('.control_actions,.message_redirect').addClass('hidden'); $('.barToTextContainer').addClass('started'); $('body').addClass('noscroll'); var camIdFromCookie = getCookieInfo('ean-cam-scanner-id'); camIdFromCookie = camIdFromCookie.trim().replace(' ',''); if($("#hdnCamSelected").val() != undefined && $("#hdnCamSelected").val() != "") { selectedDeviceId = $("#hdnCamSelected").val(); } const codeReader = new ZXing.BrowserMultiFormatReader(); if($(currentReference).hasClass('directEanbarScanner')) { $(".active-scanning-row").removeClass(".active-scanning-row"); $(currentReference).closest(".js-direct-entry-item-row").addClass("active-scanning-row"); directEanbarScanner(currentReference,codeReader); directEanScan = 1; } else { scannerTimeOut(codeReader); directEanScan = 0; } codeReader.listVideoInputDevices() .then((videoInputDevices) => { if(!$(".control_actions .selectBox").length) { $(".camera-list").attr("id","sourceSelect"); const sourceSelect = document.getElementById('sourceSelect'); if(selectedDeviceId == "" || selectedDeviceId == undefined){ selectedDeviceId = (camIdFromCookie == "" ? undefined : camIdFromCookie); } let selectedDeviceIdTemp1= selectedDeviceId; /*This block will be excuted only once if list of cameras are not available in dropdown*/ if (videoInputDevices.length >= 1) { videoInputDevices.forEach((element) => { const sourceOption = document.createElement('option'); sourceOption.text = element.label; sourceOption.value = element.deviceId; /*To show selected camera from cookie*/ if(camIdFromCookie == element.deviceId) { $(sourceOption).attr('selected',''); } /*Filter to list only back camera*/ if (/back|rear|environment|video device 3|video device 4/gi.test(element.label)) { sourceSelect.appendChild(sourceOption); } }); videoInputDevices.forEach((element) => { if(selectedDeviceId == element.deviceId) { selectedDeviceId = selectedDeviceIdTemp1; return false; } else { selectedDeviceId = undefined; } }); /*For selectbox formatted view*/ $(".control_actions").initializeForms('select'); } } else { let selectedDeviceIdTemp = selectedDeviceId; $("#sourceSelect > option").each(function() { if($(this).val() == camIdFromCookie) { selectedDeviceId = selectedDeviceIdTemp; $(this).attr('selected',''); } else { if (camIdFromCookie != ''){ selectedDeviceId = undefined; } } }); } $(document).on("change","#sourceSelect",function(){ selectedDeviceId = this.value; $("#hdnCamSelected").val(this.value); }); codeReader.decodeFromVideoDevice( ($("#hdnCamSelected").val() != "" ? $("#hdnCamSelected").val() : selectedDeviceId ), 'zxingvideo', (result, err) => { if (result) { prodSearchFromScanResult(codeReader, inputCtrl, result); } if (err && !(err instanceof ZXing.NotFoundException)) { console.error(err); } if (err instanceof ZXing.NotFoundException) { /*No scan found*/ $(".barcode").removeClass('hidden'); if($(".camera-list > option").length > 1) { $("#sourceSelectPanel").removeClass('hidden'); } } }); }) .catch((err) => { console.error(err); }); //This code for to close the camera and reset the codereader instance $("body").on("click", ".camera_close,.gobackClose", function(e) { if(eanQRScan == 1){ $('.camera_block').addClass('hidden'); codeReader.reset(); } }); }); function prodSearchFromScanResult(codeReader, inputCtrl, scanResult){ var content = scanResult.text; var numericPattern = new RegExp("^\\d+$"); var isNumericData = numericPattern.test(content); var urlRegex = new RegExp("^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$"); $("#interactive canvas").remove(); $('.barToTextContainer').removeClass('started'); // When scanResult is EAN number if((content.length == 13) && isNumericData){ codeReader.reset(); lastScanResult.push(content); ajaxSearchFromScanner(content,inputCtrl); return; } else { // When scanResult is QR URL if(urlRegex.test(content)) { codeReader.reset(); // when scanned from DirectOrder pass extracted SKU from url if(directEanScan == 1) { var qrSKU =false; var qrSkuPattern = content.match( /\/-\/[0-9]{1,}\// ); if (qrSkuPattern) { var qrSKU = parseInt(qrSkuPattern[0].match( /[0-9]{1,}/ )[0]); } ajaxSearchFromScanner(qrSKU,inputCtrl); return; } else { // Redirect to URL when scanned from searchBar window.open(content, "_self"); } } } } function directEanbarScanner(currentReference,codeReader) { $('.control_actions,.message_redirect').addClass('hidden'); if(!$(currentReference).hasClass('started')) { $('.barToTextContainer').addClass('started'); $('body').addClass('noscroll'); scannerTimeOut(codeReader); } else { console.log('error'); } } // This function is used to set timer and reset the CodeReader function scannerTimeOut(codeReader) { clearTimeout(stopErrorLogger); stopErrorLogger = setTimeout(function() { if(lastScanResult.length === 0) { codeReader.reset(); $('.control_actions,.detectedCode').removeClass('hidden'); $('.scanner-infobox').addClass('hidden'); $('.barcode').html(''); } }, 10000); } //This code for scanning correct EAN numbers in database function ajaxSearchFromScanner(code, inputElem){ $.ajax({ url: $('.searchBoxSectionIcon').attr('data-article-validate'), type: 'POST', dataType: 'html', data: {SKU: code}, success: function(data) { if (typeof data === "undefined" || data == null) { $('.control_actions').removeClass('hidden'); console.log('unexpected error'); } else { data = JSON.parse(data); if(data.result[0].title !== undefined) { $('.control_actions, .scanner-infobox').addClass('hidden'); /*Set cookie with selected camera Id for 30 days*/ if (selectedDeviceId == undefined && $("#hdnCamSelected").val() != "") { selectedDeviceId = $("#hdnCamSelected").val(); } if(selectedDeviceId != undefined && selectedDeviceId != 0){ setCookieInfo("ean-cam-scanner-id", selectedDeviceId,"30"); } $("#hdnCamSelected").val(''); if(directEanScan == 1) { $(inputElem).val(code).trigger('change'); $(inputElem).removeClass("is-defaultText"); $(inputElem).closest(".active-scanning-row").removeClass("active-scanning-row"); $('.camera_block').addClass('hidden'); preSubmitDirectOrder($(inputElem), false, null); setTimeout(function(){ $('.camera_close').trigger('click'); },500); } else{ $('.message_redirect').removeClass('hidden'); $('a[data-action-target*=searchBoxSection]').trigger('click'); var skuData = code; if(data.result[0].eancode){ skuData = data.result[0].sku; $("#searchForm #inputSearchTerm").attr("name","ean_code"); $("#searchForm").prepend("<input type='hidden' name='SearchTerm' value='"+skuData+ "'/>"); var quantity = data.result[0].eanquantity; $("#searchForm").prepend("<input type='hidden' name='viaEAN' value='true'/>"); $("#searchForm").prepend("<input type='hidden' name='Quantity' value='"+quantity+"'/>"); } $("#inputSearchTerm").val(skuData); $("#searchForm").submit(); } } else { /*Item not available*/ $('.control_actions,.detectedCode').removeClass('hidden'); $(".scanner-infobox,#sourceSelectPanel").addClass('hidden'); $('.barcode').html(code); } } }, traditional: true }); } $(document).on("click",".control_actions .retry_scan", function(e){ e.stopImmediatePropagation(); e.preventDefault(); clearTimeout(stopErrorLogger); $('.searchCont.searchBoxSection').css('top','-150%'); $('.barToTextContainer').removeClass('started'); $('body').removeClass('noscroll'); $('.control_actions,.message_redirect').addClass('hidden'); $("#hdnCamSelected").val($("#sourceSelect").val()); selectedDeviceId = $("#sourceSelect").val(); /*For selectbox formatted view*/ $(".control_actions").initializeForms('select'); if(eanQRScan != 1) { $('.camera_block').find('video,canvas').remove(); setTimeout(function(){ if( directEanScan == 1) { directEanScan = 0; $(".directEanbarScanner").trigger('click'); } else { $(".barToTextContainer").trigger('click'); } }, 500); }else{ setTimeout(function(){ if( directEanScan == 1) { directEanScan = 0; $(".active-scanning-row .directEanbarScanner").trigger('click'); } else { $(".barToTextContainer").trigger('click'); } }, 500); } }); //This code for handling retry scanning scenarios $(document).on("click", "#interactive .camera_close, .control_actions .gobackClose", function(e) { e.stopImmediatePropagation(); e.preventDefault(); clearTimeout(stopErrorLogger); $('.searchCont.searchBoxSection').css('top','-150%'); $('.barToTextContainer').removeClass('started'); $('body').removeClass('noscroll'); $('.camera_block').addClass('hidden'); }); //Make an AJAX request to find out if the article number is valid function validateDirectOrderFromHome(validateQuantity, eanInput, callback) { //Start article no validation var inputArticleNum = $(eanInput).val() != undefined ? $(eanInput).val().trim() : ""; var eanContainer = $(eanInput).closest(".o-flyout__row-mobile"); var errMsgContainer = $(eanContainer).find(".js-article-error-msg"); var successMsgContainer = $(eanContainer).find(".js-article-success-msg"); if (typeof inputArticleNum === "undefined" || inputArticleNum == null || inputArticleNum.length <= 0) { $(eanContainer).addClass("attention number"); $(successMsgContainer).hide(); $(errMsgContainer).html('<span>Voer het artikelnummer in.</span>').html(); // validation failed if (typeof(callback) === 'function') { callback(false, originatingEvent); } return; } if(eanInput.val().length > 0){ //Process AJAX Call var directOrderRequest = $.ajax({ url: 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewCart-GetProductNameBySKU', async: true, data:{SKU: inputArticleNum} }).done(function(output) { //process the result of the AJAX request setTimeout(function(){ // To scroll to position from where user triggered this scan $("html, body").animate({ scrollTop : $(eanInput).offset().top - 25},300); },300); if (typeof output === "undefined" || output == null) { //AJAX Ouput is null or undefined "); console.error("Unexpected scenario "); if (typeof(callback) === 'function') { callback(false, eanInput); } } else { //AJAX Output is available. Need to validate the contents of AJAX if(output.result[0].errorKey) { //Error Scenario $(eanContainer).addClass("attention number").find(".inputQuanity").val(''); if(output.result[0].errorKey.match("haefele.addToCart.notification.key.error.empty.article.number")){ $(errMsgContainer).html('<span>Voer het artikelnummer in.</span>').show(); } else if(output.result[0].errorKey.match("haefele.addToCart.notification.key.error.notfound.article.number")){ $(errMsgContainer).html('<span>Artikelnummer niet gevonden. Controleer a.u.b.</span>').show(); } else if(output.result[0].errorKey.match("haefele.addToCart.notification.error.complex.loox")){ $(errMsgContainer).html('<span>This is Loox complex configuration article. Please go to ADP page to access configurator.</span>').html(); } else if(output.result[0].errorKey.match("haefele.addToCart.notification.error.complex.drawers")){ $(errMsgContainer).html('<span>This is Complete drawers complex configuration article. Please go to ADP page to access configurator.</span>').html(); } if (typeof(callback) === 'function') { callback(false, originatingEvent); } return; } else { //Response is obtained from AJAX var articleTitle = output.result[0].title; if(output.result[0].eancode){ var sku = output.result[0].sku; var quantity = output.result[0].eanquantity; //$(".SKU_Placeholder").val(sku); $(eanInput).siblings(".SKU_Placeholder").val(sku); $(eanContainer).find(".inputQuanity").val(quantity); $(eanContainer).find(".inputQuanity").removeClass("is-defaultText"); } if(!output.result[0].online){ $(eanContainer).addClass("attention number"); $(errMsgContainer).html('<span>Artikel op dit moment niet leverbaar.</span>').show(); if (typeof(callback) === 'function') { callback(false, originatingEvent); } $(eanContainer).find(".inputQuanity").val(''); return; } if (articleTitle != null && articleTitle.length > 0 && validateQuantity == false ) { //Display Article Title $(successMsgContainer).html('<span>' + articleTitle + (output.result[0].subtitle != '' ? '<br/>' + output.result[0].subtitle : '') + '</span>').show(); } //AJAX Ouput : Article Number is valid. Validate Quantity now if(validateQuantity) { //Starting quantity validation if(isQuantityValid()) { //validation success submit form if (typeof(callback) === 'function') { callback(true, originatingEvent); } } else { //Quantity has not been entered. or invalid $(eanContainer).addClass("attention quantity"); $(successMsgContainer).hide(); $(errMsgContainer).html('<span>Voer een geldige waarde voor het aantal artikels in.</span>').show(); if (typeof(callback) === 'function') { callback(false, originatingEvent); } return; } } else if (typeof(callback) === 'function') { //validation success submit form callback(true, originatingEvent); } } } }); directOrderRequest.fail(function(jqXHR, textStatus){ console.info( "Request failed: " + textStatus ); if (typeof(callback) === 'function') { callback(false); } }); } else { //Starting quantity validation if(isQuantityValid()) { //validation success submit form if (typeof(callback) === 'function') { callback(true, originatingEvent); } } else { //Quantity has not been entered. or invalid $(eanContainer).addClass("attention quantity"); $(successMsgContainer).hide(); $(errMsgContainer).html('<span>Voer een geldige waarde voor het aantal artikels in.</span>').show(); if (typeof(callback) === 'function') { callback(false, originatingEvent); } return; } } } // Do validations before submitting the form // Validation will be done async - specify a callback that will be called on successful validation function preSubmitDirectOrder(eanInput, validateQuantity, callback) { var eanContainer = $(eanInput).closest(".o-flyout__row-mobile"); var errMsgContainer = $(eanContainer).find(".js-article-error-msg"); var successMsgContainer = $(eanContainer).find(".js-article-success-msg"); if (!validateQuantity) { $(eanContainer).removeClass("attention number quantity"); $(eanContainer).find(".js-article-error-msg, .js-article-success-msg").hide(); } if($("#dOrderFormResponsive").length > 0) { validateDirectOrderFromHome(validateQuantity, eanInput, callback); } else { validateDirectOrderForm(validateQuantity, eanInput, callback); } } //blur function for Article Num field $('#dOrderFormResponsive').find(".inputArticleNo").blur(function(e) { // trigger the validation without quantity check as the user might not have changed the quantity field yet. // call without callback as no action need to be triggered preSubmitDirectOrder(e, false, null); }); } </script> <script type="text/javascript"> var directOrder = $('.js-directOrderFlyout').html(); if($(window).width() > 767) { var directOrderFlyoutViewModel = new DirectOrderFlyoutViewModel( { formId: 'directOrderForm', rowCount: 3, articleNumberErrorMessage: 'Voer het artikelnummer in.', articleNotCorrectErrorMessage: 'Artikelnummer is niet correct. Controleer a.u.b.', articleNotFoundErrorMessage: 'Artikelnummer niet gevonden. Controleer a.u.b.', articleNotAvailableErrorMessage: 'Artikel op dit moment niet leverbaar.', complexArticleLooxErrorMessage: 'This is Loox complex configuration article. Please go to ADP page to access configurator.', complexArticleDrawersErrorMessage: 'This is Complete drawers complex configuration article. Please go to ADP page to access configurator.', quantityErrorMessage: 'Voer een geldige waarde voor het aantal artikels in.', responsiveOnly: false, dataUrl: 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewCart-GetProductNameBySKU', success: function(ret) { showAddToCartNotification(ret); addHflLayerScroll("#shoppingCartNotification"); $('.js-directOrderFlyout').addClass('hide'); $("#js-directOrder").removeClass('is-active'); updateCartCount(); } }); ko.applyBindings(directOrderFlyoutViewModel, document.getElementById('directOrderForm')); $(document).on("click",'.directOrderBoxCancel',function(){ $('.js-directOrderFlyout').addClass('hide'); $("#js-directOrder").removeClass('is-active'); }); } </script><script src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/bundles/js/haefele.vi-24.7.0-f40e1ea-20240405135846-1712318342590.responsive.bottom.js?lastModified=1714007161082"></script><script type="text/javascript"> getSessionInfo() .done(function(sessionInfoData) { if (isHaefeleUserLoggedin) { startTimeoutWarner( "https://www.hafele.be/INTERSHOP/servlet/WFS/SessionInfo/parameter?s=" + sessionInfoData.encryptedID, "https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewSessionTimeoutWarning-AjaxLoggedIn", sessionInfoData ); } }); </script><script type="text/javascript"> $('#loggedOutFrame .warningLayerButtons input[name="TargetURL"]').val(location.href + location.hash); </script><script type="text/javascript"> getSessionInfo() .done(function(sessionInfoData) { var coUserName = getCookieValue('remember-CoUserName'); if (!isHaefeleUserLoggedin && coUserName && coUserName != '""' && coUserName != "") { $('#ShopLoginForm_LoginAsJointUser_headerItemLogin').prop('checked', true); $('#ShopLoginForm_UserName_headerItemLogin').val(coUserName); $('#ShopLoginForm_UserName_headerItemLogin').prop('disabled',false); $('.inputUsername').removeClass('hidden'); if (!$('#divShopLoginForm_LoginAsJointUser_headerItemLogin').hasClass("checked")) { $("#divShopLoginForm_LoginAsJointUser_headerItemLogin").addClass("checked"); } }else { $('#ShopLoginForm_LoginAsJointUser_headerItemLogin').prop('checked', false); $('#ShopLoginForm_UserName_headerItemLogin').val(''); $('.hfl-login--form-group__joint-user .inputUsername').hide(); if ($('#divShopLoginForm_LoginAsJointUser_headerItemLogin').hasClass("checked")) { $('#divShopLoginForm_LoginAsJointUser_headerItemLogin').removeClass("checked"); } } }); $('#PasswordForgottenLink').on('click', function(e){ var isJointUser = $("#"+"ShopLoginForm_LoginAsJointUser_headerItemLogin"); if (isJointUser.attr('checked')) { $(this).attr('href', $(this).attr('href') + "?IsJointUser=on"); } return true; }); var loginModel = new LoginViewModel( { loginFormId: 'loginWithExistingAccountForm', generalError: 'Onjuist klantnummer of wachtwoord.', start: function() { $('#loginFormContent').addClass('hidden'); $('#loginFormAjaxLoader').removeClass('hidden'); }, success: function(loginResult) { if ('undefined' != typeof(loginResult.redirectUrl)) { var defaultStart = $("input[name='currentURL']").val(); var currentUrl = location.href + location.hash; if (defaultStart.indexOf('Default-Start') != -1) { location.href = loginResult.redirectUrl; } else { location.reload(); } } else { location.reload(); } }, error: function(loginResult) { $('#loginFormAjaxLoader').addClass('hidden'); $('#loginFormContent').removeClass('hidden'); addHflLayerScroll(".hflLayerBox.loginLayer:visible"); }, hderedirect: function(loginResult) { $('#loginFormAjaxLoader').addClass('hidden'); $('#loginFormContent').removeClass('hidden'); } }); ko.applyBindings(loginModel, document.getElementById('loginFormAjax')); </script><script type="text/javascript"> $(document).ready(function() { if(!are_cookies_enabled()){ $("#cookieDisableFrame").lawcookie({ 'dn' : 'Haefele-HBL-Site' ,'org' : 'Haefele-HBL-Site' ,'lawCookieName' : 'lawCookie-Haefele-HBL-Site' ,'selector_message' : $('#disableCookieMessage') ,'selector_submit' : $('#disableCookieMessage a.close-notify') ,'selector_parent' : $('#cookieDisableFrame') }); } }); </script><script src="/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/js/lawcookie.js" language="JavaScript"></script> <script type="text/javascript"> function are_cookies_enabled() { var cookieEnabled = (navigator.cookieEnabled) ? true : false; if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) { var date = new Date(); date.setTime(date.getTime()+(5000)); document.cookie="testcookie"; document.cookie += "; expires="+date.toGMTString(); cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false; } return (cookieEnabled); } $(".hflLayerContainer .icn-close").on("click touch", function() { $(".lawcookieFrame").hide(); }); </script><script type="text/javascript"> $.extend( $.fn.dataTableExt.oStdClasses, { "sPaging": " c-pagination c-pagination--data-table t-pagination--data-table ", "sPageButton": " c-pagination__btn t-pagination__btn ", "sPageButtonActive": " c-pagination__btn-current t-pagination__btn-current ", "sPageButtonDisabled": " t-btn--inactive " }); </script><script> getSessionInfo() .done(function(sessionInfoData) { if (!getCookieValue("ConfirmedLoginDisabled")) { var loginDisabledFrom = sessionInfoData.loginDisabledFrom; var loginDisabledTo = sessionInfoData.loginDisabledTo; var currentTime = new Date().getTime(); var loginDisabled = loginDisabledFrom != null && loginDisabledFrom < currentTime; loginDisabled &= (loginDisabledTo == null || loginDisabledTo > currentTime); if (loginDisabled) { var text = ""; var pageWarningTxt = $(".pageWarningTxt"); var warning = pageWarningTxt.data("warning"); var message = pageWarningTxt.data("message"); if (sessionInfoData.isUserLoggedOut) { text = warning; } if (message != "") { if (warning != "") { text += " "; } text += message; } $(".pageWarningTxt").html(text); $(".pageWarningBox").show(); } } }) .fail(function(xhr) { // Only show error message for http errors, not for user abort if(xhr.getAllResponseHeaders()) { IncludeLoginDisabledMessageErrorHandler(null, null, "Verbergen|<>|Er is een onverwachte fout opgetreden. Probeer de pagina opnieuw te laden."); $(".pageWarningBox").show(); } }); </script><script type="text/javascript"> jAsimUpdateOid = '0000005000037d0f00010023'; </script><script type="text/javascript"> $(document).ready(function() { var hashParams = getHashParams(); var searchParameter = getParameterFromHash("SearchParameter"); var pageNumber = hashParams.PageNumber; var productListSize = hashParams.ProductListSize; var pageSize = hashParams.PageSize; var pagerdata = 'SKU=P-00915622&CategoryName=47&CategoryDomainName=Haefele-global_one_pim_catalog'; if (searchParameter) { if (0 <= searchParameter.indexOf('&')) { searchParameter = encodeURIComponent(searchParameter); } requiredHash = '&SearchParameter=' + searchParameter + '&PageNumber=' + pageNumber + '&ProductListSize=' + productListSize + '&PageSize=' + pageSize; pagerdata += requiredHash; } AjaxLateExecutionProcess(function() { $.ajax({ url: "https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetProductPager", data: pagerdata, type: "POST", success: function(data) { $(".js-productPager").html(data); }, timeout: 7500, error: function() { $(".js-productPager").empty(); } }); }); }); </script><script type="text/javascript"> AjaxLateExecutionProcess( function(){ var solutionsModel = new SolutionViewModel( { dataUrl : 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewParametricSearchBySearchIndex-ProductSolutions?SKU=P-00915622&Type=JSON', notAvailableImage : '/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/images/not_available.gif', maxVisibleItems : 4, maxItems : 10 }); ko.applyBindings(solutionsModel, document.getElementById('productSolutionsBox')); }); </script><script> var forms = $("form#productPageAddToBasket"); if (forms.length) { forms.each(function (index, element) { $('<input>').attr({ type: 'hidden', name: 'DeviceSource', value: getDeviceSource() }).appendTo(element); }); } </script><script type="text/javascript"> getSessionInfo().done( function(sessionInfoData) { if(!window.isHaefeleUserLoggedin){ $(".productOrderDetailsInfo").remove(); } }); </script><script type="text/javascript" language="JavaScript"> $(document).ready(function(){ $('[id^=media-video]').mediaelementplayer({ plugins: ['flash'], pluginPath: '/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/assets/mediaelementplayer/', flashName: 'flashmediaelement.swf', features: ['playpause','progress','current','duration','volume'], alwaysShowControls: true, enablePluginSmoothing: true, stretching: 'auto', success: function (mediaElement, domObject) { mediaElement.addEventListener("ended", function(e) { // Revert to the poster image when ended setTimeout(function() { var jqueryMediaElement = (mediaElement.id) ? jQuery("#"+mediaElement.id) : jQuery(mediaElement); jqueryMediaElement.parents(".mejs-inner").find(".mejs-poster").show(); }, 200); }); //Workaround to display the video and the poster in a correct manner when using flash. In modern Chromium based browsers this would result in oversized posters. if (mediaElement.id.indexOf('flash')>-1) { $('#video'+'').attr("width", "1"); $('#video'+'').attr("height", "1"); } } }); }); </script><script type="text/javascript" language="JavaScript"> $(document).ready(function() { $("#ConditionConfiguration_pds_consignment_1").keyup(function () { var value = $(this).val(); $(".consignmentMandatory").val(value); }); $("select.selectBoxArticleNoMcr").each(function(index) { var mcrIndex = index + 2; var mdtVariationModelString = $("#VariationModel_" + mcrIndex).val(); var mdtVariationModel = eval("(" + mdtVariationModelString + ")"); if(mdtVariationModel != undefined && mdtVariationModel != null && mdtVariationModel.length > 0){ createVariationSelector( $('.productOrderCrossReferences'), 'main_mdt' + mcrIndex + '_', $("#ConditionConfiguration_pds_articleNo_" + mcrIndex), '', mdtVariationModel ); } }); }); </script> <script type="text/javascript"> if (window.location.hash) { $(document).ready(function() { var s_xpos = getParameterFromHash("xpos", true); var s_ypos = getParameterFromHash("ypos", true); var xpos = 0, ypos = 0; if (s_xpos && s_ypos) { xpos = parseInt(s_xpos); ypos = parseInt(s_ypos); } setTimeout(function() { window.scrollTo(xpos, ypos); },0); }); } </script> <script type="text/javascript"> $(document).ready(function(){ AjaxLateExecutionProcess(function(){ $.ajax({ url: "https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/Template-Include?Template=inc%2Fhaefele%2Frecentlyviewed%2FRecentlyViewedProducts&HandlerPipeline=ViewPagelet_comp_recentlyviewed-ViewItems&AddSKU=P-00915622&PageSize=", type: "POST", success: function(html) { $("#js-recentlyViewedProductsAjaxLoader").replaceWith( html ); initMiniImageCarousel(); /** modulMiniImageCarousel **/ if (!$('.recentlyViewedProductSection .slick-carousel').hasClass('slick-initialized')) { $(".recentlyViewedProductSection .slick-carousel").slick(); } initInfoTooltip(); /*To initialize forms elements on recommended slide items like compare checkbox*/ $(".reco-slide__item").initializeForms(); /*To view artilce price on recotile*/ if($("#recoArticlePriceEnabled").val()=="true"){ initArticlePrice('recentViewed'); } /*Added call for setting hidden field for device type*/ addDeviceTypeInForm('ProductTileAddToCartForm', 'DeviceSource'); }, error: function() { $("#js-recentlyViewedProductsAjaxLoader").hide(); } }); }); }); </script><script type="text/javascript" language="JavaScript"> $(document).ready(function() { addPageBreakPrinted(); $('.js-articleTableButton').on('click touchstart', function(e){ var getTableURL = "https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetArticleTable?MasterSKU=P-00915622&SKU=P-00915622&CategoryName=47&CategoryDomainName=Haefele-global_one_pim_catalog"; $('#articleTableView').removeClass('hide'); disablePageScroll(); $('#articleTableView').trigger('show'); $('#placeTableHere').on('load', getTableURL); }); $('#moreInfoButton').on('click', function(e){ e.preventDefault(); e.stopPropagation(); $(this).addClass('hidden'); $('#moreInfoBox').removeClass('hidden'); $('#lessInfoButton').removeClass('hidden'); addPageBreakPrinted(); //For Asim Content Table Scrollbar HafeleCustom.detailsTableScroll(); }); $('#lessInfoButton').on('click', function(e){ e.preventDefault(); e.stopPropagation(); $(this).addClass('hidden'); $('#moreInfoBox').addClass('hidden'); $('#moreInfoButton').removeClass('hidden'); addPageBreakPrinted(); }); // $.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()); var chromeDetected = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()); // $.browser.chrome = (typeof window.chrome === "object"); if(chromeDetected){ $("#footerContentPrint, .hflHeader").addClass("chrome"); } $('.buttonShowAll').on('click', function(e){ addPageBreakPrinted(); }); function addPageBreakPrinted(){ var height=$(".productImageContainer").outerHeight(true) +$(".productPropertiesIntro").outerHeight(true); var pageBreak=true; var firstBreak=true; var diff=0; var originalWidthProperties = $('.productProperties').width(); var originalWidthPropertiesHeader = $('.productPropertiesSection.is-split-view .productPropertiesSectionHeader').width(); var originalWidthPropertiesBody = $('.productPropertiesSection.is-split-view .productPropertiesSectionBody').width(); //$('.productProperties').width("400px"); //$('.productPropertiesSection.is-split-view .productPropertiesSectionHeader').width("150px"); //$('.productPropertiesSection.is-split-view .productPropertiesSectionBody').width("250px"); //$('.productPropertiesSection.is-split-view').addClass('row'); //$('.productPropertiesSection.is-split-view .productPropertiesSectionHeader').addClass("col-xs-12"); //$('.productPropertiesSection.is-split-view .productPropertiesSectionHeader').addClass("col-md-4"); //$('.productPropertiesSection.is-split-view .productPropertiesSectionBody').addClass("col-md-8"); //$('.productPropertiesSection.is-split-view .productPropertiesSectionBody').addClass("col-xs-12"); $(".productPropertiesSection, .productOrderVariationsSection").removeClass("pageBreak"); $.each($(".productPropertiesSection"), function(){ height=height+$(this).outerHeight(true); if(height >= 1150 && pageBreak && firstBreak){ $(this).addClass("pageBreak"); pageBreak=false; firstBreak=false; diff = height-870; height=height+diff; } if(height > 2750 && !pageBreak){ if($(this).hasClass("pageBreak")){ $(this).next(".productPropertiesSection").addClass("pageBreak"); }else{ $(this).addClass("pageBreak"); } pageBreak=true; } }); <!-- Removed for Issue HAF-11059 --> <!-- $('.productProperties').width(originalWidthProperties); --> <!-- $('.productPropertiesSection.is-split-view .productPropertiesSectionHeader').width(originalWidthPropertiesHeader); --> <!-- $('.productPropertiesSection.is-split-view .productPropertiesSectionBody').width(originalWidthPropertiesBody); --> height=$('.productOrderPriceTable').outerHeight(true) + $('.crossReferencesProduct').outerHeight(true); $.each($('.productOrderVariationsSection'), function(){ height=height+$(this).outerHeight(true); if(height > 1030){ $(this).addClass("pageBreak"); return false; } }); } if($(window).width() <= 768) { ko.cleanNode($('.js-move-position-mobile')[0]); $('.js-move-position-mobile').appendTo('.product-detail-block'); } }); </script><script type="text/javascript"> $(document).ready(function() { var sku = "P-00915622"; var pageSize = "" if(pageSize == null || pageSize == '' || 'undefined' == typeof (pageSize)){ pageSize = getParameterFromHash("PageSize"); } var pageNumber = getParameterFromHash("PageNumber"); var position = getParameterFromHash("Position"); var origPos = getParameterFromHash("OrigPos"); var originalPageSize = getParameterFromHash("OriginalPageSize"); var queryTerm = getParameterFromHash("QueryTerm"); var pdp = getParameterFromHash("PDP"); if (sku != null && pageSize != null && pageNumber != null && position != null && origPos != null && originalPageSize != null && queryTerm != null) { var requiredHash = '&PageNumber=' + pageNumber + '&Position=' + position + '&OrigPos=' + origPos + '&OriginalPageSize=' + originalPageSize + '&QueryTerm=' + queryTerm; if (pdp != null && 'undefined' != typeof (pdp)) { requiredHash += '&PDP=' + pdp; } if (pdp == null || 'undefined' == typeof (pdp)) { var urlparams = 'SKU=' + sku + '&PageSize=' + pageSize + requiredHash; $.ajax({ url: "https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-FireViewProductEvent", data: urlparams, type: "POST", success: function(data) { }, error: function() { } }); } //(Product details page) PDP parameter is used as a flag for the view product tracking event. //when an article is selected the page is reloaded but this should not fire new tracking event. var urlHash = window.location.hash; if (urlHash != null && 'undefined' != typeof (urlHash)) { if (urlHash.indexOf('PDP') < 0) { window.location.hash += '&PDP=true'; requiredHash += '&PDP=true'; } } } }); </script><script type="text/javascript" language="JavaScript"> if (window.location.hash) { $(".productPageAddToBasket .shopItemImage, .articleTitle > a").each(function() { $(this).attr("href", $(this).attr("href") + window.location.hash); }); } window.currentProductID = 'jdAKAOsFUYIAAAF.fq_iJvoK'; var pdpModel = new ProductDetailViewModel({"addToCartButtonUrl":null,"configurationAttributeErrorMessages":{"UNDEFINED":"Ongeldige waarde","LT":"De waarde moet kleiner dan {0} zijn","LE":"De waarde moet kleiner of gelijk {0} zijn","SCALE":"Er zijn slechts {0} getallen na de komma toegestaan","EQ":"De waarde mag alleen {0} zijn","GT":"De waarde moet groter dan {0} zijn","EMPTY":"Gelieve een waarde aangeven","GE":"De waarde moet groter of gelijk als {0} zijn"},"SUBSTITUTION":false,"SUBSTITUTION_LINK":false,"RUNNING_OUT_NOTE":false,"isArticle":false,"messages":{"haefele.product.note.addToCart.substitution":"Dit artikel is niet meer leverbaar. Het gevraagde artikel wordt door het opvolgartikel vervangen.","haefele.product.note.addToCart.config.attributes":"De configuratie is nog niet volledig. Vul alle benodigde kenmerken in.","haefele.product.add.to.cart":"In de winkelwagen","haefele.product.note.addToCart.reduced":"Dit artikel wordt met een gereduceerd, nog leverbaar, aantal aan uw winkelwagen toegevoegd.","haefele.product.add.to.cart.tip":"Selecteer een artikel","haefele.product.state.NOT_AVAILABLE":"Dit artikel is niet meer leverbaar."},"availabilityInfoColor":null,"errors":[],"addToCartButtonText":null,"FOLLOWUP":false}); ko.applyBindings(pdpModel, $('.productDescriptionSection')[0]); ko.applyBindings(pdpModel, $('.errorMessageSource')[0]); var configErrorMessages = pdpModel.vo().configurationAttributeErrorMessages || {}; if(pdpModel.vo().isArticle) { function handleAjaxResponse(data, pdpModel, elem) { pdpModel.vo($(data).find('#ViewObjectJson').data('value')); $('.article-state-message').addClass('hidden'); if($(elem).val()) { $(elem).closest('.js-qty-ref-container').find('.article-state-message').removeClass('hidden'); } else { $('.js-qty-ref-container').find('.article-error-message').removeClass('hidden'); } } function renderElementFromAjaxResponse(data, elementId, callback){ var elementIdValue = '#' + elementId.split('_')[0]; var elementResult = $(data).find(elementIdValue); if (0 < elementResult.length) { $("#"+elementId).html(elementResult.html()); } else { $(elementId).empty(); } if(callback && typeof callback == "function") callback(elementResult, $(elementIdValue)); } function toggleConfigurationHeaderMessage(configValid) { if (configValid) { $('#articleTopLevelMessages').find('#configurationAttributesNotValid').remove(); } else { $('#articleTopLevelMessages').find('#configurationAttributesNotValid').remove(); $('#configurationAttributesNotValid').clone().removeClass('hidden').appendTo('#articleTopLevelMessages'); } } $(document).ready(function() { if(localStorage.layover == "true") { $('.mandatory-product-layover').css('left','0px'); setTimeout(function(){ $(document).find('.floatingGroupBlockInner') .removeClass('u-xs-index-1') .hide() .addClass('u-xs-fixed') .css({'bottom': 0, 'z-index': 99999}) .delay(600) .fadeIn() .find('.productFilter') .hide(); $(document).find('#addToCartLink').css('display', 'inline-block'); $(document).find('#addToCartLinkrequired').css('display', 'none'); }, 500); } $('form[name="productPageAddToBasket"] input').bind("keypress", function(e){ if(e.keyCode == 13) { e.preventDefault(); e.stopPropagation(); applyValidation(); pdpModel.addToCart(); } }); synchronizationAjaxToken = 0; var selectedAccessory = $('.selectBoxArticleNoMcr option:selected'); if (0 < selectedAccessory.length) { var accessoryPriceUrlTemplate = 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetAccessoriesPriceInformation?AccessorySKU=accessorySKU&Counter=counter'; $('.selectBoxArticleNoMcr option:selected').each(function() { if ('undefined' == typeof($(this).val()) || '' == $(this).val()) { return; } var index = $(this).parent().attr('data-index'); var url = accessoryPriceUrlTemplate.split('accessorySKU').join($(this).val()); url = url.split('counter').join(index); getAccessoryPrices(url); }); } //check for mandatory configuration attributes $(document).find('#addToCartLink').on('click touchstart', function(e) { applyValidation(); }); function applyValidation() { var configValid = true; var validateElements = $('#productInfoConfigurationAttributes .js-configValidation'); $.each(validateElements, function(){ var mandatoryResult = checkMandatoryConfigAttribute(this); if(!mandatoryResult){ removeElementValidationError(this); var msg = configErrorMessages.EMPTY; addElementValidationError(this, msg); configValid = false; } }); toggleConfigurationHeaderMessage(configValid); if(!configValid) { // Scroll to first error message $('html, body').animate({scrollTop: $(".configErrorMsg").first().parent().offset().top}, 500); } } AjaxLateExecutionProcess( function(){ $.ajax({ type: 'POST', dataType: 'html', url: 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetPriceAndAvailabilityInformationPDS?SKU=P-00915622&ProductQuantity=' , success: function(data) { handleAjaxResponse(data, pdpModel); availabilityMessage(data); excludeProductFromCart(); renderElementFromAjaxResponse(data, 'productScaledPriceInformation', function(){ //$("#productAvailablePackagesInformation_P-00915622").parent().find("#productScaledPriceInformation").remove(); var $priceTable = $("#productScaledPriceInformation"); $priceTable.find("table").each(function(){ var parentClasses = $(this).closest("td").attr("class"); $(this).addClass("table table-bordered productOrderPriceTable").unwrap().wrap("<div class='"+parentClasses+"'></div>"); }); var $elem = $("#productScaledPriceInformation .scaledPricesLabel"); var text = $elem.addClass("hidden").text(); if($(".scaledPricesLabel").length){ $(".scaledPricesLabel").html(text).addClass('packUnitTitle').insertBefore($elem); } else { $("<td class='scaledPricesLabel packUnitTitle'></td>").html(text).insertBefore($elem); } $priceTable.find("table tr:first-child").css({'background-color': '#f3f3f3', 'font-weight':'bold'}); $priceTable.appendTo($("#productAvailablePackagesInformation_P-00915622").parent()); }); renderElementFromAjaxResponse(data, 'productAvailabilityInformation'); renderElementFromAjaxResponse(data, 'productBomArticlesInformation'); renderElementFromAjaxResponse(data, 'productRequestedPackagesInformation_P-00915622', function(){ var elementIdValue = '#' + 'productRequestedPackagesInformation'; var elementResult = $(data).find(elementIdValue); let disclaimerText = $(".js-productOrderDetails").data('disclaimer'); if(0 < elementResult.length && $(window).width() > 768 && disclaimerText != undefined) { $(".productDisclaimerInformation").append('<p class="u-font-13">'+ disclaimerText +'</p>'); $(".js-productOrderDetails").removeAttr('data-disclaimer'); } if($(window).width() < 768){ if(0 < elementResult.length && disclaimerText != undefined) { $(".showMorePrice").append("<div class='visible-xs'><p class='u-font-13'>"+ disclaimerText +"</div></p>"); $(".js-productOrderDetails").removeAttr('data-disclaimer'); } if (0 < elementResult.length) { $(".js-packaging-unit").css({'visibility':'visible','display':'block' }); } if ($('.huk-price-select').length > 0){ $(".js-packaging-unit").css({'visibility':'hidden','display':'none' }); } } $(document).ready(function(){ if($(".js-packaging-unit").length > 0 && $(".js-packaging-unit").is(":visible")){ $(".js-articles-link").removeClass('hidden'); } }); }); renderElementFromAjaxResponse(data, 'productAvailablePackagesInformation_P-00915622'); renderElementFromAjaxResponse(data, 'articleTopLevelMessages', function(data, elem){ $(elem).css("margin-top", "20px").find(".errorContainerText").prepend('<i class="icon icn-alert"></i>'); //$(elem).find("p").css("padding-left", "30px"); $(elem).find('.errorContainer').addClass('hfl-error--container'); $(elem).find('.focusButton').addClass('btn btn-primary'); }); renderElementFromAjaxResponse(data, 'productInfoConfigurationFirstStepHeader'); renderElementFromAjaxResponse(data, 'productInfoConfigurationAttributes'); renderElementFromAjaxResponse(data, 'configurationAttributesNotValid'); //start getting more dynamicaly loaded information if($("#productPriceInformation").length){ var $productPackageInfo = $("#productRequestedPackagesInformation_P-00915622"); var selectedArticlePriceInfo = $("#selectedArticlePriceInfo_P-00915622"); var $productPartListInfo = $("#productBomArticlesInformation"); if($(window).width() > 991) { if(($productPackageInfo.length > 0 && $productPackageInfo.children().length > 0) || ($productPartListInfo.length > 0 && $productPartListInfo.children().length > 0)){ $("#productPriceInformation").hide(); } } renderElementFromAjaxResponse(data, 'productPriceInformation', function(){ if($(window).width() > 991) { if(($productPackageInfo.length > 0 && $productPackageInfo.children().length > 0) || ($productPartListInfo.length > 0 && $productPartListInfo.children().length > 0)){ var $priceContainer = $("#productPriceInformation").clone(); $("#productPriceInformation").remove(); //$priceContainer.insertBefore($productPackageInfo); selectedArticlePriceInfo.html($priceContainer); $("#productPriceInformation").wrap("<div class='price-info-container movedPrice'></div>"); $("#productPriceInformation").children().wrap("<table></table>"); $("#productPriceInformation").show().closest('.description'); //$(".js-clone_display_price").html($("#productPriceInformation .pricedisplay").not(".hidden").html()); //adjustPriceOnRequest(); } } excludeProductFromCart(); //HafeleCustom.pricingTableMobileHandler(); specialStockStatusMessage(); }); } var wishLinkRes = $(data).find('#addToWishlistLinkContainer'); if (0 < wishLinkRes.length) { $('#addToWishlistLinkContainer').empty().html(wishLinkRes.html()); } var configAttributes = $(data).find('#productInfoConfigurationAttributes'); if (0 < configAttributes.length) { $('#productInfoConfigurationAttributes').empty().html(configAttributes.html()); if(configAttributes.html() != "") { $('.productConfiguration').show(); } $(data).filter('script').each(function(){ var scriptTags = $(this); $('#productInfoConfigurationAttributes').append(scriptTags); }); $('#productInfoConfigurationAttributes').initializeForms(); //check if there are selected values in the url var currenturl = window.location.href.toString(); var configItemsPreSelected = []; $('.js-configAttribute').each(function() { var name = $(this).attr("name"); if (name && (typeof(currentProductID) != 'undefined')) { // id-free name value name = name.replace(currentProductID + '_', '').replace('VariationAttribute_', ''); // lookup this name in the current Url and add it as value var match = currenturl.match(name + "=([^&#]+)"); if (match && match.length > 1) { $(this).val(match[1]); configItemsPreSelected.push($(this)); } } }); // validate all configuration attributes to get the price if it is valid var selectConfigAttributes = $('select.js-configAttribute'); $(selectConfigAttributes).on('change', function(e){ var isConfigValid = isConfigurationValid(); if(isConfigValid){ getPriceConfigurationProduct(); } }) // validate all configuration attributes. Only attributes with class 'js-configValidation' are checked. // If the conf attribute is select box, then it should not be validated and should not contain class 'js-configValidation' var validateElements = $('#productInfoConfigurationAttributes .js-configValidation'); $(validateElements).on('change keypress keyup', function(e){ //if elements js-configNumericValidation class, it will be check on the next function if (this.classList.contains("js-configNumericValidation")){ return; } if((e.type == 'keypress' && e.which == 13) || e.type == 'change' || e.type == "keyup"){ var header = $('#productInfoConfigurationAttributes .configurationStep'); $(header).removeClass('stepPassedSuccessfully'); $(header).find('.icon').addClass('hidden'); removeElementValidationError(this); //check if the attribute is empty and mandatory validateConfigField(this, configErrorMessages); // checks if all other attributes are valid. If yes, change/remove the flyout message // and the header is green. var isConfigValid = isConfigurationValid(); if(isConfigValid){ // add product to basket when enter is pressed if(e.type == 'keypress' && e.which == 13) { e.preventDefault(); e.stopPropagation(); $(document).find("#addToCartLink").click(); } if(e.type == 'change') { getPriceConfigurationProduct(); } $(header).addClass('stepPassedSuccessfully'); $(header).find('.icon').removeClass('hidden'); toggleConfigurationHeaderMessage(true); pdpModel.hasValidConfig(true); } else { pdpModel.hasValidConfig(false); // highlight error/missing fields on enter if(e.type == 'keypress' && e.which == 13) { e.preventDefault(); applyValidation(); } } } }); var validateNumericElements = $('#productInfoConfigurationAttributes .js-configNumericValidation'); $(validateNumericElements).on('change keypress keyup', function(e){ if((e.type == 'keypress' && e.which == 13) || e.type == 'change' || e.type == "keyup"){ var header = $('#productInfoConfigurationAttributes .configurationStep'); $(header).removeClass('stepPassedSuccessfully'); $(header).find('.icon').addClass('hidden'); removeElementValidationError(this); //check if the attribute is empty and mandatory var mandatoryResult = checkMandatoryConfigAttribute(this); if(!mandatoryResult){ var msg = configErrorMessages.EMPTY; addElementValidationError(this, msg); } // validate the INT and FLOAT attributes against the numeric-min/max-condition var decimalSeparator = ","; var groupingSeparator = "."; validateNumericField(this, configErrorMessages, decimalSeparator, groupingSeparator); // checks if all other attributes are valid. If yes, change/remove the flyout message. // and the header is green. var isConfigValid = isConfigurationValid(); if(isConfigValid){ // add product to basket when enter is pressed if(e.type == 'keypress' && e.which == 13) { e.preventDefault(); e.stopPropagation(); $(document).find("#addToCartLink").click(); } if(e.type == 'change') { getPriceConfigurationProduct(); } $(header).addClass('stepPassedSuccessfully'); $(header).find('.icon').removeClass('hidden'); toggleConfigurationHeaderMessage(true); pdpModel.hasValidConfig(true); }else{ pdpModel.hasValidConfig(false); // highlight error/missing fields on enter if(e.type == 'keypress' && e.which == 13) { e.preventDefault(); applyValidation(); } } } }); if (configItemsPreSelected.length > 0) { $.each(configItemsPreSelected, function(){ $(this).trigger('change'); }); } } var isConfigValid = isConfigurationValid(); if(isConfigValid){ var header = $('#productInfoConfigurationAttributes .configurationStep'); $(header).addClass('stepPassedSuccessfully'); $(header).find('.icon').removeClass('hidden'); toggleConfigurationHeaderMessage(true); pdpModel.hasValidConfig(true); getPriceConfigurationProduct(); }else{ pdpModel.hasValidConfig(false); } var contactInfoBox = $(data).find('#variantArticleContactInfoBox'); if (0 < contactInfoBox.length) { $('#variantArticleContactInfoBox').addClass('errorContainer'); $('#variantArticleContactInfoBox').empty().html(contactInfoBox.html()); } copyFrontEndDebugInfoToFooter(); //prepare functionality to select pricetypes for display preparePriceSelect(); // handle visibility of action buttons HafeleCustom.hubpageActionButtonHandler(); if ($('#articleTopLevelMessages').children().length > 0) { $("#js-view-error").removeClass('hide'); } }, error: function() { $('#priceSelectContainer').empty(); $('#priceSelectContainer').find('.loader').remove(); $('#productPriceInformation').empty(); $('#productAvailabilityInformation').empty(); $('#productScaledPriceInformation').empty(); $('.productRequestedPackagesInformation').each(function(i, obj) { obj.empty() }); $('.productAvailablePackagesInformation').each(function(i, obj) { obj.empty() }); $('#productBomArticlesInformation').empty(); $('#articleTopLevelMessages').empty(); $('#productInfoConfigurationAttributes').empty().hide() }, timeout: 30000 }); }); AjaxLateExecutionProcess( function(){ $.ajax({ type: 'GET', dataType: 'html', url: 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetPriceType?SKU=P-00915622', success: function(data) { $('#priceSelectContainer .loader, #productPriceInformation .loader').addClass('hidden'); var priceTypeSelectorResult = $(data).find('#priceSelectContainer'); if(0 < priceTypeSelectorResult.length) { $('#priceSelectContainer,.js-clone_price-type').empty().html(priceTypeSelectorResult.html()); $(".js-clone_price-type .priceTypeSelect").attr("name","PriceTypeClone"); } else { $('#priceSelectContainer,.js-clone_price-type').find('.loader').remove(); } //prepare functionality to select pricetypes for display preparePriceSelect(); }, error: function() { $('#priceSelectContainer,.js-clone_price-type').empty(); }, timeout: 30000 }); }); function doAjax(quantityElem){ var quantityValue = $(quantityElem).val(); var baseUrl = 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewProduct-GetPriceAndAvailabilityInformationPDS?SKU=P-00915622&ProductQuantity='; baseUrl += quantityValue+"&SynchronizationAjaxToken="+(++synchronizationAjaxToken); $.ajax({ type: 'POST', dataType: 'html', url: baseUrl, data: $("#productPageAddToBasket").serialize(), async:false, success: function(data) { //get the synchronization token from the response var synchronizerRes = $(data).find('#synchronizationAjaxToken'); var synchronizerResValue = null; if(0 < synchronizerRes.length){ synchronizerResValue = synchronizerRes.attr("data-synchronization-token"); } if(synchronizerResValue == synchronizationAjaxToken){ var confirmedQuantityRes = $(data).find('#confirmedQuantityResponse'); //set the confirmed quantity from the response to the input field if the user input is different then empty string if(quantityValue != '' && confirmedQuantityRes){ var confirmedQuantityValue = confirmedQuantityRes.attr('data-confirmed-quantity'); if(parseFloat(confirmedQuantityValue.replace(',', '.')) > 0){ $(quantityElem).val(confirmedQuantityValue); } } handleAjaxResponse(data, pdpModel, quantityElem); //availability message - doAjax //availabilityMessage(data); renderElementFromAjaxResponse(data, 'productPriceInformation'); //$(".js-clone_display_price").html($("#productPriceInformation .pricedisplay").not(".hidden").html()); renderElementFromAjaxResponse(data, 'productScaledPriceInformation', function(){ //$("#productAvailablePackagesInformation_P-00915622").parent().find("#productScaledPriceInformation").remove(); var $priceTable = $("#productScaledPriceInformation"); $priceTable.find("table").each(function(){ var parentClasses = $(this).closest("td").attr("class"); $(this).addClass("table table-bordered productOrderPriceTable").unwrap().wrap("<div class='"+parentClasses+"'></div>"); }); var $elem = $("#productScaledPriceInformation .scaledPricesLabel"); var text = $elem.addClass("hidden").text(); if($(".scaledPricesLabel").length){ $(".scaledPricesLabel").html(text).addClass('packUnitTitle').insertBefore($elem); } else { $("<td class='scaledPricesLabel packUnitTitle'></td>").html(text).insertBefore($elem); } $priceTable.find("table tr:first-child").css({'background-color': '#f3f3f3', 'font-weight':'bold'}); $priceTable.appendTo($("#productAvailablePackagesInformation_P-00915622").parent()); }); //check if main qty input field is check to alter the packaging info // if mandatory accessories are clicked dont update if($(quantityElem)[0].id == 'ConditionConfiguration_pds_quantity_1'){ renderElementFromAjaxResponse(data, 'productAvailabilityInformation'); renderElementFromAjaxResponse(data, 'productBomArticlesInformation'); renderElementFromAjaxResponse(data, 'productRequestedPackagesInformation_P-00915622'); renderElementFromAjaxResponse(data, 'productAvailablePackagesInformation_P-00915622'); } //if the article is not available add error class to the input quantity field var articleNotAvailable = $(data).find('#articleNotAvailable'); if(quantityValue != '' && 0 < articleNotAvailable.length && articleNotAvailable.attr('data-article-not-available') == 'true'){ $('#ConditionConfiguration_pds_quantity_1').addClass('error'); } } $(".loadingLayer-top, .loadingLayer-bottom").removeClass("show"); var elem = document.getElementById('FrontEndDebugInfoContainer'); if(elem && elem.firstElementChild) { elem.firstElementChild.remove(); } copyFrontEndDebugInfoToFooter(); }, error: function() { $('#priceSelectContainer').empty(); $('#priceSelectContainer').find('.loader').remove(); $('#productPriceInformation').empty(); $('#productAvailabilityInformation').empty(); $('#productScaledPriceInformation').empty(); $('.productRequestedPackagesInformation').each(function(i, obj) { obj.empty() }); $('.productAvailablePackagesInformation').each(function(i, obj) { obj.empty() }); $('#productBomArticlesInformation').empty(); $('.loadingLayer-top, .loadingLayer-bottom').removeClass('show'); }, timeout: 50000 }); } //an ajax request is send when the user stop the writing var changeTimerDelay = 700; var changeTimer = false; $("#ConditionConfiguration_pds_quantity_1, .jsAccessoryQty").on('input', function(){ var qtyInput = $(this); qtyInput.removeClass('error') quantityValue = $(this).val(); if(changeTimer !== false){ clearTimeout(changeTimer); } changeTimer = setTimeout(function(){ $('#productScaledPriceInformation .pricedisplay').each(function(){ if(!$(this).hasClass('hidden')){ $(".loadingLayer-top").addClass("show"); } }); if($('.loadingLayer-bottom').find('table').length > 0){ $('.loadingLayer-bottom').addClass("show"); } if($(qtyInput).hasClass("jsAccessoryQty")) { /*To validate required product qty field only after selecting its varient from dropdown*/ if( $(qtyInput).closest(".js-qty-ref-container").find(".selectBoxArticleNoMcr > option:selected").val() != '' ) { doAjax(qtyInput); } else { return false; } } else { doAjax(qtyInput); } changeTimer = false; },changeTimerDelay); }); $('#AddToWishlist').click(function() { var loginRedirectForm = $('<form method="post" action="https://www.hafele.be/nl/account/login/"><input type="hidden" name="TargetURL" value="/nl/product/beslagelement-eenheid-voor-klep-zwenkbeslag-aventos-hs/P-00915622/"/></form>'); loginRedirectForm.appendTo($('body')); loginRedirectForm.submit(); }); }); } </script><script type="text/javascript" language="JavaScript"> $( document ).ready(function() { setTimeout(function(){$(".product-link-container-parent-block").append($(".custome-link-images-pdp").html()); }, 500); $('[id^=media-video]').mediaelementplayer({ plugins: ['flash'], pluginPath: '/INTERSHOP/static/WFS/Haefele-HBL-Site/-/-/nl_BE/assets/mediaelementplayer/', flashName: 'flashmediaelement.swf', features: ['playpause','progress','current','duration','volume'], alwaysShowControls: true, enablePluginSmoothing: true, stretching: 'auto', success: function (mediaElement, domObject) { mediaElement.addEventListener("ended", function(e) { // Revert to the poster image when ended setTimeout(function() { var jqueryMediaElement = (mediaElement.id) ? jQuery("#"+mediaElement.id) : jQuery(mediaElement); jqueryMediaElement.parents(".mejs-inner").find(".mejs-poster").show(); }, 200); }); //Workaround to display the video and the poster in a correct manner when using flash. In modern Chromium based browsers this would result in oversized posters. if (mediaElement.id.indexOf('flash')>-1) { $('#video'+'').attr("width", "1"); $('#video'+'').attr("height", "1"); } } }); }); </script><script> $(document).ready(function(){ $('#storeVertical').addClass('is-active'); }); </script><div class="ws-small-loader"></div> <div id="loadingLayer" class="jsOnly"></div> <div id="js-consignmentSuggestFlyout" style="position: absolute;" class="suggestResult consignmentSuggestResult"> <ul data-bind="foreach: getConsignments"> <li class="js-suggestItem suggestItem" data-bind="if: isVisible() ,css: { active: isSelected() }, attr: {'data-index': index}"> <div class="js-suggestItemContent suggestItemContent" data-bind="html: getFormattedConsignment"> </div> </li> </ul> </div> <script type="text/javascript"> var consignmentSuggestController = new ConsignmentSuggestController( { inputSelector: '.js-consignment,.js-inputConsignment', dataUrl: 'https://www.hafele.be/INTERSHOP/web/WFS/Haefele-HBL-Site/nl_BE/-/EUR/ViewSuggestSearch-SuggestConsignments' }); ko.applyBindings(consignmentSuggestController, document.getElementById('js-consignmentSuggestFlyout')); </script> </body> </html>