const formulario = document.getElementById("formulario"); const mensajeDiv = document.getElementById("mensaje"); const buscadorBoton = document.getElementById("buscadorBoton"); const buscadorInput = document.getElementById("buscadorColaborador"); const cerrarSesion = document.getElementById("cerrarSesion"); // Función para cambiar de paso en el formulario function siguientePaso (paso) { paso = Number(paso); // Asegurar que sea número const pasos = document.querySelectorAll("[id^='paso']"); // Ocultar todos los pasos pasos.forEach(p => p.classList.add("d-none")); // Mostrar el paso seleccionado document.getElementById(`paso${paso}`).classList.remove("d-none"); } // Enviar formulario formulario.addEventListener("submit", async (event) => { event.preventDefault(); const capacidadTotal = parseInt(document.getElementById("capacidad_total").value, 10); if (isNaN(capacidadTotal) || capacidadTotal <= 0) { mensajeDiv.innerHTML = '<div class="alert alert-danger">Error: La capacidad total debe ser un número mayor a 0.</div>'; return; } const datosConcierto = { nombre_concierto: document.getElementById("nombre_concierto").value.trim(), artista: document.getElementById("artista").value.trim(), fecha: document.getElementById("fecha").value, calle: document.getElementById("calle").value.trim(), colonia: document.getElementById("colonia").value.trim(), numero_direccion: document.getElementById("numero_direccion").value.trim(), codigo_postal: document.getElementById("codigo_postal").value.trim(), estado: document.getElementById("estado").value.trim(), capacidad_total: capacidadTotal, zonas: [ { nombre_zona: "General", capacidad: parseInt(document.getElementById("capacidad_general").value, 10) || 0, precio: parseFloat(document.getElementById("precio_general").value) || 0 }, { nombre_zona: "Plata", capacidad: parseInt(document.getElementById("capacidad_plata").value, 10) || 0, precio: parseFloat(document.getElementById("precio_plata").value) || 0 }, { nombre_zona: "Oro", capacidad: parseInt(document.getElementById("capacidad_oro").value, 10) || 0, precio: parseFloat(document.getElementById("precio_oro").value) || 0 }, { nombre_zona: "VIP", capacidad: parseInt(document.getElementById("capacidad_vip").value, 10) || 0, precio: parseFloat(document.getElementById("precio_vip").value) || 0 } ] }; const sumaCapacidades = datosConcierto.zonas.reduce((total, zona) => total + zona.capacidad, 0); if (sumaCapacidades > capacidadTotal) { mensajeDiv.innerHTML = '<div class="alert alert-danger">La suma de las capacidades de las zonas no puede superar la capacidad total.</div>'; return; } else if (sumaCapacidades < capacidadTotal){ mensajeDiv.innerHTML = '<div class="alert alert-danger">La suma de las capacidades de las zonas no puede ser menor a la capacidad total.</div>'; return; } try { const respuesta = await fetch("controladores/insertar_concierto.php", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(datosConcierto) }); if (!respuesta.ok) { throw new Error(`HTTP Error: ${respuesta.status}`); } const data = await respuesta.json(); if (data.insercionCorrecta) { formulario.reset(); siguientePaso(1); mensajeDiv.innerHTML = '<div class="alert alert-success">Concierto registrado correctamente.</div>'; } else { mensajeDiv.innerHTML = `<div class="alert alert-danger">Error: ${data.error || "No se pudo registrar el concierto."}</div>`; } } catch (error) { mensajeDiv.innerHTML = `<div class="alert alert-danger">Error en la solicitud: ${error.message}</div>`; console.error("Error:", error); } }); // Cerrar sesión cerrarSesion.addEventListener("click", () => { window.location.href = "logout.php"; });