// Boomermania - UI de Eventos

// Mostrar modal de evento
function mostrarEvento(evento) {
    const modal = document.getElementById('event-modal');
    const headerEl = document.getElementById('event-header');
    const titleEl = document.getElementById('event-title');
    const descEl = document.getElementById('event-description');
    const optionsEl = document.getElementById('event-options');

    if (!modal || !evento) return;

    // Rellenar contenido
    const decada = getDecadaActual();
    headerEl.textContent = decada ? decada.name : 'EVENTO';
    titleEl.textContent = evento.titulo;
    descEl.textContent = evento.descripcion;

    // Crear opciones
    optionsEl.innerHTML = '';
    evento.opciones.forEach((opcion, index) => {
        const optionEl = document.createElement('div');
        optionEl.className = 'event-option';
        optionEl.tabIndex = 0;
        optionEl.setAttribute('role', 'button');
        optionEl.innerHTML = `
            <div class="event-option-title">${opcion.texto}</div>
            <div class="event-option-effect">${opcion.descripcionEfecto}</div>
        `;

        optionEl.addEventListener('click', () => {
            seleccionarOpcionEvento(evento, index);
        });

        optionsEl.appendChild(optionEl);
    });

    // Mostrar modal
    modal.classList.add('active');

    if (typeof audioSystem !== 'undefined') audioSystem.playAlert();

    // Anunciar para screen readers
    if (typeof announceEvent === 'function') {
        announceEvent(evento.titulo, evento.descripcion);
    }
    
    // Setup focus trap
    if (typeof setupFocusTrap === 'function') {
        setupFocusTrap(modal, cerrarEventoModal);
    }
}

// Seleccionar opción de evento
function seleccionarOpcionEvento(evento, opcionIndex) {
    const opcion = evento.opciones[opcionIndex];
    if (!opcion) return;

    // Aplicar efectos
    aplicarEfectos(opcion.efecto);

    // Incrementar contador de eventos
    gameState.stats.eventosResueltos++;

    // Cerrar modal
    cerrarEventoModal();

    // Actualizar display
    updateDisplay();

    // Guardar
    saveGame();
}

// Cerrar modal de evento
function cerrarEventoModal() {
    const modal = document.getElementById('event-modal');
    if (modal) {
        modal.classList.remove('active');
        if (typeof removeFocusTrap === 'function') {
            removeFocusTrap(modal);
        }
    }
}

// Mostrar frase del boomer (modal temporal)
function mostrarFraseBoomer(frase) {
    const modal = document.getElementById('quote-modal');
    const textEl = document.getElementById('quote-text');

    if (!modal || !textEl) return;

    textEl.textContent = `"${frase}"`;
    modal.classList.add('active');

    // Auto-cerrar después de 2 segundos
    setTimeout(() => {
        modal.classList.remove('active');
    }, 2000);
}

// Mostrar frase aleatoria de la década
function mostrarFraseDecada() {
    const decada = getAnoActual();
    const frase = getFrase('decada', decada);
    mostrarFraseBoomer(frase);
}
