document.addEventListener('DOMContentLoaded', function () {
const paysField = document.querySelector('[name="select-1"]');
const poidsField = document.querySelector('[name="number-4"]');
const longueurField = document.querySelector('[name="number-2"]');
const largeurField = document.querySelector('[name="number-1"]');
const hauteurField = document.querySelector('[name="number-3"]');
const expressField = document.querySelector('[name="checkbox-1"]');
const assuranceField = document.querySelector('[name="checkbox-2"]');
const resultDiv = document.getElementById("resultat-prix");
function getTarif() {
const pays = paysField?.value;
const poids = parseFloat(poidsField?.value) || 0;
const longueur = parseFloat(longueurField?.value) || 0;
const largeur = parseFloat(largeurField?.value) || 0;
const hauteur = parseFloat(hauteurField?.value) || 0;
const express = expressField?.checked;
const assurance = assuranceField?.checked;
const lignes = document.querySelectorAll("#tablepress-1 tbody tr");
let prix = null;
lignes.forEach((ligne) => {
const cells = ligne.querySelectorAll("td");
const p = cells[0]?.innerText.trim();
const minPoids = parseFloat(cells[1]?.innerText);
const maxPoids = parseFloat(cells[2]?.innerText);
const maxL = parseFloat(cells[3]?.innerText);
const maxLa = parseFloat(cells[4]?.innerText);
const maxH = parseFloat(cells[5]?.innerText);
const prixBase = parseFloat(cells[6]?.innerText);
const prixExpress = parseFloat(cells[7]?.innerText);
const prixAssurance = parseFloat(cells[8]?.innerText);
if (
p === pays &&
poids >= minPoids &&
poids <= maxPoids &&
longueur <= maxL &&
largeur <= maxLa &&
hauteur <= maxH
) {
prix = prixBase;
if (express) prix += prixExpress;
if (assurance) prix += prixAssurance;
}
});
if (prix !== null) {
resultDiv.innerHTML = `
Prix total : ${prix.toFixed(2)} €`;
} else {
resultDiv.innerHTML = `
Aucun tarif trouvé pour ces dimensions/poids`;
}
}
[paysField, poidsField, longueurField, largeurField, hauteurField, expressField, assuranceField].forEach((field) => {
field?.addEventListener("input", getTarif);
field?.addEventListener("change", getTarif);
});
});