function validarFormulario() {
    const cliente = document.querySelector('input[name="cliente"]').value.trim(); // Obtiene y limpia el valor del campo 'cliente'
    const documento = document.querySelector('input[name="documento"]').value.trim(); // Obtiene y limpia el valor del campo 'documento'
    const concepto = document.querySelector('input[name="concepto"]').value.trim(); // Obtiene y limpia el valor del campo 'concepto'
    const valor = document.querySelector('input[name="valor"]').value.trim(); // Obtiene y limpia el valor del campo 'valor'
    const fecha = document.querySelector('input[name="fecha_emision"]').value; // Obtiene el valor del campo de fecha (no necesita trim)

    if (!cliente || !documento || !concepto || !valor || !fecha) { // Verifica si alguno de los campos obligatorios está vacío
        alert("Completa todos los campos."); // Muestra un mensaje de advertencia
        return false; // Previene el envío del formulario
    }

    if (isNaN(valor) || valor <= 0) { // Valida que el valor ingresado sea un número positivo válido
        alert("El valor debe ser un número positivo."); // Muestra una alerta si el valor es inválido
        return false; // Detiene el envío
    }

    return true; // Si todo es válido, permite que el formulario se envíe
}

function eliminarFactura(id) {
    if (confirm("¿Eliminar esta factura?")) { // Muestra un mensaje de confirmación
        window.location.href = `delete.php?delete_id=${id}`; // Redirecciona al archivo PHP encargado de eliminar la factura
    }
}

function mostrarFormularioActualizar(id, cliente, documento, concepto, valor, fecha) {
    const form = document.createElement('div'); // Crea dinámicamente un contenedor <div>
    form.innerHTML = ` 
        <form action="update.php" method="POST" class="update-form"> <!-- Formulario que se envía al backend para actualizar la factura -->
            <input type="hidden" name="update_id" value="${id}"> <!-- Campo oculto con el ID de la factura -->
            <input type="text" name="update_cliente" value="${cliente}" required> <!-- Campo para actualizar el nombre del cliente -->
            <input type="text" name="update_documento" value="${documento}" required> <!-- Campo para actualizar el documento -->
            <input type="text" name="update_concepto" value="${concepto}" required> <!-- Campo para actualizar el concepto -->
            <input type="number" name="update_valor" value="${valor}" required> <!-- Campo para actualizar el valor -->
            <input type="date" name="update_fecha" value="${fecha}" required> <!-- Campo para actualizar la fecha -->
            <button type="submit" name="update">Actualizar</button> <!-- Botón que envía el formulario -->
            <button type="button" onclick="this.parentNode.remove()">Cancelar</button> <!-- Botón que elimina el formulario del DOM si el usuario cancela -->
        </form>
    `;
    document.body.appendChild(form); // Agrega el formulario dinámicamente al cuerpo del documento
}
