$(document).ready(function() {


    })


let bodegasEntra=document.getElementById("idbodegas");
if(bodegasEntra){
    bodegasEntra.addEventListener("change",()=>{
       let select = document.getElementById("tipocargue");
        select.value = "compra";
        select.dispatchEvent(new Event('change'));

    })
}


let clicAgregarproduc=false;

    //funcion validar numero de factura
function validarnumerofact() {
    let numfactur = document.querySelector("#numfact").value;
    let provedoo = document.querySelector("#buscprovedor").value;
    let bodega = document.getElementById("idbodegas").value
    let tipmovi = document.querySelector("#tipocargue").value;
    let ordecompra=document.getElementById("ordecompra").value;

    if (numfactur != "" && provedoo != "") {

        $.ajax({
            data: { "validarfact": numfactur, "provedor": provedoo,"bodega":bodega }, //datos que se envian a traves de ajax
            url: "../controlador/config/temporal.php", //archivo que recibe la peticion
            type: 'post', //método de envio


            success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve

                if (response == 1) {
                    alert("el Numero de factura ya existe");
                    document.querySelector("#numfact").value = "";

                } else {


                    if(tipmovi=="compra" && ordecompra=="No" ){
                       // console.log("hola temp")
                             consultarpendien.click()
                    }
                    
                   

                    $("#numfact").attr("disabled", "disabled");


                }

            }
        })
    }

}


// ejecutar funcio bloquear campo numero factura  al precionar enter en numero factura
let numfactur = document.querySelector("#numfact");
numfactur.addEventListener("keypress", function(e) {
    let campumovimient = document.querySelector("#tipocargue").value;
    if (e.which == 13 && campumovimient == "compra") {

        validarnumerofact();
    }

})

// ejecutar funcio bloquear campo numero bloquear campo numero provedor

let provedoo = document.querySelector("#buscprovedor");
provedoo.addEventListener("keypress", function(e) {
        let campumovimient = document.querySelector("#tipocargue").value;
        if (e.which == 13 && campumovimient == "compra") {

            validarnumerofact();
        }

    })
    //ejecuta funcion al perder enfoque de campo provedor y numero factura
$("#buscprovedor").blur(function() {
    let campumovimient = document.querySelector("#tipocargue").value;
    if (campumovimient == "compra") {
        validarnumerofact();
    }

});
$("#numfact").blur(function() {
    let campumovimient = document.querySelector("#tipocargue").value;
    if (campumovimient == "compra") {
        validarnumerofact();
    }

});


//buscar provedor automaticamente

$("#buscprovedor").blur(function() {
    var e = jQuery.Event("keypress");
    e.which = 13;
    e.keyCode = 13;
    e.keyCode = 13;
    $("#buscprovedor").trigger(e);
    

});


//funcion cargar producto sguardados en temporal
let consultarpendien = document.querySelector("#consultartem");
consultarpendien.addEventListener("click", function() {
   
    consultatempora();

})

function consultatempora() {
     $('#tablacargar tr').remove();

    let tipmovi = document.querySelector("#tipocargue").value;
    let numfactura = document.querySelector("#numfact").value;
    let bodega = document.getElementById("idbodegas").value;
    let provedor = $("#buscprovedor").val();

    if((provedor=="" || provedor==" ") && tipmovi =="compra"){
        alert("No has selecionado un provedor");
        return 1;
    }

    $.ajax({
        data: { "numerofacturac": numfactura, "movimientoo": tipmovi, "bodega": bodega,"provedor":provedor }, //datos que se envian a traves de ajax
        url: "../controlador/config/temporal.php", //archivo que recibe la peticion
        type: 'post', //método de envio

        // beforeSend: function () {
        //    alert("Procesando, espere por favor...");
        // },
        success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
            //$("#resultado").html(response);

            let respuesta = JSON.parse(response);

            for (let valores of respuesta) {

                $("#tablacargar").append("<tr><td >" + valores.codigop + " </td>  <td>" + valores.nombrep + "</td> <td class='ctdc'>" + valores.cantCaja + "</td> <td class='ctdc'>" + valores.cantFrcc + "</td> <td class='baseiva'>" +
                    valores.base + "</td> <td class='datoiva'>" + valores.iva + "</td> <td class='tipoiva'>" + valores.tipo + "</td> <td class='costocaja'>" + valores.costoCaja + "</td> <td class='costofrcc'>" + valores.costoFrcc +
                    "</td>  <td class='datoc'>" + valores.Total +
                    "</td> <td hidden='true'>" + valores.utulidacaja + " </td> <td hidden='true'>" + valores.utulidafrcc +
                    " </td> <td hidden='true'>" + valores.lote + " </td><td hidden='true'>" + valores.fvencimi + " </td><td hidden='true'>" + valores.rinvima +
                    " </td><td hidden='true'>" + valores.estinvima + " </td><td hidden='true'>" + valores.Observaciones + " </td><td >" + valores.VentaCaja +
                     " </td><td >" + valores.VentaFrcc + " </td> <td hidden='true'>" + valores.VentaCaja2 +
                      " </td><td hidden='true'>" + valores.VentaFrcc2 + " </td> <td hidden='true'>" + valores.ubicacion +
                       " </td><td hidden='true'>" + valores.precioBlister +
                     " </td><td hidden='true'>" + valores.utilidacaja2 +
                     " </td><td hidden='true'>" + valores.utilidafrcc2 +
                     " </td><td hidden='true'>" + valores.VentaCaja3 +
                     " </td><td hidden='true'>" + valores.VentaFrcc3 +
                     " </td><td hidden='true'>" + valores.utilidacaja3 +
                     " </td><td hidden='true'>" + valores.utilidafrcc3 +
                     " </td><td> <input type='button' class='quitar col-md-12 btn btn-secondary' value='quitar' id='quitarc' ></input></td> <td><button class='btn btn-sm' style='background-color:rgb(58, 191, 239); color: white;' id='EditarProducComp'>Editar</button></td>");

                    $("#base5c").val(baseiva5c());
                    $("#base19c").val(baseiva19c());
                    $("#baseexentoc").val(excentonc());
                    $("#totaliva5c").val(sumariva5c());
                    $("#totaliva19c").val(sumariva19c());
                    $("#dbaseexcluidoc").val(excluidoc());

                    $("#civaotro").val(sumarivaotro());
                    $("#cbaseotro").val(baseotroo());
                    
                    
                   

                    sumartotalc();
                    retencionCompra()


            }
            
           

        }
    })




};


$("#crearprovedor").on('click', function() {
    $('#registro').modal('show');

});

//funcion crear provedor
$("#guardar").click(function() {

    $.ajax({
        data: $("#crearcliente").serialize(), //datos que se envian a traves de ajax
        url: "../controlador/config/cliente.php", //archivo que recibe la peticion
        type: 'post', //método de envio

        // beforeSend: function () {
        //    alert("Procesando, espere por favor...");
        // },
        success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
            //$("#resultado").html(response);
            alert(response);


        }

    });

});
// funcion provedor

//funcion buscar cuidades
document.querySelector("#ciudades").addEventListener("keypress", function(e) {
    let ciudad = $("#ciudades").val();
    if (ciudad.length >= 3 || e.which == 13) {

        ciudades(ciudad);
    }

});



ciudades = (ciudad) => {
        //ciudades
        var campoCiuda = document.querySelector("#ciuda");

        let ciud = [];
        $.ajax({
            data: {
                "ciudades": ciudad
            },
            url: "../controlador/config/cliente.php", //archivo que recibe la peticion
            type: 'post', //método de envio

            // beforeSend: function () {
            //    alert("Procesando, espere por favor...");
            // },
            success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
                //$("#resultado").html(response);
                let respuesta = JSON.parse(response);
                for (const key in respuesta) {
                    let datCiud = `<option value='${respuesta[key].CodigoDIAN}'>${respuesta[key].Ciudad}  </option>`;
                    ciud.push(datCiud);

                }
                let ciudades = ciud.join("");
                campoCiuda.innerHTML = ciudades;
            }

        });

    }
    // fin funcion buscar cuidades

//busqueda de provedor
$("#buscprovedor").keypress(function(e) {

    if (e.which == 13) {
        var id = $("#buscprovedor").val();


        $.ajax({

            data: { "valor": id }, //datos que se envian a traves de ajax
            url: "../controlador/config/cliente.php", //archivo que recibe la peticion
            type: 'post', //método de envio
            // beforeSend: function () {           

            success: function(response) {

                var respuesta = JSON.parse(response);

                var cliente = (respuesta["Nombre"]);
                var apellido = (respuesta["apellido"]);

                if (cliente == "") {
                    var c = confirm("El provedor no existe desea buscar");
                    if (c) {

                        $('#provedorm').modal('show');
                        $('#tablacli tr').remove();
                    } else {
                        let provedoo = document.querySelector("#buscprovedor").value = "";
                    }

                } else {
                    $("#nomprovedor").val(cliente + "  " + apellido);
                }






            }


        });

    }


});


$("#buscarpro").keypress( function(e) {

    

    if (e.which == 13) {

        buscarPorcodigo();
    }

});

// funcion buscar prductos por codigo o barras al precionar enter

function buscarPorcodigo() {

    return new Promise((resolve) => { 

    // if (e.which == 13) {
        var id = $("#buscarpro").val();
        let bodega = document.getElementById("idbodegas").value;
        let costoc = 0;
        let costof = 0;                   

        let utli_caja = 0;
        let utli_frcc = 0;
    
        let ventacaa = 0;
        let ventafrc = 0;  

        let precioblister=0;

        $.ajax({
            data: { "prod": id, "bodega": bodega }, //datos que se envian a traves de ajax
            url: "../controlador/config/productos.php", //archivo que recibe la peticion
            type: 'post', //método de envio

            // beforeSend: function () {
            //    alert("Procesando, espere por favor...");
            // },
            success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
                //$("#resultado").html(response);
                var respuest = JSON.parse(response);


                var codigo = respuest["codigo"];

                var nombre = respuest["nombre"];

                var factor = respuest["factor"];
                var factorBllister = respuest["factorblister"];


                let inventario=respuest["inventario"];
                let inventarioFrcc=0;


                let estadoProducto=respuest["ACTIVO"];

                


                $("#frcccargue").val("0");
                $("#cajacargue").val("0");
                if (factor == 0) {
                    $(".f").attr("disabled", "disabled");

                } else {
                    $(".f").removeAttr("disabled");
                    inventarioFrcc = Math.round(factor * inventario);
                }
                if(factorBllister==0 || factorBllister== ""|| factorBllister==" "){
                    $("#vtfrccBlister").attr("disabled", "disabled");
                }else{
                    $("#vtfrccBlister").removeAttr("disabled");
                }




                if(unasolaListaPrecio==1 || unasolaListaPrecio=="1" )
                {
                    costoc = respuest["costocaja"];
                     costof = respuest["costofrcc"]; 

                    // costoc = respuest["CostoCajaP"];
                    // costof = respuest["CostoFrccP"];

                    ventacaa = respuest["VentaCajaP"];
                    ventafrc = respuest["VentaFrccP"];
                    precioblister=respuest["PrecioBlisterCaja"];
                    utli_caja = respuest["UtilidadCajaP"];
                    utli_frcc = respuest["UtilidadFrccP"];


                    if(ventacaa==0 || ventacaa =="0" || ventacaa==""){
                        ventacaa = respuest["VentaCaja"];
                    }
                    if(ventafrc==0 || ventafrc =="0" || ventafrc==""){
                        ventafrc = respuest["VentaFrcc"];
                    }
                    if(precioblister==0 || precioblister =="0" || precioblister==""){
                        precioblister=respuest["precioblister"];
                    }

                    if(utli_caja==0 || utli_caja =="0" || utli_caja==""){
                        utli_caja=respuest["utilidacaja"];
                    }

                    if(utli_frcc==0 || utli_frcc =="0" || utli_frcc==""){
                        utli_frcc=respuest["utilidafrcc"];
                    }
                    
                    if(costoc==0 || costoc =="0" || costoc==""){
                        costoc = respuest["CostoCajaP"];
                    
                    }

                    if(costof==0 || costof =="0" || costof==""){
                        costof = respuest["CostoFrccP"];
                    }



                }else{
                     costoc = respuest["costocaja"];
                     costof = respuest["costofrcc"];                   
    
                     utli_caja = respuest["utilidacaja"];
                     utli_frcc = respuest["utilidafrcc"];
                
                     ventacaa = respuest["VentaCaja"];
                    ventafrc = respuest["VentaFrcc"]   
    
                     precioblister=respuest["precioblister"]

                }


                
            if(respuest["utilidapolit"]>0 || respuest["utilidadpolitica"]>0){
                if(respuest["utilidadpolitica"]>=respuest["utilidapolit"]){
                    utli_caja = respuest["utilidadpolitica"];
                    utli_frcc = respuest["utilidadpolitica"];
                }else{
                    utli_caja = respuest["utilidapolit"];
                    utli_frcc = respuest["utilidapolit"];
                }
            }
              
                var iva = respuest["impuesto"];

                var ventacaa2 = respuest["VentaCaja2"];
                var ventafrc2 = respuest["VentaFrcc2"]
                var registroInvima=respuest["registroInvima"];
                var ubicacionPr=respuest["ubicacion1"];

                let utilidadCaja2=respuest["utilidacaja2"];
                let utilidadFrcc2=respuest["utilidafrcc2"];
                let precioCaja3=respuest["VentaCaja3"];
                let precioFrcc3=respuest["VentaFrcc3"];
                let utilidadCaja3=respuest["utilidacaja3"];
                let utilidadFrcc3=respuest["utilidafrcc3"];
                let descuento=respuest["descuentoPor"];
                let descuentoMarca=respuest["dtomar"];
                let descuentoCatego=respuest["dtocat"];

             if(utli_caja==""|| utli_caja==" " || utli_caja < 0 || utli_caja==null || utli_caja=="null"){
                utli_caja=0;
             }

             if(utli_frcc==""|| utli_frcc==" " || utli_frcc < 0 || utli_frcc==null || utli_frcc=="null"){
                utli_frcc=0;
             }

             
             
             if(utilidadCaja2==""|| utilidadCaja2==" " || utilidadCaja2 < 0 || utilidadCaja2==null || utilidadCaja2=="null"){
                utilidadCaja2=0;
             }

             if(utilidadFrcc2==""|| utilidadFrcc2==" " || utilidadFrcc2 < 0 || utilidadFrcc2==null || utilidadFrcc2=="null"){
                utilidadFrcc2=0;
             }
               
             if(utilidadCaja3==""|| utilidadCaja3==" " || utilidadCaja3 < 0 || utilidadCaja3==null || utilidadCaja3=="null"){
                utilidadCaja3=0;
             }

             if(utilidadFrcc3==""|| utilidadFrcc3==" " || utilidadFrcc3 < 0 || utilidadFrcc3==null || utilidadFrcc3=="null"){
                utilidadFrcc3=0;
             }
                
                if (codigo) {
                    $("#buscarpro").val(codigo);
                    $("#nomcarge").val(nombre);

                    $("#costocargue").val(costoc);

                    $("#costofcargue").val(costof);

                    $("#costocargueCal").val(costoc);
                    $("#costofcargueCal").val(costof);



                    $("#ivacarge").val(iva);

                    document.querySelector("#utcaja").value = utli_caja;
                    document.querySelector("#utfrcc").value = utli_frcc;
                    document.querySelector("#vtcaja").value = ventacaa;
                    document.querySelector("#vtfrcc").value = ventafrc;

                    document.querySelector("#vtcaja2").value = ventacaa2;
                    document.querySelector("#vtfrcc2").value = ventafrc2;
                    document.getElementById("R_invim").value=registroInvima;

                    document.getElementById("vtfrccBlister").value=precioblister;
                    document.getElementById("costofactorr").value=factor;
                    
                    document.getElementById("utcaja2").value=utilidadCaja2;
                    document.getElementById("utfrcc2").value=utilidadFrcc2;
                    document.getElementById("vtcaja3").value=precioCaja3;
                    document.getElementById("vtfrcc3").value=precioFrcc3;
                    document.getElementById("utcaja3").value=utilidadCaja3;
                    document.getElementById("utfrcc3").value=utilidadFrcc3;
                    

                    document.getElementById("InventarioCajaAc").value=inventario;
                    document.getElementById("InventarioFrccAc").value=inventarioFrcc;
             
                    if(decimales==1 || decimales=="1"){

                    $("#vtcaja").number(true, 2);
                    $("#vtfrcc").number(true, 2);
                    $("#vtfrccBlister").number(true, 2);
                    $("#vtcaja2").number(true, 2);
                    $("#vtfrcc2").number(true, 2);

                    $("#vtcaja3").number(true, 2);
                    $("#vtfrcc3").number(true, 2);
                    }else{
                        $("#vtcaja").number(true, 0);
                        $("#vtfrcc").number(true, 0);
                        $("#vtfrccBlister").number(true, 0);
                        $("#vtcaja2").number(true, 0);
                        $("#vtfrcc2").number(true, 0);
    
                        $("#vtcaja3").number(true, 0);
                        $("#vtfrcc3").number(true, 0);  
                    }
                    
                    if(estadoProducto==0){
                        $("#buscarpro").val("");
                        alert("PRODUCTO INACTIVO");
                        return 0;
                    }


                    let ubicacionn = document.querySelector("#ubicacionn");
                    let nuevaOpcion = document.createElement("option");
                    nuevaOpcion.value = ubicacionPr;
                    nuevaOpcion.text = ubicacionPr;
                    ubicacionn.appendChild(nuevaOpcion);
                    ubicacionn.value = ubicacionPr; // Esto seleccionará la nueva opción

                    console.log("fin producto")
                    clicAgregarproduc=false;
                    resolve(codigo);
                  
                   if(parseInt(descuento)>0 ||parseInt(descuentoMarca)>0 || parseInt(descuentoCatego)>0 ){

                    let tdesc=parseInt(descuento)+parseInt(descuentoMarca)+parseInt(descuentoCatego);
                        alert(`Este Producto Tiene Descuento del ${tdesc}  Activado En Facturacion`)
                        
                   }

                } else {

                    if (id > 0) {


                        var r = confirm("El producto no existe desea crearlo");
                        if (r == true) {
                            $('#crearproducto').modal('show');
                        } else {
                            $("#buscarpro").val("");
                            $("#nomcarge").val("");

                            $("#costocargue").val("");

                            $("#costofcargue").val("");
                            $("#ivacarge").val("");
                        }
                    } else {

                        if (id == "") {


                        } else {



                            $('#productos').modal('show');
                            $('#tablap tr').remove();

                            $("#busproducto").val(id);
                            $("#buscarp").click();


                        }


                    }
                }

                if(decimales==1 || decimales=="1"){

                $("#costocargue").number(true, 2);
                $("#costofcargue").number(true, 2);
                }else{
                    $("#costocargue").number(true, 0);
                    $("#costofcargue").number(true, 0); 
                }

                

            }
        });

        document.querySelector("#costocargue").focus();
    

})
 
}
// llamar funcion precionar enter venta fracion
let enterfracio = document.querySelector("#vtfrcc");
enterfracio.addEventListener("keypress", function(e) {
    //console.log({e});

    if (e.which == 13) {
        calcularutilidasegunventafrcc();


    }


});
$("#vtfrcc").blur(function() {

     calcularutilidasegunventafrcc();

});

// llamar funcion precionar enter venta caja
let entercaja = document.querySelector("#vtcaja");
entercaja.addEventListener("keypress", function(e) {


    if (e.which == 13) {
        calcularutilidasegunventacaja();


    }


})

$("#vtcaja").blur(function() {
     calcularutilidasegunventacaja();
    
});
//costocargue
// funcion calcular utilida segun precio fracion
function calcularutilidasegunventafrcc() {
    let preciofrcc = $("#vtfrcc").val();
    let costof = $("#costofcargue").val();
    if(calculoFinanciero=="ok"){
        var  utilidaf = ((preciofrcc - costof) / preciofrcc) * 100;
    }else{
        var utilidaf = ((preciofrcc - costof) / costof) * 100;
    }
    

    $("#utfrcc").val(utilidaf.toFixed(3));

    coloresPrecios();

}

// funcion calcular precio frcc segun utilidad fracion
function calcularupreciofraccionsegunutilida(enterCoso=0) {

    //let preciofrcc=$("#vtfrcc").val(); 
    let costof = parseInt($("#costofcargue").val());
    let utilifr = $("#utfrcc").val();
    let costofcargueCal=$("#costofcargueCal").val();

   if(calculoFinanciero=="ok"){

       var   preciof = (costof/(100-utilifr ))*100  
            

    }else{
        var preciof = ((costof / 100) * utilifr) + costof;
    }
    if(enterCoso==1){
        if(costof>utilifr && utilifr>0 ){
            if(calcuPrecioUltimoCosto==1){
                preciof= Math.round(preciof / 50) * 50;
                $("#vtfrcc").val(preciof);
            }
        }

    }else{
        preciof= Math.round(preciof / 50) * 50;
        $("#vtfrcc").val(preciof);

    }
    
   
  

    coloresPrecios();


}


// llamar funcion precionar enter campo ventafrcc
let enterventafrcc = document.querySelector("#utfrcc");
enterventafrcc.addEventListener("keypress", function(e) {
    //console.log({e});

    if (e.which == 13) {
        calcularupreciofraccionsegunutilida();


    }


});
$("#utfrcc").blur(function() {

    calcularupreciofraccionsegunutilida();

});


// funcion calcular utilida segun venta caja
function calcularutilidasegunventacaja() {


    let preciocaja = $("#vtcaja").val();
    let costo = $("#costocargue").val();
    if(calculoFinanciero=="ok"){
        var  utilida = ((preciocaja - costo) / preciocaja) * 100;
    }else{
        var utilida = ((preciocaja - costo) / costo) * 100;
    }
   

    $("#utcaja").val(utilida.toFixed(3));
    coloresPrecios();

}

// funcion calcular precio caja segun utilida caja
function calcularpreciocajasegunutilidadcaja(enterCoso=0) {
    //let preciocaja=$("#vtcaja").val(); 
    
    let costo = parseInt($("#costocargue").val());
    let utilid = $("#utcaja").val();
    let costoActerCaja=parseInt($("#costocargueCal").val());
    // console.log(costo)
    // console.log(costoActerCaja)

    if(calculoFinanciero=="ok"){

     var   preciocaja = (costo/(100-utilid ))*100  
             

    }else{
            var preciocaja = ((costo / 100) * utilid) + costo;
    }
    if(enterCoso==1){
        if(costo>costoActerCaja && utilid>0 ){

            if(calcuPrecioUltimoCosto==1){
                preciocaja=  Math.round(preciocaja / 50) * 50;
                $("#vtcaja").val(preciocaja);
                calcularupreciofraccionsegunutilida(1);
            }
           

        }

        if(calcuPrecioUltimoCosto==2){


                if(costo>0 && utilid>0){
                    preciocaja=  Math.round(preciocaja / 50) * 50;
                    $("#vtcaja").val(preciocaja);
                    calcularupreciofraccionsegunutilida(1);
                }

        }






    }else{

        preciocaja=  Math.round(preciocaja / 50) * 50;
        $("#vtcaja").val(preciocaja);
    }
   
  
    // $("#utcaja").val(utilida.toFixed(3));
   
    coloresPrecios();
   
}


//funcion colores Segun PRecio Venta
// funcion calcular precio caja segun utilida caja
function coloresPrecios() {
    //let preciocaja=$("#vtcaja").val(); 
   
    let costo = parseInt($("#costocargue").val());
  
    let preciocaja =parseInt($("#vtcaja").val());
 

     let preciofrcc=$("#vtfrcc").val(); 
     let costof = parseInt($("#costofcargue").val());
   
    if(preciocaja<=costo){
        document.querySelector("#vtcaja").style.background = '#FD9F9E';
    }else{
         document.querySelector("#vtcaja").style.background = '#B3CF68';

    }


    if(preciofrcc<=costof){

        document.querySelector("#vtfrcc").style.background = '#FD9F9E';

    }else{
        
         document.querySelector("#vtfrcc").style.background = '#B3CF68';

    }
   
    
}

// llamar funcion precionar enter campo utilidad caja


let enterutilidadcaja = document.querySelector("#utcaja");
enterutilidadcaja.addEventListener("keypress", function(e) {


    if (e.which == 13) {
        calcularpreciocajasegunutilidadcaja();


    }


})

$("#utcaja").blur(function() {
    calcularpreciocajasegunutilidadcaja();
    
});




//funcion clacular total por producto

function calculartotal() {


    var costocaja = $("#costocargue").val();
    var costofracio = $("#costofcargue").val();
    var frcc = $("#frcccargue").val();
    var caja = $("#cajacargue").val();
    var totalcostocaja = costocaja * caja;
    var totalcosfrcc = costofracio * frcc;
    var total = totalcostocaja + totalcosfrcc;



    $("#totalcarg").val(total);
    $("#totalcarg").number(true, 0);
}


$("#cajacargue").keypress(function(e) {
    if (e.which == 13) {
        calculartotal();
        document.querySelector("#agregarproduc").focus();
    }
});

$("#frcccargue").keypress(function(e) {
    if (e.which == 13) {
        calculartotal();
    }
});


$("#costocargue").keypress(function(e) {
    if (e.which == 13) {
        actulizarprecioFrccSeguncostocajaCargue();
        calculartotal();
        //calcularutilidasegunventacaja()
        calcularpreciocajasegunutilidadcaja(1);
        document.querySelector("#cajacargue").focus();
    }
});


$("#costocargue").blur(function() {
    actulizarprecioFrccSeguncostocajaCargue();
     calcularpreciocajasegunutilidadcaja(1);

});


$("#costofcargue").keypress(function(e) {
    if (e.which == 13) {
        calculartotal();
        //calcularutilidasegunventafrcc();
        calcularupreciofraccionsegunutilida(1);
        document.querySelector("#cajacargue").focus();
    }
});
$("#costofcargue").blur(function() {

    calcularupreciofraccionsegunutilida(1);

});

//funcion agregar producto


$("#agregarproduc").click(function() {

    let bodega = document.getElementById("idbodegas").value;

    if(clicAgregarproduc==false){
            clicAgregarproduc=true;
        if(bodegaUser==bodega){    
            agregarProducto() 
        }else{

            if($TipoUser==1){
                agregarProducto() 
            }else{
                clicAgregarproduc=false;
                alert(`No esta autorizado Para Cargar inventario a la  bodega ${bodega}`);
            }
        }
        
    }
  
});

function productoYaExisteEnTabla(codigoProducto) {
  let filas = document.querySelectorAll("#tablaentrada tbody tr");

  for (let fila of filas) {
    let celdas = fila.getElementsByTagName("td");
    let codigoEnFila = celdas[0]?.textContent.trim();
    fila.style.backgroundColor = "";

    if (codigoEnFila === codigoProducto) {
      // Resalta la fila
      fila.style.backgroundColor = "#ffff99";

      // Hace scroll
      fila.scrollIntoView({ behavior: "smooth", block: "center" });

    

      return true;
    }
  }

  return false;
}


function agregarProducto() {

    //



  
    var e = jQuery.Event("keypress");
    e.which = 13;
    e.keyCode = 13;
    $("#cajacargue").trigger(e);
    $("#frcccargue").trigger(e);



    var iva = $("#ivacarge").val();
    var codigo = $("#buscarpro").val();
    var Nombre = $("#nomcarge").val();


  let validarAgr=  productoYaExisteEnTabla(codigo)

    if(validarAgr){

        alert("El Producto ya esta en la lista");
        clicAgregarproduc=false;
        return 1
    }

    var pcaja = $("#costocargue").val();
    var cantidacaja = $("#cajacargue").val();
    var pfrcc = $("#costofcargue").val();
    var cantidafrcc = $("#frcccargue").val();
    var Tprecio = $("#totalcarg").val();
    let factura = $("#numfact").val();
    let movimineto = document.querySelector("#tipocargue").value;
    let provedoo = document.querySelector("#buscprovedor").value;
    let nombrepro = document.querySelector("#nomprovedor").value;
    //invima
    let lote = document.querySelector("#lote").value;
    let fechVencimi = document.querySelector("#fechVencimi").value;
    let R_invim = document.querySelector("#R_invim").value;
    let es_invim = document.querySelector("#es_invim").value;
    let Observaciones = document.querySelector("#Observaciones").value;
    let ventaCaja = $("#vtcaja").val();
    let ventaFrcc = $("#vtfrcc").val();

   let precioblister= $("#vtfrccBlister").val();


    let ventaCaja2 = $("#vtcaja2").val();
    let ventaFrcc2 = $("#vtfrcc2").val();
    let bodega = document.getElementById("idbodegas").value;
    let ubicacion =document.getElementById("ubicacionn").value;

    let utilidadCaja2=$("#utcaja2").val();
    let utilidadFrcc2=$("#utfrcc2").val();
    let precioCaja3=$("#vtcaja3").val();
    let precioFrcc3=$("#vtfrcc3").val();
    let utilidadCaja3=$("#utcaja3").val();
    let utilidadFrcc3=$("#utfrcc3").val();

    let fechaActaRecep = document.querySelector("#fechaActaRecep").value;

    let preciosTodos=document.getElementById("preciosTodos").value;
       
    let provedor = $("#buscprovedor").val();
          
      let fechacar = $("#fechacargue").val();  
      
       let tipodetalle = document.querySelector("#tipodetalle").value;
        let ordecompra=document.getElementById("ordecompra").value;


        if(cantidacaja.toString().length>=8){
            alert("Cantidad de inventario no permitidad");
              clicAgregarproduc=false;
                return 1;

        }


        if(ordecompra=="Si"  && movimineto != "ord" ){
            alert("Para agregar un producto Basado en Compra debes de selecionar Orden de Compra");
              clicAgregarproduc=false;
            return 1;
        }
console.log(ubicacion)


    //Para obligar a que deban de colocar los dactos de recepcion agregar al if esto:
    // && lote!="" && fechVencimi!="" && R_invim!="" && es_invim!="" || movimineto=="entrada" || movimineto=="salida"

    if (factura != "" && provedoo != "" && nombrepro != "" /* recepcion */ ) {



        // 0= regimen simple
        //1 regimen comun
        // regimen = 1;
        let utilicaja = $("#utcaja").val();
        let utilifrcc = $("#utfrcc").val();


        //remimen comun 
        if (regimen == 1) {
            var iva = $("#ivacarge").val();
            if (iva == 19) {
                var base = parseInt(Tprecio / 1.19);
                var valoriva = parseInt(Tprecio - base);


            } else {

                if (iva == 5) {
                    var base = parseInt(Tprecio / 1.05);
                    var valoriva = parseInt(Tprecio - base);




                } else {
                    if (iva == 10) {
                        var base = parseInt(Tprecio / 1.10);
                        var valoriva = parseInt(Tprecio - base);
    
    
    
    
                    } else {
                    if (iva == 0) {
                        var base = parseInt(Tprecio);
                        valoriva = 0;
                    } else {

                        if (iva == 1) {
                            var base = parseInt(Tprecio);
                            valoriva = 0;
                        } else {
                            valoriva = 0;
                            base = 0;
                        }
                    }
                }
            }
            }
        } else {

            if (regimen == 0) {
                valoriva = 0;
                base = 0;
                var iva = 0;
            }else{
                valoriva = 0;
                base = 0;
                var iva = 0; 
            }
        }
        //fin regimrn comun 

        if (codigo == "") {

            alert("No ha Selecionado ningun producto");
              clicAgregarproduc=false;
        } else {

            if (cantidacaja > 0 || cantidafrcc > 0) {

                $.ajax({
                    data: {
                        "fechaActaRecep":fechaActaRecep,
                        "preciosTodos":preciosTodos,
                        "factura": factura,
                        "provedor":provedor,
                        "movimien": movimineto,
                        "codigo": codigo,
                        "nombre": Nombre,
                        "cantcaja": cantidacaja,
                        "cantfrcc": cantidafrcc,
                        "baseiva": base,
                        "valiva": valoriva,
                        "tipoiva": iva,
                        "costcaja": pcaja,
                        "costofrcc": pfrcc,
                        "tcargue": Tprecio,
                        "utilicaja": utilicaja,
                        "utilifrcc": utilifrcc,
                        "lote": lote,
                        "fvencimiento": fechVencimi,
                        "rgistroInvima": R_invim,
                        "estInvima": es_invim,
                        "Observaciones": Observaciones,
                        "ventaCaja": ventaCaja,
                        "ventaFrcc": ventaFrcc,
                        "ventaCaja2": ventaCaja2,
                        "ventaFrcc2": ventaFrcc2,
                        "bodega": bodega,
                        "ubicacion":ubicacion,
                        "precioblister":precioblister,
                        "utilidadCaja2":utilidadCaja2,
                        "utilidadFrcc2":utilidadFrcc2,
                        "precioCaja3":precioCaja3,
                        "precioFrcc3":precioFrcc3,
                        "utilidadCaja3":utilidadCaja3,
                        "utilidadFrcc3":utilidadFrcc3,
                         "usuarioA":usuarioA,
                         "fechac":fechacar,
                        "tipodetalle": tipodetalle                          








                        

                    }, //datos que se envian a traves de ajax
                    url: "../controlador/config/temporal.php", //archivo que recibe la peticion
                    type: 'post', //método de envio


                    success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
console.log(response)
                        let resp = JSON.parse(response);


                if (resp["res"] == "si") {

                   

                        
                       
                            const nuevaFila = `
<tr class="fila-dato">
    <td>${codigo}</td>
    <td>${Nombre}</td>
    <td class="ctdc">${cantidacaja}</td>
    <td class="ctdc">${cantidafrcc}</td>
    <td class="baseiva">${base}</td>
    <td class="datoiva">${valoriva}</td>
    <td class="tipoiva">${iva}</td>
    <td class="costocaja">${pcaja}</td>
    <td class="costofrcc">${pfrcc}</td>
    <td class="datoc">${Tprecio}</td>

    <td hidden>${utilicaja}</td>
    <td hidden>${utilifrcc}</td>
    <td hidden>${lote}</td>
    <td hidden>${fechVencimi}</td>
    <td hidden>${R_invim}</td>
    <td hidden>${es_invim}</td>
    <td hidden>${Observaciones}</td>
    <td>${ventaCaja}</td>
    <td>${ventaFrcc}</td>
    <td hidden>${ventaCaja2}</td>
    <td hidden>${ventaFrcc2}</td>
    <td hidden>${ubicacion}</td>
    <td hidden>${precioblister}</td>
    <td hidden>${utilidadCaja2}</td>
    <td hidden>${utilidadFrcc2}</td>
    <td hidden>${precioCaja3}</td>
    <td hidden>${precioFrcc3}</td>
    <td hidden>${utilidadCaja3}</td>
    <td hidden>${utilidadFrcc3}</td>  
<td> 
 <button class="btn btn-sm quitar" style="background-color: #dc3545; color: white;" id='quitarc'>Quitar</button>

</td>
<td> 

 <button class="btn btn-sm " style="background-color:rgb(58, 191, 239); color: white;" id='EditarProducComp'>Editar</button>
</td>

</tr>
`;

$("#tablacargar").prepend(nuevaFila);



                $("#base5c").val(baseiva5c());
                $("#base19c").val(baseiva19c());
                $("#baseexentoc").val(excentonc());
                $("#totaliva5c").val(sumariva5c());
                $("#totaliva19c").val(sumariva19c());
                $("#dbaseexcluidoc").val(excluidoc());
                $("#civaotro").val(sumarivaotro());
                $("#cbaseotro").val(baseotroo());
                sumartotalc();

                $("#ivacarge").val("");
                $("#buscarpro").val("");
                $("#nomcarge").val("");
                $("#costocargue").val("");
                $("#cajacargue").val("");
                $("#costofcargue").val("");
                $("#frcccargue").val("");
                $("#totalcarg").val("");

                $("#utcaja").val("");
                $("#vtcaja").val("");
                $("#vtcaja2").val("");

                $("#utfrcc").val("");
                $("#vtfrcc").val("");
                $("#vtfrcc2").val("");
                $("#costofactorr").val(0);


                 clicAgregarproduc=false;


                document.getElementById("vtfrccBlister").value=0;

               document.getElementById("utcaja2").value=0;
                document.getElementById("utfrcc2").value=0;
                document.getElementById("vtcaja3").value=0;
                document.getElementById("vtfrcc3").value=0;
            document.getElementById("utcaja3").value=0;
            document.getElementById("utfrcc3").value=0;

                lote = document.querySelector("#lote").value = "";
                fechVencimi = document.querySelector("#fechVencimi").value = "";
                R_invim = document.querySelector("#R_invim").value = "";
                es_invim = document.querySelector("#es_invim").value = "";
                Observaciones = document.querySelector("#Observaciones").value = "";
                let  ubicacionn=document.querySelector("#ubicacionn");
                ubicacionn[0].innerHTML= `<option value="sin"></option>` ;
                ubicacionn.options.item(0).selected = 'selected';

                retencionCompra()
                        }else{
                            
                             let mensaje = resp["mensa"];
                             clicAgregarproduc=false;
                             alert(mensaje);
                        }
                        

                    }
                })
               

            } else {

                alert("No ha puesto una cantidad");
                  clicAgregarproduc=false;
            }
        }

        document.querySelector("#buscarpro").focus();
    } else {

        alert("No a Escrito un numero de Factura, o seleccionado un provedor, Verifique datos de Recepcion");
          clicAgregarproduc=false;
    }
}


///editar productos en compra

$(document).on('click', '#EditarProducComp',async function () {

  
     const fila = $(this).closest('tr');
 
    const valores = {
        codigo: fila.find('td:eq(0)').text().trim(),
       
        cantidacaja: fila.find('td:eq(2)').text().trim(),
        cantidafrcc: fila.find('td:eq(3)').text().trim(),     
      
        pcaja: fila.find('.costocaja').text().trim(),
        pfrcc: fila.find('.costofrcc').text().trim(),
        utilidadCaja: fila.find('td:eq(10)').text().trim(),
        utilidadfrcc: fila.find('td:eq(11)').text().trim(),
        lote: fila.find('td:eq(12)').text().trim(),
        fechaVencimiento: fila.find('td:eq(13)').text().trim(),
        invima: fila.find('td:eq(14)').text().trim(),

        ventaCaja: fila.find('td:eq(17)').text().trim(),
        ventaFrcc: fila.find('td:eq(18)').text().trim(),

        ventaCaja2: fila.find('td:eq(19)').text().trim(), 
        ventaFrcc2: fila.find('td:eq(20)').text().trim(),
        ubicacion: fila.find('td:eq(21)').text().trim(),
       ventaBlister: fila.find('td:eq(22)').text().trim(),

        utilidadCaja2: fila.find('td:eq(23)').text().trim(),
        utilidadFrcc2: fila.find('td:eq(24)').text().trim(),


         ventaCaja3: fila.find('td:eq(25)').text().trim(),
         ventaFrcc3: fila.find('td:eq(26)').text().trim(),

         utilidadCaja3: fila.find('td:eq(27)').text().trim(),

          utilidadFrcc3: fila.find('td:eq(28)').text().trim(),
      

        // estadoInvima: fila.find('th:eq(27)').text().trim(),
//   observacion: fila.find('th:eq(29)').text().trim(),
     
       

        
       

    }
               
       

        
        
        
        
        
       
        
        
        
      
     let quitar= await quitarProdu(this);
   if(quitar=="si"){

    // Asignación a los inputs del formulario
    console.log(valores)
       $('#buscarpro').val(valores.codigo)
       console.log(2)
        let e = jQuery.Event("keypress");
        e.which = 13;
        e.keyCode = 13;

         consultatempora();

        await  buscarPorcodigo();
   
        console.log(3)
   



    $('#cajacargue').val(valores.cantidacaja);
    $('#frcccargue').val(valores.cantidafrcc);


    $('#costocargue').val(valores.pcaja);
    $('#costofcargue').val(valores.pfrcc);
     $('#lote').val(valores.lote);
     $('#fechVencimi').val(valores.fechaVencimiento);
   
     $('#vtcaja').val(valores.ventaCaja);
     $('#vtcaja2').val(valores.ventaCaja2);
    $('#vtcaja3').val(valores.ventaCaja3);

    $('#vtfrcc').val(valores.ventaFrcc);
    $('#vtfrcc2').val(valores.ventaFrcc2);
    $('#vtfrcc3').val(valores.ventaFrcc3);

    $('#vtfrccBlister').val(valores.ventaBlister);
     $('#R_invim').val(valores.invima);
    $('#ubicacionn').val(valores.ubicacion);
   
  
    // $('#ubicacionn').val(valores.ubicacion);
  

    $('#utcaja').val(valores.utilidadCaja);
    $('#utcaja2').val(valores.utilidadCaja2);
    $('#utcaja3').val(valores.utilidadCaja3);
    $('#utfrcc').val(valores.utilidadfrcc);
    $('#utfrcc2').val(valores.utilidadFrcc2);
    $('#utfrcc3').val(valores.utilidadFrcc3);


    //   $(this).closest('tr').remove();

    $("#base5c").val(baseiva5c());
    $("#base19c").val(baseiva19c());
    $("#baseexentoc").val(excentonc());
    $("#totaliva5c").val(sumariva5c());
    $("#totaliva19c").val(sumariva19c());
    $("#dbaseexcluidoc").val(excluidoc());
    $("#civaotro").val(sumarivaotro());
    $("#cbaseotro").val(baseotroo());

    sumartotalc();

    retencionCompra()

     
   }
});

///funcion para sumar el total de los productos a facturar


function sumartotalc() {
    let i=0;
    var sum = 0;
    let cantod=0
    let descuentoCompr=$("#descuCompra").val();
    if(descuentoCompr==" " || descuentoCompr==""){
        descuentoCompr=0;
    }
    $('.datoc').each(function() {
        sum += parseFloat($(this).text().replace(/,/g, ''), 10);
        i++
    });

     $('.ctdc').each(function() {
        cantod += parseFloat($(this).text().replace(/,/g, ''), 10);
      
    });

    console.log(cantod)
    

    let tota=sum-descuentoCompr;
    $('#totalcargue').val(tota.toFixed(2));
    $('#totalcargue').number(true, 0);

    //contador registros
    $("#registrosid").val(i)
    $("#iditem").val(cantod)


}

let campoDescuentoCp = document.getElementById("descuCompra");

if (campoDescuentoCp) {
    // Evento para detectar la tecla Enter
    campoDescuentoCp.addEventListener("keydown", function (event) {
        if (event.key === "Enter") {
            sumartotalc();
        }
    });

    // Evento para detectar la pérdida de enfoque (blur)
    campoDescuentoCp.addEventListener("blur", function () {
        sumartotalc();
    });
}


//funciones calculcular ivas  para regimen comun


//suma iva del 19%



function sumariva19c() {


    totaliva19 = 0;
    totalbase19 = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 19) {

            iva19 = parseInt($(this).find("td").eq(5).html());
            base19 = parseInt($(this).find("td").eq(4).html());
            totaliva19 += iva19;
            totalbase19 += base19;
        }




    });



    return (totaliva19);


}


function baseiva19c() {

    totalbase19 = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 19) {
            base19 = parseInt($(this).find("td").eq(4).html());

            totalbase19 += base19;
        }





    });



    return (totalbase19);
}
//suma iva del 5%

function sumariva5c() {


    totaliva5 = 0;
    totalbase5 = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 5) {

            iva5 = parseInt($(this).find("td").eq(5).html());
            base5 = parseInt($(this).find("td").eq(4).html());
            totaliva5 += iva5;
            totalbase5 += base5;
        }




    });



    return (totaliva5);


}


function baseiva5c() {

    totalbase5 = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 5) {
            base5 = parseInt($(this).find("td").eq(4).html());

            totalbase5 += base5;
        }





    });



    return (totalbase5);
}
 


function sumarivaotro() {


    totalivaotro = 0;
  //  totalbaseotro = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 10) {

            iva = parseInt($(this).find("td").eq(5).html());
            base = parseInt($(this).find("td").eq(4).html());
            totalivaotro += iva;
          //  totalbaseotro += base;
        }




    });



    return (totalivaotro);


}

function baseotroo(){

    baseotro = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 10) {
            base = parseInt($(this).find("td").eq(4).html());

            baseotro += base;
        }





    });



    return (baseotro);
}

function excentonc() {

    totalexento = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 0) {
            baseexento = parseInt($(this).find("td").eq(4).html());

            totalexento += baseexento;
        }





    });



    return (totalexento);
}

function excluidoc() {

    totalexcluido = 0;
    $('#tablacargar tr').each(function() {
        tipoiva = $(this).find("td").eq(6).html();

        if (tipoiva == 1) {
            baseexcluido = parseInt($(this).find("td").eq(4).html());

            totalexcluido += baseexcluido;
        }





    });



    return (totalexcluido);
}


/// funcioncalularRetencionen copmpas

function retencionCompra(){

   

    let base19=parseFloat( $("#base19c").val());
    let base5=parseFloat($("#base5c").val());
    let baseExce=parseFloat($("#baseexentoc").val());
    let baseExclui=parseFloat($("#dbaseexcluidoc").val());
    let otrbase=parseFloat($("#cbaseotro").val());
    let descuentoCompr=$("#descuCompra").val();
    if(descuentoCompr=="" ||  descuentoCompr==" "){
        descuentoCompr=0;

    }
    let descuentoCom=parseFloat(descuentoCompr);


    let totalCOm=base19+base5+baseExce+baseExclui+otrbase-descuentoCom;
    let tarifaRetenciaon=$("#tipoRete").val();
    let retencion=0;

    // console.log(totalCOm)
    // console.log(BaseRetenCompraa)

     if( parseFloat(totalCOm) >= parseFloat( BaseRetenCompraa) && parseFloat( BaseRetenCompraa) > 0){
   
    
        retencion=(totalCOm * tarifaRetenciaon / 100).toFixed(2);

     }

    $("#valorRetenc").val(retencion)



}


let tipoReteBoton=document.getElementById("tipoRete");
if(tipoReteBoton){
    tipoReteBoton.addEventListener("change",()=>{

        retencionCompra();
    })
}

/// funcioncalularRetencionen copmpas

let editarQuitar=false;

//funcion quitar productos de agragados para cargue factura
$(document).on("click", "#quitarc",async function() {

    let confimaQuitar=confirm("Confirmacion de quitar Producto");
if(confimaQuitar){


     let quitar= await quitarProdu(this);
    if(quitar=="si"){

        consultatempora();

    }
}
        
})

function quitarProdu(e){

 if(editarQuitar==false){

    editarQuitar=true;
            // var id=  $(this).parent().siblings(":first").text()
            let ordecompra=document.getElementById("ordecompra").value;

        return new Promise((resolve, reject) => {
            const fila = $(e).closest('tr');

            let movimineto = document.querySelector("#tipocargue").value;

            if(movimineto=="compra" && ordecompra=="Si" ){
                alert("Para Retirar un Producto Debes de selecionar la orden de compra nuevamente");
                editarQuitar=false;
                resolve("no")
                return("no")
            }
            let  codigo= fila.find('td:eq(0)').text().trim()
            
            let cantidacaja= fila.find('td:eq(2)').text().trim();
            let  cantidafrcc= fila.find('td:eq(3)').text().trim()   
            
            let  pcaja= fila.find('.costocaja').text().trim()
            let  pfrcc= fila.find('.costofrcc').text().trim()
            let  utilidadCaja= fila.find('td:eq(10)').text().trim()
            let utilidadfrcc= fila.find('td:eq(11)').text().trim()
            let  lote= fila.find('td:eq(12)').text().trim()
            let  fechaVencimiento= fila.find('td:eq(13)').text().trim()
            let  invima= fila.find('td:eq(14)').text().trim()

            let  ventaCaja= fila.find('td:eq(17)').text().trim()
            let  ventaFrcc= fila.find('td:eq(18)').text().trim()

            let  ventaCaja2= fila.find('td:eq(19)').text().trim()
            let  ventaFrcc2= fila.find('td:eq(20)').text().trim()
            let  ubicacion= fila.find('td:eq(21)').text().trim()
            let ventaBlister= fila.find('td:eq(22)').text().trim()

            let  utilidadCaja2= fila.find('td:eq(23)').text().trim()
            let  utilidadFrcc2= fila.find('td:eq(24)').text().trim()


            let   ventaCaja3= fila.find('td:eq(25)').text().trim()
            let   ventaFrcc3= fila.find('td:eq(26)').text().trim()

            let   utilidadCaja3= fila.find('td:eq(27)').text().trim()

            let   utilidadFrcc3= fila.find('td:eq(28)').text().trim()

        

        //   let fechaActaRecep = document.querySelector("#fechaActaRecep").value;

        //     let preciosTodos=document.getElementById("preciosTodos").value;
            
            let provedor = $("#buscprovedor").val();
                
            let fechacar = $("#fechacargue").val();  
        let factura = $("#numfact").val();

            let bodega = document.getElementById("idbodegas").value;

            $.ajax({

                            data: {
                                "fechaActaRecep":0,
                                "preciosTodos":0,
                                "factura": factura,
                                "provedor":provedor,
                                "movimien": "retirar",
                                "codigo": codigo,
                                "nombre": "",
                                "cantcaja": cantidacaja,
                                "cantfrcc": cantidafrcc,
                                "baseiva": 0,
                                "valiva": 0,
                                "tipoiva": 0,
                                "costcaja": 0,
                                "costofrcc": 0,
                                "tcargue": 0,
                                "utilicaja": 0,
                                "utilifrcc": 0,
                                "lote": 0,
                                "fvencimiento": 0,
                                "rgistroInvima": 0,
                                "estInvima": movimineto,
                                "Observaciones": 0,
                                "ventaCaja": 0,
                                "ventaFrcc": 0,
                                "ventaCaja2": 0,
                                "ventaFrcc2": 0,
                                "bodega": bodega,
                                "ubicacion":0,
                                "precioblister":0,
                                "utilidadCaja2":0,
                                "utilidadFrcc2":0,
                                "precioCaja3":0,
                                "precioFrcc3":0,
                                "utilidadCaja3":0,
                                "utilidadFrcc3":0,
                                "usuarioA":usuarioA,
                                "fechac":fechacar,
                                "tipodetalle": 0,                     

                            }, //datos que se envian a traves de ajax
                            url: "../controlador/config/temporal.php", //archivo que recibe la peticion
                            type: 'post', //método de envio


                            success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
                            console.log(response)
                                let resp = JSON.parse(response);


                        if (resp["res"] == "si") { 

                            
                        $(e).closest('tr').remove();

                            editarQuitar=false;

                            $("#base5c").val(baseiva5c());
                            $("#base19c").val(baseiva19c());
                            $("#baseexentoc").val(excentonc());
                            $("#totaliva5c").val(sumariva5c());
                            $("#totaliva19c").val(sumariva19c());
                            $("#dbaseexcluidoc").val(excluidoc());
                            $("#civaotro").val(sumarivaotro());
                            $("#cbaseotro").val(baseotroo());

                            sumartotalc();

                            retencionCompra()

                            resolve(resp["res"])
                           

                        }else{
                            
                            editarQuitar=false;

                            let mesnsa=resp["mensa"];
                            alert(mesnsa)

                            resolve(resp["res"])

                            
                        }

                            }
                        })


                    })
 }
}

$(".categoriasProductos").on("click",function(e){
    var valorCate=(e.target.value);
    $('#tablap tr').remove();
    buscarprcargue(null,valorCate);
})


//funcion buscar producto  ventana modal cargue
function buscarprcargue(producto,categoria) {
    let bodega = document.getElementById("idbodegas").value
    let menuMesas=document.getElementById("menuMesas");
    $.ajax({
        data: { "producto": producto, "bodega": bodega,"categoria":categoria,"enceros":true }, //datos que se envian a traves de ajax
        url: "../controlador/config/productos.php", //archivo que recibe la peticion
        type: 'post', //método de envio


        success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
            //$("#resultado").html(response);

            var respuest = JSON.parse(response);
            menuMesas.innerHTML=""
            $("#tablep").removeAttr("hidden")
            $("#menuMesas").attr("hidden","hidden")
            $.each(respuest, function(index, respuesta) {

                var codigo = respuesta["codigo"];
                var nombre = respuesta["nombre"];
                var inventario = respuesta["inventario"];
                var factor = respuesta["factor"];
                var invetariofrcc = Math.round(factor * inventario);
                if(unasolaListaPrecio==1 || unasolaListaPrecio=="1" )
                {
                    var costoc = respuesta["costocaja"];
                    var costof = respuesta["costofrcc"];
                    var utilic = respuesta["UtilidadCajaP"];
                    var utilif = respuesta["UtilidadFrccP"];
                    // var ventaca = ((costoc / 100) * utilic) + parseInt(costoc);
                    // var ventafr = ((costof / 100) * utilif) + parseInt(costof);
    
                    var ventaca = respuesta["VentaCajaP"];
                    var ventafr = respuesta["VentaFrccP"];
                }else{

                    var costoc = respuesta["costocaja"];
                var costof = respuesta["costofrcc"];
                var utilic = respuesta["utilidacaja"];
                var utilif = respuesta["utilidafrcc"];
                // var ventaca = ((costoc / 100) * utilic) + parseInt(costoc);
                // var ventafr = ((costof / 100) * utilif) + parseInt(costof);

                var ventaca = respuesta["VentaCaja"];
                var ventafr = respuesta["VentaFrcc"];
                }

                let nombremarca = respuesta["nommarca"];
                let ubicacion1 = respuesta["ubicacion1"];
                let ubicacion2 = respuesta["ubicacion2"];
                let bodegaP = respuesta["idbodega"];
                let precioBlister=respuesta["precioblister"];
                let EstadoProdu=respuesta["ACTIVO"];
                let colorEstado="";
                
                if(EstadoProdu==0){
                    colorEstado="hidden"
                   
                }

                $("#tablap").append(

                    "<tr "+colorEstado+"><td >" + codigo + "</td>  <th>" + nombre + "</th> <th>" + inventario + "</th> <th class='dat'>" + ventaca + "</th> <th>" + invetariofrcc +
                    "</th> <th class='dat'>" + ventafr + "</th><th class='dat'>" + precioBlister + "</th> <th class=''>" + nombremarca + "</th> <th class=''>" + ubicacion1 + "</th><th class=''>" + ubicacion2 + "</th><th class=''>" +
                     bodegaP + "</th>" + 
                     "<th><input type='button' class='btn bg-info btn-sm' onclick='impriBarcode(\"" + codigo + "\", \"" + nombre + "\", \"" + ventaca + "\",\"" + usuarioA + "\")' value='B'></th>" 


                );
          

                
            });
        
            $(".dat").number(true, 0);


        }

    });
}


// funcion ventana modAL CARGUE

$("#busss").click(function() {
    $('#productos').modal('show');
    $("#busproducto").val("");
    $('#tablap tr').remove();
});


//buscar producto por boton buscar
$("#buscarp").on('click', function() {
    $('#tablap tr').remove();
    var producto = $("#busproducto").val();
    if (producto == "") {
        var pregunt = confirm("Se listaran todos los productos esto puede tardar unos minutos");

        if (pregunt) {
            buscarprcargue(producto);
        }
    } else {
        buscarprcargue(producto);


    }


});

//selecionar producto ventana molda doble click
$("#tablap").on("dblclick", "tr", function() {

    var id = $(this).find(':first-child').text();

    $("#buscarpro").val(id);
    //simular enter 
    var e = jQuery.Event("keypress");
    e.which = 13;
    e.keyCode = 13;
    $("#buscarpro").trigger(e);

    $('#tablap tr').remove();
    $("#salir").click();
    $("#costocargue").focus();


});

var clicgrabar = false;



$("#grabar").click(function() {


    if (clicgrabar == false) {

        clicgrabar = true;
        grabarmovimiento();

    }




});





//funcion grabar factura de compra
function grabarmovimiento() {
  sumartotalc();
  
let arrayc = [];
let rowsBody = $("#tablaentrada").find('tbody > tr');
let rowsHead = $("#tablaentrada").find('thead > tr > th');

arrayc = []; // Limpia antes de usar

    if (rowsBody.length > 0) {
    for (let i = 0; i < rowsBody.length; i++) {
        let cells = rowsBody[i].getElementsByTagName('td'); // porque usas <td> en tbody
        let obj = {};

        for (let j = 0; j < rowsHead.length; j++) {
            let headerText = rowsHead[j].textContent.trim();
            let cellText = cells[j] ? cells[j].textContent.trim() : "";
            obj[headerText] = cellText;
        }

        arrayc.push(obj);
    }

    
        console.log("Filas en tabla:", rowsBody.length);
        console.log("Elementos en arrayc:", arrayc.length);
        console.log("array:", arrayc);

        // if (arrayc.length !== rowsBody.length) {
        // alert("¡Inconsistencia! El array no coincide con las filas de la tabla.");
        //  clicgrabar = false;
        // return 1;
        // }
  

        var factcompra = JSON.stringify(arrayc);
        var factura = $("#numfact").val();
        var provedor = $("#buscprovedor").val();
        var fechacar = $("#fechacargue").val();
        var tipo = $("#tipocargue").val();
        var base5 = $("#base5c").val();
        var base19 = $("#base19c").val();
        var excento = $("#baseexentoc").val();
        var iva5 = $("#totaliva5c").val();
        var iva19 = $("#totaliva19c").val();
        var totalcompra = $("#totalcargue").val();
        var nombreprove = $("#nomprovedor").val();
        var exclucio = $("#dbaseexcluidoc").val();
        var TipoCompra = $("#tipocarguec").val();
        let tipodetalle = document.querySelector("#tipodetalle").value;
        let fechaActaRecep = document.querySelector("#fechaActaRecep").value;
        let bodega = document.getElementById("idbodegas").value;
        let preciosTodos=document.getElementById("preciosTodos").value;

        let retencionComp=document.getElementById("valorRetenc").value;
        let tipoRete=document.getElementById("tipoRete").value;

        // let descuCompra=document.getElementById("descuCompra").value;
        let descuCompra = document.getElementById("descuCompra").value;
        let descuenCOp = descuCompra.replace(/[.,]/g, ""); 
let ordecompra=document.getElementById("ordecompra").value;
     

        if(retencionComp =="" || retencionComp==" "){
            retencionComp=0;
        }


if(ordecompra=="Si" && tipo != "compra" ){

    alert("Solo Se Guardar una orden de compra con tipo Compra");
     clicgrabar = false;
    return 1;

}

        let ivaotro=$("#civaotro").val();
        let  baseotro=$("#cbaseotro").val();
       


        var ruta = " ";

        if (tipo == "compra") {
            ruta = "../controlador/config/carguefactura.php";
        } else {
            if (tipo == "entrada") {
                ruta = "../controlador/config/cargueentrada.php";
            } else {
                if (tipo == "salida") {
                    ruta = "../controlador/config/salida_merca.php";
                } else {
                    if (tipo == "obs") {
                        ruta = "../controlador/config/cargueenobs.php";
                    }else{

                        alert("NO puede guardar el Movimiento con este tipo de documento");
                         clicgrabar = false;
                        return 1;
                    }

                }

            }

        }

        // $.ajax({

        //     data: {
        //         "tipocompra": TipoCompra,
        //         "base5": base5,
        //         "base19": base19,
        //         "excento": excento,
        //         "excluido": exclucio,
        //         "iva5": iva5,
        //         "iva19": iva19,
        //         "tipomovimi": tipo,
        //         "productos": factcompra,
        //         "numfactcom": factura,
        //         "fechac": fechacar,
        //         "provedor": provedor,
        //         "total": totalcompra,
        //         "tipodetalle": tipodetalle,
        //         "fechaActaRecep": fechaActaRecep,
        //         "bodega": bodega,
        //         "usuarioA":usuarioA,
        //         "preciosTodos":preciosTodos,
        //         "ivaotro":ivaotro,
        //         "baseotro":baseotro,
        //         "retencionComp":retencionComp,
        //         "descuCompra":descuenCOp,
        //         "tipoRete":tipoRete
                
        
        //     }, //datos que se envian a traves de ajax

        //     url: ruta, //archivo que recibe la peticion
        //     type: 'post', //método de envio

        //     beforeSend: function() {
        //         $('#modalcarga').modal('show');

        //     },








        //     success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
        //         //$("#resultado").html(response);

        //         $('#salirrr').click();
        //         var resp = JSON.parse(response);


        //         if (resp["res"] == "no") {

        //             var mensaje = resp["mensa"];
        //             clicgrabar = false;
        //             alert(mensaje);



        //             //   $("#inventarioo").click();

        //         } else {
        //             if (resp["res"] == "ok") {
        //                 mensaje = resp["mensa"];
        //                 var r = confirm("Imprimir factura");
        //                 if (r == true) {
        //                     if (tipo == "compra") {

        //                         //METODO POST IMPRESION
        //                         $.ajax({
        //                             data: {
        //                                 'factura': factcompra,
        //                                 'numf': factura,
        //                                 'total': totalcompra,
        //                                 'idc': provedor,
        //                                 'nombrec': nombreprove,
        //                                 'fecha': fechacar,
        //                                 'base5': base5,
        //                                 'base19': base19,
        //                                 'iva5': iva5,
        //                                 'iva19': iva19,
        //                                 'excento': excento,
        //                                 'excluido': exclucio,
        //                                 "bodega": bodega,
        //                                 "ivaotro":ivaotro,
        //                                 "baseotro":baseotro,
        //                                 "tipodetalle":tipodetalle
        //                             },
        //                             url: "facturacion/impresioncompra.php",
        //                             type: "post",

        //                             success: function(response) {

        //                                 let ventana = window.open("facturacion/impresiongeneral.php");
        //                                 ventana.document.write(response);
        //                             }
        //                         });


        //                         //METODO GET IMPRESION
        //                         /*
        //                 window.open('facturacion/impresioncompra.php?factura='+factcompra+'&numf='+factura+' &total='+totalcompra+
        //                 '&idc='+provedor+'&nombrec='+nombreprove+'&fecha='+fechacar+
        //                 '  &base5='+base5+'&base19='+base19+ '&iva5='+iva5+' &iva19='+iva19+'&excento='+excento+' &excluido='+exclucio+'  ');
        //               */
        //                     } else {
        //                         if (tipo == "salida") {

        //                             $.ajax({
        //                                 data: {
        //                                     'factura': factcompra,
        //                                     'numf': factura,
        //                                     'total': totalcompra,
        //                                     'idc': provedor,
        //                                     'nombrec': nombreprove,
        //                                     'fecha': fechacar,
        //                                     'base5': base5,
        //                                     'base19': base19,
        //                                     'iva5': iva5,
        //                                     'iva19': iva19,
        //                                     'excento': excento,
        //                                     'excluido': exclucio,
        //                                     "bodega": bodega,
        //                                     "ivaotro":ivaotro,
        //                                     "baseotro":baseotro,
        //                                     "tipodetalle":tipodetalle
        //                                 },
        //                                 url: "facturacion/impresionsalida.php",
        //                                 type: "post",

        //                                 success: function(response) {

        //                                     let ventana = window.open("facturacion/impresiongeneral.php");
        //                                     ventana.document.write(response);
        //                                 }
        //                             });


        //                             //METODO GET IMPRESION
        //                             /*
        //                             window.open('facturacion/impresionsalida.php?factura='+factcompra+'&numf='+factura+' &total='+totalcompra+
        //                             '&idc='+provedor+'&nombrec='+nombreprove+'&fecha='+fechacar+
        //                             '  &base5='+base5+'&base19='+base19+ '&iva5='+iva5+' &iva19='+iva19+'&excento='+excento+'&excluido='+exclucio+' ');
        //                             */
        //                         } else {
        //                             if (tipo == "entrada" || tipo == "obs") {

        //                                 $.ajax({
        //                                     data: {
        //                                         'factura': factcompra,
        //                                         'numf': factura,
        //                                         'total': totalcompra,
        //                                         'idc': provedor,
        //                                         'nombrec': nombreprove,
        //                                         'fecha': fechacar,
        //                                         'base5': base5,
        //                                         'base19': base19,
        //                                         'iva5': iva5,
        //                                         'iva19': iva19,
        //                                         'excento': excento,
        //                                         'excluido': exclucio,
        //                                         'movim': tipo,
        //                                         "bodega": bodega,
        //                                         "ivaotro":ivaotro,
        //                                         "baseotro":baseotro,
        //                                         "tipodetalle":tipodetalle
        //                                     },
        //                                     url: "facturacion/impresionentrada.php",
        //                                     type: "post",

        //                                     success: function(response) {

        //                                         let ventana = window.open("facturacion/impresiongeneral.php");
        //                                         ventana.document.write(response);
        //                                     }
        //                                 });

        //                                 //METODO GET IMPRESION
        //                                 /*
        //                                   window.open('facturacion/impresionentrada.php?factura='+factcompra+'&numf='+factura+' &total='+totalcompra+
        //                                   '&idc='+provedor+'&nombrec='+nombreprove+'&fecha='+fechacar+
        //                                   '  &base5='+base5+'&base19='+base19+ '&iva5='+iva5+' &iva19='+iva19+'&excento='+excento+'&excluido='+exclucio+' ');
        //                                 */
        //                             }
        //                         }

        //                     }
        //                 }


        //                 alert(mensaje);
        //                 clicgrabar = false;
        //                 $("#inventarioo").click();
        //             }

        //         }


        //     }

        // });

$.ajax({
    data: JSON.stringify({
        "tipocompra": TipoCompra,
        "base5": base5,
        "base19": base19,
        "excento": excento,
        "excluido": exclucio,
        "iva5": iva5,
        "iva19": iva19,
        "tipomovimi": tipo,
        "productos": factcompra,
        "numfactcom": factura,
        "fechac": fechacar,
        "provedor": provedor,
        "total": totalcompra,
        "tipodetalle": tipodetalle,
        "fechaActaRecep": fechaActaRecep,
        "bodega": bodega,
        "usuarioA": usuarioA,
        "preciosTodos": preciosTodos,
        "ivaotro": ivaotro,
        "baseotro": baseotro,
        "retencionComp": retencionComp,
        "descuCompra": descuenCOp,
        "tipoRete": tipoRete,
        "ordecompra":ordecompra
    }),
    url: ruta,
    type: 'post',
    contentType: 'application/json',
    beforeSend: function () {
        $('#modalcarga').modal('show');
    },
    success: function (response) {
        $('#salirrr').click();
        var resp = JSON.parse(response);

        if (resp["res"] == "no") {
            alert(resp["mensa"]);
            clicgrabar = false;
        } else if (resp["res"] === "ok") {
            alert(resp["mensa"]);
            let r = confirm("Imprimir factura");
            if (r == true) {
                let datosImpresion = {
                    'factura': factcompra,
                    'numf': factura,
                    'total': totalcompra,
                    'idc': provedor,
                    'nombrec': nombreprove,
                    'fecha': fechacar,
                    'base5': base5,
                    'base19': base19,
                    'iva5': iva5,
                    'iva19': iva19,
                    'excento': excento,
                    'excluido': exclucio,
                    'bodega': bodega,
                    'ivaotro': ivaotro,
                    'baseotro': baseotro,
                    'tipodetalle': tipodetalle
                };

                let urlImpresion = "";

                switch (tipo) {
                    case "compra":
                        if(tipoimprision==0){
                        urlImpresion = "facturacion/impresioncompra.php";
                        }else{
                             urlImpresion = "facturacion/impresioncompraCarta.php";
                        }
                        break;
                    case "salida":
                        urlImpresion = "facturacion/impresionsalida.php";
                        break;
                    case "entrada":
                    case "obs":
                        urlImpresion = "facturacion/impresionentrada.php";
                        datosImpresion["movim"] = tipo;
                        break;
                }

                if (urlImpresion != "") {
                  

                    $.ajax({
                        data: JSON.stringify(datosImpresion),
                        url: urlImpresion,
                        type: "post",
                        contentType: "application/json", // 
                        success: function (response) {
                            let ventana = window.open("facturacion/impresiongeneral.php");
                            ventana.document.write(response);
                              clicgrabar = false;
                             $("#inventarioo").click();
                        }
                    });
                }
            }else{

             clicgrabar = false;

             window.location.reload();
             
            // $("#inventarioo").click();
            }

          
        }
    }
});







    } else {
        clicgrabar = false;
        alert("no tiene ningun producto para grabar");

    }



}





//funcion tipo de movimiento

$("select#tipocargue").on('change', function() {
let ordecompra=document.getElementById("ordecompra").value;
    var valor = $(this).val();
    if(ordecompra=="No"){
        $("#tablacargar").empty();
    }
   

    if (valor == "salida") {
        $(".recepcion").attr("disabled", "disabled");
        salidad();

    } else {
        if (valor == "compra") {

            $(".recepcion").removeAttr("disabled");
            compra();
        } else {
            if (valor == "entrada") {
                $(".recepcion").attr("disabled", "disabled");

                entrada();
            } else {
                if (valor == "obs") {

                    $(".recepcion").attr("disabled", "disabled");
                    obs();
                }else{
                    $(".recepcion").removeAttr("disabled");
                    compra();
                }

            }

        }
    }



});

function salidad() {
    let bodega = document.getElementById("idbodegas").value

    $.ajax({
        data: { "solicitud": 1, "bodega": bodega }, //datos que se envian a traves de ajax
        url: "../controlador/config/carguefactura.php", //archivo que recibe la peticion
        type: 'post', //método de envio


        success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
            //$("#resultado").html(response);
                console.log(response)
            // var respuest = JSON.parse(response);
            var respuest = (response);
            if (respuest > 0) {
                $("#numfact").attr("disabled", "disabled");
                //$("#invcostofrcp").removeAttr("disabled");
                $("#numfact").val(respuest);
                consultatempora();
            }


        }
    });


};

function compra() {

    $("#numfact").removeAttr("disabled");
    $("#numfact").val(" ");

};

function entrada() {

    let bodega = document.getElementById("idbodegas").value
    $.ajax({
        data: { "solicitud": 2, "bodega": bodega }, //datos que se envian a traves de ajax
        url: "../controlador/config/carguefactura.php", //archivo que recibe la peticion
        type: 'post', //método de envio


        success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
            //$("#resultado").html(response);
            console.log(response);
           // var respuest = JSON.parse(response);
            var respuest = (response);
            if (respuest > 0) {

                $("#numfact").attr("disabled", "disabled");
                //$("#invcostofrcp").removeAttr("disabled");
                $("#numfact").val(respuest);

                consultatempora();
            }


        }
    });


};

function obs() {
    let bodega = document.getElementById("idbodegas").value;

    $.ajax({
        data: { "solicitud": 3, "bodega": bodega }, //datos que se envian a traves de ajax
        url: "../controlador/config/carguefactura.php", //archivo que recibe la peticion
        type: 'post', //método de envio


        success: function(response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
            //$("#resultado").html(response);
            console.log(response);
           // var respuest = JSON.parse(response);
            var respuest = (response);
            if (respuest > 0) {

                $("#numfact").attr("disabled", "disabled");
                //$("#invcostofrcp").removeAttr("disabled");
                $("#numfact").val(respuest);
            }


        }
    });


};

//calcular costo frcc segun costo caja en cargue
function actulizarprecioFrccSeguncostocajaCargue(){
    let cotocaja=$("#costocargue").val();
    let Factor=$("#costofactorr").val();
    if(Factor>0){
        let costofrcc=Math.round(cotocaja/Factor);
        $("#costofcargue").val(costofrcc);
    }



}


/////////////////////////////funcion calcular listas de precios//////////////////////////



            //calcular precio caja2 segun utilidad
            function calcularprecioCARG2(enterCoso=0) {
                let costoca = $("#costocargue").val();
                let uti = $("#utcaja2").val();
                let costoActerCaja=parseInt($("#costocargueCal").val());
    
                if(calculoFinanciero=="ok"){
                 var   ventanu = (costoca/(100-uti ))*100                           
           
                }else{
                    var ventanu = ((costoca / 100) * uti) + parseInt(costoca);
                }
                if(enterCoso==1){
                    if(costo>costoActerCaja && uti>0 ){
            
                        if(calcuPrecioUltimoCosto==1){
                            ventanu=Math.round(ventanu / 50) * 50;    

                            $("#vtcaja2").val(ventanu);

                           
                        }
                       
            
                    }
            
                }else{
            
                    ventanu=Math.round(ventanu / 50) * 50;    

                    $("#vtcaja2").val(ventanu);
                }

               


    
            }
    
            $("#utcaja2").keypress(function(e) {
    
                if (e.which == 13) {
                    
                    calcularprecioCARG2();
    
                }
    
            });
    
    
            //calcular utilida caja segun precio venta caja2 propiedades del producto
            $("#vtcaja2").keypress(function(e) {
                let  preciocaja = $("#vtcaja2").val();
                let  costo = $("#costocargue").val();
                if(calculoFinanciero=="ok"){
                    var  utilida = ((preciocaja - costo) / preciocaja) * 100;
                }else{
                    var utilida = ((preciocaja - costo) / costo) * 100;
                }
    
                



                if (e.which == 13) {
                    $("#utcaja2").val(utilida.toFixed(3));
                }
    
            });
    
            $("#vtcaja2").blur(function() {
    
                $('#vtcaja2').trigger({ type: 'keypress', which: 13 });
    
            });
    
    
    
    
    
    //
    //calcular precio frcc2 segun utilidad
    function calcularprecioUtliFRccCargar2() {
        let costoca = $("#costofcargue").val();
        let uti = $("#utfrcc2").val();
       
    
        
if(calculoFinanciero=="ok"){

  var  ventanu = (costoca/(100-uti ))*100  
         

}else{
    var ventanu = ((costoca / 100) * uti) + parseInt(costoca);
}
        ventanu=Math.round(ventanu / 50) * 50;
        $("#vtfrcc2").val(ventanu);
    
    }
    
    $("#utfrcc2").keypress(function(e) {
    
        if (e.which == 13) {
            
            calcularprecioUtliFRccCargar2();
    
        }
    
    });
    
    
    //calcular utilida frcc segun precio venta frcc2 propiedades del producto
    $("#vtfrcc2").keypress(function(e) {
      let  preciocaja = $("#vtfrcc2").val();
      let  costo = $("#costofcargue").val();
    
        if(calculoFinanciero=="ok"){
            var  utilida = ((preciocaja - costo) / preciocaja) * 100;
        }else{
          var  utilida = ((preciocaja - costo) / costo) * 100;
        }
        

        if (e.which == 13) {
            $("#utfrcc2").val(utilida.toFixed(3));
        }
    
    });
    
    $("#vtfrcc2").blur(function() {
    
        $('#vtfrcc2').trigger({ type: 'keypress', which: 13 });
    
    });
    
    
    
    
    
    //
    
    //calcular precio caja3 segun utilidad
            function calcularprecioCarga3() {
                let costoca = $("#costocargue").val();
                let uti = $("#utcaja3").val();
               
    
                if(calculoFinanciero=="ok"){

                  var  ventanu = (costoca/(100-uti ))*100                      
           
                }else{
                    var ventanu = ((costoca / 100) * uti) + parseInt(costoca);
                }
         ventanu=Math.round(ventanu / 50) * 50;   
                $("#vtcaja3").val(ventanu);
    
            }
    
            $("#utcaja3").keypress(function(e) {
    
                if (e.which == 13) {
                    
                    calcularprecioCarga3();
    
                }
    
            });
    
    
            //calcular utilida caja segun precio venta caja3 propiedades del producto
            $("#vtcaja3").keypress(function(e) {
                let  preciocaja = $("#vtcaja3").val();
                let  costo = $("#costocargue").val();
    
                if(calculoFinanciero=="ok"){
                    var  utilida = ((preciocaja - costo) / preciocaja) * 100;
                }else{
                    var  utilida = ((preciocaja - costo) / costo) * 100;
                }
             

                if (e.which == 13) {
                    $("#utcaja3").val(utilida.toFixed(3));
                }
    
            });
    
            $("#vtcaja3").blur(function() {
    
                $('#vtcaja3').trigger({ type: 'keypress', which: 13 });
    
            });
    
            //calcular precio frcc3 segun utilidad
            function calcularprecioUtliCargar3() {
                let costoca = $("#costofcargue").val();
                let uti = $("#utfrcc3").val();
                if(calculoFinanciero=="ok"){

                 var   ventanu = (costoca/(100-uti ))*100                         
           
                }else{

                    var ventanu = ((costoca / 100) * uti) + parseInt(costoca);
                }
                
    
                 ventanu=Math.round(ventanu / 50) * 50;
                $("#vtfrcc3").val(ventanu);
    
            }
    
            $("#utfrcc3").keypress(function(e) {
    
                if (e.which == 13) {
                    
                    calcularprecioUtliCargar3();
    
                }
    
            });
           
    
    
            //calcular utilida frcc segun precio venta frcc3 propiedades del producto
            $("#vtfrcc3").keypress(function(e) {
                let  preciocaja = $("#vtfrcc3").val();
                let  costo = $("#costofcargue").val();
                if(calculoFinanciero=="ok"){
                    var  utilida = ((preciocaja - costo) / preciocaja) * 100;
                }else{
                    var  utilida = ((preciocaja - costo) / costo) * 100;
                }
               
                if (e.which == 13) {
                    $("#utfrcc3").val(utilida.toFixed(3));
                }
    
            });
    
            $("#vtfrcc3").blur(function() {
    
                $('#vtfrcc3').trigger({ type: 'keypress', which: 13 });
    
            });
    
    
    

// cambiar precio de las fracciones segun el precio caja / factor

let botonpfCrearc1=document.getElementById("pf1cr");
if(botonpfCrearc1){
    botonpfCrearc1.addEventListener("click",function(){
        
        pf1cr();
        
    })
}
function pf1cr(){
    let factor=$("#costofactorr").val();
    let precioCaja1=$("#vtcaja").val();
    let precioFrcc=precioCaja1/factor;
    precioFrcc=Math.round(precioFrcc / 50) * 50;
    
    $("#vtfrcc").val(precioFrcc);
   
    calcularutilidasegunventafrcc();
   
   

}
//

// cambiar precio de las fracciones segun el precio caja / factor

let botonpfCrearc2=document.getElementById("pf2cr");
if(botonpfCrearc2){
    botonpfCrearc2.addEventListener("click",function(){
        
        pf2cr();
        
    })
}
function pf2cr(){
    let factor=$("#costofactorr").val();
    let precioCaja1=$("#vtcaja2").val();
    let precioFrcc=precioCaja1/factor;
    precioFrcc=Math.round(precioFrcc / 50) * 50;
    $("#vtfrcc2").val(precioFrcc);
    $('#vtfrcc2').trigger({ type: 'keypress', which: 13 });


}
//

// cambiar precio de las fracciones segun el precio caja / factor

let botonpfCrearc3=document.getElementById("pf3cr");
if(botonpfCrearc3){
    botonpfCrearc3.addEventListener("click",function(){
        
        pf3cr();
        
    })
}
function pf3cr(){
    let factor=$("#costofactorr").val();
    let precioCaja1=$("#vtcaja3").val();
    let precioFrcc=precioCaja1/factor;
    precioFrcc=Math.round(precioFrcc / 50) * 50;
    $("#vtfrcc3").val(precioFrcc);
    $('#vtfrcc3').trigger({ type: 'keypress', which: 13 });


}
//



    
    
    /////////////////////// LISTA DE PRECIOS///////////////////////////////////////////



    ///// GENERAR ORDENES DE COMPRA/////////////////



    let ordenOC=document.getElementById("generarOrdenCompr");

if(ordenOC){
    ordenOC.addEventListener("click",function(){
        ordenCOmpra()
        

    })
}
    function ordenCOmpra() {


        let arrayc = [];
        /* Obtenemos todos los tr del Body*/
        let rowsBody = $("#tablaentrada").find('tbody > tr');
        /* Obtenemos todos los th del Thead */
        let rowsHead = $("#tablaentrada").find('thead > tr > th');
        
        /* Limpia el array antes de llenarlo */
        arrayc = [];
        
        /* Verifica si hay filas en el tbody */
        if (rowsBody.length > 0) {
            let uniqueRows = new Set();
        
            for (let i = 0; i < rowsBody.length; i++) {
                let rowContent = rowsBody[i].innerText.trim();
                if (uniqueRows.has(rowContent)) continue; // Evita procesar filas duplicadas
                uniqueRows.add(rowContent);
        
                let obj = {}; /* auxiliar */
                for (let j = 0; j < rowsHead.length; j++) { /* Iteramos sobre los th de THead */
                    obj[rowsHead[j].innerText] = rowsBody[i].getElementsByTagName('td')[j].innerText;
                }
                arrayc.push(obj); /* Añadimos al Array Principal */
            }
    
            let factcompra = JSON.stringify(arrayc);
            let factura = $("#numfact").val();
            let provedor = $("#buscprovedor").val();
            let fechacar = $("#fechacargue").val();
          
            let totalcompra = $("#totalcargue").val();
            let nombreprove = $("#nomprovedor").val();
           
            let TipoCompra = $("#tipocarguec").val();
            let tipodetalle = document.querySelector("#tipodetalle").value;
            let bodega = document.getElementById("idbodegas").value


            $.ajax({
                data: {
                    'factura': factcompra,
                    'numf': factura,
                    'total': totalcompra,
                    'idc': provedor,
                    'nombrec': nombreprove,
                    'fecha': fechacar,
                    'TipoCompra':TipoCompra,
                 
                    "tipodetalle":tipodetalle,
                    "bodega":bodega
                },
                url: "facturacion/impresionOrdenCompra.php",
                type: "post",

                success: function(response) {

                    let ventana = window.open("facturacion/impresiongeneral.php");
                    ventana.document.write(response);
                }
            });


        }
        
    }