document.addEventListener('DOMContentLoaded', function() {
    const asientos = document.querySelectorAll('.asiento.disponible');
    const resumenAsientos = document.getElementById('asientosSeleccionados');
    const resumenTotal = document.getElementById('totalVenta');
    const asientosInput = document.getElementById('asientosSeleccionadosInput');
    const formulario = document.getElementById('formularioVenta');
    
    let seleccionados = [];
    const precioBoleto = 50.00; // Precio por boleto
    
    // Función para actualizar el resumen
    function actualizarResumen() {
        if (seleccionados.length === 0) {
            resumenAsientos.textContent = 'Ninguno';
            resumenTotal.textContent = '0.00';
        } else {
            // Mostrar los asientos seleccionados
            const detalles = seleccionados.map(asiento => {
                const fila = Math.floor((asiento.id - 1) / 15) + 1;
                const numero = ((asiento.id - 1) % 15) + 1;
                return `F${fila}-${numero}`;
            });
            
            resumenAsientos.textContent = detalles.join(', ');
            resumenTotal.textContent = (seleccionados.length * precioBoleto).toFixed(2);
            
            // Actualizar campo oculto para el envío del formulario
            asientosInput.innerHTML = '';
            seleccionados.forEach(asiento => {
                const input = document.createElement('input');
                input.type = 'hidden';
                input.name = 'asientos[]';
                input.value = asiento.id;
                asientosInput.appendChild(input);
            });
        }
    }
    
    // Escuchar clics en los asientos
    asientos.forEach(asiento => {
        asiento.addEventListener('click', function() {
            const asientoId = parseInt(this.getAttribute('data-id'));
            
            // Verificar si ya está seleccionado
            const indice = seleccionados.findIndex(a => a.id === asientoId);
            
            if (indice === -1) {
                // Agregar a seleccionados
                seleccionados.push({
                    id: asientoId,
                    elemento: this
                });
                this.classList.remove('disponible');
                this.classList.add('seleccionado');
            } else {
                // Quitar de seleccionados
                seleccionados.splice(indice, 1);
                this.classList.remove('seleccionado');
                this.classList.add('disponible');
            }
            
            actualizarResumen();
        });
    });
    
    // Validar formulario antes de enviar
    formulario.addEventListener('submit', function(e) {
        if (seleccionados.length === 0) {
            e.preventDefault();
            alert('Por favor, seleccione al menos un asiento.');
            return false;
        }
        
        const nombreCliente = document.getElementById('nombre_cliente').value.trim();
        if (nombreCliente === '') {
            e.preventDefault();
            alert('Por favor, ingrese el nombre del cliente.');
            return false;
        }
        
        return true;
    });
});