var datoslist = [];

$('#form_referralGuide').submit(function(evt) {

    var sensor = 0;
    var strgMenss = "Los siguientes campos y condiciones son obligatorios: \n";

    var motive_GR = document.getElementById("motive_GR").value;
    if (motive_GR == 0) {
        strgMenss += " * Motivo de translado \n";
        sensor = 1;
    }

    var tipoTransporte_GR = document.getElementById("tipoTransporte_GR").value;
    if (tipoTransporte_GR == 0) {
        strgMenss += " * Tipo de transporte \n";
        sensor = 1;
    } else {

        if (tipoTransporte_GR == 2) {
            //strgMenss +=" * Tipo de transporte \n";
            //sensor=1;
            var tipoDNI_transportista = document.getElementById("tipoDNI_transportista").value;
            if (tipoDNI_transportista == 0) {
                strgMenss += " * Tipo de documento de identidad - Transportista \n";
                sensor = 1;
            } else {
                $('#tipoDNI_transportista_hidden').val(tipoDNI_transportista);
            }


            var RucTransportista = document.getElementById("RucTransportista").value;
            if (RucTransportista == "") {
                strgMenss += " * RUC/DNI de Transportista \n";
                sensor = 1;
            }

            var firstNameTransportista = document.getElementById("firstNameTransportista").value;
            if (firstNameTransportista == "") {
                strgMenss += " * Nombre del transportista \n";
                sensor = 1;
            }
            var lastNameTransportista = document.getElementById("lastNameTransportista").value;
            if (lastNameTransportista == "") {
                strgMenss += " * Apellidos de Transportista \n";
                sensor = 1;
            }

            var placa_GR = document.getElementById("placa_GR").value;
            if (placa_GR == "") {
                strgMenss += " * Placa del vehiculo \n";
                sensor = 1;
            }
            var licencia_GR = document.getElementById("numeroLicencia").value;
            if (licencia_GR == "") {
                strgMenss += " * Licencia del conductor \n";
                sensor = 1;
            } else if (licencia_GR.length < 9) {
                strgMenss += " * Licencia del conductor es alfanumérico de 9 a 10 caracteres \n";
                sensor = 1;
            }

        }
        $('#tipoDNI_transportista_hidden').val($('#tipoDNI_transportista').val());

    }

    /*var packetNumber = document.getElementById("packetNumber").value;
    if(packetNumber ==""){
    	strgMenss +=" * Número de Paquetes \n";
    	sensor=1;
    }*/

    /*var nota_GR = document.getElementById("nota_GR").value;
    if(nota_GR ==""){
    	strgMenss +=" * Nota \n";
    	sensor=1;
    }*/

    var fecha_inicio_trasladoGR = document.getElementById("fecha_inicio_trasladoGR").value;
    if (fecha_inicio_trasladoGR == "") {
        strgMenss += " * Fecha inicio de Translado \n";
        sensor = 1;
    }
    if (motive_GR != "02" && motive_GR != "04") {
        var nameReceptor = document.getElementById("nameReceptor").value;
        if (nameReceptor == "") {
            strgMenss += " * Nombre/Razon social de Receptor \n";
            sensor = 1;
        }

        var tipoDNI_Receptor = document.getElementById("tipoDNI_Receptor").value;
        if (tipoDNI_Receptor == 0) {
            strgMenss += " * Tipo - documento de identidad - Receptor \n";
            sensor = 1;
        }

        var rucReceptor = document.getElementById("rucReceptor").value;
        if (rucReceptor == "") {
            strgMenss += " * RUC/DNI de Receptor \n";
            sensor = 1;
        }
    }


    var Peso_Total_produc = document.getElementById("Peso_Total_produc").value;
    if (Peso_Total_produc == "") {
        strgMenss += " * Peso total del conjunto de productos \n";
        sensor = 1;
    }

    var distri_salida = document.getElementById("distri_salida").value;
    if (distri_salida == 0) {
        strgMenss += " * Distrito de salida \n";
        sensor = 1;
    }

    var direcc_salida = document.getElementById("direcc_salida").value;
    if (direcc_salida == "") {
        strgMenss += " * Dirección de salida \n";
        sensor = 1;
    }

    var distri_llegada = document.getElementById("distri_llegada").value;
    if (distri_llegada == 0) {
        strgMenss += " * Distrito de llegada \n";
        sensor = 1;
    }

    var direcc_llegada = document.getElementById("direcc_llegada").value;
    if (direcc_llegada == "") {
        strgMenss += " * Dirección de llegada \n";
        sensor = 1;
    }

    var items_validar = document.getElementsByClassName('quantityProduct');
    if (items_validar.length <= 0) {
        strgMenss += " * Se debe tener por lo menos un item \n";
        sensor = 1;
    } else {

        for (var i = 0; i < items_validar.length; i++) {
            if (items_validar[i].value <= 0) {
                sensor = 1;
                strgMenss += " * Las cantidades de los items no pueden ser 0 o menos \n";
                break;
            }


        }
    }

    if (sensor == 1) {
        evt.preventDefault();
        //alert(items_validar.length);
        alert(strgMenss);
        document.getElementById("add_GR").className = "btn btn-primary";
        document.getElementById('add_GR').disabled = false;
    }


});
document.getElementById("provin_salida").disabled = true;
document.getElementById("distri_salida").disabled = true;

function loadProvinceSalida(departament) {
    var departament = departament;
    $.ajax({
        type: "get",
        url: base_url + 'referral_guide/search_provincia/' + departament,
        dataType: "json",
        async: false,
        success: function(response) {
            $("#provin_salida").prop('disabled', false);
            $("#distri_salida").prop('disabled', true);
            $('option', '#provin_salida').remove();
            $('option', '#distri_salida').remove();
            $("#provin_salida").append('<option value="0">Seleccionar</option>');
            $("#distri_salida").append('<option value="0">Seleccionar</option>');
            $.each(response.data, function(key, registro) {
                $("#provin_salida").append('<option value="' + registro.codProv + '">' + registro.provincia + '</option>');
            });
        }
    });

}

function loadDistritoSalida(departament, province) {
     var departament = departament;
    var province = province;
    $.ajax({
        type: "get",
        url: base_url + 'referral_guide/search_Distrito/' + province + '/' + departament,
        dataType: "json",
        async: false,
        success: function(response) {
            $("#distri_salida").prop('disabled', false);
            $('option', '#distri_salida').remove();
            $("#distri_salida").append('<option value="0">Seleccionar</option>');
            $.each(response.data, function(key, registro) {
                $("#distri_salida").append('<option value=' + registro.ubigeo + '>' + registro.distrito + '</option>');
            });
        }
    });

}

document.getElementById("provin_llegada").disabled = true;
document.getElementById("distri_llegada").disabled = true;
function loadProvinceLlegada(departament) {
    var departament = departament;
    $.ajax({
        type: "get",
        url: base_url + 'referral_guide/search_provincia/' + departament,
        dataType: "json",
        async: false,
        success: function(response) {
            $("#provin_llegada").prop('disabled', false);
            $("#distri_llegada").prop('disabled', true);
            $('option', '#provin_llegada').remove();
            $('option', '#distri_llegada').remove();
            $("#provin_llegada").append('<option value="0">Seleccionar</option>');
            $("#distri_llegada").append('<option value="0">Seleccionar</option>');
            $.each(response.data, function(key, registro) {
                $("#provin_llegada").append('<option value="' + registro.codProv + '">' + registro.provincia + '</option>');
            });
        }
    });

}

function loadDistritoLlegada(departament, province) {
    var departament = departament;
    var province = province;
    $.ajax({
        type: "get",
        url: base_url + 'referral_guide/search_Distrito/' + province + '/' + departament,
        dataType: "json",
        async: false,
        success: function(response) {
            $("#distri_llegada").prop('disabled', false);
            $('option', '#distri_llegada').remove();
            $("#distri_llegada").append('<option value="0">Seleccionar</option>');
            $.each(response.data, function(key, registro) {
                $("#distri_llegada").append('<option value=' + registro.ubigeo + '>' + registro.distrito + '</option>');
            });
        }
    });

}

function capturaNameSelect() {
    $('body').on('change', '#motive_GR', function() {
        $("#name_motive_GR").val($("#motive_GR option:selected").text());
    });
}

function showLabel(event, ui) {
    //$('#cityLabel').text(ui.item.label);
    event.preventDefault();
    var productoCode = ui.item.label;
    var part1 = productoCode.split('(');
    var part2 = part1[1].split(')');
    var code = part2[0];
    var nameProduc = part1[0];
    //alert(part1[0]);
    //alert(part2[0]);
    $('#add_item').val("");
    /*Amador*/
    arraycode = [];
    var repetidos = {};
    for (var prop in datoslist) {
        arraycode.push(datoslist[prop]['code'])

    }
    arraycode.forEach(function(numero) {
        repetidos[numero] = (repetidos[numero] || 0) + 1;

    });
    if (repetidos[code] > 1) {
        console.log('re');
        document.getElementById('Inputcant_' + code).value++;


    } else {
        /*end amador*/
        console.log('va');

        //********************
        var tr = document.createElement("tr");
        tr.id = "tr_" + code;
        document.getElementById("poTableB").appendChild(tr);
        //******************

        var name = document.createElement("td");
        var contenido_name = document.createTextNode(nameProduc + "(" + code + ")");
        name.appendChild(contenido_name);
        name.id = "name_" + code;
        document.getElementById("tr_" + code).appendChild(name);

        //*******************

        var cant = document.createElement("td");
        cant.id = "cant_" + code;
        document.getElementById("tr_" + code).appendChild(cant);

        //*******************

        var tipoUnit = document.createElement("td");
        var contenido_name = document.createTextNode("NIU");
        tipoUnit.appendChild(contenido_name);
        tipoUnit.id = "tipoUnit_" + code;
        document.getElementById("tr_" + code).appendChild(tipoUnit);

        //***************
        var action_td = document.createElement("td");
        action_td.id = "action_td_" + code;
        document.getElementById("tr_" + code).appendChild(action_td);

        var action_delete_div = document.createElement("div");
        action_delete_div.id = "action_delete_div_" + code;
        action_delete_div.className = "btn btn-danger trashJs";
        document.getElementById("action_td_" + code).appendChild(action_delete_div);

        var action_delete = document.createElement("i");
        action_delete.id = "action_" + code;
        action_delete.className = "fa fa fa-trash-o tip pointer spodel";
        document.getElementById("action_delete_div_" + code).appendChild(action_delete);

        //*******************

        var input_quantity = document.createElement("input");
        input_quantity.id = "Inputcant_" + code;
        input_quantity.setAttribute("name", "product_quantity[]");
        input_quantity.setAttribute("value", "1");
        input_quantity.setAttribute("class", "quantityProduct");
        document.getElementById("cant_" + code).appendChild(input_quantity);

        //***************************input hidden************************

        var form_div = document.createElement("div");
        form_div.id = "form_div";
        document.getElementById("form_referralGuide").appendChild(form_div);

        var input_div = document.createElement("div");
        input_div.id = "inputs_div_" + code;
        document.getElementById("form_div").appendChild(input_div);
        //**********************************************************
        var input_id = document.createElement("input");
        input_id.id = "product_id_" + code;
        input_id.setAttribute("type", "hidden");
        input_id.setAttribute("name", "product_id[]");
        input_id.setAttribute("value", 0);
        document.getElementById("inputs_div_" + code).appendChild(input_id);

        //***************************************************
        var input_quantity = document.createElement("input");
        input_quantity.id = "product_name_" + code;
        input_quantity.setAttribute("type", "hidden");
        input_quantity.setAttribute("name", "product_name[]");
        input_quantity.setAttribute("value", nameProduc);
        document.getElementById("inputs_div_" + code).appendChild(input_quantity);
        //**********************************************************
        var input_code = document.createElement("input");
        input_code.id = "product_id_" + code;
        input_code.setAttribute("type", "hidden");
        input_code.setAttribute("name", "product_code[]");
        input_code.setAttribute("value", code);
        document.getElementById("inputs_div_" + code).appendChild(input_code);

    }

}

/**************Amador***************/

function addlist(id, code) {
    var newdata = {
        id: id,
        code: code
    };
    datoslist.push(newdata);
    localstore(datoslist);

}

function getlist() {
    var store = localStorage.getItem('listadata');
    if (store == null) {
        datoslist = [];
    } else {
        datoslist = JSON.parse(store);
    }
    return datoslist;
}

function localstore(lista) {
    localStorage.setItem('listadata', JSON.stringify(lista));
}

/***************End Amador**********************/



$(document).ready(function() {
    $('#motive_GR').val("01");
    $("#name_motive_GR").val($("#motive_GR option:selected").text());
    $('#tipoTransporte_GR').val(1);
    $('#tipoDNI_transportista').val(6);
    $('#tipoDNI_transportista').attr('disabled', true);
    $("#add_item").on("keyup", function() {
        var textSearch = $("#add_item").val();

        var urlSearch = base_url + 'Referral_guide/search_Producto/' + textSearch;
        //console.log(urlSearch);
        $(function() {
            $("#add_item").autocomplete({
                source: urlSearch,
                minLength: 1,
                //focus: showLabel,
                select: function(event, ui) {
                    /*amador*/
                    var productoCode = ui.item.label;
                    var part1 = productoCode.split('(');
                    var part2 = part1[1].split(')');
                    var code = part2[0];
                    var nameProduc = part1[0];
                    var tr = document.getElementById('tr_' + code);
                    var conta = 0;
                    addlist(Settings.item_addition++, code)
                    showLabel(event, ui);
                } /*end amador*/
            });
        });
    });
    $('#motive_GR').on('change', function() {
        var motivo_GR = $(this).val();
        if (motivo_GR == "02" || motivo_GR == "04") {
            $("#receptor-div").hide();

        } else {
            $("#receptor-div").show();

        }
    });

    $('#tipoTransporte_GR').on('change', function() {
        var tipoTransporte = $(this).val();
        if (tipoTransporte == 1) {
            $("#razonSocialTransportista-div").show();
            $("#firstNameTransportista-div").hide();
            $("#lastNameTransportista-div").hide();
            $("#licenciaTranspostista-div").hide();

            $("#firstNameTransportista").val("");
            $("#lastNameTransportista").val("");
            $("#numeroLicencia").val("");
            $('#tipoDNI_transportista option[value="6"]').show();

            $('#tipoDNI_transportista').val(6);
            $('#tipoDNI_transportista').attr('disabled', true);

        }
        else if (tipoTransporte == 2) {
            $("#razonSocialTransportista-div").hide();
            $("#firstNameTransportista-div").show();
            $("#lastNameTransportista-div").show();
            $("#licenciaTranspostista-div").show();
            $("#nameTransportista").val("");
            $('#tipoDNI_transportista').val(0);
            $('#tipoDNI_transportista').attr('disabled', false);
            $('#tipoDNI_transportista option[value="6"]').hide();
        }else{
            $('#tipoDNI_transportista').attr('disabled', false);
            $('#tipoDNI_transportista').val(0);

        }
    });
    $('#verify-doc-receptor').on('click', function() {
        var ndoc = $('#rucReceptor').val();
        if (ndoc.length == 8) {
            var tipoDoc = 1;
            var url = base_url + "general/get_data_by_dni/" + ndoc;
        } else if (ndoc.length == 11) {
            var tipoDoc = 6;
            var url = base_url + "general/get_data_by_ruc/" + ndoc;
        } else {
            alert('Documento no encontrado. Ingrese los datos solicitados.');
            $('#nameReceptor').val("");
            $('#tipoDNI_Receptor').val(0);

            return false;
        }
        $.ajax({
            type: 'get',
            url: url,
            dataType: "json",
            success: function(datos) {

                if (datos.result == 'ok') {
                    if (tipoDoc == 1) {
                        $("#nameReceptor").val(datos.data.nombre);
                    }
                    if (tipoDoc == 6) {
                        $("#nameReceptor").val(datos.data.nombre_o_razon_social);
                    }
                    $('#tipoDNI_Receptor').val(tipoDoc);
                } else {
                    alert(datos.message + " Ingrese los datos solicitados.");
                    $('#nameReceptor').val("");
                    $('#tipoDNI_Receptor').val(0);

                }
            },
            error: function() {
                alert("Error al realizar la busqueda");
            },
            beforeSend: function() {},
        });

    });


    $('#verify-doc-transport').on('click', function() {
        var ndoc = $('#RucTransportista').val();
        var tipoTransporte = $('#tipoTransporte_GR').val();

        if (ndoc.length == 8) {
            var tipoDoc = 1;
            var url = base_url + "general/get_data_by_dni/" + ndoc;
        } else if (ndoc.length == 11) {
            var tipoDoc = 6;
            var url = base_url + "general/get_data_by_ruc/" + ndoc;
        } else {
            alert('Documento no encontrado. Ingrese los datos solicitados.');
            $('#nameTransportista').val();
            $('#firstNameTransportista').val();
            $('#lastNameTransportista').val();
            return false;
        }


            if (tipoTransporte == 1) {
                if (ndoc.length != 11) {
                    alert('El ruc no es válido.');
                    return false;
                }
            }
            $.ajax({
                type: 'get',
                url: url,
                dataType: "json",
                success: function(datos) {
                    if (datos.result == 'ok') {
                        if (tipoDoc == 1) {
                            var nombre = datos.data.nombre;
                        }
                        if (tipoDoc == 6) {
                            var nombre = datos.data.nombre_o_razon_social;
                        }

                        if (tipoTransporte == 1) {
                            $("#nameTransportista").val(nombre);
                        }
                        if (tipoTransporte == 2) {
                            var nombreCompleto = nombre.split(' ');
                            var apellidos = nombreCompleto[0] + " " + nombreCompleto[1];
                            var nombres = "";
                            for (let i = 2; i < nombreCompleto.length; i++) {
                                nombres += nombreCompleto[i] + " ";
                            }
                            $("#firstNameTransportista").val(nombres.trim());
                            $("#lastNameTransportista").val(apellidos);
                        }
                        $('#tipoDNI_transportista').val(tipoDoc);
                        $('#tipoDNI_transportista_hidden').val(tipoDoc);
                    } else {
                        alert(datos.message + " Ingrese los datos solicitados");
                        if (tipoTransporte == 2) {
                            $('#tipoDNI_transportista').val(0);
                            $('#tipoDNI_transportista_hidden').val(0);
                        }
                    }
                },
                error: function() {
                    console.log("no se encontro ningun registro");
                },
                beforeSend: function() {},
            });
    });
    $('#depart_salida').change(function(e) {
        var departamentSalida = $(this).val();
        loadProvinceSalida(departamentSalida);
    });
    
    $('#provin_salida').change(function(e) {
        var departamentSalida = $("#depart_salida").val();
        var provinceSalida = $(this).val();
        loadDistritoSalida(departamentSalida, provinceSalida);
    });
    $('#depart_llegada').change(function(e) {
        var departamentLlegada = $(this).val();
        console.log(departamentLlegada);
        loadProvinceLlegada(departamentLlegada);
    });
    
    $('#provin_llegada').change(function(e) {
        var departamentLlegada = $("#depart_llegada").val();
        var provinceLlegada = $(this).val();
        loadDistritoLlegada(departamentLlegada, provinceLlegada);
    });
});


$(document).on('click', '.trashJs', function(e) {

    var id_editar = $(this).attr('id');
    var res = id_editar.substring(18);
    $("#inputs_div_" + res).remove();
    $("#tr_" + res).remove();

    for (let i in datoslist) {
        if (datoslist[i]['code'] == res) {
            delete(datoslist[i]['code']);
        }
    }
    return false;
});