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);
}
});