// Microtextos de urgencia para botones de WhatsApp const urgencyMessages = [ "Agenda tu asesoría hoy, lugares limitados esta semana.", "Últimos cupos disponibles para revisión personalizada.", "Las familias que actúan a tiempo protegen mejor su patrimonio.", "Consulta gratuita disponible solo por tiempo limitado.", "Aprovecha la asesoría sin costo mientras tengamos disponibilidad.", "Los mejores planes se agotan rápido, separa tu lugar hoy.", "Protege a tu familia antes de que sea necesario usarlo.", "La tranquilidad no espera, agenda tu consulta ahora.", "Cupos limitados para asesorías personalizadas esta semana.", "Las decisiones inteligentes se toman a tiempo.", "Solo atendemos 15 familias por mes, reserva tu lugar.", "Espacios disponibles para esta quincena únicamente." ]; // Función para obtener mensaje aleatorio function getRandomUrgencyMessage() { const randomIndex = Math.floor(Math.random() * urgencyMessages.length); return urgencyMessages[randomIndex]; } // Función para inicializar los microtextos function initializeUrgencyTexts() { const urgencyElements = document.querySelectorAll('.urgency-text'); urgencyElements.forEach(element => { // Asignar mensaje aleatorio único a cada elemento element.textContent = getRandomUrgencyMessage(); }); } // Variable para almacenar el interval let rotationInterval = null; // Función para rotar mensajes cada 25 segundos function startUrgencyRotation() { rotationInterval = setInterval(() => { const urgencyElements = document.querySelectorAll('.urgency-text'); urgencyElements.forEach(element => { // Efecto de fade out element.style.opacity = '0'; setTimeout(() => { // Cambiar texto y hacer fade in element.textContent = getRandomUrgencyMessage(); element.style.opacity = '1'; }, 300); }); }, 25000); // Rotar cada 25 segundos } // Función de inicialización function init() { // Esperar a que el DOM esté completamente cargado setTimeout(() => { initializeUrgencyTexts(); startUrgencyRotation(); }, 100); } // Función de limpieza function teardown() { if (rotationInterval) { clearInterval(rotationInterval); rotationInterval = null; } } // Exportar funciones para el sistema de Landingsite export { init, teardown };