function createCountdownWidget(containerId) { const container = document.getElementById(containerId); if (!container) return; // Seguridad container.innerHTML = ''; // Limpiar contenido anterior // Crear la estructura const description = document.createElement('div'); description.id = containerId + "-event-description"; description.innerHTML = "

Próximo despacho:

"; const buttonsContainer = document.createElement('div'); buttonsContainer.className = "buttons-container"; const units = [ { id: "days", label: "Días" }, { id: "hours", label: "Horas" }, { id: "minutes", label: "Minutos" }, { id: "seconds", label: "Segundos" } ]; units.forEach(unit => { const button = document.createElement('button'); button.className = "countdown_button"; const span = document.createElement('span'); span.id = containerId + "-" + unit.id; // Importante: ID únicos const label = document.createElement('div'); label.textContent = unit.label; button.appendChild(span); button.appendChild(label); buttonsContainer.appendChild(button); }); container.appendChild(description); container.appendChild(buttonsContainer); } function startCountdown(containerId) { function countdownLoop() { var nowaux = new Date(); var hora = 12; var minutos = 30; var desfaseHorario = -3; var eventDate = new Date('2024-02-24T12:30:00Z'); eventDate.setHours(eventDate.getHours() - desfaseHorario); var horaevento = new Date(); horaevento.setHours(hora, minutos, 0); if (eventDate.getTime() > nowaux.getTime()) { // Todavía no ocurre } else { switch (nowaux.getDay()) { case 5: eventDate.setDate(nowaux.getDate() + 3); break; case 6: eventDate.setDate(nowaux.getDate() + 2); break; case 0: eventDate.setDate(nowaux.getDate() + 1); break; default: if (nowaux.getTime() > horaevento.getTime()) { eventDate.setDate(nowaux.getDate() + 1); } else { eventDate.setDate(nowaux.getDate()); } } eventDate.setMonth(nowaux.getMonth()); eventDate.setFullYear(nowaux.getFullYear()); eventDate.setHours(hora, minutos, 0); } var remTime = eventDate.getTime() - nowaux.getTime(); var s = Math.floor(remTime / 1000); var m = Math.floor(s / 60); var h = Math.floor(m / 60); var d = Math.floor(h / 24); h %= 24; m %= 60; s %= 60; h = (h < 10) ? "0" + h : h; m = (m < 10) ? "0" + m : m; s = (s < 10) ? "0" + s : s; document.getElementById(containerId + "-days").textContent = d; document.getElementById(containerId + "-hours").textContent = h; document.getElementById(containerId + "-minutes").textContent = m; document.getElementById(containerId + "-seconds").textContent = s; setTimeout(countdownLoop, 1000); } countdownLoop(); } // Al cargar la página automáticamente window.onload = function() { createCountdownWidget('countdown-widget'); // Widget afuera (normal) startCountdown('countdown-widget'); // Empieza el contador };