var tabla;
//declaramos variables necesarias para trabajar con las Ventas y sus detalles
var impuesto 			= $("#impuesto").val();
console.log(impuesto);
var cont 				= 0;
var cont1 				= 0;
var detalles 			= 0;
var indicepermisoborrar = -50;
var capacidad			= 0;

var r = '<thead style="background-color:#A9D0F5">' +  "<th width=10>Opciones</th>" +  "<th>Articulo</th>" +
  "<th>Cantidad</th>" + "<th>Precio</th>" +  "<?php" +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +
  "?>" +  "<th>Precio (PVP)</th>" +  "<?php" +  "}" +  "?>" +  "<th>Porcentaje</th>" +  "<th>Descuento</th>" +
  "<?php" +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +  "?>" +  "  <th>ImpuestoArt18</th>" +
  "<?php" +  "}" +  "?>" +  "<th>Subtotal</th>" +  "</thead>" +  "<tfoot>" +  "<tr>" +  "<td></td>" +  "<td></td>" +
  "<td></td>" +  "<?php" +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +  "?>" +  "<td></td>" +  "<td></td>" +
  "<?php" +  "}" +  "?>" +  "<td></td>" +  "<td>Sub-Total</td>" +  '<td align="right"><p id="subtotal"></p></td>' +
  '<td align="right"><p id="subtotald"></p></td>' +  "</tr>" +  "<tr>" +  "<td></td>" +  "<td></td>" +  "<td></td>" +
  "<td></td>" +  "<?php" +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +  "?>" +  "<td></td>" +  "<td></td>" +
  "<?php" +  "}" +  "?>" +  "<td>Iva</td>" +  '<td align="right"><p id="iva"></p></td>' +  '<td align="right"><p id="ivad"></p></td>' +
  "</tr>" +  "<?php" +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +  "?>" +  "<tr>" +  "<td></td>" +  "<td></td>" +
  "<td></td>" +  "<td></td>" +  "<td></td>" +  "<td></td>" +  "<td>Iva Percepción</td>" +  '<td align="right"><p id="ivap"></p></td>' +
  '<td align="right"><p id="ivapd"></p></td>' +  "</tr>" +  "<?php" +  "}" +  "?>" +  "<tr>" +  "<td></td>" +  "<td></td>" +
  "<td></td>" +  "<td></td>" +  "<?php " +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +  "?> " +  "<td></td>" +
  "<td></td>" +  "<?php" +  "}" +  "?>" +  "<td>Exento</td>" +  '<td align="right"><p id="exento"></p></td>' +  '<td align="right"><p id="exentod"></p></td>' +
  "</tr>" +  "<tr>" +  "<th></th>" +  "<th></th>" +  "<th></th>" +  "<th></th>" +  "<?php " +  'if ($_SESSION["impuestoart18_empresa"]=="si"){' +
  "?> " +  "<th></th>" +  "<th></th>" +  "<?php" +  "}" +  "?>" +  "<th>TOTAL</th>" +  '<th align="right"><h4 align="right" id="total"></h4>' +
  '<th align="right"><h4  align="right" id="totald"></h4></th>' +  '<input type="hidden" name="total_venta1" id="total_venta1" disabled>' +  '<input type="hidden" name="total_venta" id="total_venta">' +
  '<input type="hidden" name="total_ventad" id="total_ventad">' +  '<input type="hidden" name="total_ventai" id="total_ventai">' +  '<input type="hidden" name="total_ventaid" id="total_ventaid">' +
  "</th>" +  "</tr>" +  "</tfoot>" +  "<tbody>" +  "</tbody>";
$("#btnGuardar").hide();
$("#tipo_comprobante").change(marcarImpuesto);

//funcion que se ejecuta al inicio
function init() {
  mostrarform(false);
  listar();

  /*Se captura el evento de guardar los datos */
  $("#btnFacturar").on("click", function (e) {
    /* Evitamos el envío real del formulario */
    e.preventDefault();
    validar();
    //console.log(detalles);
    if (detalles <= 0) {
      bootbox.alert("No agregado producto a su compra");
    } else {
      var val = $("#validado").val();
      //console.log(val);
      if (val == 1) {
        // Se va a guardar la factura
        bootbox.confirm(
          "¿Esta seguro que quiere guardar los dato?",
          function (result) {
            if (result) {
              modificarValoresAnumerico();
              guardaryeditar(e);
            }
          }
        );
      }
    }
  });

  /*Se captura el evento de buscar clave de permiso */
  $("#formaguardarcliente").on("submit", function (e) {
    /* Evitamos el envío real del formulario */
    e.preventDefault();
    $("#myModalCliente").modal("hide");
    guardarcliente();
  });

  // Se busca el codigo de barra
  $("#cod_barra").keypress(function (e) {
    var keycode = e.keyCode ? e.keyCode : e.which;
    var codigobarra = $("#cod_barra").val();
    if (keycode == "13") {
      // Evitamos el envío real del enter
      e.preventDefault();
      // Hacemos la llamada al API Buscamos el codigo de barra
      buscarcodigodebarra(codigobarra);
      return false;
    }
  });

  //Capturamos los campos de los articulos pata totalizar

  // Se busca el cliente
  //setup before functions
  var typingTimer; //timer identifier
  var doneTypingInterval = 5000; //time in ms, 1 second for example
  var $input = $("#num_documento");

  //Se inicia el conteo para buscar el cliente
  $input.on("keyup", function () {
    clearTimeout(typingTimer);
    typingTimer = setTimeout(doneTyping, doneTypingInterval);
  });

  //Se limpia el contador cuando deja de escribir
  $input.on("keydown", function () {
    clearTimeout(typingTimer);
  });

  //buscamos el cliente
  function doneTyping() {
    var tipo_documento = $("#tipo_documento").val();
    var num_documento = $("#num_documento").val();
    buscarcliente(tipo_documento, num_documento);
  }

  $("#num_documento").keypress(function (e) {
    var keycode = e.keyCode ? e.keyCode : e.which;
    if (keycode == "13") {
      // Evitamos el envío real del enter
      e.preventDefault();
      // Hacemos la llamada al API Buscamos el codigo de barra
      var tipo_documento = $("#tipo_documento").val();
      var num_documento = $("#num_documento").val();
      buscarcliente(tipo_documento, num_documento);
      return false;
    }
  });

  /* Tras cargar el documento posicionamos el cursor en el lector de código de barras */
  document.addEventListener("DOMContentLoaded", function () {
    $("#cod_barra").val("");
    $("#cod_barra").focus();
  });

  //se verifica si cambia los campos del formulario
  $("#idcliente").change(function () {
    buscarclienteid($("#idcliente").val());
    $("#cod_barra").val("");
    $("#cod_barra").focus();
  });

  $("#tipo_comprobante").change(function () {
    $("#cod_barra").val("");
    $("#cod_barra").focus();
  });

  $("#fecha_hora").change(function () {
    $("#cod_barra").val("");
    $("#cod_barra").focus();
  });

  //se verifica si cambia los campos del formulario
  $("#idcliente").change(function () {
    buscarclienteid($("#idcliente").val());
    buscardespachoid($("#idcliente").val());
    $("#cod_barra").val("");
    $("#cod_barra").focus();
  });

  $("#idtransporte").change(function () {
    let capacidad1 = $("#idtransporte").val().split(":");
    capacidad = capacidad1[1];
    console.log("capacidad: " + capacidad);
  });

  //cargamos los items al select cliente
  $.post("controladores/ordendecompraControlador.php?op=selectCliente",
    function (r) {
      $("#idcliente").html(r);
      $("#idcliente").val(0);
      $("#idcliente").selectpicker("refresh");
    }
  );

  //cargamos los items al select Conductor
  $.post("controladores/ordendecompraControlador.php?op=selectTransportista",
    function (r) {
      $("#idtransportista").html(r);
      $("#idtransportista").val(0);
      $("#idtransportista").selectpicker("refresh");
    }
  );

  //cargamos los items al select Transporte o Vehículo
  $.post("controladores/ordendecompraControlador.php?op=selectTransporte",
    function (r) {
      $("#idtransporte").html(r);
      $("#idtransporte").val(0);
      $("#idtransporte").selectpicker("refresh");
    }
  );

  //cargamos los items al select Vendedor
  $.post("controladores/ordendecompraControlador.php?op=selectVendedor",
    function (r) {
      $("#idvendedor").html(r);
      $("#idvendedor").val(0);
      $("#idvendedor").selectpicker("refresh");
    }
  );
}

//funcion limpiar
function limpiar() {
  $("#formulario").data("bootstrapValidator").resetForm(true);
  document.getElementById("formaguardarcliente").reset();
  $("#detalles").html("");
  $("#detalles").html(r);
  $("#idordendecompra").val("");
  $("#tipo_documento").val("");
  $("#num_documento").val("");
  $("#nombre").val("");
  $("#tipo_comprobante").val("");
  $("#serie_comprobante").val("");
  $("#num_comprobante").val("");
  $("#impuesto").val("");
  $("#montosubtotal").val(0);
  $("#montoapagarbs").val(0);
  $("#validar").val(0);
  $("#total_venta").val(0);
  $("#total_venta1").val(0);
  $(".filas").remove();
  $("#total").html("0");
  $("#idtransportista").val(0);
  $("#idtransportista").selectpicker("refresh");
  $("#idvendedor").val(0);
  $("#idvendedor").selectpicker("refresh");
  $("#idcliente").val(0);
  $("#idcliente").selectpicker("refresh");
  //'<option value='.$reg->idclientedespacho.'>'.$reg->nombred.'</option>'

  $("#idclientedespacho").html("");
  $("#idclientedespacho").selectpicker("refresh");

  $("#idtransporte").val(0);
  $("#idtransporte").selectpicker("refresh");
  $("#pesof").val(0);
  $("#cajasf").val(0);
  $("#capacidadf").val(0);
  buscarTasaDeCambio();

  //obtenemos la fecha actual
  var now = new Date();
  var today = new Date();
  var dd = ("0" + now.getDate()).slice(-2);
  var mm = ("0" + (now.getMonth() + 1)).slice(-2);
  var yyyy = now.getFullYear();
  var today = yyyy + "-" + mm + "-" + dd;
  $(fecha_hora).val(today);

  //marcamos el primer tipo_documento
  $("#tipo_comprobante").val("ordendecompra");
  $("#tipo_comprobante").selectpicker("refresh");
  marcarImpuesto();

  //marcamos el primer tipo_documento
  $("#tipo_documento").val("RIF");
  $("#tipo_documento").selectpicker("refresh");
}

function limpiarsolocliente() {
  $("#tipo_documento1").val("");
  $("#num_documento1").val("");
  $("#nombre1").val("");
  $("direccion1").val("");
  $("telefono1").val("");
  $("Email").val("");
  $("email1").val("");
}

//funcion mostrar formulario
function mostrarform(flag) {
  limpiar();
  if (flag) {
    $("#listadoregistros").hide();
    $("#formularioregistros").show();
    $("#formularioregistros1").show();
    //$("#btnGuardar").prop("disabled",false);
    $("#btnagregar").hide();
    listarArticulos();
    listarArticulosb();
    listarArticulosc();
    listarPedidos();
    listarServicios();
    buscarNroFacturaControl();
    buscarTasaDeCambio();

    $("#btnGuardar").hide();
    $("#btnCancelar").show();
    detalles = 0;
    $("#btnAgregarArt").show();
    $("#btnAgregarArtb").hide();
    $("#btnAgregarArtc").hide();
    $("#btnAgregarSer").show();
    $("#cod_barra").val("");
    $("#cod_barra").focus();
  } else {
    $("#listadoregistros").show();
    $("#formularioregistros").hide();
    $("#formularioregistros1").hide();
    $("#btnagregar").show();
  }
}

//Se busca el numero la tasa de cambio
function buscarTasaDeCambio() {
  idempresa_venta = $("#idempresa_venta").val();
  //alert ('idempresa_venta: '+idempresa_venta);
  $.post(
    "controladores/empresaControlador.php?op=buscarTasaDeCambio",
    { idempresa_venta: idempresa_venta },
    function (data, status) {
      //alert ('estatus: '+status);
      data1 = JSON.parse(data);
      //console.log('tasa de cambiobd: '+data1.tasa_dollar);
      //$("#tasa_dollar").val(number_format(data1.tasa_dollar),2);
      $("#tasa_dollar").val(data1.tasa_dollar);
      //console.log('tasa de cambio:'+$("#tasa_dollar").val());
      //$("#tasa_euro").val(number_format(data1.tasa_euro),2);
      $("#tasa_euro").val(data1.tasa_euro);
      //		alert ('Control: '+data1.nrocontrol+' Factura: '+data1.nrofactura);
    }
  );
}

//cancelar form
function cancelarform() {
  limpiar();
  mostrarform(false);
}

function marcarImpuesto() {
  var tipo_comprobante = $("#tipo_comprobante option:selected").text();
  var impuestotexto = document.getElementById("impuesto");
  impuestotexto.style.backgroundColor = "#D5D5CE";
  if (tipo_comprobante == "Factura") {
    $("#impuesto").val(impuesto);
  } else {
    $("#impuesto").val("0");
  }
}

// funcion para buscar el cliente
function buscarcliente(tipo_documento, num_documento) {
  var tipo_documento11 = tipo_documento;
  var num_documento11 = num_documento;
  //alert ('tipo y numero: '+ tipo_documento11+ ' '+num_documento11);
  $.ajax({
    url: "controladores/personaControlador.php?op=buscarcliente",
    method: "post",
    data: {
      tipo_documento: tipo_documento11,
      num_documento: num_documento11,
    },
  })
    .done(function (datos) {
      /* Depuramos los datos recibidos */
      datos = JSON.parse(datos);
      console.log(datos);
      /* Se verifica si se delvovio algun resultado */
      if (datos == null || datos == "undefined") {
        /* hacer algo */
        bootbox.confirm(
          "El cliente no existe necesita crearlo",
          function (result) {
            if (result) {
              $("#tipo_documento1").val(tipo_documento11);
              $("#tipo_documento1").selectpicker("refresh");
              tipo_documento1.style.backgroundColor = "#D5D5CE";
              $("#num_documento1").val(num_documento11);
              num_documento1.style.backgroundColor = "#D5D5CE";
              $("#myModalCliente").modal("show");
            }
          }
        );
        return;
      }
      /* Colocamos los datos del cliente */
      //$("#nombre_cliente").val(datos.nombre);

      //nombre_cliente.style.backgroundColor 	= "#D5D5CE";
      //$('#formulario').bootstrapValidator('false');
      //alert ('nombre y id: '+ datos.nombre+ '--'+datos.idpersona);
      $("#idcliente").val(datos.idpersona);
      $("#idcliente").selectpicker("refresh");
      verificarlistaprecio(datos.idlistaprecio);
    })
    .fail(function () {
      alert("Error");
    })
    .always(function () {
      /* Seleccionamos el texto para que se pueda sobreescribir por la siguiente lectura */
      $("input[name='cod_barra']").select();
    });
}

// funcion para buscar el cliente
function buscarclienteid(idcliente) {
  var idpersona = idcliente;
  //alert ('tipo y numero: '+ tipo_documento11+ ' '+num_documento11);
  $.ajax({
    url: "controladores/personaControlador.php?op=buscarclienteid",
    method: "post",
    data: {
      idpersona: idpersona,
    },
  })
    .done(function (datos) {
      /* Depuramos los datos recibidos */
      datos = JSON.parse(datos);
      console.log(datos);
      /* Se verifica si se delvovio algun resultado */
      if (datos == null || datos == "undefined") {
        /* hacer algo */
        bootbox.confirm(
          "El cliente no existe necesita crearlo",
          function (result) {
            if (result) {
              $("#tipo_documento1").val(tipo_documento11);
              $("#tipo_documento1").selectpicker("refresh");
              tipo_documento1.style.backgroundColor = "#D5D5CE";
              $("#num_documento1").val(num_documento11);
              num_documento1.style.backgroundColor = "#D5D5CE";
              $("#myModalCliente").modal("show");
            }
          }
        );
        return;
      }
      /* Colocamos los datos del cliente */
      //$("#nombre_cliente").val(datos.nombre);

      //nombre_cliente.style.backgroundColor 	= "#D5D5CE";
      //$('#formulario').bootstrapValidator('false');
      //alert ('nombre y id: '+ datos.nombre+ '--'+datos.idpersona);
      $("#num_documento").val(datos.num_documento);
      $("#tipo_documento").val(datos.tipo_documento);
      $("#tipo_documento").selectpicker("refresh");
      $("#idvendedor").val(datos.idvendedor);
      $("#idvendedor").selectpicker("refresh");
      verificarlistaprecio(datos.idlistaprecio);
    })
    .fail(function () {
      alert("Error");
    })
    .always(function () {
      /* Seleccionamos el texto para que se pueda sobreescribir por la siguiente lectura */
      $("input[name='cod_barra']").select();
    });
}

// funcion para buscar el despacho
function buscardespachoid(idcliente) {
  var idpersona = idcliente;
  $.post(
    "controladores/personaControlador.php?op=buscardespachoid",
    { idpersona: idpersona },
    function (r) {
      $("#idclientedespacho").html(r);
      $("#idclientedespacho").selectpicker("refresh");
    }
  );
}

//Se habilita la lista de precio para el cliente seleccionado
function verificarlistaprecio(idlistaprecio) {
  if (idlistaprecio == 1) {
    $("#btnAgregarArt").show();
    $("#btnAgregarArtb").hide();
    $("#btnAgregarArtc").hide();
  } else if (idlistaprecio == 2) {
    $("#btnAgregarArt").hide();
    $("#btnAgregarArtb").show();
    $("#btnAgregarArtc").hide();
  } else {
    $("#btnAgregarArt").hide();
    $("#btnAgregarArtb").hide();
    $("#btnAgregarArtc").show();
  }
}

//Se busca el numero de factura y control
function buscarNroFacturaControl() {
  idempresa_venta = $("#idempresa_venta").val();
  var serie_comprobante = document.getElementById("serie_comprobante");
  var num_comprobante = document.getElementById("num_comprobante");
  //	alert ('idempresa_venta: '+idempresa_venta);
  $.post(
    "controladores/empresaControlador.php?op=buscarNroFacturaControl",
    { idempresa_venta: idempresa_venta },
    function (data, status) {
      //alert ('estatus: '+status);
      data1 = JSON.parse(data);
      $("#serie_comprobante").val(data1.nronotaentrega);
      serie_comprobante.style.backgroundColor = "#D5D5CE";
      $("#num_comprobante").val(data1.nrocontrolnotaentrega);
      num_comprobante.style.backgroundColor = "#D5D5CE";
      //		alert ('Control: '+data1.nrocontrol+' Factura: '+data1.nrofactura);
    }
  );
}

function buscarindice(indice) {
  var posi = document.getElementsByName("posicion[]");
  var indice1 = 0;
  for (var i = 0; i < posi.length; i++) {
    var pos = posi[i];
    if (pos.value == indice) {
      indice1 = i;
      break;
    }
  }
  return indice1;
}

function buscarprecioa(indice) {
  var indice1 = buscarindice(indice);
  $("#indice").val(indice1);
  console.log("indice fila: " + indice);
  console.log("indice correcto :" + indice1);
  var idart = document.getElementsByName("idarticulo[]");
  var idart1 = idart[indice1];
  var idarticulo = idart1.value;
  console.log("idarticulo " + idarticulo);
  $.post(
    "controladores/articuloControlador.php?op=verificarlistaa",
    { idarticulo: idarticulo },
    function (data, status) {
      data = JSON.parse(data);
      var indice = $("#indice").val() * 1;
      console.log("indice " + indice);
      var prev = document.getElementsByName("precio_venta[]");
      var prevd = document.getElementsByName("precio_ventad[]");
      var pvp = document.getElementsByName("precio_ventapvp[]");
      var pvpd = document.getElementsByName("precio_ventapvpd[]");
      var iva = document.getElementsByName("iva[]");
      var ivad = document.getElementsByName("ivad[]");
      var exet = document.getElementsByName("exentot[]");
      var exetd = document.getElementsByName("exentotd[]");
      var prev1 = prev[indice];
      var prev1d = prevd[indice];
      var pvp1 = pvp[indice];
      var pvp1d = pvpd[indice];
      var iva1 = iva[indice];
      var iva1d = ivad[indice];
      var exento = exet[indice];
      var exentod = exetd[indice];
      prev1.value = number_format(data.precio, 2);
      prev1d.value = number_format(data.preciod, 2);
      pvp1.value = number_format(data.preciopvp, 2);
      pvp1d.value = number_format(data.preciopvpd, 2);
      iva1.value = number_format(data.iva, 2);
      iva1d.value = number_format(data.ivad, 2);
      exento.value = number_format(data.exentob, 2);
      exentod.value = number_format(data.exentod, 2);
      modificarSubtotales();
    }
  );
  //$("#myListaprecio").modal("show");
}

function buscarpreciob(indice) {
  var indice1 = buscarindice(indice);
  $("#indice").val(indice1);
  console.log("indice fila: " + indice);
  console.log("indice correcto :" + indice1);
  var idart = document.getElementsByName("idarticulo[]");
  var idart1 = idart[indice1];
  var idarticulo = idart1.value;
  console.log("idarticulo " + idarticulo);
  $.post(
    "controladores/articuloControlador.php?op=verificarlistab",
    { idarticulo: idarticulo },
    function (data, status) {
      data = JSON.parse(data);
      var indice = $("#indice").val() * 1;
      console.log("indice " + indice);
      var prev = document.getElementsByName("precio_venta[]");
      var prevd = document.getElementsByName("precio_ventad[]");
      var pvp = document.getElementsByName("precio_ventapvp[]");
      var pvpd = document.getElementsByName("precio_ventapvpd[]");
      var iva = document.getElementsByName("iva[]");
      var ivad = document.getElementsByName("ivad[]");
      var exet = document.getElementsByName("exentot[]");
      var exetd = document.getElementsByName("exentotd[]");
      var prev1 = prev[indice];
      var prev1d = prevd[indice];
      var pvp1 = pvp[indice];
      var pvp1d = pvpd[indice];
      var iva1 = iva[indice];
      var iva1d = ivad[indice];
      var exento = exet[indice];
      var exentod = exetd[indice];
      prev1.value = number_format(data.precio, 2);
      prev1d.value = number_format(data.preciod, 2);
      pvp1.value = number_format(data.preciopvp, 2);
      pvp1d.value = number_format(data.preciopvpd, 2);
      iva1.value = number_format(data.iva, 2);
      iva1d.value = number_format(data.ivad, 2);
      exento.value = number_format(data.exentob, 2);
      exentod.value = number_format(data.exentod, 2);
      modificarSubtotales();
    }
  );
  //$("#myListaprecio").modal("show");
}

function buscarprecioc(indice) {
  var indice1 = buscarindice(indice);
  $("#indice").val(indice1);
  console.log("indice fila: " + indice);
  console.log("indice correcto :" + indice1);
  var idart = document.getElementsByName("idarticulo[]");
  var idart1 = idart[indice1];
  var idarticulo = idart1.value;
  console.log("idarticulo " + idarticulo);
  $.post(
    "controladores/articuloControlador.php?op=verificarlistac",
    { idarticulo: idarticulo },
    function (data, status) {
      data = JSON.parse(data);
      var indice = $("#indice").val() * 1;
      console.log("indice " + indice);
      var prev = document.getElementsByName("precio_venta[]");
      var prevd = document.getElementsByName("precio_ventad[]");
      var pvp = document.getElementsByName("precio_ventapvp[]");
      var pvpd = document.getElementsByName("precio_ventapvpd[]");
      var iva = document.getElementsByName("iva[]");
      var ivad = document.getElementsByName("ivad[]");
      var exet = document.getElementsByName("exentot[]");
      var exetd = document.getElementsByName("exentotd[]");
      var prev1 = prev[indice];
      var prev1d = prevd[indice];
      var pvp1 = pvp[indice];
      var pvp1d = pvpd[indice];
      var iva1 = iva[indice];
      var iva1d = ivad[indice];
      var exento = exet[indice];
      var exentod = exetd[indice];
      prev1.value = number_format(data.precio, 2);
      prev1d.value = number_format(data.preciod, 2);
      pvp1.value = number_format(data.preciopvp, 2);
      pvp1d.value = number_format(data.preciopvpd, 2);
      iva1.value = number_format(data.iva, 2);
      iva1d.value = number_format(data.ivad, 2);
      exento.value = number_format(data.exentob, 2);
      exentod.value = number_format(data.exentod, 2);
      modificarSubtotales();
    }
  );
  //$("#myListaprecio").modal("show");
}

function buscarlistaprecio(lista) {
  var indice = $("#indice").val() * 1;
  var idart = document.getElementsByName("idarticulo[]");
  console.log("indice " + indice);
  var idart1 = idart[indice];
  var idarticulo = idart1.value;

  var verificar = "verificarlistaa";
  if ((lista = "b")) {
    verificar = "verificarlistab";
  }
  if ((lista = "c")) {
    verificar = "verificarlistac";
  }

  $.post(
    "controladores/articuloControlador.php?op=verificarlistaa",
    { idarticulo: idarticulo },
    function (data, status) {
      data = JSON.parse(data);
      var indice = $("#indice").val(indice);
      var prev = document.getElementsByName("precio_venta[]");
      var prevd = document.getElementsByName("precio_ventad[]");
      var pvp = document.getElementsByName("precio_ventapvp[]");
      var pvpd = document.getElementsByName("precio_ventapvpd[]");
      var iva = document.getElementsByName("iva[]");
      var ivad = document.getElementsByName("ivad[]");
      var exet = document.getElementsByName("exentot[]");
      var exetd = document.getElementsByName("exentotd[]");
      var prev1 = prev[indice];
      var prev1d = prevd[indice];
      var pvp1 = pvp[indice];
      var pvp1d = pvpd[indice];
      var iva1 = iva[indice];
      var iva1d = ivad[indice];
      var exento = exet[indice];
      var exentod = exetd[indice];
      prev1.value = number_format(data.precio, 2);
      prev1d.value = number_format(data.preciod, 2);
      pvp1.value = number_format(data.preciopvp, 2);
      pvp1d.value = number_format(data.preciopvpd, 2);
      iva1.value = number_format(data.iva, 2);
      iva1d.value = number_format(data.ivad, 2);
      exento.value = number_format(data.exentob, 2);
      exentod.value = number_format(data.exentod, 2);
      modificarSubtotales();
    }
  );

  //$("#myListaprecio").modal("hide");
}

//funcion listar
function listar() {
  tabla = $("#tbllistado")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: ["copyHtml5", "excelHtml5", "csvHtml5", "pdf"],
      ajax: {
        url: "controladores/ordendecompraControlador.php?op=listar",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: 10, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}

function listarArticulos() {
  tabla = $("#tblarticulos")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: [],
      ajax: {
        url: "controladores/ordendecompraControlador.php?op=listarArticulos",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: 5, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}

function listarArticulosb() {
  tabla = $("#tblarticulosb")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: [],
      ajax: {
        url: "controladores/ordendecompraControlador.php?op=listarArticulosb",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: 5, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}

function listarArticulosc() {
  tabla = $("#tblarticulosc")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: [],
      ajax: {
        url: "controladores/ordendecompraControlador.php?op=listarArticulosc",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: 5, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}

function listarServicios() {
  tabla = $("#tblservicios")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: [],
      ajax: {
        url: "controladores/ordendecompraControlador.php?op=listarServicios",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: 5, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}

function listarPedidos() {
  tabla = $("#tblpedidos")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: [],
      ajax: {
        url: "controladores/pedidoControlador.php?op=listarPedido",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: 5, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}

function guardarcliente() {
  var formDataCliente = new FormData($("#formaguardarcliente")[0]);
  var tipo_documento1 = $("#tipo_documento1").val();
  var num_documento1 = $("#num_documento1").val();
  //alert('ahora vamos aguardar el cliente tipo documento y nro ' + tipo_documento1+' -- '+num_documento1);
  $.ajax({
    url: "controladores/personaclienteControlador.php?op=guardaryeditar",
    type: "POST",
    data: formDataCliente,
    contentType: false,
    processData: false,
    success: function (datos) {
      bootbox.alert(datos);
      buscarcliente(tipo_documento1, num_documento1);
    },
  });
  limpiarsolocliente();
}

//funcion para guardaryeditar
function guardaryeditar() {
  //e.preventDefault();//no se activara la accion predeterminada
  //$("#btnGuardar").prop("disabled",true);
  var formData = new FormData($("#formulario")[0]);

  $.ajax({
    url: "controladores/ordendecompraControlador.php?op=guardaryeditar",
    type: "POST",
    data: formData,
    contentType: false,
    processData: false,

    success: function (datos) {
      bootbox.alert(datos);
      mostrarform(false);
      listar();
    },
    fail: function () {
      alert("Error");
    },
    
  });

  limpiar();
}

function mostrar(idordendecompra) {
  $.post(
    "controladores/ordendecompraControlador.php?op=mostrar",
    { idordendecompra: idordendecompra },
    function (data, status) {
      data = JSON.parse(data);
      mostrarform(true);

      $("#idcliente").val(data.idcliente);
	    $("#idcliente").selectpicker("refresh");
	    buscardespachoid(data.idcliente);
	    $("#idclientedespacho").val(data.idclientedespacho);
	    $("#idclientedespacho").selectpicker("refresh");
	    $("#num_documento").val(data.num_documento);
      $("#nombre_cliente").val(data.cliente);
      $("#tipo_comprobante").val(data.tipo_comprobante);
      $("#tipo_comprobante").selectpicker("refresh");
      $("#serie_comprobante").val(data.serie_comprobante);
      $("#num_comprobante").val(data.num_comprobante);
      $("#fecha_hora").val(data.fecha);
      $("#impuesto").val(data.impuesto);
      $("#idordendecompra").val(data.idordendecompra);
      $("#idtransportista").val(data.idtransportista);
      $("#idtransportista").selectpicker("refresh");
	    $("#idtransporte").val(data.idtransportec);
      $("#idtransporte").selectpicker("refresh");
	    $("#idvendedor").val(data.idvendedor);
      $("#idvendedor").selectpicker("refresh");
      $("#pesof").val(data.pesof);
      $("#cajasf").val(data.cajasf);
      $("#capacidadf").val(data.capacidadf);

      //ocultar y mostrar los botones
      $("#btnGuardar").hide();
      $("#btnFacturar").hide();
      $("#btnCancelar").show();
      $("#btnAgregarArt").hide();
      $("#btnAgregarSer").hide();
      $("#btnAgregarPed").hide();
      $("#btnTotalizar").hide();
      $("#btnAgregarBar").hide();
    }
  );
  $.post(
    "controladores/ordendecompraControlador.php?op=listarDetalle&id=" +
      idordendecompra,
    function (r) {
      $("#detalles").html(r);
    }
  );
}

//funcion para Anular una factura
function anular(idordendecompra, idusuario) {
  bootbox.confirm("¿Esta seguro de Anular esta factura?", function (result) {
    if (result) {
      console.log(
        "idordendecompra y idusuario: " + idordendecompra + "--" + idusuario
      );
      $.post(
        "controladores/devolucionControlador.php?op=anular",
        { idordendecompra: idordendecompra, idusuario: idusuario },
        function (e) {
          bootbox.alert(e);
          tabla.ajax.reload();
        }
      );
    }
  });
}

function buscarcodigodebarra(codbarra) {
  //alert ('buscando codigo de barra: '+codbarra);
  $.ajax({
    url: "complemento/leercodigobarra.php",
    method: "post",
    data: {
      codigobarra: codbarra,
    },
  })
    .done(function (datos) {
      /* Depuramos los datos recibidos */
      console.log(datos);
      /* Si no se devolvió ningún registro (false) debería hacerse algo */
      if (datos === false) {
        /* hacer algo */
        //bootbox.alert('No se encontró el código de barras');
        //Ahora buscamos en la tarjeta de cliente
        buscarcodigodebarratarjetapendiente(codbarra);
        $("#cod_barra").val("");
        $("#cod_barra").focus();
        return;
      }
      /* Agregamos una fila con los datos obtenidos */
      agregarDetalle(
        datos.idarticulo,
        datos.nombre,
        datos.precio,
        datos.porcentaje,
        datos.numerolote,
        datos.fecha
      );
    })
    .fail(function () {
      alert("Error");
    })
    .always(function () {
      /* Seleccionamos el texto para que se pueda sobreescribir por la siguiente lectura */
      $("input[name='cod_barra']").select();
    });
}

   /*     agregarDetalle(
	'.$reg->idarticulo.',
	'.$reg->idalmacen.',\'
	'.$reg->nombre.'\',
	'.$reg->precio_venta.',
	'.$reg->preciod.',
	'.$porcentaje.',\'
	'.$reg->numerolote.'\',\'
	'.$reg->fecha.'\',\'
	'.$reg->exento.'\',
	'.$reg->impuestoart18.',
	'.$reg->impuestoart18d.',
	'.$reg->preciopvp.',
	'.$reg->preciopvpd.',
	'.$reg->peso.',
	'.$reg->dimesion.',
	'.$reg->factorconversion.') */
function agregarDetalle(
  idarticulo,
  idalmacen,
  articulo,
  precio_venta,
  precio_ventad,
  porcentaje,
  nrolote,
  fechalote,
  exento,
  impuestoart18,
  impuestoart18d,
  preciopvp,
  preciopvpd,
  peso,
  dimesion,
  factorconversion
) {
  var cantidad 		= 1;
  var descuento 	= 0;
  var descuentod 	= 0;
  var impoart18 	= impuestoart18;
  var impoart18d 	= impuestoart18d;
  var idpedido 		= -300;
  var imp18_empresa = $("#impuestoart18_empresa").val();
  var tasadollar 	= $("#tasa_dollar").val();
  if (idarticulo != "") {
    var iva 			= 0;
    var ivad 			= 0;
    var subtotal 		= 0;
    var subtotalsiniva 	= 0;
    var exentot 		= 0;
    var precio 			= 0;
    var preciod 		= 0;
    var salida 			= convertDateFormat(fechalote);
    var fechalotef 		= convertDateLote(fechalote);
    precio_venta 		= precio_ventad * tasadollar;
    preciopvp 			= preciopvpd * tasadollar;
    if (fechalote == "N/A") {
      fechalotef = fechalote;
    }
    if (exento == "si") {
      precio 	= precio_venta * 1;
      preciod 	= precio_ventad * 1;
      exentot 	= precio_venta * 1;
      exentotd 	= precio_ventad * 1;
      articulo 	= articulo + " (E)";
      iva = 0;
    } else {
      iva 		= (precio_venta * impuesto) / 100;
      ivad 		= (precio_ventad * impuesto) / 100;
      precio 	= precio_venta * 1;
      preciod 	= precio_ventad * 1;
      exentot 	= 0;
      exentotd 	= 0;
    }
    if (imp18_empresa == "si") {
      td 	='<td><input type="text" name="impoart18d[]" id="impoart18d[]" style="text-align:right;width:120px" value="' +        number_format(impoart18d, 2) +        '" >' +             '<input type="hidden" name="impoart18[]" id="impoart18[]" value="' +        number_format(impoart18, 2) +        '" ></td>';
      td1 	='<td><input type="text" name="precio_ventapvpd[]" id="precio_ventapvpd[]" style="text-align:right;width:120px" value="' +        number_format(preciopvpd, 2) +        '"></td>';
    } else {
      td 	='<input type="hidden" name="impoart18[]" id="impoart18[]" value="' +       number_format(impoart18, 2) +        '">' +        '<input type="hidden" name="impoart18d[]" id="impoart18d[]" value="' +        number_format(impoart18d, 2) +        '">';
      td1   ='<input type="hidden" name="precio_ventapvpd[]" id="precio_ventapvpd[]" value="' +        number_format(preciopvpd, 2) +        '">';
    }

    subtotalsiniva 	= cantidad * precio_venta;
    subtotal 		= cantidad * precio;
    subtotald 		= cantidad * preciod;
    console.log(
      "fecha: " + salida + " precio: " + precio + " exentot: " + exentot
    );
    var fila ='<tr class="filas" id="fila'+cont+'">'+
	  '<td style="text-align:left;width:160px"><button type="button" class="btn btn-danger" onclick="eliminarDetalle('+cont+')">X</button>' +'<button type="button" class="btn btn-primary" onclick="buscarprecioa(' + cont1 +')">A</button>' +'<button type="button" class="btn btn-success" onclick="buscarpreciob(' + cont1 + ')">B</button>' + '<button type="button" class="btn btn-warning" onclick="buscarprecioc(' + cont1 + ')">C</button></td>' +
	  '<td><input type="hidden" name="idarticulo[]" id="idarticulo[] "value="' +  idarticulo +'">' + articulo +      "</td>" +
      '<td><input type="text" name="cantidad[]" id="cantidad[]" style="text-align:right;width:80px" value="' +    number_format(cantidad) +      '"></td>' +
      '<td><input type="text" name="precio_ventad[]" id="precio_ventad[]" style="text-align:right;width:120px" value="' +     number_format(preciod, 2) +    '"></td>' +
      td1 +
      '<td><input type="text" name="porcentaje[]" id="porcentaje[]" style="text-align:right;width:70px" value="' +   number_format(porcentaje, 2) +      '"></td>' +
      '<td><input type="text" name="descuentod[]" id="descuentod[]" style="text-align:right;width:120px" value="' +      number_format(descuentod, 2) +      '" ></td>' +
      td +
      '<td><input type="text" style="text-align:right;width:120px" name="subtotald[]" id="subtotald[]"  value="' +     number_format(subtotald, 2) +      '"></td>' +
      //'<td><span id="subtotal'+cont+'" name="subtotal">'+subtotal+'</span></td>'+
      '<td><button type="button" onclick="modificarSubtotales()" class="btn btn-info"><i class="fa fa-refresh"></i></button>' +
      '<input type="hidden" name="nrolote[]" value="' +      nrolote +      '">' +
      '<input type="hidden" name="idpedidosolo[]" id="idpedidosolo[]" value="' +  idpedido * 1 +     '">' +
      '<input type="hidden" name="idalmacen[]" id="idalmacen[]" value="' +    idalmacen +      '">' +
      '<input type="hidden" name="iva[]" value="' +     iva +     '">' +
      '<input type="hidden" name="ivad[]" value="' +      ivad +      '">' +
      '<input type="hidden" name="exentot[]" value="' +      exentot +      '">' +
      '<input type="hidden" name="exentotd[]" value="' +      exentotd +      '">' +
      '<input type="hidden" name="precio_venta[]" id="precio_venta[]" value="' +     number_format(precio, 2) +      '">' +
      '<input type="hidden" name="subtotal[]" id="subtotal[]"  value="' +     number_format(subtotal, 2) +     '">' +
      '<input type="hidden" name="precio_ventapvp[]" id="precio_ventapvp[]" value="' +      number_format(preciopvp, 2) +      '">' +
      '<input type="hidden" name="descuento[]" id="descuento[]" value="' +      number_format(descuento, 2) +      '" >' +
      '<input type="hidden" name="posicion[]" id="posicion[]" value="' +      cont1 +      '" >' +
	  '<input type="hidden" name="peso[]" id="peso[]" value="' +    peso +      '">' +
	  '<input type="hidden" name="dimesion[]" id="dimesion[]" value="' +    dimesion +      '">' +
	  '<input type="hidden" name="factorconversion[]" id="factorconversion[]" value="' +    factorconversion +      '">' +
      "</td>" +
      "</tr>";
    cont++;
    cont1++;
    detalles++;
    $("#detalles").append(fila);
    modificarSubtotales();
  } else {
    alert("error al ingresar el detalle, revisar las datos del articulo ");
  }
}

function agregarDetallePedido(idpedido) {
  if (verificarpedido(idpedido)) {
    $.post(
      "controladores/pedidoControlador.php?op=agregarDetallePedido&id=" +
        idpedido +
        "&cont=" +
        cont,
      function (r) {
        $("#detalles").append(r);
        //calculamos la cantidad de articulos que agregaron
        var idart = document.getElementsByName("idarticulo[]");
        var nroar = idart.length;
        detalles = nroar;
        cont = cont + nroar;
        modificarSubtotales();

        //	$("#detalles").html(r);
      }
    );
  } else {
    bootbox.alert("Ya agrego este pedido");
  }
}

function verificarpedido(idpedido) {
  var idpedidos = document.getElementsByName("idpedidosolo[]");
  resultado = true;
  if (idpedidos.length > 0) {
    for (var i = 0; i < idpedidos.length; i++) {
      var pedido = idpedidos[i];
      var pedidov = pedido.value;
      var pedidot = pedidov.replace(/[^0-9\,-]/g, ""); // elimino cualquier cosa que no sea numero o coma
      pedidot = pedidot.split(",");
      var idpedido1 = pedidot[2];
      if (idpedido1 == idpedido) {
        resultado = false;
        break;
      }
    }
  }
  return resultado;
}

function modificarValoresAnumerico() {
  var cant = document.getElementsByName("cantidad[]");
  var prev = document.getElementsByName("precio_venta[]");
  var desc = document.getElementsByName("descuento[]");
  var porc = document.getElementsByName("porcentaje[]");
  var sub = document.getElementsByName("subtotal[]");
  var exe = document.getElementsByName("exentot[]");
  var a18 = document.getElementsByName("impoart18[]");
  var pvp = document.getElementsByName("precio_ventapvp[]");
  var tasa = $("#tasa_dollar").val();

  //$("#tasa_dollar").val(numero(tasa));

  for (var i = 0; i < cant.length; i++) {
    var Cmod = cant[i];
    var Pvmod = prev[i];
    var Dmod = desc[i];
    var Ia18 = a18[i];
    var Pmod = porc[i];
    var Smod = sub[i];
    var Pvpd = pvp[i];
    Cmod.value = numero(Cmod.value);
    Dmod.value = numero(Dmod.value);
    Ia18.value = numero(Ia18.value);
    Pvmod.value = numero(Pvmod.value);
    Pmod.value = numero(Pmod.value);
    Smod.value = numero(Smod.value);
    Pvpd.value = numero(Pvpd.value);
  }
}

function modificarSubtotalesold(boton) {
  var idart 	= document.getElementsByName("idarticulo[]");
  var cant 		= document.getElementsByName("cantidad[]");
  var prev 		= document.getElementsByName("precio_venta[]");
  var desc 		= document.getElementsByName("descuento[]");
  var art8 		= document.getElementsByName("impoart18[]");
  var porc 		= document.getElementsByName("porcentaje[]");
  var sub 		= document.getElementsByName("subtotal[]");
  var subd 		= document.getElementsByName("subtotald[]");
  var ivao 		= document.getElementsByName("iva[]");
  var exet 		= document.getElementsByName("exentot[]");
  var impart18emp = $("#impuestoart18_empresa").val();

  for (var i = 0; i < cant.length; i++) {
    var inpV = cant[i];
    var inpP = prev[i];
    var inpS = sub[i];
    var des = desc[i];
    var iart18 = art8[i];
    var por = porc[i];
    var subt = sub[i];
    var ivat = ivao[i];
    var exento = exet[i];
    var imp = 1 + impuesto / 100;
    var precio = numero(inpP.value * imp);
    var precioSiva = numero(inpP.value);
    var precioNew = 0;
    var precioNewCiva = 0;
    var ivaNew = 0;
    var porT = 0;
    var total = 0;

    console.log("impuesto" + imp);
    console.log("precio: " + precio);
    console.log("Precio sin iva: " + precioSiva);
    if (numero(por.value) > 0) {
      if (numero(inpP.value) > 0) {
        porT = (precioSiva * numero(por.value)) / 100;
        console.log("MontoPorcentaje: " + porT);
        precioNew = precioSiva - porT;
        ivaNew = (precioNew * impuesto) / 100;
        precioNewCiva = precioNew + ivaNew;
        if (impart18emp == "si") {
          inpS.value =
            numero(inpV.value) * precioNew +
            numero(inpV.value) * numero(iart18.value) -
            numero(des.value);
        } else {
          inpS.value = numero(inpV.value) * precioNew - numero(des.value);
        }

        console.log("precioNuevo: " + precioNew + " IvaNuevo:" + ivaNew);
        console.log("subtotal nuevo: " + inpS.value);
      } else {
        total = Totales();
        console.log("Total: " + total);
        porT = (total * numero(por.value)) / 100;
        ivaNew = (porT * impuesto) / 100;
        inpS.value = porT;
        //inpS.value=1000;
      }
      if (exento.value == 0) {
        ivat.value = number_format(ivaNew, 2);
      } else {
        ivaNew = 0;
        ivat.value = number_format(ivaNew, 2);
      }
    } else {
      inpS.value =
        numero(inpV.value) * numero(inpP.value) +
        numero(inpV.value) * numero(iart18.value) -
        numero(des.value);
    }
    //document.getElementsByName("subtotal")[i].innerHTML=number_format(inpS.value,2);
    subt.value = number_format(inpS.value, 2);
  }
  calcularTotales(boton);
}

function modificarSubtotales(boton) {
  var idart 		= document.getElementsByName("idarticulo[]");
  var cant 			= document.getElementsByName("cantidad[]");
  var prev 			= document.getElementsByName("precio_venta[]");
  var prevd 		= document.getElementsByName("precio_ventad[]");
  var desc 			= document.getElementsByName("descuento[]");
  var descd 		= document.getElementsByName("descuentod[]");
  var art8 			= document.getElementsByName("impoart18[]");
  var art8d 		= document.getElementsByName("impoart18d[]");
  var porc 			= document.getElementsByName("porcentaje[]");
  var sub 			= document.getElementsByName("subtotal[]");
  var subd 			= document.getElementsByName("subtotald[]");
  var ivao 			= document.getElementsByName("iva[]");
  var ivaod 		= document.getElementsByName("ivad[]");
  var exet 			= document.getElementsByName("exentot[]");
  var exetd 		= document.getElementsByName("exentotd[]");
 
  var impart18emp 	= $("#impuestoart18_empresa").val();
  var tasadollar = $("#tasa_dollar").val();
  console.log("inicio subtotal");
  for (var i = 0; i < cant.length; i++) {
    var inpV 	= cant[i];
    var inpP 	= prev[i];
    var inpPd 	= prevd[i];
    var inpS 	= sub[i];
    var inpSd 	= subd[i];
    var des 	= desc[i];
    var desd 	= descd[i];
    var iart18 	= art8[i];
    var iart18d = art8d[i];
    var por 	= porc[i];
    var subt 	= sub[i];
    var subtd 	= subd[i];
    var ivat 	= ivao[i];
    var ivatd 	= ivaod[i];
    var exento 	= exet[i];
    var exentod = exetd[i];
	
    var imp = 1 + impuesto / 100;
    //*tasadollar*imp
    //var precio			=	(numero(inpPd.value)*tasadollar)*imp;
    var precio = numero(inpP.value) * imp;
    var preciod = numero(inpPd.value) * imp;
    var precioSiva = numero(inpP.value);
    var precioSivad = numero(inpPd.value);
    var precioNew = 0;
    var precioNewd = 0;
    var precioNewCiva = 0;
    var precioNewCivad = 0;
    var ivaNew = 0;
    var ivaNewd = 0;
    var porT = 0;
    var porTd = 0;
    var total = 0;
    var totald = 0;

    console.log("impuesto" + imp);
    console.log("precio: " + precio);
    console.log("Precio sin iva: " + precioSiva);
    console.log("precio $: " + preciod);
    console.log("Precio sin iva $: " + precioSivad);
    if (numero(por.value) > 0) {
      if (numero(inpP.value) > 0) {
        porT = (precioSiva * numero(por.value)) / 100;
        porTd = (precioSivad * numero(por.value)) / 100;
        console.log("MontoPorcentaje: " + porT);
        console.log("MontoPorcentaje $: " + porTd);
        precioNew = precioSiva - porT;
        precioNewd = precioSivad - porTd;
        console.log("precioNew: " + precioNew);
        console.log("precioNew $: " + precioNewd);
        ivaNew = (precioNew * impuesto) / 100;
        ivaNewd = (precioNewd * impuesto) / 100;
        console.log("ivaNew: " + precioNew);
        console.log("ivaNewd: " + precioNewd);
        precioNewCiva = precioNew + ivaNew;
        precioNewCivad = precioNewd + ivaNewd;
        if (impart18emp == "si") {
          inpS.value =
            numero(inpV.value) * precioNew +
            numero(inpV.value) * numero(iart18.value) -
            numero(desd.value) * tasadollar;
          inpSd.value =
            numero(inpV.value) * precioNewd +
            numero(inpV.value) * numero(iart18d.value) -
            numero(desd.value);
        } else {
          inpS.value =
            numero(inpV.value) * precioNew - numero(desd.value) * tasadollar;
          inpSd.value = numero(inpV.value) * precioNewd - numero(desd.value);
        }

        console.log("precioNuevo: " + precioNew + " IvaNuevo:" + ivaNew);
        console.log("subtotal nuevo: " + inpS.value);
      } else {
        total = Totales();
        totald = Totalesd();
        console.log("Total: " + total);
        porT = (total * numero(por.value)) / 100;
        porTd = (totald * numero(por.value)) / 100;
        ivaNew = (porT * impuesto) / 100;
        ivaNewd = (porTd * impuesto) / 100;
        inpS.value = porT;
        inpSd.value = porTd;
        //inpS.value=1000;
      }
      if (exento.value == 0) {
        ivat.value = number_format(ivaNew, 2);
        ivatd.value = number_format(ivaNewd, 2);
      } else {
        ivaNew = 0;
        ivat.value = number_format(ivaNew, 2);
        ivatd.value = number_format(ivaNew, 2);
      }
    } else {
      inpS.value =
        numero(inpV.value) * precioSiva +
        numero(inpV.value) * numero(iart18.value) -
        numero(desd.value) * tasadollar;
      inpSd.value =
        numero(inpV.value) * precioSivad +
        numero(inpV.value) * numero(iart18d.value) -
        numero(desd.value);

      console.log("subtotal bs: " + inpS.value);
      console.log("subtotal $: " + inpSd.value);
    }
    //document.getElementsByName("subtotal")[i].innerHTML=number_format(inpS.value,2);
    subt.value = number_format(inpS.value, 2);
    subtd.value = number_format(inpSd.value, 2);
	
}
  console.log("fin de subtotal");
  verificarverificarcapacidadymetroscubico();
  calcularTotales(boton);
}

function verificarverificarcapacidadymetroscubico() {
	var peso 			= document.getElementsByName("peso[]");
	var dimesion 		= document.getElementsByName("dimesion[]");
	var cant 			= document.getElementsByName("cantidad[]");
	var capacidadtotal	= 0;
	var pesototal		= 0;
	var nrocajas		= 0;
	for (var i = 0; i < cant.length; i++) {
		var peso1 		= peso[i];
    	var dimesion1 	= dimesion[i];
		var cantidad 	= cant[i];
		capacidadtotal 	= capacidadtotal + (cantidad.value*dimesion1.value);
		pesototal		= pesototal + (cantidad.value*peso1.value);
		nrocajas		= nrocajas+(cantidad.value*1);
	}	
	console.log('capacidadtotal: '+capacidadtotal);
	console.log('pesototal: '+pesototal);
	$("#capacidadf").val(capacidadtotal);
	$("#pesof").val(pesototal);
	$("#cajasf").val(nrocajas);
	pesof.style.backgroundColor = "#ffffff";
	if (pesototal>capacidad){
		pesof.style.backgroundColor = "#ee4251";
	}
}

function calcularTotales(boton) {
  //var sub 	= document.getElementsByName("subtotal");
  var sub = document.getElementsByName("subtotal[]");
  var iv = document.getElementsByName("iva[]");
  var exento = document.getElementsByName("exentot[]");
  var cant = document.getElementsByName("cantidad[]");
  var precio = document.getElementsByName("precio_venta[]");
  var pvp = document.getElementsByName("precio_ventapvp[]");
  var pvpd = document.getElementsByName("precio_ventapvpd[]");
  var impart18emp = $("#impuestoart18_empresa").val();
  var imp = impuesto / 100;
  var total = 0;
  var ivatt = 0;
  var exentott = 0;
  var totalconiva = 0;
  var totalpvpiva = 0;
  var difer_pre_pvp = 0;
  //var tasadollar  = numero($("#tasa_dollar").val());
  var tasadollar = $("#tasa_dollar").val();
  console.log("tasadollar: " + tasadollar);
  for (var i = 0; i < sub.length; i++) {
    var subt = sub[i];
    var ivat = iv[i];
    var exentot = exento[i];
    var CanT = cant[i];
    var pvpt = pvp[i];
    var pvptd = pvpd[i];
    var precio1 = precio[i];
    var pvptd1 = numero(pvptd.value) * 1;
    //total += document.getElementsByName("subtotal")[i].value;
    total += numero(subt.value);
    ivatt += numero(subt.value) * imp;
    /* console.log('pvpt.value :'+pvpt.value);
		console.log('CanT.value :'+CanT.value);
		console.log('subt.value :'+subt.value);
		console.log('imp :'+imp);
		console.log('(numero(pvpt.value)*CanT.value: '+numero(pvpt.value)*CanT.value);
		console.log('numero(subt.value) :'+numero(subt.value)); */

    //Solo Para Daniel (JVG)
    //difer_pre_pvp=  (((numero(pvpt.value)*CanT.value))-numero(subt.value));
    difer_pre_pvp = ivapercibido(numero(precio1.value)) * CanT.value;

    //console.log('difer_pre_pvp dollar :'+difer_pre_pvp);
    //console.log('difer_pre_pvp1 bs :'+difer_pre_pvp1);

    if (difer_pre_pvp < 0) {
      difer_pre_pvp = difer_pre_pvp * -1;
    }

    //Solo Para Daniel (JVG)
    //totalpvpiva +=	difer_pre_pvp*imp;
    totalpvpiva += difer_pre_pvp;

    console.log("totalpvpiva :" + totalpvpiva);
    exentott += numero(exentot.value) * CanT.value;
  }
  console.log("impart18emp: " + impart18emp);
  if (impart18emp == "si") {
    totalconiva = total + ivatt + totalpvpiva;
  } else {
    totalconiva = total + ivatt;
  }

  $("#subtotal").html("Bs." + number_format(total, 2));
  $("#subtotald").html("$." + number_format(total / tasadollar, 2));
  $("#iva").html("Bs." + number_format(ivatt, 2));
  $("#ivad").html("$." + number_format(ivatt / tasadollar, 2));
  $("#ivap").html("Bs." + number_format(totalpvpiva, 2));
  $("#ivapd").html("$." + number_format(totalpvpiva / tasadollar, 2));
  $("#exento").html("Bs." + number_format(exentott, 2));
  $("#exentod").html("$." + number_format(exentott / tasadollar, 2));
  $("#total").html("Bs." + number_format(totalconiva, 2));
  //Math.round(myNum * multiplier) / multiplier;
  //round(totalconiva/tasadollar,2)
  //round( totalconiva/tasadollar, 3, PHP_ROUND_HALF_EVEN)
  //$("#totald").html("$." + number_format(totalconiva/tasadollar,2));
  //numero.toFixed(decimales)
  total1258 =
    (total / tasadollar).toFixed(2) * 1 +
    (ivatt / tasadollar).toFixed(2) * 1 +
    (totalpvpiva / tasadollar).toFixed(2) * 1;
  /* console.log('totalconiva/tasadollar: '+totalconiva/tasadollar);
	console.log('round(totalconiva/tasadollar,2): '+round(totalconiva/tasadollar,2));
	console.log('(totalconiva/tasadollar).toFixed(2): '+(totalconiva/tasadollar).toFixed(2));
	console.log('total1258: '+total1258); */
  $("#totald").html("$." + number_format(total1258, 2));
  $("#total_venta1").val(total);
  $("#total_venta").val("");
  $("#total_venta").val(total);
  $("#total_ventad").val(total / tasadollar);
  $("#total_ventai").val(totalconiva);
  $("#total_ventaid").val(total1258);
  evaluar(boton);
}

function Totales() {
  //var sub 	= document.getElementsByName("subtotal");
  var sub = document.getElementsByName("subtotal[]");
  var prev = document.getElementsByName("precio_venta[]");
  var total = 0.0;

  for (var i = 0; i < sub.length; i++) {
    if (numero(prev[i].value) > 0) {
      total += numero(sub[i].value);
    }
  }
  return total;
}

function evaluar() {
  $("#cod_barra").val("");
  $("#cod_barra").focus();
  if (detalles > 0) {
    $("#btnGuardar").show();
  } else {
    $("#btnGuardar").hide();
    cont = 0;
  }
}

function eliminarDetalle(indice) {
  $("#fila" + indice).remove();
  calcularTotales();
  detalles = detalles - 1;
}

init();
