Начало / Калкулатор – Реална цена на пелените
Калкулатор – Реална цена на пелените
Изчислете вашия реален разход
Всички цени и изчисления са в евро (€).
Сравнете с ECO BOOM
Изберете серия
Изберете
Premium
Pure
AIR
Размер ECO BOOM
Изберете
Размер 0 (2 – 4.5 кг.)
Размер 2 (3 – 8 кг.)
Размер 3 (6 – 10 кг.)
Размер 4 (9 – 14 кг.)
Размер 5 (над 12 кг.)
Изчисли реалната цена
document.addEventListener("DOMContentLoaded", async function () {
const btn = document.getElementById("calculateBtn");
const results = document.getElementById("results");
if (!btn || !results) return;
// Ако имаш таблица/мап с ECO BOOM данни от предните стъпки – остави я така.
// Тук очакваме да е налична като window.ECO_BOOM_MAP[series][size] = { price, count, url }
// Пример:
// window.ECO_BOOM_MAP = {
// premium: { "4": { price: 11.90, count: 30, url: "..." } },
// pure: { "4": { price: 10.90, count: 32, url: "..." } },
// air: { "4": { price: 10.00, count: 30, url: "" } }
// };
function fmtEUR(n){
return Number(n).toFixed(2) + " €";
}
function setState(percentDifference){
// percentDifference = (eco - mom) / mom * 100
// отрицателно => ECO е по-евтин => GOOD
results.classList.remove("calc-good","calc-mid","calc-bad","empty");
if (percentDifference <= -10) results.classList.add("calc-good");
else if (percentDifference > -10 && percentDifference < 10) results.classList.add("calc-mid");
else results.classList.add("calc-bad");
}
function badgeText(percentDifference){
if (percentDifference <= -10) return "✅ ECO BOOM е значително по-изгоден";
if (percentDifference > -10 && percentDifference < 10) return "ℹ️ Разликата е малка";
return "⚠️ Текущият ви избор излиза по-изгодно";
}
btn.addEventListener("click", function (e) {
e.preventDefault();
const interval = parseFloat(document.getElementById("changeInterval")?.value || "");
const packPrice = parseFloat(document.getElementById("packPrice")?.value || "");
const packCount = parseFloat(document.getElementById("packCount")?.value || "");
const ecoSeries = (document.getElementById("ecoSeries")?.value || "").toLowerCase();
const ecoSize = document.getElementById("ecoSize")?.value || "";
if (!interval || !packPrice || !packCount) {
results.className = "calc-results";
results.innerHTML = `⚠️ Моля попълнете полетата за вашия разход.
`;
return;
}
// ----- Майката -----
const momChangesPerDay = 24 / interval;
const momDiapersPerMonth = momChangesPerDay * 30;
const momPricePerDiaper = packPrice / packCount;
const momMonthly = momDiapersPerMonth * momPricePerDiaper;
const mom6m = momMonthly * 6;
const mom12m = momMonthly * 12;
// ----- ECO BOOM (константа 6 часа => 4/ден) -----
const ecoChangesPerDay = 5 ; // фиксирано, както каза
const ecoDiapersPerMonth = ecoChangesPerDay * 30;
// Взимаме данните за ECO BOOM от твоя мап (който вече имаш от предните стъпки)
const ecoMap = window.ECO_BOOM_MAP || {};
const ecoEntry = ecoMap?.[ecoSeries]?.[ecoSize];
if (!ecoSeries || !ecoSize || !ecoEntry || !ecoEntry.price || !ecoEntry.count) {
results.className = "calc-results calc-bad";
results.innerHTML = `
⚠️ Няма въведени данни за избраната серия/размер ECO BOOM.
Провери дали window.ECO_BOOM_MAP съдържа цена и брой за ${ecoSeries || "(серия)"} / размер ${ecoSize || "(размер)"}.
`;
return;
}
const ecoPackPrice = Number(ecoEntry.price);
const ecoPackCount = Number(ecoEntry.count);
const ecoPricePerDiaper = ecoPackPrice / ecoPackCount;
const ecoMonthly = ecoDiapersPerMonth * ecoPricePerDiaper;
const eco6m = ecoMonthly * 6;
const eco12m = ecoMonthly * 12;
// ----- Разлика -----
const diffMonthly = ecoMonthly - momMonthly; // ако е отрицателно => ECO е по-евтин
const diff6m = eco6m - mom6m;
const diff12m = eco12m - mom12m;
const percentDifference = (diffMonthly / momMonthly) * 100;
setState(percentDifference);
const diffLabel = (d) => {
const abs = Math.abs(d);
if (d < 0) return `Спестявате ${fmtEUR(abs)} `;
if (d > 0) return `Плащате повече ${fmtEUR(abs)} `;
return `Няма разлика`;
};
const ecoLink = ecoEntry.url ? `Виж продукта
` : "";
results.innerHTML = `
${badgeText(percentDifference)} (${percentDifference.toFixed(2)}%)
Вашият реален разход
Смени на ден: ${momChangesPerDay.toFixed(1)}
Месечно: ${fmtEUR(momMonthly)}
За 6 месеца: ${fmtEUR(mom6m)}
За 12 месеца: ${fmtEUR(mom12m)}
ECO BOOM (${ecoSeries.toUpperCase()} / Размер ${ecoSize})
Цена (1 пакет): ${fmtEUR(ecoPackPrice)}
Брой в пакет: ${ecoPackCount}
Месечно: ${fmtEUR(ecoMonthly)}
За 6 месеца: ${fmtEUR(eco6m)}
За 12 месеца: ${fmtEUR(eco12m)}
${ecoLink}
Разлика
Месечно: ${diffLabel(diffMonthly)}
За 6 месеца: ${diffLabel(diff6m)}
За 12 месеца: ${diffLabel(diff12m)}
`;
});
// стартово скриваме резултатите
results.classList.add("empty");
});