document.addEventListener("DOMContentLoaded", () => { const feature = document.getElementById("feature"); if (!feature) return; const livraisonMinJours = 1; const livraisonMaxJours = 2; const heureSeparation = 14; // après 14h = ajout d'un jour function getLivraisonDate(minJours, maxJours) { const now = new Date(); const dateLivraison = new Date(now); // Décalage d'un jour si on est après l'heure de séparation if (now.getHours() >= heureSeparation) dateLivraison.setDate(dateLivraison.getDate() + 1); // Calcul de la date minimale en jours ouvrés let joursOuvres = 0; while (joursOuvres < minJours) { dateLivraison.setDate(dateLivraison.getDate() + 1); const day = dateLivraison.getDay(); if (day !== 0 && day !== 6) joursOuvres++; } // Calcul de la date maximale en jours ouvrés const maxDate = new Date(dateLivraison); joursOuvres = 0; while (joursOuvres < maxJours - minJours) { maxDate.setDate(maxDate.getDate() + 1); const day = maxDate.getDay(); if (day !== 0 && day !== 6) joursOuvres++; } const mois = ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]; return `${dateLivraison.getDate()} - ${maxDate.getDate()} ${mois[dateLivraison.getMonth()]}`; } const livraisonEstimee = getLivraisonDate(livraisonMinJours, livraisonMaxJours); const stockPos = feature.querySelector(".stock_pos"); if (stockPos && !feature.querySelector(".livraison_estimee")) { const livraisonDiv = document.createElement("p"); livraisonDiv.className = "livraison_estimee"; livraisonDiv.style = "background-color: aliceblue; font-size: 13px; color: #124282; margin-bottom: 6px;"; livraisonDiv.innerHTML = "Livraison estimée : " + livraisonEstimee; stockPos.parentNode.insertBefore(livraisonDiv, stockPos.nextSibling); } });