const formulario = document.getElementById("modelo_form");

$("form#modelo_form").submit(function (e) {
    e.preventDefault();
    MostrarLoader();
    // validacion de campos
    //toastr.error("Ingrese un numero de identificación valido.!!");
    const formData = new FormData(this);
    $.ajax({
        url: "/admin/createModelos",
        type: "POST",
        data: formData,
        success: function (data) {
            if (data.status == "ok") {
                toastr.success(data.message);
                formulario.reset();
            } else {
                toastr.error(data.message);
            }
            setTimeout(function () {
                OcultarLoader();
            }, 100);
        },
        cache: false,
        contentType: false,
        processData: false,
    });
});

$(function() {
    //document.getElementById("id_vehiculo").value = 0;

    //CambiarBotonGuardar();

    const csrfToken = document.head.querySelector("[name~=csrf-token][content]").content;

    function SetComboMarca() {
        $.ajax({
            url: "/vehiculo/CargarMarcas",
            type: "GET",
            headers: {
                'Content-Type': 'application/json',
                "X-CSRF-Token": csrfToken
            },
            success: function(data) {
                if (data.status == "ok") {
                    var opciones = ""; //"<option value=''>Elegir</option>";
                    for (let i in data.object) {
                        opciones += '<option value="' + data.object[i].CodigoCatalogo + '">' +
                            data.object[i].Descricion + '</option>';
                    }
                    document.getElementById("marca").innerHTML = opciones;
                } else {
                    toastr.error(data.message);
                }
            },
            cache: false,
            contentType: false,
            processData: false,
        });
    }

    function RecargarPantalla() {
        $('#tblBuscarModelos').DataTable({
            "processing": true,
            "serverSide": true,
            "responsive": true,
            "lengthChange": false,
            "autoWidth": false,
            "select": true,
            //"ajax": "{{ url('/listarModelos') }}",
            "ajax": {
                'url': 'listarModelos', 'headers': {
                    'Content-Type': 'application/json',
                    "X-CSRF-Token": csrfToken
                }
            },
            "columns": [{
                    data: 'cod_marca'
                },
                {
                    data: 'des_marca'
                },
                {
                    data: 'IdDetcatalogo',
                    visible: false,
                    searchable: false,
                },
                {
                    data: 'IdCatalogo',
                    visible: false,
                    searchable: false,
                },
                {
                    data: 'CodigoCatalogo'
                },
                {
                    data: 'Descricion'
                },
                {
                    data: 'IdPadre',
                    visible: false,
                    searchable: false,
                },
                {
                    data: 'Estado',
                }
            ],
            "language": {
                "lengthMenu": "Mostrar _MENU_ registros por página",
                "zeroRecords": "No se encontró nada - lo siento",
                "info": "Mostrando la página _PAGE_ de _PAGES_",
                "infoEmpty": "No hay registros disponibles",
                "infoFiltered": "(filtrado de _MAX_ registros totales)",
                "search": "Buscar Modelos:",
                "paginate": {
                    "previous": "Anterior",
                    "next": "siguiente"
                }
            },
            "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
        }).buttons().container().appendTo('#tblBuscarModelos_wrapper .col-md-6:eq(0)');

        var table = $('#tblBuscarModelos').DataTable();
        $('#tblBuscarModelos tbody').on('click', 'tr', function() {
            var row = table.row(this).data();
            CargarDatosSelect(row);

        });
    }

    $('document').ready(function() {
        RecargarPantalla();
    })

    $('#busquedaVeh').on('click', function() {
        pantallaLimpia();
        SetComboMarca();
        $("#modal-xl").modal('show');
    });

    $('#btnRecargar').on('click', function() {
        pantallaLimpia();
        //RecargarPantalla();
        var table = $('#tblBuscarModelos').DataTable();
        table.ajax.reload();
    });

    function CargarDatosSelect(item) {
        $("#modal-xl").modal('show');
        SetComboMarca();
        document.getElementById("IdDetcatalogo").value = item.IdDetcatalogo;
        document.getElementById("descricion").value = item.Descricion;
        document.getElementById("CodigoCatalogo").value = item.CodigoCatalogo;
        document.getElementById("IdPadre").value = item.IdPadre;
        $("#estado").val(item.Estado).change();
        setTimeout(function() {
            $("#marca").val(item.cod_marca).change();
        }, 800);
        //document.getElementById("estado").value = item.Estado;
    }

    $('.toastrDefaultSuccess').click(function() {
        //$("#modelo_form").submit();
        pantallaLimpia();
        $("#modal-xl").modal('show');
    });

    $('#btnGuardar').on('click', function() {
        $("#modelo_form").submit();
        $("#modal-xl").modal('hide');
        var table = $('#tblBuscarModelos').DataTable();
        setTimeout(function() {
            table.ajax.reload();
        }, 1500);
    });

    function pantallaLimpia() {
        document.getElementById("IdDetcatalogo").value = 0;
        document.getElementById("descricion").value = "";
        document.getElementById("CodigoCatalogo").value = 0;
        document.getElementById("IdPadre").value = 0;
        $("#estado").val('A').change();

    }

    function format(inputDate) {
        let fecha = new Date(inputDate);
        let date, month, year;

        date = fecha.getDate() + 1;
        month = fecha.getMonth() + 1;
        year = fecha.getFullYear();

        date = date
            .toString()
            .padStart(2, '0');

        month = month
            .toString()
            .padStart(2, '0');

        return `${date}/${month}/${year}`;
    }

})