{"id":2541,"date":"2025-07-03T16:00:58","date_gmt":"2025-07-03T14:00:58","guid":{"rendered":"https:\/\/valorfrit.be\/?page_id=2541"},"modified":"2025-08-17T12:06:34","modified_gmt":"2025-08-17T10:06:34","slug":"points-de-collecte","status":"publish","type":"page","link":"https:\/\/valorfrit.be\/fr\/points-de-collecte\/","title":{"rendered":"Points de collecte"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2541\" class=\"elementor elementor-2541\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e45185b e-flex e-con-boxed e-con e-parent\" data-id=\"e45185b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e76c602 e-con-full e-flex e-con e-child\" data-id=\"e76c602\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5864bc maintitle elementor-widget elementor-widget-text-editor\" data-id=\"e5864bc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h1>O\u00f9 d\u00e9poser\u00a0gratuitement <br \/>vos huiles et graisses de friture usag\u00e9es ?<\/h1>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-116be82 elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"116be82\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>D\u00e9posez facilement vos huiles et graisses de friture usag\u00e9es dans l\u2019un des nombreux points de collecte : <br \/>parcs de <span style=\"font-weight: 400;\">recyclage<\/span>, supermarch\u00e9s ou autres lieux publics accessibles.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5864d7 elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"a5864d7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Retrouvez ici quelques points de collecte :<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-73757cc e-con-full e-flex e-con e-child\" data-id=\"73757cc\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-605e7fc elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"605e7fc\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <div class=\"valorfrit-search-container\">\n        <!-- Main Content Area -->\n        <div class=\"valorfrit-main-content\">\n            <!-- Left Column: Search -->\n            <div class=\"valorfrit-left-column\">\n                <div class=\"valorfrit-search-section\">\n\t\t\t\t<label for=\"valorfrit-search\">Votre code postal<\/label>\n                    <input type=\"text\" id=\"valorfrit-search\" name=\"valorfrit-search\" value=\"\" placeholder=\"eg: 1000 Bruxelles\" \/>\n                    <button id=\"valorfrit-btn-search\" class=\"valorfrit-search-btn\">\n                        <i class=\"fas fa-search\"><\/i> Rechercher\n                    <\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Right Column: Map -->\n            <div class=\"valorfrit-right-column\">\n                <div id=\"valorfrit-map\" style=\"height: 400px;\"><\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Tabs (Full Width Below) -->\n        <div class=\"valorfrit-tabs\">\n            <div class=\"valorfrit-tab-buttons\">\n                <button class=\"valorfrit-tab-button active\" data-tab=\"recyparks\"> Parcs de recyclage<\/button>\n              <!--  <button class=\"valorfrit-tab-button\" data-tab=\"supermarkets\">Autres points de collecte<\/button> -->\n            <\/div>\n            <div class=\"valorfrit-tab-content\">\n                <div id=\"valorfrit-recyparks\" class=\"valorfrit-tab-pane active\"><\/div>\n                <div id=\"valorfrit-supermarkets\" class=\"valorfrit-tab-pane\"><\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n\n\n    <script>\n    var valorfritMarkers = [];\n    var valorfritMap;\n    var valorfritInfoWindow;\n    var valorfritMapLoaded = false;\n\n    function initValorfritMap() {\n        console.log(\"initValorfritMap();\");\n        \n        var myLatlng = new google.maps.LatLng(50.5039, 4.4699);\n        var mapOptions = {\n            zoom: 9,\n            center: myLatlng,\n            mapTypeControl: true,\n            streetViewControl: false,\n            fullscreenControl: true\n        }\n        valorfritMap = new google.maps.Map(document.getElementById(\"valorfrit-map\"), mapOptions);\n        valorfritInfoWindow = new google.maps.InfoWindow();\n        valorfritMapLoaded = true;\n        console.log(\"Google Maps initialized successfully\");\n    }\n\n    \/\/ Load Google Maps API asynchronously\n    function loadGoogleMaps() {\n        if (typeof google === \"undefined\" || typeof google.maps === \"undefined\") {\n            var script = document.createElement(\"script\");\n            script.src = \"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyCUWrPFAZAwJJm56CN77KOWx5KwNxnzQdg&loading=async&callback=initValorfritMap\";\n            script.async = true;\n            script.defer = true;\n            document.head.appendChild(script);\n        } else {\n            initValorfritMap();\n        }\n    }\n\n    \/\/ Initialize when DOM is ready\n    if (document.readyState === \"loading\") {\n        document.addEventListener(\"DOMContentLoaded\", loadGoogleMaps);\n    } else {\n        loadGoogleMaps();\n    }\n\n    jQuery(document).ready(function($) {\n        \/\/ Tab switching\n        $(\".valorfrit-tab-button\").on(\"click\", function() {\n            var tabId = $(this).data(\"tab\");\n            \n            \/\/ Update buttons\n            $(\".valorfrit-tab-button\").removeClass(\"active\");\n            $(this).addClass(\"active\");\n            \n            \/\/ Update content\n            $(\".valorfrit-tab-pane\").removeClass(\"active\");\n            $(\"#valorfrit-\" + tabId).addClass(\"active\");\n        });\n\n        \/\/ Search functionality\n        $(\"#valorfrit-btn-search\").on(\"click\", function() {\n            var nonce = \"1ab1a9f0bb\";\n            var zip = $(\"#valorfrit-search\").val();\n            \n            if (!zip) {\n                alert(\"Veuillez entrer un code postal\");\n                return;\n            }\n            \n            console.log(\"Searching for zip:\", zip);\n            \n            $.ajax({\n                type: \"post\",\n                dataType: \"json\",\n                url: \"https:\/\/valorfrit.be\/wp-admin\/admin-ajax.php?lang=fr\",\n                data: {action: \"valorfrit_recypark_search\", zip: zip, nonce: nonce},\n                beforeSend: function() {\n                    $(\"#valorfrit-btn-search\").text(\"Recherche...\");\n                },\n                success: function(response) {\n                    $(\"#valorfrit-btn-search\").html(\"<i class=\\\"fas fa-search\\\"><\/i> Rechercher\");\n                    \n                    console.log(\"AJAX Success - Full response:\", response);\n                    console.log(\"Response type:\", typeof response);\n                    console.log(\"Response code:\", response.code);\n                    \n                    if(response && response.code == 200) {\n                        console.log(\"Search results:\", response);\n                        console.log(\"Debug info:\", response.debug);\n                        \n                        \/\/ Update tab content\n                        $(\"#valorfrit-recyparks\").html(response.recyparks);\n                        $(\"#valorfrit-supermarkets\").html(response.supermarkets);\n                        \n                        \/\/ Clear existing markers\n                        for (var i = 0; i < valorfritMarkers.length; i++) {\n                            valorfritMarkers[i].setMap(null);\n                        }\n                        valorfritMarkers = [];\n                        \n                        \/\/ Add new markers\n                        if (response.gmap && response.gmap.length > 0) {\n                            console.log(\"Adding\", response.gmap.length, \"markers to map\");\n                            var bounds = new google.maps.LatLngBounds();\n                            \n                            for (var i = 0; i < response.gmap.length; i++) {\n                                var point = response.gmap[i];\n                                var latitude = parseFloat(point.latitude);\n                                var longitude = parseFloat(point.longitude);\n                                \n                                console.log(\"Processing marker\", i, \"- Type:\", point.type, \"Lat:\", latitude, \"Lng:\", longitude);\n                                \n                                if (latitude && longitude) {\n                                    var pin = \"\/wp-content\/themes\/hello-theme-child-master\/pins\/green.png\";\n                                    if (point.type == \"s\") {\n                                        pin = \"\/wp-content\/themes\/hello-theme-child-master\/pins\/yellow.png\";\n                                    }\n                                    \n                                    var marker = new google.maps.Marker({\n                                        map: valorfritMap,\n                                        position: {lat: latitude, lng: longitude},\n                                        icon: {\n                                            url: pin,\n                                            scaledSize: new google.maps.Size(32, 32)\n                                        }\n                                    });\n                                    \n                                    \/\/ Add click listener for info window\n                                    (function(marker, info) {\n                                        marker.addListener(\"click\", function() {\n                                            valorfritInfoWindow.setContent(info);\n                                            valorfritInfoWindow.setOptions({maxWidth: 200});\n                                            valorfritInfoWindow.open(valorfritMap, marker);\n                                        });\n                                    })(marker, point.infowindow);\n                                    \n                                    valorfritMarkers.push(marker);\n                                    bounds.extend(marker.getPosition());\n                                }\n                            }\n                            \n                            \/\/ Fit map to show all markers\n                            if (valorfritMarkers.length > 0) {\n                                valorfritMap.fitBounds(bounds);\n                                if (valorfritMarkers.length === 1) {\n                                    valorfritMap.setZoom(14);\n                                }\n                            }\n                        } else {\n                            console.log(\"No map data found in response\");\n                            if (response.debug) {\n                                alert(\"Aucun r\u00e9sultat trouv\u00e9 pour le code postal \" + response.debug.zip_code + \". Recyparks: \" + response.debug.recypark_count + \", Supermarkets: \" + response.debug.supermarket_count);\n                            } else {\n                                alert(\"Aucun r\u00e9sultat trouv\u00e9\");\n                            }\n                        }\n                    } else {\n                        console.log(\"Response error or invalid code:\", response);\n                        if (response && response.error) {\n                            alert(\"Erreur: \" + response.error);\n                        } else {\n                            alert(\"Aucun r\u00e9sultat trouv\u00e9\");\n                        }\n                    }\n                },\n                error: function(xhr, status, error) {\n                    $(\"#valorfrit-btn-search\").html(\"<i class=\\\"fas fa-search\\\"><\/i> Rechercher\");\n                    console.log(\"AJAX Error Details:\");\n                    console.log(\"Status:\", status);\n                    console.log(\"Error:\", error);\n                    console.log(\"Response Text:\", xhr.responseText);\n                    console.log(\"Status Code:\", xhr.status);\n                    console.log(\"Ready State:\", xhr.readyState);\n                    \n                    var errorMsg = \"Erreur AJAX: \" + status;\n                    if (xhr.responseText) {\n                        errorMsg += \" - \" + xhr.responseText.substring(0, 100);\n                    }\n                    alert(errorMsg);\n                }\n            });\n        });\n        \n        \/\/ Allow Enter key to trigger search\n        $(\"#valorfrit-search\").on(\"keypress\", function(e) {\n            if (e.which == 13) {\n                $(\"#valorfrit-btn-search\").click();\n            }\n        });\n    });\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2fdcb05 elementor-widget elementor-widget-heading\" data-id=\"2fdcb05\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>O\u00f9 d\u00e9poser\u00a0gratuitement vos huiles et graisses de friture usag\u00e9es ? D\u00e9posez facilement vos huiles et graisses de friture usag\u00e9es dans l\u2019un des nombreux points de collecte : parcs de recyclage, supermarch\u00e9s ou autres lieux publics accessibles. Retrouvez ici quelques points de collecte : .<\/p>\n","protected":false},"author":10,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-2541","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/pages\/2541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/comments?post=2541"}],"version-history":[{"count":72,"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/pages\/2541\/revisions"}],"predecessor-version":[{"id":3577,"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/pages\/2541\/revisions\/3577"}],"wp:attachment":[{"href":"https:\/\/valorfrit.be\/fr\/wp-json\/wp\/v2\/media?parent=2541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}