/* global Swal */

document.addEventListener("DOMContentLoaded", function () {
    const form = document.getElementById("Registrar_Grifo");

    // Convertir a mayúsculas campos específicos
    ["nombre", "lugar"].forEach(id => {
        const input = document.getElementById(id);
        input.addEventListener("input", () => {
            input.value = input.value.toUpperCase();
        });
    });

    form.addEventListener("submit", function (e) {
        e.preventDefault();

     const campos = [
  {
    id: "nombre",
    mensaje: "Por favor, ingrese el Nombre del Grifo.",
    regex: /^[A-Z0-9\s\-\(\)\/]+$/ 
},
{
    id: "ruc",
    mensaje: "Por favor, ingrese un RUC válido de 11 dígitos numéricos.",
    regex: /^\d{11}$/
},
{
    id: "telefono",
    mensaje: "Por favor, ingrese un Teléfono válido de 9 dígitos numéricos.",
    regex: /^\d{9}$/
},
{
    id: "lugar",
    mensaje: "Por favor, ingrese el Lugar del Grifo.",
    regex: /^[A-Z0-9\s\-\(\)\/]+$/

}
];



        for (const campo of campos) {
            const input = document.getElementById(campo.id);
            const valor = input.value.trim();

            if (!valor || (campo.regex && !campo.regex.test(valor))) {
                Swal.fire({
                    width: '23rem',
                    position: 'center',
                    icon: 'info',
                    title: campo.mensaje,
                    showConfirmButton: false,
                    timer: 1500
                });
                input.focus();
                return;
            }
        }

        form.submit();
    });

    // Limitar longitud y solo dígitos
    document.getElementById("ruc").addEventListener("input", function () {
        this.value = this.value.replace(/\D/g, '').slice(0, 11);
    });

    document.getElementById("telefono").addEventListener("input", function () {
        this.value = this.value.replace(/\D/g, '').slice(0, 9);
    });
});

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

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