const formulario = document.getElementById("servicios_form");
const TipoFormulario = (document.getElementById("tipo_item").value == 'S' ? 'Rubro' : 'Reparación');
$("form#servicios_form").submit(function (e) {
    e.preventDefault();
    MostrarLoader();
    // validacion de campos
    //toastr.error("Ingrese un numero de identificación valido.!!");

    const formData = new FormData(this);
    jQuery.each(jQuery("#servicios_form")[0].files, function (i, file) {
        formData.append("file-" + i, file);
    });
    $.ajax({
        url: "/admin/crearItems",
        type: "POST",
        data: formData,
        success: function (data) {
            if (data.status == "ok") {
                toastr.success(data.message);
                document.getElementById("id_item").value = 0;
                document.getElementById("btn_Modifica").style.display = "none";
                document.getElementById("btn_Grabar").style.display = "";
                formulario.reset();
            } else {
                toastr.error(data.message);
            }
            setTimeout(function () {
                OcultarLoader();
            }, 100);

        },
        cache: false,
        contentType: false,
        processData: false,
    });
});

const Limpiar = () => {
    document.getElementById("id_item").value = 0;
    document.getElementById("btn_Modifica").style.display = "none";
    document.getElementById("btn_Grabar").style.display = "";
    formulario.reset();
}


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

    CambiarBotonGuardar();
    bsCustomFileInput.init();

    //Initialize Select2 Elements
    $('.select2').select2()

    //Initialize Select2 Elements
    $('.select2bs4').select2({
        theme: 'bootstrap4'
    })

    //Datemask dd/mm/yyyy
    $('#datemask').inputmask('dd/mm/yyyy', {
        'placeholder': 'dd/mm/yyyy'
    })
    //Datemask2 mm/dd/yyyy
    $('#datemask2').inputmask('mm/dd/yyyy', {
        'placeholder': 'mm/dd/yyyy'
    })
    //Money Euro
    $('[data-mask]').inputmask()
    //PLACA
    // Initialize InputMask
    $('input').inputmask();

    //Date picker
    $('#reservationdate').datetimepicker({
        format: 'DD/MM/YYYY'
    });
    $('#reservationdate1').datetimepicker({
        format: 'DD/MM/YYYY'
    });
    //Date and time picker
    $('#reservationdatetime').datetimepicker({
        icons: {
            time: 'far fa-clock'
        }
    });

    $('.toastrDefaultSuccess').click(function () {
        //toastr.success('Lorem ipsum dolor sit amet, consetetur sadipscing elitr.')
        $("#servicios_form").submit();
    });
    $('.toastrDefaultInfo').click(function () {
        toastr.info('Lorem ipsum dolor sit amet, consetetur sadipscing elitr.')
    });
    $('.toastrDefaultError').click(function () {
        toastr.error('Lorem ipsum dolor sit amet, consetetur sadipscing elitr.')
    });
    $('.toastrDefaultWarning').click(function () {
        toastr.warning('Lorem ipsum dolor sit amet, consetetur sadipscing elitr.')
    });


    //Date range picker
    $('#reservation').daterangepicker()
    //Date range picker with time picker
    $('#reservationtime').daterangepicker({
        timePicker: true,
        timePickerIncrement: 30,
        locale: {
            format: 'DD/MM/YYYY hh:mm A'
        }
    })

    $('#marca').change(function () {
        SetSel(this);
    })

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



    function cargarBusqueda() {
        var xx = document.getElementById("tipo_item").value;
        var Service = (xx == 'S' ? 'listarServicios' : 'listarReparacion');
        $('#tblBuscarItems').DataTable({
            "processing": true,
            "serverSide": true,
            "responsive": true,
            "lengthChange": false,
            "autoWidth": false,
            "select": true,
            "ajax": {
                'url': Service, 'headers': {
                    'Content-Type': 'application/json',
                    "X-CSRF-Token": csrfToken
                }
            },
            "columns": [
                { data: 'id_item' },
                { data: 'descripcion' },
                { data: 'descripcion_larga' },
                { data: 'fecha_ingreso', visible: false, searchable: false },
                { data: 'precio' },
                { data: 'estado' },
                { data: 'tipo_item', visible: false, searchable: false },
                { data: 'aplica_iva', visible: false, searchable: false },

            ],
            "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 " + TipoFormulario + ":",
                "paginate": {
                    "previous": "Anterior",
                    "next": "siguiente"
                }
            },
            "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
        }).buttons().container().appendTo('#tblBuscarItems_wrapper .col-md-6:eq(0)');

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

        });
    }

    cargarBusqueda();

    $('#busquedaVeh').on('click', function () {
        var table = $('#tblBuscarItems').DataTable();
        table.ajax.reload();
        $("#modal-xl").modal('show');
    });

    function CargarDatosSelect(item) {
        $("#modal-xl").modal('hide');
        document.getElementById("id_item").value = item.id_item;
        document.getElementById("descripcion").value = item.descripcion;
        document.getElementById("descripcion_larga").value = item.descripcion_larga;
        document.getElementById("precio").value = item.precio;
        $("#estado").val(item.estado).change();
        document.getElementById("aplica_iva").checked = (item.aplica_iva == 'S' ? true : false);
        //$("#aplica_iva").val(item.aplica_iva).change(); 
        CambiarBotonGuardar();
    }

    function CambiarBotonGuardar() {
        var systemON = document.getElementById("id_item").value;

        if (systemON > '0') {
            //document.querySelector(`#grupo__accion .button-hidden`).classList.add(".button-visible");
            document.getElementById("btn_Grabar").style.display = "none";
            document.getElementById("btn_Modifica").style.display = "";
        } else {
            //document.querySelector(`#grupo__usuario .button-hidden`).classList.add("formulario__input-error-activo");
            document.getElementById("btn_Modifica").style.display = "none";
            document.getElementById("btn_Grabar").style.display = "";
        }
    }

    function pantallaLimpia() {
        document.getElementById("id_item").value = 0;
        document.getElementById("descripcion").value = "";
        document.getElementById("descripcion_larga").value = "";

    }
    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}`;
    }

})