Zylker Inc zoho technologies private limited Tenkasi

document.addEventListener("DOMContentLoaded", function () { /* -------- Date Helpers -------- */ function addDays(date, days) { const d = new Date(date); d.setDate(d.getDate() + days); return d; } function isWorkingDay(date) { const day = date.getDay(); // 0=Sun, 6=Sat return day !== 0 && day !== 6; // Mon-Fri only } function addWorkingDays(startDate, days) { let current = new Date(startDate); let remaining = days; while (remaining > 0) { current = addDays(current, 1); if (isWorkingDay(current)) { remaining--; } } return current; } function formatDate(date) { return date.toISOString().split('T')[0]; // YYYY-MM-DD } /* -------- DOM Wiring -------- */ const calcButton = document.getElementById("calcBtn"); const daysInput = document.getElementById("daysInput"); const typeContainer = document.getElementById("typeContainer"); const dayTypeSelect = document.getElementById("dayType"); const resultDiv = document.getElementById("result"); if (!calcButton || !daysInput || !typeContainer || !dayTypeSelect || !resultDiv) { console.error("Required DOM elements missing"); return; } let enteredDays = 0; calcButton.addEventListener("click", function () { enteredDays = parseInt(daysInput.value, 10); if (!Number.isInteger(enteredDays) || enteredDays < 0) { resultDiv.textContent = "Please enter a valid non-negative integer."; resultDiv.style.color = "red"; return; } typeContainer.style.display = "block"; dayTypeSelect.value = ""; resultDiv.textContent = ""; }); dayTypeSelect.addEventListener("change", function () { if (enteredDays === 0) return; const today = new Date(); let resultDate; if (dayTypeSelect.value === "working") { resultDate = addWorkingDays(today, enteredDays); } else { resultDate = addDays(today, enteredDays); } const formatted = formatDate(resultDate); resultDiv.textContent = `Result date: ${formatted}`; resultDiv.style.color = "green"; // Reset enteredDays = 0; typeContainer.style.display = "none"; dayTypeSelect.value = ""; daysInput.value = ""; }); });