{"id":12850,"date":"2023-07-20T11:25:10","date_gmt":"2023-07-20T09:25:10","guid":{"rendered":"https:\/\/nannienergy.com\/rete\/"},"modified":"2026-09-02T12:13:39","modified_gmt":"2026-09-02T10:13:39","slug":"rete","status":"publish","type":"page","link":"https:\/\/nannienergy.com\/it\/rete\/","title":{"rendered":"Rete"},"content":{"rendered":"<div class=\"wpb-content-wrapper\" id=\"wpb-content-root\"><p>[vc_row el_class=&#8221;reseau_content&#8221;][vc_column][vc_column_text el_class=&#8221;breadcrumb&#8221;]<span><span><a href=\"https:\/\/nannienergy.com\/it\/\"><span class=\"home\">Home<\/span><\/a><\/span><\/span>[\/vc_column_text][vc_column_text css=&#8221;&#8221; el_class=&#8221;asl_content&#8221;]<style type=\"text\/css\">\nbody #asl-storelocator.asl-cont.asl-template-0 {--sl-primary: #F3F3F3;}.asl-p-cont .asl-print-btn,.asl-cont .asl-print-btn {display: none !important;}#asl-storelocator.asl-cont .sl-main-cont .asl-panel.pol-lg-12 {\n    order: 0;\n}\n\n#asl-storelocator.asl-cont .sl-main-cont .asl-panel.pol-lg-12 .asl-panel-inner {\n    position: relative;\n    height: 450px;\n}\n\n.asl-cont .onoffswitch .onoffswitch-label .onoffswitch-switch:before {\n    content: \"APERTO\" !important;\n}\n\n.asl-cont .onoffswitch .onoffswitch-label .onoffswitch-switch:after {\n    content: \"TUTTO\" !important;\n}\n\n@media (max-width: 767px) {\n    #asl-storelocator.asl-cont .asl-panel {\n        order: 0;\n    }\n}\n\n.asl-cont.sl-search-only .Filter_section+.sl-row {\n    display: none;\n}\n\n.asl-cont .sl-hide-branches,\n.asl-cont .sl-hide-branches:hover {\n    color: #FFF !important;\n    text-decoration: none !important;\n    cursor: pointer;\n}\n<\/style>\n<div id=\"asl-storelocator\"\n    class=\"storelocator-main asl-cont asl-template-0 asl-layout-0 asl-bg-0 full-width sl-category-tabs full-height asl-text-1\">\n    <div class=\"asl-wrapper\">\n        <div class=\"sl-container-fluid\">\n                        <div class=\"sl-row\">\n                <div class=\"pol-12\">\n                    <div class=\"sl-main-cont\">\n                        <div class=\"sl-row no-gutters sl-main-row\">\n                            <div id=\"asl-panel\" class=\"asl-panel pol-md-5 pol-lg-4 asl_locator-panel\">\n                                                                <h1>Trova un rivenditore<\/h1>\n                                <div class=\"asl-description\">\n                                  <p>Nanni commercializza i propri prodotti attraverso una rete di vendita e assistenza presente in 90 Paesi nel mondo, supportata da quasi 800 partner qualificati. Gli agenti e i concessionari autorizzati Nanni sono al vostro fianco per offrirvi supporto e assistenza durante l\u2019intero ciclo di vita del vostro prodotto.  <\/p>\n                                <\/div>\n                                                                    <div class=\"sl-row Filter_section\">\n                                                                                <div class=\"pol-lg-8 pol-md-7 pol-sm-12\">\n                                            <div class=\"sl-row\">\n                                                <div class=\"pol-sm-12 asl-advance-filters hide\">\n                                                    <div class=\"sl-row\">\n                                                                                                                                                                                                                                                                                                <div\n                                                                class=\"pol-lg-4 pol-md-6 pol-sm-12  asl-tabs-ddl pol-12 pol-lg-12 pol-md-12 pol-sm-12 asl-ddl-filters asl-ddl-filter-brand\">\n                                                                <div class=\"asl-filter-cntrl\">\n                                                                    <label class=\"asl-cntrl-lbl\"\n                                                                        for=\"asl-brand\">Seleziona un marchio<\/label>\n                                                                    <div class=\"sl-dropdown-cont\" id=\"brand_filter\"><\/div>\n                                                                <\/div>\n                                                            <\/div>\n                                                                                                                        <div\n                                                                class=\"pol-lg-4 pol-md-6 pol-sm-12  asl-tabs-ddl pol-12 pol-lg-12 pol-md-12 pol-sm-12 asl-ddl-filters asl-ddl-filter-special\">\n                                                                <div class=\"asl-filter-cntrl\">\n                                                                    <label class=\"asl-cntrl-lbl\"\n                                                                        for=\"asl-special\">Stato<\/label>\n                                                                    <div class=\"sl-dropdown-cont\" id=\"special_filter\"><\/div>\n                                                                <\/div>\n                                                            <\/div>\n                                                                                                                                                                                                                                        <div class=\"pol-lg-4 pol-md-6 pol-sm-12  asl-tabs-ddl pol-12 pol-lg-12 pol-md-12 pol-sm-12 asl-ddl-filters asl-ddl-filter-cats\">\n                                                                <div class=\"asl-filter-cntrl\">\n                                                                    <label class=\"asl-cntrl-lbl\"\n                                                                        for=\"asl-categories\">Applications<\/label>\n                                                                    <div class=\"sl-dropdown-cont\" id=\"categories_filter\"><\/div>\n                                                                <\/div>\n                                                            <\/div>\n                                                                                                                    \n                                                        <div class=\"pol-lg-4 pol-md-6 pol-sm-12 asl-tabs-ddl pol-12 pol-lg-12 pol-md-12 pol-sm-12 asl-ddl-filters asl-ddl-filter-product\">\n                                                            <div class=\"asl-filter-cntrl\">\n                                                                <label class=\"asl-cntrl-lbl\" for=\"asl-product-type\">Libri<\/label>\n                                                                <div class=\"sl-dropdown-cont\" id=\"product_type_filter\">\n                                                                    <select id=\"asl-product-type\" multiple=\"multiple\">\n                                                                        <option value=\"engine\">Engine<\/option>\n                                                                        <option value=\"generator\">Generator<\/option>\n                                                                    <\/select>\n                                                                <\/div>\n                                                            <\/div>\n                                                        <\/div>\n\n                                                        <div class=\"pol-lg-4 pol-md-6 pol-sm-12 range_filter asl-ddl-filters hide\">\n                                                            <div class=\"rangeFilter asl-filter-cntrl\">\n                                                                <label for=\"asl-radius-slide\"\n                                                                    class=\"asl-cntrl-lbl\">Distanza Gamma<\/label>\n                                                                <input id=\"asl-radius-slide\" type=\"text\" class=\"span2\" \/>\n                                                                <span class=\"rad-unit\">Raggio: <span\n                                                                        id=\"asl-radius-input\"><\/span> <span\n                                                                        id=\"asl-dist-unit\">Km<\/span><\/span>\n                                                            <\/div>\n                                                        <\/div>\n                                                        <div class=\"pol-lg-2 pol-md-3 pol-sm-12 Status_filter\">\n                                                            <div class=\"asl-filter-cntrl\">\n                                                                <label class=\"asl-cntrl-lbl\">Stato<\/label>\n                                                                <div class=\"onoffswitch\">\n                                                                    <input type=\"checkbox\" name=\"onoffswitch\" class=\"onoffswitch-checkbox\"\n                                                                        id=\"asl-open-close\" checked>\n                                                                    <label aria-label=\"Negozi aperti\"\n                                                                        title=\"Negozi aperti\"\n                                                                        class=\"onoffswitch-label\" for=\"asl-open-close\">\n                                                                        <span class=\"onoffswitch-inner\"><\/span>\n                                                                        <span class=\"onoffswitch-switch\"><\/span>\n                                                                    <\/label>\n                                                                <\/div>\n                                                            <\/div>\n                                                        <\/div>\n                                                    <\/div>\n                                                <\/div>\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                                                <div class=\"asl-overlay\" id=\"map-loading\">\n                                    <div class=\"white\"><\/div>\n                                    <div class=\"sl-loading\">\n                                        <i class=\"animate-sl-spin icon-spin3\"><\/i>\n                                        Aspettare...                                    <\/div>\n                                <\/div>\n                                                                <!-- list -->\n                                <div class=\"asl-panel-inner\">\n                                    <div class=\"top-title Num_of_store\">\n                                                                                <span><span class=\"sl-head-title\"><span class=\"count-result\">0<\/span> risultati<\/span>\n                                                                            <\/div>\n                                    <div class=\"sl-main-cont-box\">\n                                        <div id=\"asl-list\" class=\"sl-list-wrapper\">\n                                            <ul id=\"p-statelist\" class=\"sl-list\">\n                                            <\/ul>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                <div class=\"directions-cont hide\">\n                                    <div class=\"agile-modal-header\">\n                                        <button type=\"button\" class=\"close\"><span aria-hidden=\"true\">\u00d7<\/span><\/button>\n                                        <h4>Direzione del negozio<\/h4>\n                                    <\/div>\n                                    <div class=\"rendered-directions\" id=\"asl-rendered-dir\" style=\"direction: ltr;\">\n                                    <\/div>\n                                <\/div>\n                            <\/div>\n                            <div class=\"pol-md-7 pol-lg-8 asl-map\">\n                                                                <div class=\"pol-lg-4 pol-md-5 pol-sm-12 search_filter\">\n                                                                        <div class=\"sl-search-group d-flex\">\n                                        <input type=\"text\" value=\"\" data-submit=\"disable\" id=\"auto-complete-search\" placeholder=\"Inserisci una localit\u00e0\"  class=\"asl-search-address form-control isp_ignore\">\n                                        <button aria-label=\"Search Ubicazione\" title=\"Search Ubicazione\" type=\"button\" class=\"span-geo\"><i class=\"asl-search-event\"><\/i><\/button>\n                                    <\/div>\n                                <\/div>\n                                                                <div class=\"map-image\">\n                                    <div id=\"asl-map-canv\" class=\"asl-map-canv\"><\/div>\n                                    \n<div id=\"agile-modal-direction\" class=\"agile-modal fade\">\n    <div class=\"agile-modal-backdrop-in\"><\/div>\n    <div class=\"agile-modal-dialog in\">\n        <div class=\"agile-modal-content\">\n            <div class=\"sl-form-group d-flex justify-content-between\">\n                <span>OTTENERE DIREZIONI<\/span>\n                <button type=\"button\" class=\"close-directions sl-close\" data-dismiss=\"agile-modal\"\n                    aria-label=\"Chiudere\"><i aria-hidden=\"true\" class=\"icon-cancel-1\"><\/i><\/button>\n            <\/div>\n            <div class=\"sl-form-group\">\n                <label for=\"frm-lbl\">A partire dal:<\/label>\n                <input type=\"text\" class=\"form-control frm-place\" id=\"frm-lbl\"\n                    placeholder=\"Inserisci una localit\u00e0\">\n            <\/div>\n            <div class=\"sl-form-group\">\n                <label for=\"to-lbl\">A:<\/label>\n                <input readonly=\"true\" type=\"text\" class=\"directions-to form-control\" id=\"to-lbl\"\n                    placeholder=\"Indirizzo di destinazione precompilato\">\n            <\/div>\n            <div class=\"sl-form-group mb-0\">\n                <label for=\"rbtn-km\" class=\"checkbox-inline\">\n                    <input type=\"radio\" name=\"dist-type\" id=\"rbtn-km\" value=\"0\"> Km                <\/label>\n                <label for=\"rbtn-mile\" class=\"checkbox-inline\">\n                    <input type=\"radio\" name=\"dist-type\" checked id=\"rbtn-mile\" value=\"1\">\n                    Miglia                <\/label>\n            <\/div>\n            <div class=\"sl-form-group mb-0\">\n                <button type=\"submit\" aria-label=\"OTTENERE DIREZIONI\"\n                    class=\"btn btn-default btn-submit\">OTTENERE DIREZIONI<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div id=\"asl-geolocation-agile-modal\" class=\"agile-modal fade\">\n    <div class=\"agile-modal-backdrop-in\"><\/div>\n    <div class=\"agile-modal-dialog in\">\n        <div class=\"agile-modal-content\">\n                            <div class=\"sl-form-group sl-icon-group\">\n                <button type=\"button\" class=\"close-directions sl-close\" data-dismiss=\"agile-modal\"\n                      aria-label=\"Chiudere\"><i aria-hidden=\"true\" class=\"icon-cancel-1\"><\/i><\/button>\n                <div class=\"sl-loct-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\"\n                        stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path\n                            d=\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\">\n                        <\/path>\n                        <circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle>\n                    <\/svg>\n                <\/div>\n                <span>Trova fornitori di servizi nelle vicinanze<\/span>\n                <p>Usa la mia posizione per trovare il provider di servizi pi\u00f9 vicino vicino a me<\/p>\n            <\/div>\n            <div class=\"sl-form-group text-center mb-0\">\n                <button type=\"button\" id=\"asl-btn-geolocation\"\n                    class=\"btn btn-block btn-default\">UTILIZZARE LA POSIZIONE<\/button>\n            <\/div>\n                    <\/div>\n    <\/div>\n<\/div>\n\n<div id=\"asl-desc-agile-modal\" class=\"agile-modal fade\">\n    <div class=\"agile-modal-backdrop-in\"><\/div>\n    <div class=\"agile-modal-dialog in\">\n        <div class=\"agile-modal-content\">\n            <div class=\"sl-row\">\n                <div class=\"pol-md-12\">\n                    <div class=\"sl-form-group d-flex justify-content-between\">\n                        <span class=\"sl-title\">Visualizza il testo<\/span>\n                        <button type=\"button\" class=\"close-directions sl-close\" data-dismiss=\"agile-modal\"\n                            aria-label=\"Close\"><i aria-hidden=\"true\" class=\"icon-cancel-1\"><\/i><\/button>\n                    <\/div>\n                    <div class=\"sl-desc\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n            <\/div>\n<\/div>\n<!-- This plugin is developed by \"Agile Store Locator for WordPress\" https:\/\/agilestorelocator.com -->\n<script type=\"text\/javascript\">\nfunction asl_event_hook(_event) {\n   \n    if(_event.type == 'init') {\n        jQuery('#asl-storelocator.asl-cont.sl-category-tabs .asl-wrapper .Filter_section .asl-advance-filters .asl-tabs-ddl.asl-ddl-filter-brand ul.adropdown-menu.multiselect-container li input[value=\"1\"]').parents('li').find('a input').trigger( \"click\" );\n\n        \/\/  You can replace my-custom-button-class with your own class for the button\n        jQuery('.my-custom-button-class').bind('click', function(e) {\n            \/\/  initiate geolocation\n            asl_view.geolocate_();\n        });\n    }\n    \/\/ ADD SCRIPT DELPHINE\n    \/**\n     * ASL - Filtre Brand en s\u00e9lection unique (comportement \"radio\")\n     * ------------------------------------------------------------\n     * Contexte : le <select multiple> #asl-brand est pilot\u00e9 par bootstrap-multiselect.\n     * ASL n'\u00e9coute pas un simple \u00e9v\u00e9nement 'change' du <select>, mais le callback\n     * interne 'onChange' du plugin multiselect. Il faut donc passer par l'API\n     * officielle du plugin (m\u00e9thodes 'select' \/ 'deselect') pour qu'ASL soit\n     * correctement notifi\u00e9 et relance sa requ\u00eate AJAX avec la bonne valeur.\n     *\n     * Le multi-select natif du plugin autorise une s\u00e9lection multiple par d\u00e9faut ;\n     * ce script intercepte le clic AVANT que le plugin ne traite lui-m\u00eame le\n     * double-select, pour forcer une seule marque active \u00e0 la fois.\n     *\/\n\n    var $brandSelect = jQuery('#asl-brand');\n    var brandContainer = document.getElementById('brand_filter');\n    var $specialSelect = jQuery('#asl-special');\n    var $categoriesSelect = jQuery('#asl-categories');\n    var $productSelect = jQuery('#asl-product-type');\n\n    if (!brandContainer || !$brandSelect.length) return;\n\n    \/\/ Mapping marque -> valeurs de sp\u00e9cialit\u00e9 autoris\u00e9es\n    var brandSpecialMap = {\n        '1': ['1', '2', '3'], \/\/ Nanni => Official Distributor, Authorized Dealer, Service Partner\n        '2': ['4', '5']       \/\/ MAN => MAN Center, MAN Service\n    };\n\n    \/\/ Marque(s) pour lesquelles les filtres Cat\u00e9gories et Produit doivent \u00eatre masqu\u00e9s\n    var brandsHidingCatsAndProduct = ['2']; \/\/ MAN\n\n    \/\/ Valeurs de sp\u00e9cialit\u00e9 qui doivent afficher le filtre Cat\u00e9gories\n    \/\/ DESACTIVE (Delphine) - le toggle show\/hide de .asl-ddl-filter-cats bas\u00e9 sur la sp\u00e9cialit\u00e9 n'est plus utilis\u00e9\n    \/\/ var specialCatsTriggerValues = ['1', '2', '3'];\n\n    \/**\n     * Met \u00e0 jour la classe \"visible\" sur les <li> du filtre Sp\u00e9cialit\u00e9\n     * en fonction de la marque actuellement s\u00e9lectionn\u00e9e.\n     * @param {string|null} brandValue - \"1\", \"2\", ou null si aucune marque s\u00e9lectionn\u00e9e\n     *\/\n    function updateSpecialVisibility(brandValue) {\n        var allowedValues = brandSpecialMap[brandValue] || null;\n\n        $specialSelect.next('.btn-group')\n            .find('.multiselect-container > li')\n            .each(function () {\n                var $li = jQuery(this);\n                var value = $li.find('input[type=\"checkbox\"]').val();\n\n                \/\/ Si aucune marque s\u00e9lectionn\u00e9e : on affiche tout (comportement par d\u00e9faut)\n                \/\/ Sinon : visible uniquement si la valeur fait partie du mapping\n                var shouldBeVisible = !allowedValues || allowedValues.indexOf(value) !== -1;\n\n                $li.toggleClass('visible', shouldBeVisible);\n            });\n    }\n\n    \/**\n     * Affiche ou masque les blocs filtres Cat\u00e9gories (.asl-ddl-filter-cats)\n     * et Produit (.asl-ddl-filter-product) en fonction de la marque s\u00e9lectionn\u00e9e.\n     * Masqu\u00e9s pour MAN (value \"2\"), affich\u00e9s sinon (Nanni ou aucune marque).\n     * @param {string|null} brandValue - \"1\", \"2\", ou null si aucune marque s\u00e9lectionn\u00e9e\n     *\/\n    function updateCatsAndProductVisibilityByBrand(brandValue) {\n        var shouldHide = brandValue && brandsHidingCatsAndProduct.indexOf(brandValue) !== -1;\n\n        jQuery('.asl-ddl-filter-cats').toggle(!shouldHide);\n        jQuery('.asl-ddl-filter-product').toggle(!shouldHide);\n    }\n\n    \/**\n     * Affiche ou masque le bloc filtre Cat\u00e9gories (.asl-ddl-filter-cats)\n     * selon que la sp\u00e9cialit\u00e9 s\u00e9lectionn\u00e9e contient 1, 2 ou 3.\n     *\n     * DESACTIVE (Delphine) - remplac\u00e9 par updateCatsAndProductVisibilityByBrand()\n     * qui se base sur la marque s\u00e9lectionn\u00e9e plut\u00f4t que sur la sp\u00e9cialit\u00e9.\n     * Conserv\u00e9 au cas o\u00f9 le client change d'avis.\n     *\/\n    \/\/ function updateCatsVisibility() {\n    \/\/     var specialValues = $specialSelect.val() || [];\n    \/\/\n    \/\/     var shouldShow = specialValues.some(function (v) {\n    \/\/         return specialCatsTriggerValues.indexOf(v) !== -1;\n    \/\/     });\n    \/\/\n    \/\/     jQuery('.asl-ddl-filter-cats').toggle(shouldShow);\n    \/\/ }\n\n    \/\/ \/**\n    \/\/  * Affiche ou masque le bloc filtre Sous-cat\u00e9gories\n    \/\/  * d\u00e8s qu'au moins une cat\u00e9gorie est coch\u00e9e.\n    \/\/  *\/\n    \/\/ function updateSubCatsVisibility() {\n    \/\/     var categoriesValues = $categoriesSelect.val() || [];\n    \/\/     jQuery('.asl-ddl-filter-sub-cats').toggle(categoriesValues.length > 0);\n    \/\/ }\n\n    \/**\n     * Affiche ou masque le bloc filtre Produit (Engine\/Generator)\n     * d\u00e8s qu'au moins une cat\u00e9gorie est coch\u00e9e.\n     *\n     * DESACTIVE (Delphine) - remplac\u00e9 par updateCatsAndProductVisibilityByBrand()\n     * qui se base sur la marque s\u00e9lectionn\u00e9e plut\u00f4t que sur la cat\u00e9gorie.\n     * Conserv\u00e9 au cas o\u00f9 le client change d'avis.\n     *\/\n    \/\/ function updateProductVisibility() {\n    \/\/     var categoriesValues = $categoriesSelect.val() || [];\n    \/\/     jQuery('.asl-ddl-filter-product').toggle(categoriesValues.length > 0);\n    \/\/ }\n\n    \/**\n     * D\u00e9s\u00e9lectionne toutes les options d'un multiselect donn\u00e9,\n     * en ne d\u00e9clenchant l'onChange (et donc la requ\u00eate AJAX vers ASL)\n     * qu'une seule fois, sur la derni\u00e8re option d\u00e9s\u00e9lectionn\u00e9e.\n     * Plus fiable que deselectAll() dans cette version du plugin.\n     *\/\n    function resetMultiselect($select) {\n        var selectedValues = $select.val() || [];\n        if (selectedValues.length === 0) return; \/\/ rien \u00e0 faire, d\u00e9j\u00e0 vide\n        selectedValues.forEach(function (v, index) {\n            var isLast = index === selectedValues.length - 1;\n            $select.multiselect('deselect', v, isLast);\n        });\n\n        $select.multiselect('refresh'); \/\/ resynchronise l'affichage des checkboxes + libell\u00e9 du bouton\n    }\n\n    function resetSpecialAndCategories() {\n        resetMultiselect($specialSelect);\n        resetMultiselect($categoriesSelect);\n        if ($productSelect.length) {\n            resetMultiselect($productSelect);\n        }\n\n        \/\/ DESACTIVE (Delphine) - plus besoin de recalculer la visibilit\u00e9 en fonction de sp\u00e9cialit\u00e9\/cat\u00e9gories\n        \/\/ updateCatsVisibility();\n        \/\/ updateSubCatsVisibility();\n        \/\/ updateProductVisibility();\n    }\n\n    brandContainer.addEventListener('click', function (e) {\n\n        \/\/ On ne traite que les clics sur le label d'une checkbox de marque\n        var label = e.target.closest('label.checkbox');\n        if (!label) return;\n\n        var checkbox = label.querySelector('input[type=\"checkbox\"]');\n        if (!checkbox) return;\n\n        \/\/ --- \u00c9tape 1 : on bloque le comportement natif du plugin ---\n        \/\/ preventDefault : emp\u00eache le comportement par d\u00e9faut du clic\n        \/\/ stopImmediatePropagation : emp\u00eache le handler interne de bootstrap-multiselect\n        \/\/ de s'ex\u00e9cuter pour CET \u00e9v\u00e9nement pr\u00e9cis (capture phase = on passe avant lui)\n        e.preventDefault();\n        e.stopImmediatePropagation();\n\n        var clickedValue = checkbox.value;   \/\/ valeur de l'option cliqu\u00e9e (ex: \"1\" ou \"2\")\n        var wasChecked = checkbox.checked;   \/\/ \u00e9tat AVANT notre intervention\n\n        \/\/ --- \u00c9tape 2 : on r\u00e9cup\u00e8re toutes les valeurs possibles du filtre ---\n        var allValues = $brandSelect.find('option').map(function () {\n            return jQuery(this).val();\n        }).get();\n\n        \/\/ --- \u00c9tape 3 : on d\u00e9s\u00e9lectionne toutes les autres marques ---\n        \/\/ Le 2\u00e8me param\u00e8tre 'false' = ne d\u00e9clenche PAS l'\u00e9v\u00e9nement onChange \u00e0 chaque \u00e9tape\n        \/\/ (on ne veut qu'UNE seule requ\u00eate AJAX au final, pas une par d\u00e9s\u00e9lection)\n        allValues.forEach(function (v) {\n            if (v !== clickedValue) {\n                $brandSelect.multiselect('deselect', v, false);\n            }\n        });\n\n        var newBrandValue = null;\n\n        \/\/ --- \u00c9tape 4 : on applique l'\u00e9tat final pour la marque cliqu\u00e9e ---\n        \/\/ Ici on d\u00e9clenche bien l'\u00e9v\u00e9nement (3\u00e8me param\u00e8tre 'true'),\n        \/\/ c'est CE dernier appel qui provoque la requ\u00eate AJAX vers ASL\n        if (wasChecked) {\n            \/\/ La case \u00e9tait d\u00e9j\u00e0 coch\u00e9e \u2192 un clic dessus la d\u00e9coche (aucune marque s\u00e9lectionn\u00e9e)\n            $brandSelect.multiselect('deselect', clickedValue, true);\n            updateSpecialVisibility(null); \/\/ plus de marque s\u00e9lectionn\u00e9e => tout afficher\n            newBrandValue = null;\n        } else {\n            \/\/ La case \u00e9tait d\u00e9coch\u00e9e \u2192 on la s\u00e9lectionne, et elle devient la seule active\n            $brandSelect.multiselect('select', clickedValue, true);\n            updateSpecialVisibility(clickedValue); \/\/ filtre en fonction de la marque cliqu\u00e9e\n            newBrandValue = clickedValue;\n        }\n\n        \/\/ Affiche\/masque Cat\u00e9gories et Produit selon la marque active\n        updateCatsAndProductVisibilityByBrand(newBrandValue);\n\n        \/\/ Reset syst\u00e9matique de Sp\u00e9cialit\u00e9\/Cat\u00e9gories \u00e0 chaque changement de marque\n        resetSpecialAndCategories();\n\n    }, true); \/\/ true = \u00e9coute en phase de CAPTURE, essentiel pour passer avant le plugin\n    \n    \/\/ Applique le filtrage d\u00e8s le chargement de la page,\n    \/\/ au cas o\u00f9 une marque serait d\u00e9j\u00e0 s\u00e9lectionn\u00e9e par d\u00e9faut (via URL, cookie, etc.)\n\n    \/\/ --- Gestion du filtre Sp\u00e9cialit\u00e9 ---\n    \/\/ DESACTIVE (Delphine) - ne servait qu'\u00e0 updateCatsVisibility()\n    \/\/ $specialSelect.on('change', updateCatsVisibility);\n\n    \/\/ --- Gestion du filtre Cat\u00e9gories : pilote Sous-cat\u00e9gories ET Produit ---\n    \/\/ DESACTIVE (Delphine) - ne servait qu'\u00e0 updateProductVisibility() (et updateSubCatsVisibility(), d\u00e9j\u00e0 comment\u00e9)\n    \/\/ $categoriesSelect.on('change', function () {\n    \/\/     \/\/ updateSubCatsVisibility();\n    \/\/     updateProductVisibility();\n    \/\/ });\n\n    \/\/ --- \u00c9tats initiaux au chargement de la page ---\n    var initialBrandValue = ($brandSelect.val() || [])[0] || null;\n    updateSpecialVisibility(initialBrandValue);\n    updateCatsAndProductVisibilityByBrand(initialBrandValue);\n    \/\/ DESACTIVE (Delphine)\n    \/\/ updateCatsVisibility();\n    \/\/ updateSubCatsVisibility();\n    \/\/ updateProductVisibility();\n\n\n    \/\/ --- Filtre Produit (Engine\/Generator) via hook custom ---\n    if ($productSelect.length) {\n        $productSelect.multiselect({\n            nonSelectedText: 'All products',\n            numberDisplayed: 1,\n            includeSelectAllOption: false,\n            maxHeight: 250,\n            onChange: function () {\n                if (window.asl_view) {\n                    window.asl_view.refreshView();\n                }\n            }\n        });\n\n        \/\/ Guard : on ne wrap le hook qu'une seule fois, m\u00eame si\n        \/\/ asl_event_hook() est rappel\u00e9e \u00e0 chaque \u00e9v\u00e9nement ASL.\n        if (!window._asl_product_hook_installed) {\n            window._asl_product_hook_installed = true;\n\n            var previousHook = window.asl_event_hook;\n\n            window.asl_event_hook = function (e) {\n                if (e.type === 'store_filter') {\n                    var selected = $productSelect.val() || [];\n\n                    if (selected.length > 0) {\n                        var store = e.data;\n                        var matches = selected.some(function (v) {\n                            return store[v] == '1';\n                        });\n                        if (!matches) return false;\n                    }\n                }\n\n                if (typeof previousHook === 'function') {\n                    return previousHook.call(this, e);\n                }\n            };\n        }\n    }\n\n    \/\/ copier\n    document.addEventListener('click', function (e) {\n        var btn = e.target.closest('.asl-copy-btn');\n        if (!btn) return;\n\n        e.preventDefault();\n        e.stopPropagation();\n\n        var $btn = jQuery(btn);\n        var $wrap = $btn.closest('.asl-copy-wrap');\n        var value = $btn.data('copy-value');\n        if (!value) return;\n\n        navigator.clipboard.writeText(String(value)).then(function () {\n            showCopyTooltip($wrap);\n        }).catch(function (err) {\n            console.error('Copie impossible :', err);\n        });\n\n    }, true); \/\/ true = phase de capture, essentiel pour passer avant l'InfoBox\n\n    function showCopyTooltip($wrap) {\n        $wrap.find('.asl-copy-tooltip').remove();\n\n        var $tooltip = jQuery('<span class=\"asl-copy-tooltip\">Copi\u00e9 !<\/span>');\n        $wrap.append($tooltip);\n\n        requestAnimationFrame(function () {\n            $tooltip.addClass('asl-copy-tooltip-visible');\n        });\n\n        setTimeout(function () {\n            $tooltip.removeClass('asl-copy-tooltip-visible');\n            setTimeout(function () {\n                $tooltip.remove();\n            }, 200);\n        }, 1200);\n    }\n}\n<\/script>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"[vc_row el_class=&#8221;reseau_content&#8221;][vc_column][vc_column_text el_class=&#8221;breadcrumb&#8221;][\/vc_column_text][vc_column_text css=&#8221;&#8221; el_class=&#8221;asl_content&#8221;][\/vc_column_text][\/vc_column][\/vc_row]","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-12850","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rete - Nanni Industries<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nannienergy.com\/it\/rete\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rete - Nanni Industries\" \/>\n<meta property=\"og:description\" content=\"[vc_row el_class=&#8221;reseau_content&#8221;][vc_column][vc_column_text el_class=&#8221;breadcrumb&#8221;][\/vc_column_text][vc_column_text css=&#8221;&#8221; el_class=&#8221;asl_content&#8221;][\/vc_column_text][\/vc_column][\/vc_row]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nannienergy.com\/it\/rete\/\" \/>\n<meta property=\"og:site_name\" content=\"Nanni Industries\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/NanniEnergyInBlue\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-02T10:13:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/rete\\\/\",\"url\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/rete\\\/\",\"name\":\"Rete - Nanni Industries\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/#website\"},\"datePublished\":\"2023-07-20T09:25:10+00:00\",\"dateModified\":\"2026-09-02T10:13:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/rete\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nannienergy.com\\\/it\\\/rete\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/rete\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rete\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/\",\"name\":\"Nanni Industries\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/#organization\",\"name\":\"Nanni Industries\",\"url\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nannienergy.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/2025_Nanni_Bleu_RVB.jpg\",\"contentUrl\":\"https:\\\/\\\/nannienergy.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/2025_Nanni_Bleu_RVB.jpg\",\"width\":568,\"height\":157,\"caption\":\"Nanni Industries\"},\"image\":{\"@id\":\"https:\\\/\\\/nannienergy.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/NanniEnergyInBlue\",\"https:\\\/\\\/www.instagram.com\\\/nanni_energy\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rete - Nanni Industries","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nannienergy.com\/it\/rete\/","og_locale":"it_IT","og_type":"article","og_title":"Rete - Nanni Industries","og_description":"[vc_row el_class=&#8221;reseau_content&#8221;][vc_column][vc_column_text el_class=&#8221;breadcrumb&#8221;][\/vc_column_text][vc_column_text css=&#8221;&#8221; el_class=&#8221;asl_content&#8221;][\/vc_column_text][\/vc_column][\/vc_row]","og_url":"https:\/\/nannienergy.com\/it\/rete\/","og_site_name":"Nanni Industries","article_publisher":"https:\/\/www.facebook.com\/NanniEnergyInBlue","article_modified_time":"2026-09-02T10:13:39+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/nannienergy.com\/it\/rete\/","url":"https:\/\/nannienergy.com\/it\/rete\/","name":"Rete - Nanni Industries","isPartOf":{"@id":"https:\/\/nannienergy.com\/it\/#website"},"datePublished":"2023-07-20T09:25:10+00:00","dateModified":"2026-09-02T10:13:39+00:00","breadcrumb":{"@id":"https:\/\/nannienergy.com\/it\/rete\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nannienergy.com\/it\/rete\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nannienergy.com\/it\/rete\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nannienergy.com\/it\/"},{"@type":"ListItem","position":2,"name":"Rete"}]},{"@type":"WebSite","@id":"https:\/\/nannienergy.com\/it\/#website","url":"https:\/\/nannienergy.com\/it\/","name":"Nanni Industries","description":"","publisher":{"@id":"https:\/\/nannienergy.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nannienergy.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/nannienergy.com\/it\/#organization","name":"Nanni Industries","url":"https:\/\/nannienergy.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/nannienergy.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/nannienergy.com\/wp-content\/uploads\/2025\/03\/2025_Nanni_Bleu_RVB.jpg","contentUrl":"https:\/\/nannienergy.com\/wp-content\/uploads\/2025\/03\/2025_Nanni_Bleu_RVB.jpg","width":568,"height":157,"caption":"Nanni Industries"},"image":{"@id":"https:\/\/nannienergy.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/NanniEnergyInBlue","https:\/\/www.instagram.com\/nanni_energy"]}]}},"_links":{"self":[{"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/pages\/12850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/comments?post=12850"}],"version-history":[{"count":6,"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/pages\/12850\/revisions"}],"predecessor-version":[{"id":15470,"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/pages\/12850\/revisions\/15470"}],"wp:attachment":[{"href":"https:\/\/nannienergy.com\/it\/wp-json\/wp\/v2\/media?parent=12850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}