{"id":12469,"date":"2023-08-26T03:54:21","date_gmt":"2023-08-26T07:54:21","guid":{"rendered":"http:\/\/moissonlaurentides.org\/our-events\/the-grande-guignolee-for-moisson-laurentides\/where-can-i-donate\/"},"modified":"2023-08-26T03:54:21","modified_gmt":"2023-08-26T07:54:21","slug":"where-can-i-donate","status":"publish","type":"page","link":"https:\/\/moissonlaurentides.org\/en\/our-events\/the-grande-guignolee-for-moisson-laurentides\/where-can-i-donate\/","title":{"rendered":"Where can I donate?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12469\" class=\"elementor elementor-12469 elementor-728\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-af50edf elementor-section-height-min-height blur elementor-section-boxed elementor-section-height-default elementor-section-items-middle\" data-id=\"af50edf\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_bottom&quot;:&quot;curve&quot;,&quot;shape_divider_bottom_negative&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" data-negative=\"true\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M500,97C126.7,96.3,0.8,19.8,0,0v100l1000,0V1C1000,19.4,873.3,97.8,500,97z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-66c0f28\" data-id=\"66c0f28\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6026bc4 elementor-widget__width-auto elementor-widget elementor-widget-text-editor\" data-id=\"6026bc4\" 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<a href=\"#scroll\">Learn more <span>\u00bb<\/span>\r\n<\/a>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-349f68d elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"349f68d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-35a338a\" data-id=\"35a338a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ef32ba7 elementor-widget elementor-widget-image\" data-id=\"ef32ba7\" data-element_type=\"widget\" id=\"scroll\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/moissonlaurentides.org\/wp-content\/uploads\/2022\/09\/coeuf-ou-donner-1024x683.jpeg\" class=\"attachment-large size-large wp-image-11921\" alt=\"\" srcset=\"https:\/\/moissonlaurentides.org\/wp-content\/uploads\/2022\/09\/coeuf-ou-donner-1024x683.jpeg 1024w, https:\/\/moissonlaurentides.org\/wp-content\/uploads\/2022\/09\/coeuf-ou-donner-300x200.jpeg 300w, https:\/\/moissonlaurentides.org\/wp-content\/uploads\/2022\/09\/coeuf-ou-donner-768x512.jpeg 768w, https:\/\/moissonlaurentides.org\/wp-content\/uploads\/2022\/09\/coeuf-ou-donner-1536x1024.jpeg 1536w, https:\/\/moissonlaurentides.org\/wp-content\/uploads\/2022\/09\/coeuf-ou-donner.jpeg 1620w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-c43faf2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c43faf2\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-cf5b0bf\" data-id=\"cf5b0bf\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bfd1dde elementor-widget elementor-widget-heading\" data-id=\"bfd1dde\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Each donation counts.<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-392ee55 elementor-widget elementor-widget-text-editor\" data-id=\"392ee55\" 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<p>It is thanks to your donations that we can support, for more than 30 years, the underprivileged adults, families, and children of the Laurentian region.<\/p>\n<p>You can make your donations either in money form or non-perishable food products at any time during the month of December at one of our collection points throughout the Laurentian region. Each donation counts.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-80136dc\" data-id=\"80136dc\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2546a91 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2546a91\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cb64f6e\" data-id=\"cb64f6e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d8b421b elementor-widget elementor-widget-heading\" data-id=\"d8b421b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">List of locations to donate<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74e36f8 elementor-widget elementor-widget-text-editor\" data-id=\"74e36f8\" 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<p>Use this locator to find a collection point in your region. Make sure to access the detail page to learn specific collection dates and times.<\/p>\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-dbb8c24 elementor-widget elementor-widget-shortcode\" data-id=\"dbb8c24\" 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<div class=\"elementor-shortcode\">\t\t\n\n\t\t\t\t\n\t<div id=\"containerguignolee\">\t<script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyDEJ6fw8PbvMuxSz6xpL-ixGPneLZWnviA&\"><\/script>\n\t<script class=\"cmplz-native\" type=\"text\/javascript\" id=\"googlemapscript\">\n\tvar geocoder= new google.maps.Geocoder();\n\t\t\n\tjQuery( document ).ready(function() {\n\t\t\n\t\tjQuery(\"#boutonRechercherAddress\").on(\"click\", function() {\n\t\t\tguignolee_thesearch();\n\t\t});\n\t\tjQuery(\"#rechercherAddress\").on('keypress',function(e) {\n\t\t\tif(e.which == 13) {\n\t\t\t\tguignolee_thesearch();\n\t\t\t}\n\t\t});\n\t\tfunction guignolee_thesearch() {\n\t\t\tvar address = document.getElementById(\"rechercherAddress\").value;\n\t\t\tif (address == \"\") {\n\t\t\t\tjQuery(\"#reinit\").removeClass(\"visible\");\n\t\t\t} else {\n\t\t\t\tjQuery(\"#reinit\").addClass(\"visible\");\n\t\t\t}\n\t\t\tcodeAddress(address);\n\t\t}\n\t\t\n\t\tjQuery(\"#reinit\").on(\"click\", function() {\n\t\t\tvar\taddress = \"\";\n\t\t\tjQuery(\"#reinit\").removeClass(\"visible\");\n\t\t\tdocument.getElementById(\"rechercherAddress\").value = \"\";\n\t\t\tcodeAddress(address);\n\t\t});\n\t\tjQuery(\".reinitall\").on(\"click\", function() {\n\t\t\tjQuery(\".emplacementschoisis .choice\").each( function() {\n\t\t\t\tvar theid = jQuery(\"input\", this).val();\n\t\t\t\tremoveToEmplacementsChoisis(theid, \"\", jQuery(\".item a[data-id='\"+theid+\"']\"));\n\t\t\t});\n\t\t});\n\t});\n\tfunction codeAddress(address) {\n\t\t\n\t\tvar lat = '';\n\t\tvar lng = '';\n\t\t\n\t\tif (address != \"\") {\n\t\t\tgeocoder.geocode( { \n\t\t\t\t'address': address,\n\t\t\t\tcomponentRestrictions: {\n\t\t\t\t\tcountry: 'CA'\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfunction(results, status) {\n\t\t\t\tif (status == google.maps.GeocoderStatus.OK) {\n\t\t\t\t\tlat = results[0].geometry.location.lat();\n\t\t\t\t\tlng = results[0].geometry.location.lng();\n\n\t\t\t\t\tconsole.log(lat + \" | \" + lng);\n\t\t\t\t\tlistOfAddressClose(lat, lng, 1);\n\t\t\t\t}else {\n\t\t\t\t\talert(\"Geocode was not successful for the following reason: \" + status);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tlistOfAddressClose(45.6748501, -73.8474922, 0); \/\/Lat Long de Moisson Laurentides\n\t\t}\n\t\t\n\t}\n\tfunction listOfAddressClose(lat1, lng1, $defaut) {\n\t\tjQuery(\".acf-map\").empty();\n\t\tjQuery(\"#mapdisplayarea, #part2next, .optionsderecherche\").css(\"display\", \"\");\n\t\tjQuery(\"#aucunResultat\").removeClass(\"visible\");\n\t\tjQuery(\"#resultatsAlternatifs\").removeClass(\"visible\");\n\t\t\n\t\tif ($defaut) { var $listOfAddresses = findlocationsthatfittimeslots(lat1, lng1, 0); } else { var $listOfAddresses = \"\"; }\n\t\t\n\t\t\n\t\tif (($listOfAddresses == \"\")) {\n\t\t\tjQuery(\".thecolumn .item\").css(\"display\", \"grid\");\n\t\t\tvar $listOfAddresses = findlocationsthatfittimeslots(lat1, lng1, 1);\n\t\t}\n\t\t\n\t\tjQuery(\".acf-map\").append($listOfAddresses);\n\n\t\t\/\/Sort the map list in place\n\t\tjQuery.fn.sortDivs = function sortDivs() {\n\t\t\tjQuery(\"> div\", this[0]).sort(dec_sort).appendTo(this[0]);\n\t\t\tfunction dec_sort(a, b){ return (jQuery(b).attr(\"data-distance\")) < (jQuery(a).attr(\"data-distance\")) ? 1 : -1; }\n\t\t}\n\t\tjQuery(\".acf-map\").sortDivs();\n\t\t\n\t\t\n\t\tjQuery(\".acf-map div\").addClass(\"markerActive\");\n\t\tjQuery('.acf-map').each(function(){\n\t\t\tvar map = initMap( jQuery(this) );\n\t\t});\n\t\t\n\t\t\/\/now sort the left column in place\n\t\tjQuery(\"#mapdisplayarea .thecolumn:first-child\").sortDivs();\n\t\tdrawSide();\n\t}\n\tfunction findlocationsthatfittimeslots(lat1, lng1, allresults) {\n\t\tvar $listOfAddresses = \"\";\n\t\t\n\t\tif (allresults) { $rayon = 5000;} else { $rayon = 10; }\n\t\t\n\t\tjQuery(\"#listeEmplacementComplet > div\").each( function(index) {\n\t\t\tvar lat2 = jQuery(this).attr(\"data-lat\");\n\t\t\tvar lng2 = jQuery(this).attr(\"data-lng\");\n\t\t\t\n\t\t\t$showOrHide = timeslotShowOrHide(this);\n\t\t\t$thedistance = getDistanceFromLatLonInKm(lat1, lng1, lat2, lng2);\n\t\t\t\n\t\t\tif ((($thedistance <= $rayon)) && ($showOrHide)) {\n\t\t\t\tjQuery(this).attr(\"data-distance\", $thedistance);\n\t\t\t\t$listOfAddresses += jQuery(this).prop('outerHTML');\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"]\").css(\"display\", \"grid\").attr(\"data-distance\", $thedistance);\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"] .theicon\").addClass(\"visibleIcon\");\n\t\t\t} else {\n\t\t\t\tjQuery(this).attr(\"data-distance\", 99);\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"]\").css(\"display\", \"none\").attr(\"data-distance\", $thedistance);\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"] .theicon\").removeClass(\"visibleIcon\");\n\t\t\t}\n\t\t});\n\t\t\n\t\tif (allresults) {\n\t\t\t\/* Error messages *\/\n\t\t\tif ($listOfAddresses == \"\") { \/\/Il n'y a vraiment rien\n\t\t\t\tjQuery(\"#aucunResultat\").addClass(\"visible\");\n\t\t\t\tjQuery(\"#resultatsAlternatifs\").removeClass(\"visible\");\n\t\t\t\tjQuery(\"#mapdisplayarea, #part2next, .optionsderecherche\").css(\"display\", \"none\");\n\t\t\t} else if (jQuery(\"#rechercherAddress\").val() == \"\") { \/\/On montre quand m\u00eame ce qu'il y a\n\t\t\t\tjQuery(\"#aucunResultat\").removeClass(\"visible\");\n\t\t\t\tjQuery(\"#resultatsAlternatifs\").removeClass(\"visible\");\n\t\t\t} else {\n\t\t\t\tjQuery(\"#aucunResultat\").removeClass(\"visible\");\n\t\t\t\tjQuery(\"#resultatsAlternatifs\").addClass(\"visible\");\n\t\t\t}\n\t\t}\n\t\treturn $listOfAddresses;\n\t}\n\tfunction allLocationsThatFitTimeslots($thedistance) {\n\t\t\n\t\t$listOfAddresses = '';\n\t\tjQuery(\"#listeEmplacementComplet > div\").each( function(index) {\n\t\t\t$showOrHide = timeslotShowOrHide(this);\n\t\t\tif ($showOrHide) {\n\t\t\t\t$listOfAddresses += jQuery(this).prop('outerHTML');\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"]\").css(\"display\", \"grid\").attr(\"data-distance\", $thedistance);\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"] .theicon\").addClass(\"visibleIcon\");\n\t\t\t} else {\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"]\").css(\"display\", \"none\").attr(\"data-distance\", $thedistance);\n\t\t\t\tjQuery(\".thecolumn .item[data-id=\" + (index + 1) + \"] .theicon\").removeClass(\"visibleIcon\");\n\t\t\t}\n\t\t});\n\t\t\n\t\t\n\t\t\n\t\treturn $listOfAddresses;\n\t}\n\tfunction timeslotShowOrHide($el) {\n\t\tvar showOrHide = 1;\n\t\tvar spotsAvailable = [jQuery($el).attr(\"data-p1\"), jQuery($el).attr(\"data-p2\"), jQuery($el).attr(\"data-p3\"), jQuery($el).attr(\"data-p4\"), jQuery($el).attr(\"data-p5\")];\n\t\tspotsAvailable.forEach(function(value, index) {\n\t\t\tif (timeStatus[index]) {\n\t\t\t\t\/\/console.log(index + \" | \" + value);\n\t\t\t\tif (value <= 0) { showOrHide = 0;}\n\t\t\t}\n\t\t});\n\t\treturn showOrHide;\n\t}\n\t<\/script>\n\t<script>\n\t\tfunction getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {\n\t\t\tvar R = 6371; \/\/ Radius of the earth in km\n\t\t\tvar dLat = deg2rad(lat2-lat1);  \/\/ deg2rad below\n\t\t\tvar dLon = deg2rad(lon2-lon1); \n\t\t\tvar a = \n\t\t\t\tMath.sin(dLat\/2) * Math.sin(dLat\/2) +\n\t\t\t\tMath.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * \n\t\t\t\tMath.sin(dLon\/2) * Math.sin(dLon\/2)\n\t\t\t; \n\t\t\tvar c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); \n\t\t\tvar d = R * c; \/\/ Distance in km\n\t\t\treturn d;\n\t\t}\n\n\t\tfunction deg2rad(deg) {\n\t\t\treturn deg * (Math.PI\/180)\n\t\t}\n<\/script>\n<script>\nvar timeStatus = [false, false, false, false, false];\nvar thetype = \"\";\nvar horaireouspecifique = \"\";\nvar thepeople = [0,0,0];\nfunction isTimeStatusFalse() {\n\tvar areallfalse = true;\n\tfor (i=0; i<timeStatus.length; i++) { if (timeStatus[i]) { areallfalse = false; } }\n\treturn areallfalse;\n}\njQuery( document ).ready(function() {\n\t\t\t\/\/Phone number format\n            jQuery(function ($) {\n                const $fields = $(\"#tel, #cell\");\n                $fields.attr({ inputmode: \"numeric\", autocomplete: \"tel\" });\n\n                const digits = (s) => (s || \"\").replace(\/\\D\/g, \"\");\n                const mask = (raw10) => {\n                    const raw = raw10.slice(0, 10);\n                    if (!raw) return \"\";\n                    if (raw.length <= 3) return \"(\" + raw;\n                    if (raw.length <= 6) return \"(\" + raw.slice(0, 3) + \") \" + raw.slice(3);\n                    return \"(\" + raw.slice(0, 3) + \") \" + raw.slice(3, 6) + \"-\" + raw.slice(6);\n                };\n                const posFromDigitCount = (formatted, dcount) => {\n                    if (dcount <= 0) return 0;\n                    let seen = 0;\n                    for (let i = 0; i < formatted.length; i++) {\n                    if (\/\\d\/.test(formatted[i])) seen++;\n                    if (seen === dcount) return i + 1;\n                    }\n                    return formatted.length;\n                };\n\n                function onInput(e) {\n                    const el = e.target;\n                    const oe = e.originalEvent; \/\/ jQuery-wrapped event\n                    const inputType = oe && oe.inputType; \/\/ e.g. \"insertText\", \"insertFromPaste\", \"deleteContentBackward\"\n                    const data = oe && oe.data; \/\/ last inserted char for insertText\n\n                    \/\/ Count digits before caret (stable caret math)\n                    const caret = el.selectionStart || 0;\n                    const digitsBeforeCaret = digits(el.value.slice(0, caret)).length;\n\n                    \/\/ Build the intended new RAW string from previous state + this operation\n                    const prevRaw = el._prevRaw || digits(el.value);\n                    let nextRaw;\n\n                    if (inputType === \"insertText\") {\n                    \/\/ If typed a non-digit, ignore that keystroke (delete just the wrong char)\n                    if (!\/\\d\/.test(data || \"\")) {\n                        \/\/ Reformat using prevRaw and restore caret \u2014 nothing else changes\n                        requestAnimationFrame(() => {\n                        const formatted = mask(prevRaw);\n                        el.value = formatted;\n                        const newPos = posFromDigitCount(formatted, digitsBeforeCaret);\n                        el.setSelectionRange(newPos, newPos);\n                        });\n                        return;\n                    }\n                    \/\/ Insert digit at the digit-index caret position\n                    const leftDigits = digits(el.value.slice(0, caret - 1)); \/\/ caret already advanced by browser\n                    const rightDigits = digits(el.value.slice(caret));\n                    nextRaw = (leftDigits + (data || \"\") + rightDigits).slice(0, 10);\n                    } else if (inputType === \"insertFromPaste\") {\n                    \/\/ Keep only digits from the whole control, cap at 10\n                    nextRaw = digits(el.value).slice(0, 10);\n                    } else if (\n                    inputType === \"deleteContentBackward\" ||\n                    inputType === \"deleteContentForward\" ||\n                    inputType === \"deleteByCut\"\n                    ) {\n                    \/\/ Browser already removed characters; recompute raw\n                    nextRaw = digits(el.value).slice(0, 10);\n                    } else {\n                    \/\/ Fallback: recompute raw\n                    nextRaw = digits(el.value).slice(0, 10);\n                    }\n\n                    \/\/ Format after the browser finishes this cycle\n                    requestAnimationFrame(() => {\n                    const formatted = mask(nextRaw);\n                    el.value = formatted;\n\n                    \/\/ Map caret by how many digits were before it; clamp to nextRaw length\n                    const dcount = Math.min(digitsBeforeCaret, nextRaw.length);\n                    const newPos = posFromDigitCount(formatted, dcount);\n                    el.setSelectionRange(newPos, newPos);\n\n                    el._prevRaw = nextRaw;\n                    });\n                }\n\n                function onBlur(e) {\n                    const el = e.target;\n                    const raw = digits(el.value).slice(0, 10);\n                    \/\/ Keep whatever is there (no clearing); just normalize formatting\n                    el.value = mask(raw);\n                    el._prevRaw = raw;\n                }\n\n                \/\/ Initialize prevRaw and normalize any prefilled values\n                $fields.each(function () {\n                    const raw = digits(this.value).slice(0, 10);\n                    this.value = mask(raw);\n                    this._prevRaw = raw;\n                });\n\n                $fields.on(\"input\", onInput);\n                $fields.on(\"blur\", onBlur);\n                });\t\n            \/\/END PHONE FORMAT\n\t\n\tvar checkboxTemps = document.querySelectorAll(\"input[name='time[]']\");\n\t\n\tcheckboxTemps.forEach( function(element) {\n\t\telement.addEventListener(\"change\", function(e) {\n\t\t\ttimeslotchange(this);\n\t\t});\n\t});\n\t\n\tvar radioType = document.querySelectorAll(\"input[name='type[]']\");\n\t\n\tradioType.forEach( function(element) {\n\t\telement.addEventListener(\"change\", function(e) {\n\t\t\ttypechange(this);\n\t\t});\n\t});\n\t\n\tvar ageChange = document.querySelectorAll(\"input[name='age[]']\");\n\t\n\tageChange.forEach( function(element) {\n\t\telement.addEventListener(\"change\", function(e) {\n\t\t\tageselect(this);\n\t\t});\n\t});\n\t\n\tif(jQuery('#groupeadults').length > 0)\n\t\tdocument.getElementById(\"groupeadults\").addEventListener(\"change\", function(e) { numberofpeoplechange(0,this); });\n\t\n\tif(jQuery('#groupeminors').length > 0)\n\t\tdocument.getElementById(\"groupeminors\").addEventListener(\"change\", function(e) { numberofpeoplechange(1,this); });\n\t\n\tif(jQuery('#groupeminorsunder15').length > 0)\n\t\tdocument.getElementById(\"groupeminorsunder15\").addEventListener(\"change\", function(e) { numberofpeoplechange(2,this); });\n\t\n\t\n});\n\/*\nfunction horaireouspecifiquechoice($el) {\n\thoraireouspecifique = $el.value;\n\tif (horaireouspecifique == \"horaire\") { jQuery(\".part1b\").css(\"display\", \"flex\").hide().fadeIn(200);} else { jQuery(\".part1b\").fadeOut(200); }\n}*\/\n\nfunction ageselect($el) {\n\tvar $age = $el.value\n\tif ($age == \"ageminor15\") {\n\t\tjQuery(\".part3d\").css(\"display\", \"flex\").hide().fadeIn(200);\n\t\tjQuery(\".part3f\").fadeOut(200);\n\t\tthepeople = [0,0,1];\n\t\tvar chefbox = document.querySelectorAll(\"input[name='chef[]']\");\n\t\tchefbox.forEach( function(element) {\n\t\t\telement.checked=false;\n\t\t});\n\t} else if ($age == \"ageminor\") {\n\t\tjQuery(\".part3d, .part3f\").fadeOut(200);\n\t\tthepeople = [0,1,0];\n\t\tdocument.getElementById(\"nomaccompagnateur\").value = \"\";\n\t\tvar chefbox = document.querySelectorAll(\"input[name='chef[]']\");\n\t\tchefbox.forEach( function(element) {\n\t\t\telement.checked=false;\n\t\t});\n\t} else {\n\t\tjQuery(\".part3d\").fadeOut(200);\n\t\tjQuery(\".part3f\").css(\"display\", \"flex\").hide().fadeIn(200);\n\t\tthepeople = [1,0,0];\n\t\tdocument.getElementById(\"nomaccompagnateur\").value = \"\";\n\t}\n}\nfunction numberofpeoplechange($theindex, $el) {\n\tthepeople[$theindex] = parseInt($el.value);\n\tif ((thepeople[0] == 0) && (thepeople[1] == 0) && (thepeople[2] > 0)) {\n\t\tjQuery(\".part3d\").css(\"display\", \"flex\").hide().fadeIn(200);\n\t} else {\n\t\tjQuery(\".part3d\").fadeOut(200);\n\t\tdocument.getElementById(\"nomaccompagnateur\").value = \"\";\n\t}\n}\nfunction timeslotchange($el) {\n\tvar $ischecked = $el.checked;\n\tvar $whichTime = $el.value.charAt(1) - 1;\n\ttimeStatus[$whichTime] = $ischecked;\n\tcodeAddress(document.getElementById(\"rechercherAddress\").value);\n}\nfunction typechange($el) {\n\tthetype = $el.value;\n\tif (thetype != \"individu\") {\n\t\tjQuery(\".part3c, .part3d\").fadeOut(200);\n\t\tjQuery(\".part3e\").css(\"display\", \"flex\").hide().fadeIn(200);\n\t\tjQuery(\".part3g\").fadeIn(200);\n\t\tdocument.getElementById(\"nomaccompagnateur\").value = \"\";\n\t\t\n\t\t\n\t\t\n\t\tjQuery(\".part3b\").css(\"display\", \"flex\").hide().fadeIn(200);\n\t\tdocument.getElementById(\"groupeadults\").value = 0;\n\t\tdocument.getElementById(\"groupeminors\").value = 0;\n\t\tdocument.getElementById(\"groupeminorsunder15\").value = 0;\n\t\tthepeople = [0,0,0];\n\t\t\n\t\t\n\t\tjQuery(\"#titrecoordchefbenevole\").text(\"Team leader contact details\");\n\t} else {\n\t\tdocument.getElementById(\"nomaccompagnateur\").value = \"\";\n\t\tdocument.getElementById(\"subprenom\").value = \"\";\n\t\tdocument.getElementById(\"subnom\").value = \"\";\n\t\tdocument.getElementById(\"subcell\").value = \"\";\n\t\tdocument.getElementById(\"subcourriel\").value = \"\";\n\t\tdocument.getElementById(\"nomdentreprise\").value = \"\";\n\t\tdocument.getElementById(\"groupeadults\").value = 0;\n\t\tdocument.getElementById(\"groupeminors\").value = 0;\n\t\tdocument.getElementById(\"groupeminorsunder15\").value = 0;\n\t\tthepeople = [0,0,0];\n\t\tvar agebox = document.querySelectorAll(\"input[name='age[]']\");\n\t\tagebox.forEach( function(element) {\n\t\t\telement.checked=false;\n\t\t});\n\t\tjQuery(\".part3b, .part3e, .part3g\").fadeOut(200);\n\t\tjQuery(\".part3c\").css(\"display\", \"flex\").hide().fadeIn(200);\n\t\t\n\t\tjQuery(\"#titrecoordchefbenevole\").text(\"Volunteer contact details\");\n\t}\n\tvar chefbox = document.querySelectorAll(\"input[name='chef[]']\");\n\t\tchefbox.forEach( function(element) {\n\t\t\telement.checked=false;\n\t\t});\n\tjQuery(\".part3f\").fadeOut(200);\n}\n<\/script>\n\n<script>\n\t\/\/LISTE DES EMPLACEMENTS\n\tfunction addToEmplacementsChoisis($theid, $thetitle, $el) {\n\t\tvar nombreEmplacement = jQuery(\".emplacementschoisis .choice\");\n\t\tjQuery('.choix-'+$theid).remove();\n\t\tjQuery(\".emplacementschoisis\").append('<div data-id=\"'+$theid+'\" class=\"choice choix-'+$theid+'\"><label for=\"option-'+$theid+'\">'+$thetitle+'<input type=\"checkbox\" checked=\"\" required=\"\" name=\"lesemplacementschoisies[]\" value=\"'+$theid+'\" id=\"option-'+$theid+'\"><\/label><\/div>');\n\t\t$el.parent().prepend(\"<span>Selected site<\/span>\");\n\t\t$el.text(\"Remove?\").addClass(\"remove\");\n\t\t\n\t\t\/\/Right column Markers\n\t\tjQuery(\"#listeEmplacementComplet .marker[data-id=\"+$theid+\"] a\").text(\"Remove?\").addClass(\"remove\");\n\t\t\n\t\t\n\t\tif (nombreEmplacement.length == 0) {\n\t\t\tvar checkboxPopupTemps = document.querySelectorAll(\"input[name='popuptime[]']\");\n\t\t\tvar checkboxTemps = document.querySelectorAll(\"input[name='time[]']\");\n\t\t\tcheckboxPopupTemps.forEach( function(element, index) {\n\t\t\t\ttimeStatus[index] = element.checked;\n\t\t\t\tcheckboxTemps[index].checked = element.checked;\n\t\t\t});\n\t\t}\n\t\t\n\t\t\/\/Disable schedule edits\n\t\t\/\/\n\t\tjQuery(\".filtres .choice input\").attr(\"disabled\", \"disabled\");\n\t\tjQuery(\".reinitall\").addClass(\"visible\");\n\t\tcodeAddress(document.getElementById(\"rechercherAddress\").value);\n\t\t\n\t\tjQuery(\"#emplacementprefere\").append(\"<option id='prefere-\"+$theid+\"' value='\"+$theid+\"'>\"+$thetitle+\"<\/option>\");\n\t\tjQuery(\".part2b\").fadeIn(200);\n\t}\n\tfunction removeToEmplacementsChoisis($theid, $thetitle = \"\", $el) { \/\/$el is always the S\u00e9lectionner in the left column\n\t\tjQuery('.choix-'+$theid).remove();\n\t\t$el.prev().remove();\n\t\t$el.text(\"Select\").removeClass(\"remove\");\n\t\t\n\t\t\/\/Right column Markers\n\t\tjQuery(\"#listeEmplacementComplet .marker[data-id=\"+$theid+\"] a, .acf-map a[data-id=\"+$theid+\"]\").text(\"Select\").removeClass(\"remove\");\n\t\t\n\t\tjQuery(\"#emplacementprefere #prefere-\" + $theid).remove();\n\t\t\n\t\tvar nombreEmplacement = jQuery(\".emplacementschoisis .choice\");\n\t\tif (nombreEmplacement.length == 0) { \n\t\t\tjQuery(\".part2b\").fadeOut(200);\n\t\t\tjQuery(\".reinitall\").removeClass(\"visible\");\n\t\t\tjQuery(\".filtres .choice input\").removeAttr(\"disabled\");\n\t\t}\n\t\t\n\t\t\/\/reinit map\n\t\tcodeAddress(document.getElementById(\"rechercherAddress\").value);\n\t}\n\tjQuery( document ).ready(function() {\n \t\t\tjQuery(\"body\").append(`<div class='modalchoicesbg' style='display:none'>\n\t\t\t\t<div class='modalchoices'>\n\t\t\t\t\t<a class='modalclose' id='modalx'><span>x<\/span><\/a>\n\t\t\t\t\t<h5 class='titre'>Selected site <span><\/span><\/h5>\n\t\t\t\t\t<span id='modalemplacement'><\/span>\n\t\t\t\t\t<span id='message23'><\/span>\n\t\t\t\t\t<div class='plages'>\n\t\t\t\t\t\t<div class=\"choice\"><label for=\"popup-p1\"><input type=\"checkbox\" name=\"popuptime[]\" value=\"p1\" id=\"popup-p1\"><span>6 A.M. to 9 A.M.<\/span><\/label><\/div>\n\t\t\t\t\t\t<div class=\"choice\"><label for=\"popup-p2\"><input type=\"checkbox\" name=\"popuptime[]\" value=\"p2\" id=\"popup-p2\"><span>9 A.M. to Noon<\/span><\/label><\/div>\n\t\t\t\t\t\t<div class=\"choice\"><label for=\"popup-p3\"><input type=\"checkbox\" name=\"popuptime[]\" value=\"p3\" id=\"popup-p3\"><span>Noon to 3 P.M.<\/span><\/label><\/div>\n\t\t\t\t\t\t<div class=\"choice\"><label for=\"popup-p4\"><input type=\"checkbox\" name=\"popuptime[]\" value=\"p4\" id=\"popup-p4\"><span>3 P.M. to 6 P.M.<\/span><\/label><\/div>\n\t\t\t\t\t\t<div class=\"choice\"><label for=\"popup-p5\"><input type=\"checkbox\" name=\"popuptime[]\" value=\"p5\" id=\"popup-p5\"><span>6 P.M. to 9 P.M.<\/span><\/label><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class='arow'>\n\t\t\t\t\t\t<a class='confirmer' id='modalconfirm'>Confirm<\/a>\n\t\t\t\t\t\t<a class='modalclose'>Cancel<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>`);\n\t});\n<\/script>\n<script>\n\n\t\/\/VALIDATION ICI\njQuery( document ).ready(function() {\n\tif(jQuery('#part2next').length > 0)\n\t{\n\t\tdocument.getElementById(\"part2next\").addEventListener(\"click\", function(e) {\n\t\t\tvar nombreEmplacement = jQuery(\".emplacementschoisis .choice\");\n\t\t\tvar choixprefere = jQuery(\"#emplacementprefere\").val();\n\t\t\tif (nombreEmplacement.length == 0) { \n\t\t\t\tcallErrorPopup(\"Select from 1 to 3 locations\");\n\t\t\t\t\n\t\t\t\tjQuery(\"#titredestroisemplacements\").addClass(\"error\");\n\t\t\t\tjQuery(\"#emplacementprefere, #titreduprefere, #titreemplacementschoisis\").removeClass(\"error\");\n\t\t\t\t\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\"#titredestroisemplacements\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t\t\n\t\t\t} else if (choixprefere == \"\") {\n\t\t\t\tcallErrorPopup(\"Please select a preferred location\");\n\t\t\t\tjQuery(\"#emplacementprefere, #titreduprefere\").addClass(\"error\");\n\t\t\t\tjQuery(\"#titredestroisemplacements, #titreemplacementschoisis\").removeClass(\"error\");\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\"#titreduprefere\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t} else {\n\t\t\t\t\/\/Next page\n\t\t\t\t\/\/\n\t\t\t\t\/\/\n\t\t\t\t\n\t\t\t\t\/\/Quels s\u00e9lecteurs montrer?\n\t\t\t\tvar $lesselecteurs = '.part3';\n\t\t\t\tif (document.getElementById('individu').checked) { $lesselecteurs += \", .part3c\" } else\n\t\t\t\tif (document.getElementById('groupe').checked) { $lesselecteurs += \", .part3b\" } \n\t\t\t\tif (document.getElementById('individuadults').checked) { $lesselecteurs += \", .part3f\" } else\n\t\t\t\tif ((document.getElementById('individuminorsunder15').checked) || ((thepeople[0] == 0) && (thepeople[1] == 0) && (thepeople[2] > 0))) { $lesselecteurs += \", .part3d\" }\n\n\n\t\t\t\t\n\t\t\t\tjQuery(\".part2, .part2b\").fadeOut(200);\n\t\t\t\tjQuery($lesselecteurs).css(\"display\", \"flex\").hide().fadeIn(200);\n\t\t\t\tjQuery(\".filtres .choice input\").removeAttr(\"disabled\") \/\/ Pour que le formulaire envoit ca\n\t\t\t\tsetTimeout(() => { jQuery([document.documentElement, document.body]).animate({\tscrollTop: jQuery(\"#titretypeinscription\").offset().top\t}, 500);}, 500);\n\t\t\t}\n\t\t});\n\t}\n\tif(jQuery('#part3back').length > 0)\n\t{\n\t\tdocument.getElementById(\"part3back\").addEventListener(\"click\", function(e) {\n\t\t\tjQuery(\".part2, .part2b\").fadeIn(200);\n\t\t\tjQuery(\".part3, .part3a, .part3b, .part3c, .part3d, .part3e, .part3f\").fadeOut(200);\n\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\tjQuery(\".filtres .choice input\").attr(\"disabled\", \"disabled\");\n\t\t\tsetTimeout(() => { jQuery([document.documentElement, document.body]).animate({\tscrollTop: jQuery(\"#titredestroisemplacements\").offset().top\t}, 500);}, 500);\n\t\t});\n    }\n\tif(jQuery('#part3back').length > 0)\t\n\t{\n\t\tdocument.getElementById(\"part4\").addEventListener(\"click\", function(e) {\n\t\t\t$postalcodeRegEx = new RegExp(\/^[ABCEGHJ-NPRSTVXY]\\d[ABCEGHJ-NPRSTV-Z][ -]?\\d[ABCEGHJ-NPRSTV-Z]\\d$\/i); \/\/Postal code validation\n\t\t\t$phonenumberRegEx = new RegExp(\/^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$\/im);\n\t\t\t\n\t\t\tif (thetype == \"\") {\n\t\t\t\tcallErrorPopup(\"Please select the type of registration\");\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#titretypeinscription\").addClass(\"error\");\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\"#titretypeinscription\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t} else if ((thepeople[0] == 0) && (thepeople[1] == 0) && (thepeople[2] == 0)) {\n\t\t\t\t\n\t\t\t\tif (thetype == \"individu\") {\n\t\t\t\t\tcallErrorPopup(\"Choose an age group\");\n\t\t\t\t} else {\n\t\t\t\t\tcallErrorPopup(\"Enter a number of participants\");\n\t\t\t\t}\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\".choixnombrepersonnes\").addClass(\"error\");\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\".titrechoixnombrepersonnes\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t} else if (((thepeople[0] == 0) && (thepeople[1] == 0) && (thepeople[2] > 0)) && (document.getElementById(\"nomaccompagnateur\").value == \"\")) {\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#nomaccompagnateur\").addClass(\"error\");\n\t\t\t\tcallErrorPopup(\"Please enter the full name of the companion\");\n\t\t\t\t\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\".part3d\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t} else if (((thepeople[0] == 1) && (thepeople[1] == 0) && (thepeople[2] == 0)) && (thetype == \"individu\") && (!document.getElementById('chef').checked) && (!document.getElementById('benevole').checked)) {\n\t\t\t\tcallErrorPopup(\"Would you like to be a team leader or volunteer?\");\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#titrechef\").addClass(\"error\");\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\"#titrechef\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t} else if (!document.getElementById(\"formulaire-tri\").reportValidity()) {\n\t\t\t\tcallErrorPopup(\"Please fill in all required fields\");\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t} else if (!$postalcodeRegEx.test(jQuery(\"#codepostal\").val())) {\n\t\t\t\t\/\/postal code validation.\n\t\t\t\tcallErrorPopup(\"Postal code entered is invalid\");\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#codepostal\").addClass(\"error\");\n\t\t\t} else if ((!$phonenumberRegEx.test(jQuery(\"#cell\").val())) && (jQuery(\"#cell\").val() != \"\")) {\n\t\t\t\tcallErrorPopup(\"Please enter a valid telephone number\");\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#cell\").addClass(\"error\");\n\t\t\t} else if ((!$phonenumberRegEx.test(jQuery(\"#tel\").val())) && (jQuery(\"#tel\").val() != \"\")) {\n\t\t\t\tcallErrorPopup(\"Please enter a valid telephone number\");\n\t\t\t\tjQuery(\".custom-form .error\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#tel\").addClass(\"error\");\n\t\t\t} else if (jQuery(\"#part4\").hasClass(\"encours\")) {\n\t\t\t\t\t\tcallErrorPopup(\"Form being sent\");\n\t\t\t} else {\n\t\t\t\tjQuery(\"#part4\").text(\"Sending...\").addClass(\"encours\").css(\"background-color\", \"#666666\").css(\"color\", \"#bbb\");\n\t\t\t\tjQuery(\"#part3back\").css(\"background-color\", \"#666666\").css(\"color\", \"#bbb\").css(\"pointer-events\", \"none\");\n\t\t\t\tsendtheform();\n\t\t\t}\n\t\t});\n\t}\n\tfunction sendtheform() {\n\t\tvar dataString = jQuery(\"#formulaire-tri\").serialize();\n\t\t\n\t\t\/\/jQuery(\"#part3back, #part4\").css(\"display\", \"none\");\n\t\t\n\t\tjQuery.ajax({\n\t\t\turl : ajaxobject.ajax_url,\n\t\t\ttype : 'post',\n\t\t\tdatatype : 'json',\n\t\t\tdata : dataString + '&action=guignolee_form_submit_tri',\n\t\t\tsuccess : function(response) {\n\t\t\t\tconsole.log(response);\n\t\t\t\tjQuery(\".custom-form\").remove();\n\t\t\t\tjQuery(\".messageconfirmation\").text(\"Your registration has been successfully completed. You will receive an email confirmation within 24 hours. Thank you for helping us fight hunger and nourish hope.\");\n\t\t\t},\n\t\t\terror: function (response) {\n\t\t\t\tconsole.log(response);\n\t\t\t\tjQuery(\".custom-form\").remove();\n\t\t\t\tjQuery(\".messageconfirmation\").text(\"ERROR. Please contact us at 450-434-0790, ext. 303 to finalize your registration.\");\n\t\t\t}\n\t\t});\n\t}\n\t\/\/ Elements de part2\n\t\n\t\/\/ Colonne de droite select\n\tjQuery(\".acf-map\").on(\"click\", \".map-selection\", function(e) {\n\t\tif (jQuery(this).hasClass(\"remove\")) {\n\t\t\tvar theid = jQuery(this).attr(\"data-id\");\n\t\t\tvar thetitle = jQuery(this).attr(\"data-title\");\n\t\t\tremoveToEmplacementsChoisis(theid, thetitle, jQuery(\".item a[data-id='\"+theid+\"']\"));\n\t\t} else {\n\t\t\tmodaldeselection(this);\n\t\t}\n\t});\n\t\/\/Colonne de gauche select\n\tjQuery(\".selection a\").on(\"click\", function(e) {\n\t\t\n\t\tif (jQuery(this).hasClass(\"remove\")) {\n\t\t\tvar theid = jQuery(this).attr(\"data-id\");\n\t\t\tvar thetitle = jQuery(this).attr(\"data-title\");\n\t\t\tremoveToEmplacementsChoisis(theid, thetitle, jQuery(this));\n\t\t} else {\n\t\t\t\/\/Show modal\n\t\t\tmodaldeselection(this);\n\t\t}\n\t});\n\t\/\/D\u00e9lectionner dans la liste en bas\n\tjQuery(\".emplacementschoisis\").on(\"click\", \".choice\", function() {\n\t\tvar theid = jQuery(\"input\", this).val();\n\t\tremoveToEmplacementsChoisis(theid, \"\", jQuery(\".item a[data-id='\"+theid+\"']\"));\n\t});\n\tfunction modaldeselection($el) {\n\t\tvar nombreEmplacement = jQuery(\".emplacementschoisis .choice\");\n\t\tif (nombreEmplacement.length > 2) {\n\t\t\t\tcallErrorPopup(\"Three locations already selected\");\n\t\t\t\tjQuery(\"#titredestroisemplacements, #emplacementprefere, #titreduprefere\").removeClass(\"error\");\n\t\t\t\tjQuery(\"#titreemplacementschoisis\").addClass(\"error\");\n\t\t\t\tjQuery([document.documentElement, document.body]).animate({\n\t\t\t\t\tscrollTop: jQuery(\"#titreemplacementschoisis\").offset().top\n\t\t\t\t}, 2000);\n\t\t\t} else {\n\t\tvar theid = jQuery($el).attr(\"data-id\");\n\t\tvar thetitle = jQuery($el).attr(\"data-title\");\n\t\t\/\/if (isTimeStatusFalse()) {\n\t\tvar theschedule = jQuery(\"#listeEmplacementComplet .marker[data-id=\"+theid+\"]\");\n\t\tjQuery(\".plages .choice\").each(function(index) {\n\t\t\tif (parseInt(theschedule.attr(\"data-p\" + (index + 1))) > 0) {\n\t\t\t\tjQuery(this).removeClass(\"full\");\n\t\t\t\tif (timeStatus[index]) {\n\t\t\t\t\tjQuery(\"input\", this).removeAttr('disabled').prop('checked', true);\n\t\t\t\t} else {\n\t\t\t\t\tjQuery(\"input\", this).removeAttr('disabled').prop('checked', false);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery(this).addClass(\"full\");\n\t\t\t\tjQuery(\"input\", this).attr('disabled', 'disabled').prop('checked', false);\n\t\t\t}\n\t\t\t\n\t\t\t\/\/Label.\n\t\t\tjQuery(\"span\", this).text(theschedule.attr(\"data-p\" + (index + 1) + \"-alt\"));\n\t\t});\n\n\t\tif (nombreEmplacement.length > 0) {\n\t\t\tjQuery(\"#message23\").text(\"The same time slots as your preferred location have been automatically selected.\").css(\"margin-bottom\", \"1rem\");\n\t\t\tjQuery(\".modalchoicesbg .plages\").attr(\"style\", \"display:none;\").removeClass(\"visible\");\n\t\t\tif (nombreEmplacement.length == 1) { jQuery(\".modalchoicesbg h5.titre\").text(\"Select a second site\"); } else {jQuery(\".modalchoicesbg h5.titre\").text(\"Troisi\u00e8me choix d'emplacement\");}\n\t\t} else {\n\t\t\tjQuery(\"#message23\").html('Choose your time slots. <span style=\"color:#cc0026\">IMPORTANT :<\/span> You agree to be present for ALL the time slots you select.').css(\"margin-bottom\", \"10px\");\n\t\t\tjQuery(\".modalchoicesbg .plages\").attr(\"style\", \"display:block;\").addClass(\"visible\");\n\t\t\tjQuery(\".modalchoicesbg h5.titre\").text(\"Choose your preferred site\");\n\t\t}\n\n\t\tjQuery(\".modalchoicesbg\").attr(\"style\", \"\");\n\t\tjQuery(\"#modalemplacement\").text(thetitle).attr(\"data-id\", theid);\n\t\t\t}\n\t}\n\t\n\t\n\tjQuery(\".modalclose\").on(\"click\", function() {\n\t\tjQuery(\".modalchoicesbg\").attr(\"style\", \"display: none\");\n\t});\n\tjQuery(\"#modalconfirm\").on(\"click\", function() {\n\t\t\tvar checkboxPopupTemps = document.querySelectorAll(\"input[name='popuptime[]']\");\n\t\t\tvar anypopuptimetrue = false;\n\t\t\tcheckboxPopupTemps.forEach( function(element, index) {\n\t\t\t\tif(element.checked) { anypopuptimetrue = true; }\n\t\t\t});\n\t\t\n\t\t\tif (anypopuptimetrue) {\n\t\t\t\tvar theid = jQuery('#modalemplacement').attr(\"data-id\");\n\t\t\t\tvar thetitle = jQuery('#modalemplacement').text();\n\t\t\t\taddToEmplacementsChoisis(theid, thetitle, jQuery(\".item a[data-id='\"+theid+\"']\"));\n\t\t\t\tjQuery(\".modalchoicesbg\").attr(\"style\", \"display: none\");\n\t\t\t} else {\n\t\t\t\tcallErrorPopup(\"Choose one or more time slots for your volunteer work\");\n\t\t\t}\n\t});\n});\n\t\nwindow.addEventListener('load', (event) => {\n\tcodeAddress(\"\");\n\tdrawSide();\n});\n\n<\/script>\n<style>\n\t#aucunResultat{color:red;}\n\t.filter-results{grid-column: span 2;margin-bottom: 10px;}\n\tinput.error, select.error {\n\t\tborder: 2px solid var(--e-global-color-bde7869);\n\t}\n\th5.error, label.error {\n\t\tcolor: var(--e-global-color-bde7869) !important;\n\t}\n\t.lastfield { \n\t\tpadding-bottom: 100px !important;\n\t}\n\t#mapdisplayarea .thecolumn:first-child {\n\t\tdisplay: flex;\n\t\tflex-direction: column\n\t}\n\t#mapdisplayarea .thecolumn:first-child .item {\n\t\t\torder: 2;\n\t}\n\t#mapdisplayarea .thecolumn:first-child .item.first {\n\t\torder: 1;\n\t}\n\t.bouton.elementor-button.remove {\n\t\tpadding: 0;\n\t\tbackground: none !important;\n\t\tcolor: var(--e-global-color-bde7869) !important;\n\t\ttext-decoration: underline;\n\t}\n\t.emplacementschoisis label {\n\t\t\tborder: 2px solid #97999d;\n\t\t\tborder-radius: 999px;\n\t\t\tpadding: 10px;\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.emplacementschoisis label:after { \n\t\t\tcontent: \"x\";\n\t\t\tmargin-left: 20px;\n\t\t\tfont-size: 20px;\n\t\t\tdisplay: flex;\n\t\t\tfont-weight: bold;\n\t\t\ttop: -2px;\n\t\t\tposition: relative;\n\t\t\tcolor: #97999d;\n\t\t}\n\t\t.emplacementschoisis input {\n\t\t\tposition: absolute;\n\t\t\topacity: 0;\n\t\t\tcursor: pointer;\n\t\t\theight: 0;\n\t\t\twidth: 0;\n\t\t}\n\t\n\t\t.emplacementschoisis > div { display: inline-block; }\n\t#modalemplacement {\n\t\tborder: 2px solid var(--e-global-color-eaa9ad4);\n\t\tborder-radius: 99px;\n\t\tpadding: 10px;\n\t\tdisplay: block;\n\t\ttext-align: center;\n\t\tmargin-bottom: 1rem;\n\t}\n\t#modalconfirm, .arow .modalclose {\n\t\t\twidth: 50%;\n\t\t\tpadding: 20px;\n\t\t\tbackground: var( --e-global-color-eaa9ad4 );\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: 500;\n\t\t\tline-height: 24px;\n\t\t\tcolor: white !important;\n\t\t\tdisplay: block;\n\t\t\tborder-radius: 999px;\n\t\t\ttext-align: center;\n\t\t\tcursor: pointer;\n\t\t}\n\t.arow {\n\t\tdisplay: flex;\n    \tjustify-content: space-between;\n    \talign-items: center;\n    \tgap: 10px;\n\t}\n\t.arow .modalclose {\n\t\tbackground: var(--e-global-color-bde7869);\n\t}\n\t\t#modalconfirm:hover {\n\t\t\tbackground: var(--e-global-color-secondary);\n\t\t}\n\t.modalActive, .modalchoices { position: relative; }\n\t\t.modalchoicesbg .titre { font-size: 20px; margin-top: 2rem; text-align: center;}\n\t\t.modalchoices .choice { margin-bottom: 1rem; }\n\t\t.modalchoices label:hover { background: #67823A22;}\n\t\t#modalx { cursor: pointer; position: absolute; top: 10px; right: 10px; font-size: 20px;font-weight: bold; width: 30px; height: 30px; background: var(--e-global-color-bde7869); border-radius: 12px; color: white; display: flex; align-items: center; justify-content: center; line-height: 1;}\n\t\t#modalx span {top: -2px; position: relative;}\n\t\t#modalx:hover { background: var(--e-global-color-secondary)}\n\t\t.modalchoicesbg .choice label {\n\t\t\tdisplay: flex;\n    \t\tjustify-content: space-between;\n    \t\talign-items: center;\n\t\t\tborder: 2px solid var(--e-global-color-eaa9ad4);\n\t\t\tborder-radius: 999px;\n\t\t\tpadding: 8px 20px;\n\t\t}\n\t\t.modalchoicesbg .choice:not(.full) label { cursor: pointer; }\n\t\t.modalchoicesbg .choice.full label {\n\t\t\tborder-color: var(--e-global-color-bde7869);\n\t\t\tbackground: #CC002622;\n\t\t\tcolor: #999;\n\t\t}\n\t\t.modalchoicesbg {\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tposition: fixed;\n\t\t\tbackground: rgba(0,0,0,0.2);\n\t\t\tz-index: 999999999999;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: flex;\n    \t\tjustify-content: center;\n    \t\talign-items: center;\n\t\t}\n\t\t.modalchoices {\n\t\t\tpadding: 10px;\n\t\t\twidth: 300px;\n\t\t\theight: auto;\n\t\t\tbackground: white;\n\t\t\tborder-radius: 12px;\n\t\t}\n\t#part4.encours, #part4.encours:hover, #part4.encours:focus {\n\t\tbackground: #666666 !important;\n\t\tcolor: #bbb !important;\n\t}\n\t#message23 { text-align: center; font-weight: 600;\n    display: block;}\n\t.filtres {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmargin-bottom: 1rem;\n\t}\n\t.filtres label { flex-basis: 100%; }\n\t.filtres .choice { margin-right: 50px; }\n\t.reinitall:not(.visible) { display:none;}\n\t\n#containerguignolee .therow, #containerguignolee .optionsderecherche {\n    display: grid; \n  grid-template-columns: 1fr 1fr; \n  grid-template-rows: 1fr; \n  gap: 0px 10px; \n  grid-template-areas: \n    \". .\"; \n}\n\n#containerguignolee .item {\n    display: grid; \n  grid-template-columns: 35px 1fr 1fr; \n  grid-template-rows: auto auto; \n  gap: 0px 10px; \n  grid-template-areas: \n    \"icone titre titre\"\n    \"icone adresse lien\";\n  border-bottom: 1px solid #CFCFCF;\n  padding: 20px 0 40px;\n}\n#containerguignolee .item > canvas {\n       grid-area: icone;\n}\n#containerguignolee .item > h5 {\n    grid-area: titre;\n}\n#containerguignolee .item > p {\n    grid-area: adresse;\n    margin-bottom: 0;\n}\n#containerguignolee .item > .boutonrow {\n    grid-area: lien;\n    justify-content: end;\n    align-items: end;\n    display: flex;\n    flex-direction: column;\n    text-align: right;\n}\n#containerguignolee .optionsderecherche select, #containerguignolee .optionsderecherche input {\n    border-radius: 12px 0 0 12px !important;\n}\n#containerguignolee .optionsderecherche button, #containerguignolee  .optionsderecherche a {\n    margin-left:-10px;\n    border-radius: 0 12px 12px 0;\n}\n\n#containerguignolee .custom-form > .field:not(.visible), #containerguignolee .messages > *:not(.visible) {\n    display: none;\n}\n\n#mapdisplayarea .thecolumn:first-child {\n    height: 676px;\n    overflow-y: scroll;\n}\n#mapdisplayarea .thecolumn:first-child .boutonrow:last-child {\n    padding-right: 10px;\n}\n\t#containerguignolee .etou { margin: 1rem 0; display: block;}\n\n\t.acf-map .map-selection {\n\t\tcolor: white !important;\n\t\tbackground: var(--e-global-color-eaa9ad4) !important;\n\t\tborder-radius: 100px;\n\t\tpadding: 10px 20px !important;\n\t\t    display: inline-flex;\n\t}\n\t.acf-map .map-selection:hover, .acf-map .map-selection:focus {\n\t\tbackground: var(--e-global-color-bde7869) !important;\n\t}\n\t.acf-map .map-selection.remove {\n\t\tbackground: none !important;\n\t\tcolor: var(--e-global-color-bde7869) !important;\n\t\tpadding: 0 !important;\n\t\ttext-decoration: underline;\n\t}\n\t.acf-map a.bouton.map-selection.element-button.remove:before {\n\t\tcontent: \"Emplacement s\u00e9lectionn\u00e9. \";\n\t\tfont-weight: normal;\n\t\tcolor: var(--e-global-color-text);\n\t}\n\t\n\t\n\/* TABLET STYLE *\/\n\t@media only screen and (max-width: 1023px) {\n\t\t#containerguignolee .item {\n\t\t\tgrid-template-columns: 35px 1fr 1fr;\n\t\t\tgrid-template-rows: auto auto auto;\n\t\t\tgrid-template-areas:\n\t\t\t\"icone titre titre\"\n\t\t\t\"icone adresse adresse\"\n\t\t\t\"icone lien lien\";\n\t\t}\n\t\t#containerguignolee .boutonrow { margin-top: 1rem; }\n\t\t\n\t}\n\t\n\n\/* MOBILE STYLE *\/\n\t@media only screen and (max-width: 767px) {\n\t\t#containerguignolee #boutonRechercherAddress, #containerguignolee .boutonrow a {\n\t\t\tpadding: 18px 27px;\n\n\t\t}\n\t\t#containerguignolee .optionsderecherche {\n\t\t\tgrid-template-columns: auto 132px;\n\t\t}\n\t\t#containerguignolee .filtres .choice {\n\t\t\tmargin-right: 0px;\n\t\t\tflex-basis: 50%;\n\t\t\tmargin: 0;\n\t\t\tgap: 10px;\n\t\t}\n\t\t#mapdisplayarea .thecolumn:first-child {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t#containerguignolee #mapdisplayarea.therow {\n\t\t\tgrid-template-columns: 1fr;\n\t\t\tgap: 0;\n\t\t}\n\t\t#containerguignolee .acf-map {\n\t\t\theight: 550px;\n\t\t}\n\t}\n\t\n<\/style>\n<div class='optionsderecherche bbb'><label for='rechercherAddress' class='filter-results'>Filter results by Address, Postal Code, or City<\/label><input type='text' id='rechercherAddress' name='rechercherAddress' \/><div class='vert'><a id='boutonRechercherAddress' class='elementor-button'>Search<\/a><\/div><\/div><div class='messages'><p id='reinit'>Search results displayed on the map below<br><a href='#\/'>Reset search<\/a><\/p><p id='aucunResultat'>No results found for your time slot<\/p><p id='resultatsAlternatifs'>No results found. All available locations are displayed<\/p><\/div><div id=\"mapdisplayarea\" class=\"therow\"><div class=\"thecolumn\"><\/div><div class=\"thecolumn\"><div class=\"acf-map\" data-zoom=\"16\"><\/div><\/div><\/div><div id=\"listeEmplacementComplet\" style=\"display:none;\"><\/div><style type=\"text\/css\">\n.modalActive, .modaldate { position: relative; }\n\t\t.modaldatebg .titre { font-size: 20px; margin-top: 2rem; text-align: left;}\n\t\t.modaldate .choice { margin-bottom: 1rem; }\n\t\t.modaldate label:hover { background: #67823A22;}\n\t\t#modalx { cursor: pointer; position: absolute; top: 10px; right: 10px; font-size: 20px;font-weight: bold; width: 30px; height: 30px; background: var( --e-global-color-bde7869 ); border-radius: 12px; color: white; display: flex; align-items: center; justify-content: center; line-height: 1;}\n\t\t#modalx span {top: -2px; position: relative;}\n\t\t#modalx:hover { background: var(--e-global-color-secondary)}\n\t\t.modaldatebg .choice label {\n\t\t\tdisplay: flex;\n    \t\tjustify-content: space-between;\n    \t\talign-items: center;\n\t\t\tborder: 2px solid var(--e-global-color-eaa9ad4);\n\t\t\tborder-radius: 999px;\n\t\t\tpadding: 20px;\n\t\t}\n\t\t.modaldatebg .choice:not(.full) label { cursor: pointer; }\n\t\t.modaldatebg .choice.full label {\n\t\t\tborder-color: var(--e-global-color-bde7869);\n\t\t\tbackground: #CC002622;\n\t\t\tcolor: #999;\n\t\t}\n\t\t.modaldatebg {\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tposition: fixed;\n\t\t\tbackground: rgba(0,0,0,0.2);\n\t\t\tz-index: 999999999999;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: flex;\n    \t\tjustify-content: center;\n    \t\talign-items: center;\n\t\t}\n\t\t.modaldate {\n\t\t\tpadding: 10px;\n\t\t\twidth: 300px;\n\t\t\theight: auto;\n\t\t\tbackground: white;\n\t\t\tborder-radius: 12px;\n\t\t}\t\n\n.acf-map {\n    width: 100%;\n    height: 676px;\n    border: #ccc solid 1px;\n    margin: 0;\n}\n\n\/\/ Fixes potential theme css conflict.\n.acf-map img {\n   max-width: inherit !important;\n}\n<\/style>\n<script type=\"text\/javascript\">\n\t\/\/Cr\u00e9e les canvas sur la carte\n\tfunction createMarker(width, height, title) {\n\t\tvar canvas, context, radius = 4;\n\t\tcanvas = document.createElement(\"canvas\");\n\t\tcanvas.width = width;\n\t\tcanvas.height = height;\n\t\tcontext = canvas.getContext(\"2d\");\n\t\tcontext.strokeStyle=\"rgba(0,0,0,0)\";\n\t\tcontext.miterLimit=4;\n\t\tcontext.font=\"16px ''\";\n\t\tcontext.fillStyle=\"rgba(0,0,0,0)\";\n\t\tcontext.font=\"   16px ''\";\n\t\tcontext.save();\n\t\tcontext.fillStyle=\"#CC0026\";\n\t\tcontext.font=\"   16px ''\";\n\t\tcontext.beginPath();\n\t\tcontext.moveTo(17,0);\n\t\tcontext.bezierCurveTo(12.6255,0.00516071,8.43169,1.74521,5.33846,4.83844);\n\t\tcontext.bezierCurveTo(2.24522,7.93167,0.505178,12.1255,0.500018,16.5);\n\t\tcontext.bezierCurveTo(0.494778,20.0748,1.66249,23.5527,3.82402,26.4);\n\t\tcontext.bezierCurveTo(3.82402,26.4,4.27402,26.9925,4.34752,27.078);\n\t\tcontext.lineTo(17,42);\n\t\tcontext.lineTo(29.6585,27.0705);\n\t\tcontext.bezierCurveTo(29.7245,26.991,30.176,26.4,30.176,26.4);\n\t\tcontext.lineTo(30.1775,26.3955);\n\t\tcontext.bezierCurveTo(32.338,23.5494,33.5051,20.0732,33.5,16.5);\n\t\tcontext.bezierCurveTo(33.4949,12.1255,31.7548,7.93167,28.6616,4.83844);\n\t\tcontext.bezierCurveTo(25.5683,1.74521,21.3745,0.00516071,17,0);\n\t\tcontext.closePath();\n\t\tcontext.fill();\n\t\tcontext.stroke();\n\t\tcontext.font = \"900 12pt 'M PLUS Rounded 1c'\"\n\t\tcontext.textAlign = \"center\";\n\t\tcontext.fillStyle = \"rgb(255,255,255)\";\n\t\tcontext.fillText(title, 17, 24);\n\t\treturn canvas.toDataURL();\n\t}\n\n\t\/**\n\t * initMap\n\t *\n\t * Renders a Google Map onto the selected jQuery element\n\t *\n\t * @date    22\/10\/19\n\t * @since   5.8.6\n\t *\n\t * @param   jQuery $el The jQuery element.\n\t * @return  object The map instance.\n\t *\/\n\tfunction initMap( $el ) {\n\n\t\t\/\/ Find marker elements within map.\n\t\tvar $markers = $el.find('.markerActive');\n\n\t\t\/\/ Create gerenic map.\n\t\tvar mapArgs = {\n\t\t\tzoom        : $el.data('zoom') || 16,\n\t\t\tmapTypeId   : google.maps.MapTypeId.ROADMAP,\n\t\t\tzoomControl: true,\n\t\t\tstreetViewControl: false,\n\t\t\trotateControl: false,\n\t\t\tfullscreenControl: false\n\t\t};\n\t\tvar map = new google.maps.Map( $el[0], mapArgs );\n\n\t\t\/\/ Add markers.\n\t\tmap.markers = [];\n\t\t$markers.each(function(index){\n\t\t\tinitMarker( jQuery(this), map, index + 1 );\n\t\t});\n\n\t\t\/\/ Center map based on markers.\n\t\tcenterMap( map );\n\n\t\t\/\/ Return map instance.\n\t\treturn map;\n\t}\n\n\t\/**\n\t * initMarker\n\t *\n\t * Creates a marker for the given jQuery element and map.\n\t *\n\t * @date    22\/10\/19\n\t * @since   5.8.6\n\t *\n\t * @param   jQuery $el The jQuery element.\n\t * @param   object The map instance.\n\t * @return  object The marker instance.\n\t *\/\n\tfunction initMarker( $marker, map, lechiffre = 0 ) {\n\n\t\t\/\/ Get position from marker.\n\t\tvar lat = $marker.data('lat');\n\t\tvar lng = $marker.data('lng');\n\n\t\tvar latLng = {\n\t\t\tlat: parseFloat( lat ),\n\t\t\tlng: parseFloat( lng )\n\t\t};\n\n\t\t\/\/ Create marker instance.\n\t\tvar marker = new google.maps.Marker({\n\t\t\tposition : latLng,\n\t\t\tmap: map,\n\t\t\t\/\/icon: '\/wp-content\/uploads\/2022\/08\/marker-noel.svg',\n\t\t\ticon: createMarker(33, 42, lechiffre),\n\t\t\toptimized: true \n\t\t});\n\n\n\n\t\t\/\/ Append to reference for later use.\n\t\tmap.markers.push( marker );\n\n\t\t\/\/ If marker contains HTML, add it to an infoWindow.\n\t\tif( $marker.html() ){\n\n\t\t\t\/\/ Create info window.\n\t\t\tvar infowindow = new google.maps.InfoWindow({\n\t\t\t\tcontent: $marker.html()\n\t\t\t});\n\n\t\t\t\/\/ Show info window when marker is clicked.\n\t\t\tgoogle.maps.event.addListener(marker, 'click', function() {\n\t\t\t\tinfowindow.open( map, marker );\n\t\t\t});\n\t\t}\n\n\t}\n\n\t\/**\n\t * centerMap\n\t *\n\t * Centers the map showing all markers in view.\n\t *\n\t * @date    22\/10\/19\n\t * @since   5.8.6\n\t *\n\t * @param   object The map instance.\n\t * @return  void\n\t *\/\n\tfunction centerMap( map ) {\n\n\t\t\/\/ Create map boundaries from all map markers.\n\t\tvar bounds = new google.maps.LatLngBounds();\n\t\tmap.markers.forEach(function( marker ){\n\t\t\tbounds.extend({\n\t\t\t\tlat: marker.position.lat(),\n\t\t\t\tlng: marker.position.lng()\n\t\t\t});\n\t\t});\n\n\t\t\/\/ Case: Single marker.\n\t\tif( map.markers.length == 1 ){\n\t\t\tmap.setCenter( bounds.getCenter() );\n\n\t\t\/\/ Case: Multiple markers.\n\t\t} else{\n\t\t\tmap.fitBounds( bounds );\n\t\t}\n\t}\n\n\t\/\/ This draws the canvas on the left\n\n\tvar image = [];\n\tvar context= [];\n\tfunction drawSide() {\n\t\tvar icons = document.getElementsByClassName(\"visibleIcon\");\n\t\tfor (var i = 0; i < icons.length; i++) {\n\t\t\t\/\/console.log(icons[i].getAttribute(\"data-number\"));\n\t\t\tvar dataURL = createMarker(33, 42, i + 1);\n\t\t\tconsole.log(dataURL);\n\t\t\tcontext[i] = icons[i].getContext(\"2d\");\n\t\t\timage[i] = new Image();\n\t\t\timage[i].src = dataURL;\n\t\t\t\/\/thecanvas = createMarker(33, 42, jQuery(\"canvas\", this).attr(\"data-number\"));\n\t\t}\n\t\tif(image.length > 0)\n\t\t{\n\t\t\timage[icons.length - 1].onload = function() {\n\t\t\t\tfor (var i = 0; i < icons.length; i++) {\n\t\t\t\t\tcontext[i].drawImage(image[i], 0, 0);\n\t\t\t\t}\n\t\t\t}\n\t   }\n\t}\n\n\t\n\n\n\n\n<\/script>\n<\/div><script>\n\tjQuery(\"body\").append(`<div class='modaldatebg' style='display:none'>\n<div class='modaldate'>\n<a class='modalclose' id='modalx'><span>x<\/span><\/a>\n<h5 class='titre'><\/h5>\n<div class='content'><\/div>\n\t<\/div>\n\t<\/div>`);\n\tjQuery(\".modalclose\").on(\"click\", function() {\n\t\t\tjQuery(\"body\").removeClass(\"modalActive\");\n\t\t\tjQuery(\".modaldatebg\").attr(\"style\", \"display:none;\");\n\t\t});\n\tjQuery(\".oudonner a\").on(\"click\", function(e) {\n\t\tvar theid = jQuery(this).parent().parent().attr(\"data-id\");\n\t\tvar thetext = jQuery(\"#listeEmplacementComplet .marker[data-number=\"+theid+\"] .infobox\").text();\n\t\tvar thetitle = jQuery(\"#listeEmplacementComplet .marker[data-number=\"+theid+\"] h5\").text();\n\t\tjQuery(\"body\").addClass(\"modalActive\");\n\t\tjQuery(\".modaldatebg\").attr(\"style\", \"\");\n\t\tjQuery(\".modaldatebg h5\").text(thetitle);\n\t\tjQuery(\".modaldatebg .content\").text(thetext);\n\t});\n\/\/ Render maps on page load.\nwindow.addEventListener('load', (event) => {\n\tcodeAddress(\"\");\n\tdrawSide();\n});<\/script>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3858a65 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"3858a65\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1c88cd0 elementor-hidden-tablet elementor-hidden-mobile\" data-id=\"1c88cd0\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-dded824\" data-id=\"dded824\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1fffe33 elementor-widget elementor-widget-heading\" data-id=\"1fffe33\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Discover the list of the most sought-after non-perishables<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cbce28b elementor-widget elementor-widget-spacer\" data-id=\"cbce28b\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b53c586 elementor-align-center blanc elementor-widget elementor-widget-button\" data-id=\"b53c586\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6MTIzNDAsInRvZ2dsZSI6ZmFsc2V9\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Non-Perishables Needed<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\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<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Learn more \u00bb Each donation counts. It is thanks to your donations that we can support, for more than 30 years, the underprivileged adults, families, and children of the Laurentian region. You can make your donations either in money form or non-perishable food products at any time during the month of December at one of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11917,"parent":12457,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","footnotes":""},"class_list":["post-12469","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"publishpress_future_action":{"enabled":false,"date":"2026-04-11 05:22:33","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"translation_priority"},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/pages\/12469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/comments?post=12469"}],"version-history":[{"count":1,"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/pages\/12469\/revisions"}],"predecessor-version":[{"id":12470,"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/pages\/12469\/revisions\/12470"}],"up":[{"embeddable":true,"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/pages\/12457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/media\/11917"}],"wp:attachment":[{"href":"https:\/\/moissonlaurentides.org\/en\/wp-json\/wp\/v2\/media?parent=12469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}