//**************TRJ038 - ALEXANDER ROCA - 17/04/2019******************
//var metodoImpuestoGlob = [];
//var nombMetodoImpGlob = [];
//**************TRJ038 - ALEXANDER ROCA - 17/04/2019******************
$(document).ready(function () {

    if (get('spoitems')) {
        remove('spoitems');
    }

    if ($("#fflag").val() == 0) {
        loadItems();
    }

    // $("#date").inputmask("yyyy-mm-dd hh:mm", {"placeholder": "yyyy-mm-dd hh:mm"});
    $("#date").inputmask("yyyy-mm-dd", { "placeholder": "yyyy-mm-dd" });
    $("#expiration_date").inputmask("yyyy-mm-dd", { "placeholder": "yyyy-mm-dd" });

    $("#add_item").autocomplete({
        source: base_url + 'sales/suggestions',
        minLength: 1,
        autoFocus: false,
        delay: 200,
        response: function (event, ui) {

        },
        select: function (event, ui) {
            event.preventDefault();
            if (ui.item.id !== 0) {
                if($('#customer').val() !== ""){
                    //var customer_selected = $("#customer").find(':selected');
                    //var customers_type_id = customer_selected.attr('data-customertype')
                    var customers_type_id = $("#customer_type").val() /*? $("#customer_type").val() : false;*/
                    $.ajax({
                        type: "GET",
                        url: base_url + 'products/getProducPrice',
                        data: {"customers_type_id":customers_type_id,"product_id":ui.item.row.productID},
                        dataType: "json",
                        async: false,
                        success: function (response) {
                            if(response.result == 'ok'){
                                ui.item.row.price = response.data.price;
                            }
                        }
                    });
                    
                }
                add_order_item(ui.item);
                $(this).val('');
            } else {
                // bootbox.alert(lang.no_match_found);
            }
        }
    });

    function sumarCantidadItem(row) {
        arraycode = [];
        var repetidos = {};
        var code = row.code;
        for (var prop in spoitems) {
            arraycode.push(spoitems[prop]["row"]["code"])
        }
        arraycode.forEach(function (codigo) {
            repetidos[codigo] = (repetidos[codigo] || 0) + 1;
        });
        if (repetidos[code] > 1) {
            console.log("invalido")
            first_code = Object.keys(spoitems).sort().pop();
            delete_order_item(first_code);
            var input = $(".rquantity");
            a = input.attr("data-item");
            var item_id_pos = [];
            for (var p in spoitems) {

                if (code == spoitems[p]["row"]["code"]) {

                    spoitems[spoitems[p]["item_id"]].row.qty = parseFloat(spoitems[spoitems[p]["item_id"]].row.qty) + 1;
                    store('spoitems', JSON.stringify(spoitems));
                    loadItems();

                }
            }
        } else {
            console.log("valido")
        }
    }

    $('#add_item').bind('keypress', function (e) {
        if (e.keyCode == 13) {
            e.preventDefault();
        }
    });

    $('#reset').click(function (e) {
        bootbox.confirm(lang.r_u_sure, function (result) {
            if (result) {
                if (get('spoitems')) {
                    remove('spoitems');
                }

                window.location.reload();
            }
        });
    });

    $(document).on("change", '.rquantity', function () {
        var row = $(this).closest('tr');
        var val = 0;
        if (!$(this).val() || !isNaN($(this).val())) {
            val = $(this).val();
            if (val.trim() === "") {
                document.getElementById("warning_text").innerHTML = "La cantidad asignada no es válida.";
                displayOn('warning');
                val = 0;
            }
        } else {
            document.getElementById("warning_text").innerHTML = "La cantidad asignada no es válida.";
            displayOn('warning');
        }
        if (val < 0) {
            val = 0;
            document.getElementById("warning_text").innerHTML = "La cantidad no puede ser menor a 0.";
            displayOn('warning');
        }
        var new_qty = parseFloat(val);
        item_id = row.attr('data-item-id');
        spoitems[item_id].row.qty = new_qty;
        store('spoitems', JSON.stringify(spoitems));
        loadItems();
    });

    $(document).on("change", '.rprice', function () {
        var row = $(this).closest('tr');
        var val = 0.00;
        if (!$(this).val() || !isNaN($(this).val())) {
            val = $(this).val();
            if (val.trim() === "") {
                val = 0.00;
            }
        }
        var new_price = parseFloat(val).toFixed(3);
        item_id = row.attr('data-item-id');
        spoitems[item_id].row.price = new_price;
        spoitems[item_id].row.edit = 1;
        store('spoitems', JSON.stringify(spoitems));
        loadItems();
    });

    $(document).on("change", '.rPAffect', function () {
        var row = $(this).closest('tr');
        var val = 0.00;
        if (!$(this).val() || !isNaN($(this).val())) {
            val = $(this).val();
            if (val.trim() === "") {
                val = 0.00;
            }
        }
        var new_priceAf = parseFloat(val).toFixed(3);
        item_id = row.attr('data-item-id');
        spoitems[item_id].affect_priceJs = new_priceAf;
        spoitems[item_id].row.edit = 1;
        store('spoitems', JSON.stringify(spoitems));
        loadItems();
    });

    $(document).on("change", '.rPNonAffected', function () {
        var row = $(this).closest('tr');
        var val = 0.00;
        if (!$(this).val() || !isNaN($(this).val())) {
            val = $(this).val();
            if (val.trim() === "") {
                val = 0.00;
            }
        }
        var new_priceNaf = parseFloat(val).toFixed(3);
        item_id = row.attr('data-item-id');
        spoitems[item_id].non_affected_priceJs = new_priceNaf;
        spoitems[item_id].row.edit = 1;
        store('spoitems', JSON.stringify(spoitems));
        loadItems();
    });

    $(document).on("change", '.rPExonerated', function () {
        var row = $(this).closest('tr');
        var val = 0.00;
        if (!$(this).val() || !isNaN($(this).val())) {
            val = $(this).val();
            if (val.trim() === "") {
                val = 0.00;
            }
        }
        var new_priceE = parseFloat(val).toFixed(3);
        item_id = row.attr('data-item-id');

        spoitems[item_id].exonerated_priceJs = new_priceE;
        spoitems[item_id].row.edit = 1;
        store('spoitems', JSON.stringify(spoitems));
        loadItems();
    });

    $(document).on("change", $("#gdiscount"), function () {
        $("#gdiscount").val(Number($("#gdiscount").val()).toFixed(2));
        loadItems();
    });
    // <!--********START TRJ143 - DANIEL PADILLA - 20/12/2022*****************-->
    // $("#customer").change(function (e) {
    //     e.preventDefault();
    //     showHideRetainer();
    //     console.log('soy el customer');
    // });
    // $("#customer").change(function (e) {
    //     e.preventDefault();
    //     // showHideRetainer();
    //     // console.log('soy el customer');
    // });

    // $(document).ready(function() {
    //     $('#lista li').on('click', function() {
    //         console.log('soy el customer');
    //     });
    // });
    var customerIsRetainerGlobal;
    var customerRetainerPercentageGlobal;
    $('#customer').on('change', function(e) {
        e.preventDefault();
        
    });
    $('#lista > li').on('click', function() {
        console.log('soy el customer');
        var customerIsRetainer = $(this).data('isretainer');
        var customerRetainerPercentage = $(this).data('retainerpercentage');
        $('#customer_is_retainer').val(customerIsRetainer) /*? $('#customer_is_retainer').val(customerIsRetainer) : false*/;
        $('#customer_retainer_percentage').val(customerRetainerPercentage) /*? $('#customer_retainer_percentage').val(customerRetainerPercentage) : false*/;
        //console.log(customerIsRetainer+' - '+customerRetainerPercentage);
        //showHideRetainer(customerIsRetainer,customerRetainerPercentage);
        //valoresParaOperacionRetainer(customerIsRetainer,customerRetainerPercentage);
        // function getTotalWithRetention(total) {
        //     console.log('getTotal ' + customerIsRetainer + ' - ' + customerRetainerPercentage);
        //     if ($('#document_type').val() == '2' && customerIsRetainer === 1) {
        //         var percentage = customerRetainerPercentage / 100;
        //         var monto_porcentage = total * percentage
        //         total = total - monto_porcentage
        //     }
        //     return total;
        // }
        // // var total = 1;
        // // var totalWithRetention = getTotalWithRetention(total);
        // console.log(getTotalWithRetention(1));
        // Asignar los valores a las variables globales
        //customerIsRetainerGlobal = customerIsRetainer;
        //customerRetainerPercentageGlobal = customerRetainerPercentage;
        //getTotalWithRetention(1);
    });

   
    // <!--********END TRJ143 - DANIEL PADILLA - 20/12/2022*****************-->

    $('#close').click(function (e) {
        displayOff('warning');
    });

    $('#add_sale').click(function (e) {

        var hay_cuotas = $('.pm_cuotas').css('display'); // Si es "none", no esta la tabla de cuotas
        if (hay_cuotas != "none") {
            var tiene_error = false;
            var msj_error = "";
            $('.pm_credit_totalcuota').each(function (k, v) {
                if ($(this).val() === "") {
                    tiene_error = true;
                    msj_error = 'Los datos de las cuotas deben estar completados correctamente.';
                }
                if (parseFloat($(this).val()) == 0) {
                    tiene_error = true;
                    msj_error = 'El monto de la cuota debe ser distinto de cero.';
                }
            });
            var arrayFechaCuota = [];
            $('.pm_credit_date').each(function (k, v) {
                if ($(this).val() === "") {
                    tiene_error = true;
                    msj_error = 'La fecha de pago de la cuotas no puede ser vacia.\n';
                } else {
                    if (arrayFechaCuota.includes($(this).val())) {
                        let indexFechaIgual = arrayFechaCuota.indexOf($(this).val());
                        msj_error = 'Las fechas de pago de las cuotas  deben ser diferente.';
                        tiene_error = true;
                    }
                }
                arrayFechaCuota.push($(this).val());
            });
            if (tiene_error) {
                e.preventDefault();
                if (msj_error != "") {
                    bootbox.alert(msj_error);
                }
                return false;
            }
            var gimptotal = parseFloat($("#gimptotal").val());
            // <!--********START TRJ143 - DANIEL PADILLA - 20/12/2022***************** -->
            //gimptotal = parseFloat(getTotalWithRetention(gimptotal)).toFixed(2);
            gimptotal = getTotalWithRetention(gimptotal);
            console.log(gimptotal);
            /*cambios*/
            // <!--********END TRJ143 - DANIEL PADILLA - 20/12/2022***************** -->

            var pm_credit_subtotal = formatMoney($('#pm_credit_subtotal').val());

            if (formatMoney(gimptotal) != pm_credit_subtotal) {
                e.preventDefault();
                bootbox.alert('El total del monto de las cuotas, debe coincidir con el importe total de la venta.');
                return false;
            }
        }
        var afecto_validar = document.getElementsByClassName('rPAffect');
        var inafecto_validar = document.getElementsByClassName('rPNonAffected');
        var exonerado_validar = document.getElementsByClassName('rPExonerated');
        var gratuito_validar = document.getElementsByClassName('rPGratuito');

        var valorClase = document.getElementsByClassName('rprice');
        var sumaValores = 0;
        var sensorCero = 0;

        for (var i = 0; i < afecto_validar.length; i++) {
            sumaValores = 0;
            sumaValores = parseFloat(afecto_validar[i].value) + parseFloat(inafecto_validar[i].value) + parseFloat(exonerado_validar[i].value) + parseFloat(gratuito_validar[i].value);
            if (sumaValores <= 0) {
                sensorCero = 1;
                break;
            }


        }
        //*****************TRJ044 - ALEXANDER ROCA - 24/05/2019***************

        if (sensorCero == 0) {
            if ($('#document_type').val() == 2) {
                code = $("#customer_id").val();
                //console.log("piero es: ",code);
                e.preventDefault();
                $.ajax({
                    type: "get",
                    url: base_url + 'customers/get_customers_byid/' + code,
                    dataType: "json",
                    success: function (data) {
                        //console.log(data);
                            $("#cdireccion").val(data.direccion);
                            $("#cf2").val(data.cf2);
                            $("#cf1").val(data.cf1);
                            $("#cphone").val(data.phone);
                            $("#cemail").val(data.email);
                            $("#name").val(data.name);
                            $('#customer_type').val(data.customers_type_id).trigger('change.select2');
                            $('#accion-cliente').val(2);
                            $('#cModalLabel').text('Cliente - '+(data.person_type==1?data.cf1:data.cf2));
                            $("#idclienteedit").val(data.id);
                            $("#add_customer").text("Guardar cambios");

                            $("#input_hidden_person_type").val(data.person_type);
                            $("#input_hidden_document_type").val(data.document_type_id);
                            
                            if (code !== null && code !== undefined && code.trim() !== ''){
                                $("#div-document_type *").prop("disabled", true);
                                $("#div-person_type *").prop("disabled", true);
                                $("#name").prop("readonly", true);
                                $("#cf1").prop("readonly", true);
                            }else{
                                $("#div-document_type *").prop("disabled", false);
                                $("#div-person_type *").prop("disabled", false);
                                $("#name").prop("readonly", false);
                                $("#cf1").prop("readonly", false);
                            }

                            if (data.person_type == 1) {
                                $('#nombre-persona').text('Nombre *');
                                // $('#div-document_type').show();
                                $('#div-cf1').show();
                                $('#div-cf2').show();
                                $('label[for="cf2"]').text('RUC');

                                $('#doctypejs').val('');
                                $("#document-type option").show();
                                // Muestra las opciones relevantes según la selección inicial (por defecto, Persona Jurídica)
                                $("#document-type option[value='6']").hide();
                                $('label[for="direccion"]').text('Dirección');

                                $('#person-natural').attr('checked',true)
                                $('#div-document_type').show();
                                
                            }
                            if (data.person_type == 2 || data.document_type_id == 6) {
                                $('#nombre-persona').text('Razón social *');
                                // $('#div-document_type').hide();
                                // $('#cf1').val('');                    
                                // Muestra el mensaje para Persona Jurídica
                                $("#document-type option").hide();
                                // Muestra las opciones relevantes según la selección inicial (por defecto, Persona Jurídica)
                                $("#document-type option[value='6']").show();
                                $('#document-type').val(6).trigger('change.select2');
                                $('label[for="direccion"]').text('Dirección *');

                                $('#person-juridica').attr('checked',true)
                                $("#cf1").val(data.cf2);
                                $('#div-cf1').show();
                                $("#cf2").val("");
                                $('#div-cf2').hide();
                                $('#document-type').val(data.document_type_id).trigger('change.select2');
                            }
                        if(data.document_type_id != 6){
                            $('#document-type').val(data.document_type_id).trigger('change.select2');
                        }
                            var dir = data.direccion;
                            var ruc = data.cf2;
                        if (ruc == null || ruc == "") {
                            mensaje_alerta(lang.verify_ruc);
                            $("#customerModal").modal("show");
                            document.body.scrollTop = document.documentElement.scrollTop = 0;
                        } else if (dir == null || dir == "") {
                            mensaje_alerta(lang.verify_address);
                            $("#customerModal").modal("show");
                            document.body.scrollTop = document.documentElement.scrollTop = 0;
                        } else {
                            if (!get('spoitems') || $("#poTable tbody").text() == "") {
                                e.preventDefault();
                                document.getElementById("warning_text").innerHTML = lang.products_not_found;
                                displayOn('warning');
                                // $('html,body').animate({ scrollTop: 0 }, 'slow');
                                document.body.scrollTop = document.documentElement.scrollTop = 0;
                            } else if ($("#gimptotal").val() < 0) {
                                e.preventDefault();
                                document.getElementById("warning_text").innerHTML = lang.sale_not_less;
                                displayOn('warning');
                                document.body.scrollTop = document.documentElement.scrollTop = 0;
                            } else {
                                displayOff('warning');
                                $('#add_sale').submit();
                            }
                        }
                    }
                });
            } else if ($('#document_type').val() == 1) {
                if ($("#gimptotal").val() > 700) {
                    code = $("#customer_id").val();
                    //console.log("piero tambien es: ",code);
                    e.preventDefault();
                    $.ajax({
                        type: "get",
                        url: base_url + 'customers/get_customers_byid/' + code,
                        dataType: "json",
                        success: function (data) {
                            console.log(data)
                            $("#cdireccion").val( data.direccion);
                            $("#cf2").val( data.cf2);
                            $("#cf1").val( data.cf1);
                            $("#cphone").val( data.phone);
                            $("#cemail").val( data.email);
                            $("#name").val( data.name);
                            var x = $("#customer_type").val(data.customers_type_id);
                            
                            $('#accion-cliente').val(2);
                            $("#idclienteedit").val(data.id)
                            $("#add_customer").text("Guardar cambios");
                            if (data.person_type == 1) {
                                $('#nombre-persona').text('Nombre *');
                                // $('#div-document_type').show();
                                $('#div-cf1').show();
                                $('#div-cf2').show();
                                $('label[for="cf2"]').text('RUC');
                                $('#name').val('');
                                $('#cdireccion').val('');

                                $('#doctypejs').val('');
                                $("#document-type option").show();
                                // Muestra las opciones relevantes según la selección inicial (por defecto, Persona Jurídica)
                                $("#document-type option[value='6']").hide();
                                $('label[for="direccion"]').text('Dirección');

                                $('#person-natural').attr('checked',true)
                                $('#div-document_type').show();
                                
                            }
                            if (data.person_type == 2 || data.document_type_id == 6) {
                                $('#nombre-persona').text('Razón social *');
                                // $('#div-document_type').hide();
                                // $('#cf1').val('');                    
                                // Muestra el mensaje para Persona Jurídica
                                $("#document-type option").hide();
                                // Muestra las opciones relevantes según la selección inicial (por defecto, Persona Jurídica)
                                $("#document-type option[value='6']").show();
                                $('#document-type').val(6).trigger('change.select2');
                                $('label[for="direccion"]').text('Dirección *');

                                $('#person-juridica').attr('checked',true)
                                $("#cf1").val(data.cf2);
                                $('#div-cf1').show();
                                $("#cf2").val("");
                                $('#div-cf2').hide();
                                $('#document-type').val(data.document_type_id).trigger('change.select2');
                            }
                           if(data.document_type_id != 6){
                             $('#document-type').val(data.document_type_id).trigger('change.select2');
                           }
                            var dni = data.cf1;
                            var ruc = data.cf2;
                            if (ruc == null || ruc == "") {
                                if (dni == null || dni == "" || dni == "--") {
                                    $("#customerModal").modal("show");
                                    mensaje_alerta(lang.verify_dniRuc);
                                    displayOn('warning');
                                    document.body.scrollTop = document.documentElement.scrollTop = 0;
                                } else {
                                    if (!get('spoitems') || $("#poTable tbody").text() == "") {
                                        e.preventDefault();
                                        document.getElementById("warning_text").innerHTML = lang.products_not_found;
                                        displayOn('warning');
                                        // $('html,body').animate({ scrollTop: 0 }, 'slow');
                                        document.body.scrollTop = document.documentElement.scrollTop = 0;
                                    } else if ($("#gimptotal").val() < 0) {
                                        e.preventDefault();
                                        document.getElementById("warning_text").innerHTML = lang.sale_not_less;
                                        displayOn('warning');
                                        document.body.scrollTop = document.documentElement.scrollTop = 0;
                                    } else {
                                        displayOff('warning');
                                        $('#add_sale').submit();
                                    }
                                }
                            } else {
                                if (!get('spoitems') || $("#poTable tbody").text() == "") {
                                    e.preventDefault();
                                    document.getElementById("warning_text").innerHTML = lang.products_not_found;
                                    displayOn('warning');
                                    // $('html,body').animate({ scrollTop: 0 }, 'slow');
                                    document.body.scrollTop = document.documentElement.scrollTop = 0;
                                } else if ($("#gimptotal").val() < 0) {
                                    e.preventDefault();
                                    document.getElementById("warning_text").innerHTML = lang.sale_not_less;
                                    displayOn('warning');
                                    document.body.scrollTop = document.documentElement.scrollTop = 0;
                                } else {
                                    displayOff('warning');
                                    $('#add_sale').submit();
                                }

                            }
                        }
                    });

                }
                /*endifvalidar 700*/
            } else if (!get('spoitems') || $("#poTable tbody").text() == "") {
                e.preventDefault();
                document.getElementById("warning_text").innerHTML = lang.products_not_found;
                displayOn('warning');
                document.body.scrollTop = document.documentElement.scrollTop = 0;
            } else if ($("#gimptotal").val() < 0) {
                e.preventDefault();
                document.getElementById("warning_text").innerHTML = lang.sale_not_less;
                displayOn('warning');
                document.body.scrollTop = document.documentElement.scrollTop = 0;
            } else {
                displayOff('warning');
            }


        } else {
            e.preventDefault();
            bootbox.alert("Todos los productos deben tener un precio unitario mayor a 0");
        }
    });


    function displayOn(Element) {
        var x = document.getElementById(Element);
        if (x.style.display == 'none') {
            x.style.display = '';
        }
        setTimeout(function () {
            x.style.display = 'none';
        }, 10000);
    }

    function displayOff(Element) {
        var x = document.getElementById(Element);
        if (x.style.display == '') {
            x.style.display = 'none';
        }
    }

});

function loadItems() {

    if (get('spoitems')) {//Verifica si existe el objeto en el localstorage
        var avanzado = ""; //variable para ocultar columnas de la tabla si esta desactivado el modo avanzado
        var normal = ""; //variable para ocultar columnas de la tabla si esta desactivado el modo normal
        if (avdSale == 1) {
            normal = " display: none;";
        } else {
            avanzado = " display: none;";
        }
        //definimos variables de totales
        var total = 0;
        var affected = 0;
        var tax = 0;
        var taxICBPER = 0;
        var exonerated = 0;
        var exoneratedReal = 0;
        var gratuito = 0;

        count = 0;
        countt = 0;

        var discount = parseFloat($("#gdiscount").val()) ? parseFloat($("#gdiscount").val()) : 0;//obtener el descuento global
        var total_payable = parseFloat($("#gtotal").val());

        $("#poTable tbody").empty();// limpiamos el tbody de la tabla

        spoitems = JSON.parse(get('spoitems'));//obtenemos los items del localstorage

        $.each(spoitems, function (item_id, item) {//recorremos los items

            spoitems[item_id] = item;//asignamos el item al objeto

            var product_id = item.row.productID ?? "undefined";
            var item_currency = item.row.currency;
            var item_price = item.row.price;
            var item_qty = item.row.qty;
            var item_code = item.row.code;
            var item_tax_method = item.row.tax_method;
            var item_tax_ICBPER = item.tax_ICBPER;
            var item_name = item.row.name.replace(/"/g, "&#034;").replace(/'/g, "&#039;");//Escapar comillas simples y dobles
            var tipo_afectacion = item.row.tipo_afectacion;
            item_name = item_name.replace("<", "&lt;");
            item_name = item_name.replace(">", "&gt;");

            var real_unit_price = item.row.real_unit_price;

            if (item.row.edit != 1) {
                if (item_price > 0 && item_currency != $("#currency_code").val()) {
                    if (item_currency == "PEN") {
                        item_price = parseFloat(item_price / $("#exchange").val()).toFixed(2);
                        spoitems[item_id].row.price = item_price;
                    }
                    if (item_currency == "USD") {
                        item_price = parseFloat(item_price * $("#exchange").val()).toFixed(2);
                        spoitems[item_id].row.price = item_price;
                    }
                }
            }

            var precioSinIGVUnitario = 0;
            var igvUnitario = 0;
            var item_exon = 0;
            var free_items = 0;
            var affect_price = 0;
            var non_affected_price = 0;
            var exonerated_price = 0;
            var free_price = 0;
            var gratuito_price = 0;
            var bool_exonerado = false;
            var bool_afecto = false;
            var bool_exoneradoReal = false
            var bool_gratuito = false;
            var row_no = (new Date).getTime();
            if ($('#document_type').val() != 3) {
                if (tipo_afectacion == 0) { //Incluido

                    item_exon = 0;
                    bool_afecto = true;
                    if (item.affect_priceJs == null) {
                        affect_price = item_price;//guardamos el precio unitario como precio afecto incluido igv 
                        precioSinIGVUnitario = (parseFloat(affect_price) / (1 + (parseFloat(Settings.default_tax_rate) / 100))).toFixed(5);//quitamos el igv
                        igvUnitario = (parseFloat(affect_price) - precioSinIGVUnitario).toFixed(5);//calculamos el igv
                    }

                } else if (tipo_afectacion == 1) { //Excluido
                    if (item.row.edit != 1) {
                        item_price = parseFloat(parseFloat(item_price) * (1 + (parseFloat(Settings.default_tax_rate) / 100))).toFixed(2);
                        spoitems[item_id].row.price = item_price;
                    }

                    item_exon = 0;
                    bool_afecto = true;

                    if (item.affect_priceJs == null) {
                        affect_price = item_price;
                        precioSinIGVUnitario = parseFloat(item_price) / (1 + (parseFloat(Settings.default_tax_rate) / 100));
                        igvUnitario = parseFloat(item_price) - precioSinIGVUnitario;
                    }

                } else if (tipo_afectacion == 2) { //Inafecto
                    item_exon = parseFloat(item_price);

                    bool_exonerado = true;
                    if (item.non_affected_priceJs == null) {
                        non_affected_price = item_price;
                    }

                } else if (tipo_afectacion == 3) { //Exonerado
                    item_exon = parseFloat(item_price);
                    bool_exoneradoReal = true;
                    if (item.exonerated_priceJs == null) {
                        exonerated_price = item_price;
                    }
                } else if (tipo_afectacion == 4 || tipo_afectacion == 5) { //Gratuito con afecto al igv
                    item_gratuito = parseFloat(item_price);
                    bool_gratuito = true;
                    gratuito_price = item_price;
                }
            } else {
                item_exon = parseFloat(item_price);
                igvUnitario = 0;
                bool_exonerado = true;

                if (item.non_affected_priceJs == null) {
                    non_affected_price = item_price;
                }
                affect_price = 0;
                precioSinIGVUnitario = 0;
                exonerated_price = 0;

            }
            spoitems[item_id].row.edit = 1;
            store('spoitems', JSON.stringify(spoitems));

            //total += (parseFloat(item_price) * parseFloat(item_qty));
            total += (parseFloat((parseFloat(affect_price) + parseFloat(non_affected_price) + parseFloat(exonerated_price))) * parseFloat(item_qty));
            var igv_desc = 0,
                gvd_desc = 0,
                porcentaje = 0,
                prr_discount = 0
            subtotal = (parseFloat(item_price) * parseFloat(item_qty));
            if (discount > 0) {

                if ($('#document_type').val() != 3) {

                    porcentaje = (parseFloat(subtotal) / parseFloat(total_payable));
                    prr_discount = parseFloat(discount) * parseFloat(porcentaje);

                    if (bool_afecto) {
                        gvd_desc = (parseFloat(prr_discount) / (1 + ((parseFloat(Settings.default_tax_rate) / 100))));
                        igv_desc = prr_discount - gvd_desc;
                    }

                } else {
                    gvd_desc = parseFloat(discount);
                    prr_discount = 0;
                    igv_desc = 0;
                }

            } else {
                gvd_desc = 0;
                prr_discount = 0;
                igv_desc = 0;
            }


            affected += (parseFloat(precioSinIGVUnitario) * parseFloat(item_qty)); //precio
            tax += ((parseFloat(igvUnitario) * parseFloat(item_qty))); //- parseFloat(igv_desc));

            if (parseFloat(non_affected_price) > 0) {
                exonerated += (parseFloat(non_affected_price) * parseFloat(item_qty)); // - parseFloat(prr_discount));
            } else {
                exonerated += ((parseFloat(non_affected_price) * parseFloat(item_qty)));
            }

            if (parseFloat(exonerated_price) > 0) {
                exoneratedReal += (parseFloat(exonerated_price) * parseFloat(item_qty)); //- parseFloat(prr_discount));
            } else {
                exoneratedReal += ((parseFloat(exonerated_price) * parseFloat(item_qty)));
            }
            if (parseFloat(gratuito_price) > 0) {
                gratuito += (parseFloat(gratuito_price) * parseFloat(item_qty));
            } else {
                gratuito += (parseFloat(gratuito_price) * parseFloat(item_qty));
            }

            var selectTipoAfectacion = '';
            if($('#document_type').val() != 3){

            
                $.ajax({
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    url: base_url + "general/tipoAfectacionIGV",
                    async: false,
                    success: function (response) {
                        console.log('res:', response);
                        selectTipoAfectacion += '<select class="form-control" name="metodo_impuesto[]" >';
                        $.each(response, function (i, item) {
                            var indicadorGratuito = '';
                            if (item.tipo_afectacion == 4 || item.tipo_afectacion == 5) {
                                indicadorGratuito = "[Gratuito]";
                            }
                            selectTipoAfectacion += '<option value="' + item.id + '" data-tipo-afectacion="' + item.tipo_afectacion + '">' + indicadorGratuito + item.descripcion + '</option>';
                        });
                        selectTipoAfectacion += '</select>';
                    }
                });
            }
            //creamos una nueva fila para el para la tabla
            var newTr = $('<tr id="' + row_no + '" class="' + item_id + '" data-item-id="' + item_id + '"></tr>');
            //añadimos la columna nombre a la fila
            let CeldaProducto = $('<td style="min-width:100px;"></td>');//celda que contiene la informacion del producto
            //Creamos el input de tipo hidden para guardar el id del producto y agregamos a la celda
            let productoIdInputHidden = $('<input name="product_id[]" type="hidden" class="rid">').val(product_id);
            CeldaProducto.append(productoIdInputHidden);
            //Creamos el input de tipo hidden para alamacenar el metodo de impuesto y agregamos a la celda
            let metodoImpuestoIputHidden = $('<input name="tax_method[]" type="hidden" class="rid"  id="tax_method_' + row_no + '">').val(item_tax_method);
            CeldaProducto.append(metodoImpuestoIputHidden);
            //Creamos el input de tipo hidden para almacenar el precio unitario y agregamos a la celda
            let precioRealUnitarioInputText = $('<input name="real_unit_price[]" type="hidden" class="rid" >').val(real_unit_price);
            CeldaProducto.append(precioRealUnitarioInputText);
            //Creamos el input de tipo hidden para alamacenar el codigo de moneda y agregamos a la celda
            let monedaInputHidden = $('<input name="currency_cost[]" type="hidden" class="rid">').val(item_currency);
            CeldaProducto.append(monedaInputHidden);
            //Creamos el input de tipo hidden para almacenar el costo y agregamos a la celda
            let costoInputHidden = $('<input name="cost[]" type="hidden" class="rid">').val(item.row.cost);
            CeldaProducto.append(costoInputHidden);
            //Creamos el imput de tipo hidden para alamacenar el nombre del producto y agregamos a la celda
            let nombreImputhidden = $('<input name="name[]" type="hidden" class="rid">').val(item_name);
            CeldaProducto.append(nombreImputhidden);
            //Creamos el input de tipo hidden para almacenar el codigo del producto y agregamos a la celda
            let codigoInputHidden = $('<input name="code[]" type="hidden" class="rid">').val(item_code);
            CeldaProducto.append(codigoInputHidden);
            //creamos un input de tipo hidden para alamacenar el tipo de afectacion y agregamos a la celda
            let tipoAfectacionInputHidden = $('<input name="tipo_afectacion[]" type="hidden" class="rid" id="tipo_afectacion_' + row_no + '">').val(tipo_afectacion);
            //agregamos el input a la celda
            CeldaProducto.append(tipoAfectacionInputHidden);
            //creamos un span para mostrar el nombre del producto y agregamos a la celda
            let descripcionSpan = $('<span class="sname" id="name_' + row_no + '"> </span>').text(item_name + ' (' + item_code + ')');
            CeldaProducto.append(descripcionSpan);
            //agregamos la celda a la fila
            newTr.append(CeldaProducto);

            if($('#document_type').val() != 3){
                //creamos una nueva celda para el select de methodos de impuestos
                let CeldaMetodoImpuesto = $('<td style="min-width:100px;"></td>');
                //Creamos el select de los metodos de impuestos
                let metodoImpuestoSelect = $(selectTipoAfectacion);
                //agregamos valor al select
                metodoImpuestoSelect.val(item_tax_method);
                //añadimos el evento change=>cambio
                metodoImpuestoSelect.on('change', function () {
                    tipoAfectacion = $(this).find('option:selected').data('tipo-afectacion');
                    modif_tax_met(item_id, $(this).val(), tipoAfectacion)
                });
                //agregamos el select a la celda
                CeldaMetodoImpuesto.append(metodoImpuestoSelect);
                //agregamos la celda a la fila
                newTr.append(CeldaMetodoImpuesto);
            }else{
                let CeldaMetodoImpuesto = $('<td style="min-width:100px;"></td>');
                let MetodoImpuestoSpan = $('<span class="tipoAfectacionSpan" ></span>').text('No aplica');
                CeldaMetodoImpuesto.append(MetodoImpuestoSpan);
                //agregamos la celda a la fila
                newTr.append(CeldaMetodoImpuesto);
            }
            //creamos una nueva celda para el input de cantidad
            let CeldaCantidad = $('<td style="padding:2px; min-width:80px;"></td>');
            //Creamos el input de de tipo text para la cantidad 
            let cantidadInputText = $('<input class="form-control input-sm kb-pad text-center rquantity" name="quantity[]" type="text"  data-id="' + row_no + '" data-item="' + item_id + '" id="quantity_' + row_no + '" >').val(item_qty);
            //agregamos el input a la celda
            CeldaCantidad.append(cantidadInputText);
            //agregamos la celda a la fila
            newTr.append(CeldaCantidad);
            //creamos una nueva celda para el input de precio unitario
            let CeldaPrecioUnitario = $('<td style="padding:2px; min-width:80px;"></td>');
            //Creamos el input de de tipo text para el precio unitario
            let precioUnitarioInputText = $('<input class="form-control input-sm kb-pad text-center rprice" name="price[]" type="text"  data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">').val(item_price);
            //agregamos el input a la celda
            CeldaPrecioUnitario.append(precioUnitarioInputText);
            //agregamos la celda a la fila
            newTr.append(CeldaPrecioUnitario);
            //creamos nueva celda para el input de precio afectado
            let CeldaPrecioAfectado = $('<td style="padding:2px; min-width:80px;' + avanzado + '"></td>');
            //Creamos el input de de tipo text para el precio afectado <input class="form-control input-sm kb-pad text-center rPAffect" name="affect_price[]" type="text" value="' + affect_price + '" data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">
            let precioAfectadoInputText = $('<input class="form-control input-sm kb-pad text-center rPAffect" name="affect_price[]" type="text"  data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">').val(affect_price);
            //agregamos el input a la celda
            CeldaPrecioAfectado.append(precioAfectadoInputText);
            //agregamos la celda a la fila
            newTr.append(CeldaPrecioAfectado);
            //creamos nueva celda para el input de precio inafectado
            let CeldaPrecioInafectado = $('<td style="padding:2px; min-width:80px;' + avanzado + '"></td>');
            //Creamos el input de de tipo text para el precio inafectado 
            let precioInafectadoInputText = $('<input class="form-control input-sm kb-pad text-center rPNonAffected" name="non_affected_price[]" type="text"  data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">').val(non_affected_price);
            //agregamos el input a la celda
            CeldaPrecioInafectado.append(precioInafectadoInputText);
            //agregamos la celda a la fila
            newTr.append(CeldaPrecioInafectado);
            //creamos nueva celda para el input de precio exonerado
            let CeldaPrecioExonerado = $('<td style="padding:2px; min-width:80px;' + avanzado + '"></td>');
            //Creamos el input de de tipo text para el precio exonerado <input class="form-control input-sm kb-pad text-center rPExonerated" name="exonerated_price[]" type="text" value="' + exonerated_price + '" data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">
            let precioExoneradoInputText = $('<input class="form-control input-sm kb-pad text-center rPExonerated" name="exonerated_price[]" type="text"  data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">').val(exonerated_price);
            //agregamos el input a la celda
            CeldaPrecioExonerado.append(precioExoneradoInputText);
            //agregamos la celda a la fila
            newTr.append(CeldaPrecioExonerado);
            //creamos nueva celda para el input de precio gratuito
            let CeldaPrecioGratuito = $('<td style="padding:2px; min-width:80px;' + avanzado + '"></td>');
            //Creamos el input de de tipo text para el precio gratuito <input class="form-control input-sm kb-pad text-center rPGratuito" name="gratuito_price[]" type="text" value="' + gratuito_price + '" data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">
            let precioGratuitoInputText = $('<input class="form-control input-sm kb-pad text-center rPGratuito" name="gratuito_price[]" type="text"  data-id="' + row_no + '" data-item="' + item_id + '" id="price_' + row_no + '" onClick="this.select();">').val(gratuito_price);
            //agregamos el input a la celda
            CeldaPrecioGratuito.append(precioGratuitoInputText);
            //agregamos la celda a la fila
            newTr.append(CeldaPrecioGratuito);
            //creamos nueva celda para el input de precio total

            var importe = 0;
            importe = parseFloat(affect_price) + parseFloat(non_affected_price) + parseFloat(exonerated_price) + parseFloat(gratuito_price);
            //tr_html += '<td class="text-right"><span class="text-right ssubtotal" id="subtotal_' + row_no + '">' + formatMoney(parseFloat(item_price) * parseFloat(item_qty)) + '</span></td>';
            //***********TRJ068 - ALEXADER ROCA - 02/08/2019************

            var subTotal_ICBPER = 0;
            var check_ICBPER = '',
                input_text_ICBPER = '0';

            if (plastic_bags > 0) {
                ocultar_ICBPER = '';

                if (item_tax_ICBPER == 0) {
                    check_ICBPER = '';
                    input_text_ICBPER = '0';
                    subTotal_ICBPER = 0;
                } else {
                    check_ICBPER = 'checked';
                    input_text_ICBPER = '1';
                    subTotal_ICBPER = (plastic_bags * Math.round(parseFloat(item_qty)));
                    taxICBPER += (0.10 * Math.round(parseFloat(item_qty)));
                }

            } else {
                ocultar_ICBPER = ' display:none; ';
            }

            //creamos una nueva celda para el input de impuesto ICBPER
            let CeldaImpuestoICBPER = $('<td class="text-center" style="padding:1px; ' + ocultar_ICBPER + '" data-ul=' + row_no + '></td>');
            //Creamos el input de de tipo text para el impuesto ICBPER
            let impuestoICBPERInputText = $('<input onclick="chececkTaxBP();" class="" name="tax_ICBPER[]" type="checkbox" data-id="' + row_no + '" data-item="' + item_id + '" id="tax_ICBPER_' + row_no + '" ' + check_ICBPER + '>').val(item_qty);
            //agregamos el input a la celda
            CeldaImpuestoICBPER.append(impuestoICBPERInputText);
            //creamos un input de tipo hidden para el valor del impuesto ICBPER
            let impuestoICBPERInputHidden = $('<input  class="" name="value_ICBPER[]" type="hidden" id="value_ICBPER_' + row_no + '">').val(input_text_ICBPER);
            //agregamos el input a la celda
            CeldaImpuestoICBPER.append(impuestoICBPERInputHidden);
            //agregamos la celda a la fila
            newTr.append(CeldaImpuestoICBPER);
            //creamos nueva celda para el input de precio total
            let CeldaPrecioTotal = $(' <td class="text-right"></td>');
            //creamos el span para el precio total
            let precioTotalSpan = $('<span class="text-right ssubtotal" id="subtotal_' + row_no + '">').text(formatMoney((parseFloat(importe) * parseFloat(item_qty)) + subTotal_ICBPER));
            //agregamos el span a la celda
            CeldaPrecioTotal.append(precioTotalSpan);
            //agregamos la celda a la fila
            newTr.append(CeldaPrecioTotal);
            //creamos nueva celda para el boton de eliminar
            let CeldaEliminar = $('<td class="text-center"></td>');
            //creamos el boton de eliminar
            let eliminarButton = $('<i class="fa fa-trash-o tip pointer spodel" id="' + row_no + '" onclick="javascript:delete_order_item(' + item_id + ')" title="Remove"></i>');
            //agregamos el boton a la celda
            CeldaEliminar.append(eliminarButton);
            //agregamos la celda a la fila
            newTr.append(CeldaEliminar);
            //agregamos la fila a la tabla
            $("#poTable tbody").append(newTr);

            count = count + 1;
            countt += parseFloat(item_qty);

        });

        // $("#gdiscount").val(formatMoney(discount));

        item_count = count + ' (' + formatMoney(countt) + ')'
        $("#tart").text(item_count);

        importe_total = affected + exonerated + tax + exoneratedReal + taxICBPER - discount; //***********TRJ068 - ALEXADER ROCA - 02/08/2019************



        grand_affected = parseFloat(affected).toFixed(3);
        grand_tax = formatMoney(tax);

        if (discount > 0) {
            if (affected < discount) {
                alert('El descuento global debe ser menor al importe gravado (productos con impuesto).');
                $('#gdiscount').val(formatMoney(0));
                loadItems();
            }
            grand_affected = parseFloat((affected - parseFloat(discount))).toFixed(3);
            grand_tax = grand_affected * ((parseFloat(Settings.default_tax_rate) / 100));

            importe_total = parseFloat(parseFloat(grand_affected) + parseFloat(grand_tax) + parseFloat(exonerated) + parseFloat(exoneratedReal) + (taxICBPER));
            total = affected + tax + exonerated + exoneratedReal + taxICBPER;
            tax = grand_tax;
        }
        $("#gaffected").text(formatMoney(grand_affected));
        $("#opgra").val(affected);


        $("#gtax").text(formatMoney(grand_tax));
        $("#imigv").val(tax);
        grand_taxICBPER = formatMoney(taxICBPER);
        $("#gtaxICBPER").text(grand_taxICBPER);
        grand_exonerated = formatMoney(exonerated);
        $("#gexonerated").text(grand_exonerated);
        $("#opexo").val(exonerated);

        grand_exonerated = formatMoney(exoneratedReal);
        $("#gexoneratedReal").text(grand_exonerated);
        $("#opexoReal").val(exoneratedReal);

        grand_gratuito = formatMoney(gratuito);
        $("#ggratuita").text(grand_gratuito);
        $("#opegratuita").val(gratuito);
        imp_total = formatMoney(importe_total);
        $("#gimptotal").text(imp_total);
        $("#gimptotal").val(importe_total);
        grand_total = formatMoney(total + taxICBPER);
        if (discount > 0) {

            $("#gtot").text(formatMoney(importe_total));
        } else {

            $("#gtot").text(formatMoney((total + taxICBPER) - discount));
        }
        $("#gtotal").val(total);

        // $("#total_pay").val(total - discount);
        $("#total_pay").val(total);

        // <!--********START TRJ143 - DANIEL PADILLA - 23/12/2022*****************-->

        //var customer_selected = $("#customer").find(':selected');
        $("#lbl_retainer_total").html("-");
        $("#retainer_total").val("-");
        //if (customer_selected) {
            //var retainer_percentage = customer_selected.attr('data-retainerpercentage')
        var retainer_percentage = $("#customer_retainer_percentage").val() ? $("#customer_retainer_percentage").val() : false;
        var typeOfCurrency = getTypeOfCurrency($("#currency_code").val());
        var percentage = retainer_percentage / 100;
        var monto_porcentage = parseFloat(total * percentage).toFixed(2);
        $("#lbl_retainer_total").html(typeOfCurrency + monto_porcentage);
        $("#retainer_total").val(monto_porcentage);

        //}

        // <!--********END TRJ143 - DANIEL PADILLA - 23/12/2022*****************-->


        $("#gtotal").text(formatMoney(parseFloat(total + taxICBPER) + parseFloat(gratuito)));
        if (affected == 0 && discount > 0) {
            alert('Descuento global solo aplica para operaciones gravadas.');
            $('#gdiscount').val(formatMoney(0));
            loadItems();
        }
        //$('#add_item').focus();
    }
}

function add_order_item(item) {//funcion para añadir un producto al objeto del localstorage
    var item_id = Settings.item_addition == 1 ? item.item_id : item.id;



    if (spoitems[item_id]) {
        spoitems[item_id].row.qty = parseFloat(spoitems[item_id].row.qty) + 1;
    } else {
        spoitems[item_id] = item;
        if (item.row.tax_method == 0 || item.row.tax_method == 1) {//afecto al igv=incluido y excluido
            spoitems[item_id].row.tipo_afectacion = item.row.tax_method;
            spoitems[item_id].row.tax_method = 1;
        } else if (item.row.tax_method == 2) {//inafecto
            spoitems[item_id].row.tipo_afectacion = item.row.tax_method;
            spoitems[item_id].row.tax_method = 11;
        }
        else if (item.row.tax_method == 3) {//exonerado
            spoitems[item_id].row.tipo_afectacion = item.row.tax_method;
            spoitems[item_id].row.tax_method = 9;
        }
        else if (item.row.tax_method == 4) {//gratuito con afecto
            spoitems[item_id].row.tipo_afectacion = item.row.tax_method;
            spoitems[item_id].row.tax_method = 1;
        }
        else if (item.row.tax_method == 5) {//gratuito con inafecto
            spoitems[item_id].row.tipo_afectacion = item.row.tax_method;
            spoitems[item_id].row.tax_method = 10;
        }
    }

    spoitems[item_id].row.real_unit_price = spoitems[item_id].row.price;


    store('spoitems', JSON.stringify(spoitems));
    loadItems();
    return true;
}

function delete_order_item(itemb) {
    console.log(spoitems,itemb);
    console.log(spoitems[itemb]);
    delete spoitems[itemb];
    console.log(spoitems[itemb]);
    store('spoitems', JSON.stringify(spoitems));
    loadItems();
}


function modif_tax_met(item_id, metodoImpuesto, tipo_afectacion) {
    spoitems[item_id].row.tax_method = metodoImpuesto;
    spoitems[item_id].row.tipo_afectacion = tipo_afectacion;
    spoitems[item_id].row.edit = 1;
    store('spoitems', JSON.stringify(spoitems));
    loadItems();
}

function chececkTaxBP() {

    $('body').on('click', 'td', function () {
        //$( this ).attr( 'checked', true);
        //this.checked = true;
        //alert("click");
        var row = $(this).closest('tr');
        var item_id = row.attr('data-item-id');
        producto = $(this).attr('data-ul');

        var idBoton = "tax_ICBPER_" + producto;

        document.getElementById(idBoton).checked = true;

        if (spoitems[item_id].tax_ICBPER == 0) {
            spoitems[item_id].tax_ICBPER = 1;
            alert("Se va realizar el cobro del impuesto a las bolsas por la cantidad de productos de este Item (cantidad redondeada, si la cantidad es menor a 0.5 el monto del impuesto a las bolsas de este item sera 0)");
            //break;
        } else {
            spoitems[item_id].tax_ICBPER = 0;
            //alert("desactivado");
            //break;
        }
        spoitems[item_id].edit = 1;
        store('spoitems', JSON.stringify(spoitems));
        loadItems();


    });

}
// <!--********START TRJ143 - DANIEL PADILLA - 23/12/2022*****************-->
function checkIfIsRetainer(customerIsRetainer,customerRetainerPercentage) {
    // var is_retainer = $("#customer_is_retainer").val() ? $("#customer_is_retainer").val() : false;
    // var retainer_percentage = $("#customer_retainer_percentage").val() ? $("#customer_retainer_percentage").val() : false;
    console.log('check '+customerIsRetainer+' - '+customerRetainerPercentage);

    //console.log('el valor del documentType es: '+$('#document_type').val());
    //console.log('check '+customerIsRetainer+' - '+customerRetainerPercentage);
    if ($('#document_type').val() == 2 && customerIsRetainer == 1) { // Si documento es factura y es cliente retenedor
        $("#lbl_retainer_percentage").html(customerRetainerPercentage + "%");
        $("#retainer_percentage").val(customerRetainerPercentage);
        // return {
        //     is_retainer: is_retainer,
        //     retainer_percentage: retainer_percentage
        // }
        return {
            customerIsRetainer: customerIsRetainer,
            customerRetainerPercentage: customerRetainerPercentage
        }
    }
    else if(typeof customerIsRetainer === 'undefined'){
        //$("#customer").val('');
    }
}

function showHideRetainer(customerIsRetainer,customerRetainerPercentage) {
    $("#customer-retainer").hide(600);
    $("#retainer_percentage").val("0.00");
    $("#lbl_retainer_percentage").html("-");
    console.log('showHideRetainer');
    var customer_retainer = checkIfIsRetainer(customerIsRetainer,customerRetainerPercentage);
    //console.log('show');
    //console.log(customer_retainer);
    if (customer_retainer) {
        $("#customer-retainer").show(600);
    }
}

// function valoresParaOperacionRetainer(customerIsRetainer,customerRetainerPercentage){
//     return {
//         customerIsRetainer: customerIsRetainer,
//         customerRetainerPercentage: customerRetainerPercentage
//     }
// }

// function getTotalWithRetention(total) {
//     //var customer_selected = $("#customer").find(':selected');
//     //var is_retainer = customer_selected.attr('data-isretainer')
//     // var is_retainer = $("#customer_is_retainer").val() ? $("#customer_is_retainer").val() : false;
//     //var retainer_percentage = customer_selected.attr('data-retainerpercentage')
//     // var retainer_percentage = $("#customer_retainer_percentage").val() ? $("#customer_retainer_percentage").val() : false;
//     var customerIsRetainer = parseFloat(valorCustomerIsRetainer);
//     var customerRetainerPercentage = parseFloat(valorCustomerRetainerPercentage);

//     console.log('getTotal ' + customerIsRetainer + ' - ' + customerRetainerPercentage);
//     if ($('#document_type').val() == '2' && customerIsRetainer === 1) {
//         var percentage = customerRetainerPercentage / 100;
//         var monto_porcentage = total * percentage
//         total = total - monto_porcentage
//     }
//     return total;
// }
function getTotalWithRetention(total) {
    var is_retainer = $('#customer_is_retainer').val();
    var retainer_percentage = $('#customer_retainer_percentage').val();
    if ($('#document_type').val() == '2' && is_retainer === "1") {
        var percentage = retainer_percentage / 100;
        var monto_porcentage = total * percentage;
        total = total - monto_porcentage;
    }
    return total;
}

function getTypeOfCurrency(typeOfCurrency) {
    if (typeOfCurrency == "PEN") return "S/"
    else if (typeOfCurrency == "USD") return "$"
}

// <!--********END TRJ143 - DANIEL PADILLA - 23/12/2022*****************-->