/* global Swal */

function validarFormularioVehiculo(evento) {
    evento.preventDefault();

    var placa = document.getElementById('placa').value.trim();
    if (placa.length === 0) {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, ingrese la Placa (ej. A1B645)',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var ano = document.getElementById('ano').value.trim();
    if (!/^\d{4}$/.test(ano)) {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, ingrese un Año válido (4 dígitos)',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var marca = document.getElementById('marca').value.trim();
    if (marca.length === 0) {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, ingrese la Marca',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var modelo = document.getElementById('modelo').value.trim();
    if (modelo.length === 0) {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, ingrese el Modelo',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var tipoVehiculo = document.getElementById('tipo_vehiculo_id').value;
    if (tipoVehiculo === "") {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, seleccione el Tipo de Vehículo',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var tipoCombustible = document.getElementById('tipo_combustible_id').value;
    if (tipoCombustible === "") {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, seleccione el Tipo de Combustible',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var capacidad = document.getElementById('capacidad_combustible').value.trim();
    if (!/^\d+(\.\d{1,2})?$/.test(capacidad)) {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, ingrese una Capacidad válida (ej. 50 o 50.5)',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    var kilometraje = document.getElementById('kilometraje_inicial').value.trim();
    if (!/^\d+$/.test(kilometraje)) {
        Swal.fire({
            width: '23rem',
            position: 'center',
            icon: 'info',
            title: 'Por favor, ingrese un Kilometraje válido',
            showConfirmButton: false,
            timer: 1500
        });
        return;
    }

    this.submit();
}

document.addEventListener("DOMContentLoaded", function () {
    document.getElementById("Registrar_Vehiculo").addEventListener('submit', validarFormularioVehiculo);
});

/* Mensajes post-registro */
window.onload = function () {
    var urlParams = new URLSearchParams(window.location.search);
    var mensaje = urlParams.get('mensaje');

    if (mensaje === "RegistroExitoso") {
        Swal.fire({
            icon: 'success',
            title: '¡Vehículo registrado correctamente!',
            confirmButtonColor: '#28a745'
        });
    } else if (mensaje === "RegistroErroneo") {
        Swal.fire({
            icon: 'error',
            title: 'Error',
            text: 'No se pudo registrar el vehículo. Intenta nuevamente.',
            confirmButtonColor: '#d33'
        });
    }
};
