var tabla;
//declaramos variables necesarias para trabajar con las Ventas y sus detalles
var impuesto =$("#impuesto").val();
var impuesto1=$("#impuesto").val();
console.log(impuesto);
var cont	=0;
var cont1	=0;
var detalles=0;
var indicepermisoborrar=-50;
var ip18	=$('#impuestoart18_empresa').val();
if (ip18=="si"){
	td1	= "<th>Precio (PVP)</th>";
	td2	= "<th>ImpuestoArt18</th>";
	td3	= "<td></td><td></td>";
	td4 = '<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>';
	td5 = '<tr><td></td><td></td><td></td><td></td><td></td><td></td><td>Impuesto Art18</td><td align="right"><p id="art18t"></p></td><td align="right"><p id="art18td"></p></td></tr>';
}else{
	td1	="";
	td2	="";
	td3	="";
	td4	="";
	td5	="";
}

var r = '<thead style="background-color:#A9D0F5">'+
		'<th width=10>Opciones</th>'+
		'<th>Articulo</th>'+
		'<th>Cantidad</th>'+
		'<th>Precio</th>'+
		td1+
		'<th>Porcentaje</th>'+
		'<th>Descuento</th>'+
		td2+
		'<th>Subtotal</th>'+
		'</thead>'+
		'<tfoot>'+
		'<tr>'+
		'	<td></td>'+
		'	<td></td>'+
		'	<td></td>'+
		td3+
		'	<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>'+
		td3+
		'	<td>Iva</td>'+
		'	<td align="right"><p id="iva"></p></td>'+
		'	<td align="right"><p id="ivad"></p></td>'+
		'</tr>'+
		td4+td5+
		'<tr>'+
		'	<td></td>'+
		'	<td></td>'+
		'	<td></td>'+
		'	<td></td>'+
		td3+
		'	<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>'+
		td3+
		'	<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,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);
			//$("#total_ventaid").val()
			//$("#montoigtf").val()
			if (numero($("#montoigtf").val())<=$("#total_ventaid").val()){
				if ($("#idcliente").val()=="0"){
					bootbox.alert('Debe Seleccionar un Cliente');
				}else{
					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);	 
								}
							})
						}	
					}
				}
			}else{
				if ($("#montoigtf").val()=='') {
					bootbox.alert('El monto de pago del IGTF no puede estar vacio');
				} else {
					bootbox.alert('El monto de pago del IGTF es mayor al total a pagar');
				}
				
			}
	});

		/*Se captura el evento de guardar los datos */
		$("#btnFacturarS").on("click",function(e){
			/* Evitamos el envío real del formulario */
				e.preventDefault(); 
				validar();
				//bootbox.alert('Vamos a sustituir');
				//console.log(detalles);
				if ($("#idcliente").val()=="0"){
					bootbox.alert('Debe Seleccionar un Cliente');
				}else{
					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 realizar el remplazo de factura?", function(result){
							if (result) {
									modificarValoresAnumerico();
									guardaryeditarsustituir(e);	 
								}
							})
						}	
					}
				} 
				
		});

	$("#btnAgregarF").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").hide();
			$("#btnFacturarS").show();
			$('#myModalF').modal('show');
	});

	$("#btnAgregarArt").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	$("#btnAgregarArtb").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	$("#btnAgregarArtc").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	$("#btnAgregarArtd").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	$("#btnAgregarArte").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	$("#btnAgregarPed").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	$("#btnAgregarSer").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			$("#btnFacturar").show();
			$("#btnFacturarS").hide();
		
	});

	


	/*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 captura el evento de buscar clave de permiso */   
	$("#formapermiso").on("submit",function(e){
		/* Evitamos el envío real del formulario */
		e.preventDefault();   
		buscarClave();
	}); 

	
	// 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 = 1500;  //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;
		}
	});
	
	/* $("#montoigtf").keypress(function(e) {
		var keycode = (e.keyCode ? e.keyCode : e.which);
		if (keycode == '13') {
			// Evitamos el envío real del enter
			e.preventDefault();
			calcularigtf();
			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(){
		marcarImpuesto();
		modificarSubtotales();
		$("#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(){
		if ($("#idcliente").val()=='0'){
			var num_documento1 		= document.getElementById("num_documento1");
			num_documento1.style.backgroundColor = "#ffffff";
			$("#num_documento1").attr("readonly", false);
			$("#num_documento1").val("");
			$("#idclientedespacho").html("<option value='0'></option>");
			$("#idclientedespacho").selectpicker('refresh');
		}else{
			buscarclienteid($("#idcliente").val());
			buscardespachoid($("#idcliente").val());
		}
		//actualizar();
		$("#cod_barra").val("");
		$("#cod_barra").focus();
	}); 
	
	// Se verifica si cambia de almacen
	$("#idalmacen1").change(function(){
		var idalmacen1 = $("#idalmacen1").val();
		console.log('verificando almacen: '+ idalmacen1);
		verificarstockalmacenyprecio(idalmacen1);
	});

	//Se verifica si cambia el metodo de pago del Igtf
	/* $("#modopago").change(function(){
		var montoigtf 		= document.getElementById("montoigtf");
		if ($("#modopago").val()=='Dollar'){
			//verde
			montoigtf.style.backgroundColor = "#9DF9B7";
			$("#montoigtf").attr("readonly", false);
			$("#montoigtf").val("0,0");
			calcularigtf(0);
			
		}else{
			//gris
			montoigtf.style.backgroundColor = "#D2D5D4";
			$("#montoigtf").attr("readonly", true);
			$("#montoigtf").val("");
		}
	}); */

	
	var checkbox = document.getElementById('igtfvalor');
	checkbox.addEventListener("change", validaCheckbox, false);
	function validaCheckbox(){
		var montoigtf 		= document.getElementById("montoigtf");
		var checked = checkbox.checked;
		if(checked){
			montoigtf.style.backgroundColor = "#9DF9B7";
			$("#montoigtf").attr("readonly", false);
			$("#montoigtf").val("0,0");
			$("#modopago").val('Dollar');
			calcularigtf(0);
		}else{
			montoigtf.style.backgroundColor = "#D2D5D4";
			$("#montoigtf").attr("readonly", true);
			$("#montoigtf").val("0,0");
			$("#modopago").val('Bolivares');
			$("#montoigtfporcentaje").val(0);
		}
	}

//    $("#btnGuardarCompra").on("click",function(e){
// 	guardaryeditar(e);  
//    })

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

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

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

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

	//cargamos los items al select de los almacenes
	$.post("controladores/ventanControlador.php?op=selectAlmacen", function(r){
		$("#idalmacen1").html(r);
		$("#idalmacen1").val(0);
		$('#idalmacen1').selectpicker('refresh');
	});

	//cargamos los items al select de dia de credito
 	$.post("controladores/ventanControlador.php?op=selectDiasdecredito", function(r){
		$("#iddiacredito").html(r);
		$("#iddiacredito").val(0);
		$('#iddiacredito').selectpicker('refresh');
	}); 

	//cargamos las etiquetas para la lista de precio de los botones para buscar precio
	$.post("controladores/ventanControlador.php?op=selectListaprecio", function(r){
		$("#listaprecio").html(r);
	});




}

function mostrarstock(idarticulo) {
	//alert("articulo "+idarticulo);
	tabla=$('#tblstock').dataTable({
		"aProcessing": true,//activamos el procedimiento del datatable
		"aServerSide": true,//paginacion y filrado realizados por el server
		"paging":   false,
    "ordering": false,
    "info":     false,
		"searching": false,
		dom: 'Bfrtip',//definimos los elementos del control de la tabla
		buttons: [

		],
		
		"ajax":
		{
			url:'controladores/ventanControlador.php?op=stockporalmacen',
			type: "post",
			data: {
				idarticulo : idarticulo
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
	$('#myModalstock').modal('show');

}

//Mostrar los cobros de un documento
function mostrarcobros(iddocumento,orden) {
	//alert("articulo "+idarticulo);
	console.log('iddocumento: '+iddocumento);
	console.log('orden: '+orden);
	$("#orden").html(orden);
	tabla=$('#tbcobros').dataTable({
		"aProcessing": true,//activamos el procedimiento del datatable
		"aServerSide": true,//paginacion y filrado realizados por el server
		"paging":   false,
    "ordering": false,
    "info":     false,
		"searching": false,
		dom: 'Bfrtip',//definimos los elementos del control de la tabla
		buttons: [

		],
		
		"ajax":
		{
			url:'controladores/pagoclienteControlador.php?op=mostrarcobros',
			type: "POST",
			data: {
				iddocumento : iddocumento
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
			/* success: function(datos){
				console.log(datos);
			} */
		},
		"drawCallback":function(){
			var api 	= this.api();
			var data1	= api.column(1).data();
		/*	 var data2	= api.column(3).data();*/
			var data3	= api.column(4).data(); 
			/*var total1	=	0;
			 var total2	=	0;*/
			var total3	=	0; 

			for (var i = 0; i < data1.length; i++) {
      /*	total1 	= total1+numero(data1[i]);
				 total2 	= total2+numero(data2[i]);*/
				total3 	= total3+numero(data3[i]); 
				
      }
			/*total1		= number_format(total1*1,2);
			 total2		= number_format(total2*1,2);*/
			total3		= number_format(total3*1,2); 
			$(api.column(0).footer()).html('Total:');
		/*	$(api.column(1).footer()).html(total1);
		 	$(api.column(3).footer()).html(total2);*/
			$(api.column(4).footer()).html(total3); 
			
	  	},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
	$('#myModalcobros').modal('show');

}
	
	
function actualizar(){
	location.reload();
}

//funcion limpiar
function limpiar(){
	$('#formulario').data('bootstrapValidator').resetForm(true);
	document.getElementById("formaguardarcliente").reset();
	$("#detalles").html("");
	$("#detalles").html(r);
	$("#tipo_documento").val("");
	$("#num_documento").val("");
	$("#nombre").val("");
	$("#tipo_comprobante").val("");
	$("#serie_comprobante").val("");
	$("#num_comprobante").val("");
	$("#ordendecompra").val("");
	$("#diacredito").val("");
	$("#zona").val("");
	$("#impuesto").val("");
	$('#montosubtotal').val(0);
	$('#montoapagarbs').val(0);
	var montoigtf 	= document.getElementById("montoigtf");
	montoigtf.style.backgroundColor = "#D2D5D4"; //gris
	$("#montoigtf").val(0);
	$('#validar').val(0);
	$("#total_venta").val(0);
	$("#total_venta1").val(0);
	$(".filas").remove();
	$("#total").html("0");
	$("#idtransportista").val(0);
	$("#idtransportista").selectpicker('refresh');
	$("#idtransporte").val(0);
	$("#idtransporte").selectpicker('refresh');
	$("#idalmacen").val(0);
	$("#idalmacen").selectpicker('refresh');
	$("#idvendedor").val(0);
	$("#idvendedor").selectpicker('refresh');
	$("#idcliente").val(0);
	$("#idcliente").selectpicker('refresh');
	$("#iddiacredito").val(0);
	$("#iddiacredito").selectpicker('refresh');
	$("#modopago").val('N/A');
	$("#modopago").selectpicker('refresh');
	$("#idclientedespacho").html("<option value='0'></option>");
	$("#idclientedespacho").selectpicker('refresh');
	$("#licencia_licor").val("");
	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("Factura");
	$("#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,bu){
	limpiar();
	if(flag){
		$("#listadoregistros").hide();
		$("#formularioregistros").show();
		$("#formularioregistros1").show();
		//$("#btnGuardar").prop("disabled",false);
		$("#btnagregar").hide();
		$("#btnFacturarS").hide();
		//listarArticulos(1);
		//listarArticulosb(1);
		//listarArticulosc(1);
		//listarArticulosd(1);
		//listarArticulose(1);
		//listarPedidos();
		//listarFacturas();
		//listarServicios();
		//if(bu){
			//buscarNroFacturaControl();
		//}
		buscarTasaDeCambio();
			
		$("#btnGuardar").hide();
		$("#btnCancelar").show();
		detalles=0;
		$("#btnAgregarArt").show();
		$("#btnAgregarArtb").hide();
		$("#btnAgregarArtc").hide();
		$("#btnAgregarArtd").hide();
		$("#btnAgregarArte").hide();
		$("#btnAgregarSer").show();
		$("#cod_barra").val("");
		$("#cod_barra").focus();

	}else{
		$("#listadoregistros").show();
		$("#formularioregistros").hide();
		$("#formularioregistros1").hide();
		$("#btnagregar").hide();
		$("#btnFacturarS").hide();

	}
}

//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);
			$("#tasa_dollar1").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);
		});
}

//Se busca el numero la tasa de cambio
function buscarClave(clave){
	logina=$("#usuariopermiso").val();
	clavea=$("#clavepermiso").val();
	console.log(logina,clavea);
    $.post("controladores/usuarioControlador.php?op=verificarpermiso",
    {"logina":logina, "clavea":clavea},
    function(data)
    {
	    console.log(data);
        if (data==1){
					$("#usuariopermiso").val("");
					$("#clavepermiso").val("");
					$('#myModalPermiso').modal('hide');
				//	eliminararticulodecafeteria(indicepermisoborrar);
					eliminarDetalle(indicepermisoborrar);
          // window.location="escritorio";
        }else{
            swal(
                'Error inesperado',
                'El Usuario y/o Password son incorrectos',
                'error'
            ); 
        }
	})
}

//funcion para colocar las eqtiquetas de los precios
function etiquetaslistaprecio () {
	var listaprecio		=	document.getElementsByName("listaprecio[]");
	$("#listaa").html(listaprecio[0].value.substr(0,1).toUpperCase()+listaprecio[0].value.substr(1,20).toLowerCase());
	$("#listab").html(listaprecio[1].value.substr(0,1).toUpperCase()+listaprecio[1].value.substr(1,20).toLowerCase());
	$("#listac").html(listaprecio[2].value.substr(0,1).toUpperCase()+listaprecio[2].value.substr(1,20).toLowerCase());
	$("#listad").html(listaprecio[3].value.substr(0,1).toUpperCase()+listaprecio[3].value.substr(1,20).toLowerCase());
	$("#listae").html(listaprecio[4].value.substr(0,1).toUpperCase()+listaprecio[4].value.substr(1,20).toLowerCase());
};

//SE calula igtf
function calcularigtf(monto) {
	console.log('vamos a calcular igtf y monto: '+monto);
	console.log('$("#total_ventaid").val(): '+$("#total_ventaid").val());
	if($("#total_ventaid").val()!==''){
		console.log('Diferente de vacio');
		if (monto==0){
			montoigtfporcentaje = 0.03*$("#total_ventaid").val();
			
		}else{
			montoigtfporcentaje = 0.03*numero(monto);
		}
	}else{
		console.log('No Diferente de vacio');
		montoigtfporcentaje = 0.0;
	}
	
	$("#montoigtfporcentaje").val(number_format(montoigtfporcentaje,2));
	return true;
}

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


function CambiarEstilo1() {
	var elemento1 = document.getElementById("igtf1");
	var elemento2 = document.getElementById("igtf2");
	elemento1.className = "form-group col-lg-3 col-md-3 col-xs-12";
	elemento2.className = "form-group col-lg-3 col-md-3 col-xs-12";
}

function CambiarEstilo2() {
	var elemento1 = document.getElementById("igtf1");
	var elemento2 = document.getElementById("igtf2");
	elemento1.className = "form-group col-lg-4 col-md-4 col-xs-12";
	elemento2.className = "form-group col-lg-4 col-md-4 col-xs-12";
}


function marcarImpuesto(){
	var tipo_comprobante					=$("#tipo_comprobante option:selected").text();
	var impuestotexto 						= document.getElementById("impuesto");
	var serie_comprobante 				= document.getElementById("serie_comprobante");
	var serie_comprobante1 				= document.getElementById("serie_comprobante1");
	var num_comprobante 					= document.getElementById("num_comprobante");
	var num_comprobante1 					= document.getElementById("num_comprobante1");
	impuestotexto.style.backgroundColor 	= "#D5D5CE";
	if (tipo_comprobante=='Factura') {
		$("#impuesto").val(impuesto1);
		impuesto								=$("#impuesto").val();
		serie_comprobante.type 	= "text";
		num_comprobante.type		= "text";
		serie_comprobante1.type = "hidden";
		num_comprobante1.type		= "hidden";
		$("#tipodocumentoc").html('# Control');
		$("#tipodocumentof").html('# Factura');
		$("#igtf").show();
		CambiarEstilo1();
		//$("#igtfno1").hide();
		
	}else{
		$("#impuesto").val(0);
		impuesto								= 0;
		serie_comprobante.type 	= "hidden";
		num_comprobante.type		= "hidden";
		serie_comprobante1.type = "text";
		num_comprobante1.type		= "text";
		$("#tipodocumentoc").html('# Control');
		$("#tipodocumentof").html('# NEntrega');
		$("#igtf").hide();
		CambiarEstilo2()
		//$("#igtfno1").show();
		
	}
	
	
}

// 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);
			var num_documento1 		= document.getElementById("num_documento1");
			$("#num_documento1").val(datos.num_documento);
			$("#num_documento1").attr("readonly", true); 
			num_documento1.style.backgroundColor = "#D5D5CE";
			$("#tipo_documento").val(datos.tipo_documento);
			$("#tipo_documento").selectpicker('refresh');
			$("#idvendedor").val(datos.idvendedor);
			$("#idvendedor").selectpicker('refresh');
			$("#idcliente").val(datos.idpersona);
			$("#idcliente").selectpicker('refresh');
			$("#iddiacredito").val(datos.iddiasdecredito);
			$("#iddiacredito").selectpicker('refresh');
			$("#diacredito").val(datos.diacredito);
			$("#zona").val(datos.zona);
			$("#licencia_licor").val(datos.licencia_licor);
			$("#licencia_licor").attr("readonly", true); 
			licencia_licor.style.backgroundColor = "#D5D5CE";
			
			console.log('id_vendedor: '+datos.idvendedor);
			$("#listaprecio1").val(datos.idlistaprecio);
			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');
	});   
}


function buscarIdClienteporpedido(idpedido15){
	console.log('IdPedido: '+idpedido15)
	$.post("controladores/ventanControlador.php?op=buscarIdClienteporpedido",{idpedido15 : idpedido15},
		function(data,status)
		{
			//alert ('estatus: '+status);
		data1=JSON.parse(data);
		console.log('data '+data)
		$("#idcliente1").val(data1.idcliente);
		$("#tipo_comprobante").val(data1.tipo_comprobante1);
		$("#tipo_comprobante").selectpicker('refresh');
		marcarImpuesto();
		buscarclienteid(data1.idcliente);
		buscardespachoid(data1.idcliente);
		});
}

function buscarIdClienteporfactura(idventa){
	$("#idventa").val(idventa);
	console.log('idventa: '+idventa);
	$.post("controladores/ventanControlador.php?op=buscarIdClienteporfactura",{idventa : idventa},
		function(data,status)
		{
			//alert ('estatus: '+status);
		data1=JSON.parse(data);
		console.log('data '+data)
		$("#idcliente1").val(data1.idcliente);
		$("#tipo_comprobante").val(data1.tipo_comprobante1);
		$("#tipo_comprobante").selectpicker('refresh');
		$("#idalmacen1").val(data1.idalmacen);
		$("#idalmacen1").selectpicker('refresh');
		marcarImpuesto();
		buscarclienteid(data1.idcliente);
		buscardespachoid(data1.idcliente);
		});
}

//Se habilita la lista de precio para el cliente seleccionado
function verificarlistaprecio(idlistaprecio) {
	etiquetaslistaprecio ();
	if (idlistaprecio==1){
		$("#btnAgregarArt").show();
		$("#btnAgregarArtb").hide();
		$("#btnAgregarArtc").hide();
		$("#btnAgregarArtd").hide();
		$("#btnAgregarArte").hide();
	}
	else if (idlistaprecio==2){
		$("#btnAgregarArt").hide();
		$("#btnAgregarArtb").show();
		$("#btnAgregarArtc").hide();
		$("#btnAgregarArtd").hide();
		$("#btnAgregarArte").hide();
	}else if (idlistaprecio==3){
		$("#btnAgregarArt").hide();
		$("#btnAgregarArtb").hide();
		$("#btnAgregarArtc").show();
		$("#btnAgregarArtd").hide();
		$("#btnAgregarArte").hide();
	}else if (idlistaprecio==4){
		$("#btnAgregarArt").hide();
		$("#btnAgregarArtb").hide();
		$("#btnAgregarArtc").hide();
		$("#btnAgregarArtd").show();
		$("#btnAgregarArte").hide();	
	}else{
		$("#btnAgregarArt").hide();
		$("#btnAgregarArtb").hide();
		$("#btnAgregarArtc").hide();
		$("#btnAgregarArtd").hide();
		$("#btnAgregarArte").show();
	}
}
//Se busca el stock por almacen y se verifica la tabla de precio
function verificarstockalmacenyprecio(idalmacen1) {
	var idlistaprecio = $("#listaprecio1").val();
	console.log('Vamos a verificar precio: '+idlistaprecio+' y stock por almacen: '+idalmacen1);
	if (idlistaprecio==1){
		$('#tblarticulos').val("");
		listarArticulos(idalmacen1);
	}
	else if (idlistaprecio==2){
		$('#tblarticulosb').val("");
		listarArticulosb(idalmacen1);
	}else if (idlistaprecio==3){
		$('#tblarticulosc').val("");
		listarArticulosc(idalmacen1);
	}else{
		$('#tblarticulosd').val("");
		listarArticulosd(idalmacen1);
	}
}


//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.nrocontrol);
			serie_comprobante.style.backgroundColor 	= "#D5D5CE";
			$("#num_comprobante").val(data1.nrofactura);
			num_comprobante.style.backgroundColor 		= "#D5D5CE";
			$("#serie_comprobante1").val(data1.nrocontrolnotaentrega);
			serie_comprobante.style.backgroundColor = "#D5D5CE";
			$("#num_comprobante1").val(data1.nronotaentrega);
			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);
		console.log('a-iva: '+data.iva);
		console.log('a-ivad: '+data.iva);
		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);
		console.log('b-iva: '+data.iva);
		console.log('b-ivad: '+data.iva);
		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);
		console.log('c-iva: '+data.iva);
		console.log('c-ivad: '+data.iva);
		exento.value	=number_format(data.exentob,2);
		exentod.value	=number_format(data.exentod,2);
		modificarSubtotales();		
	});
	//$("#myListaprecio").modal("show");
}

function buscarpreciod(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=verificarlistad",{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 buscarprecioe(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=verificarlistae",{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(){
	//$('#tbllistado').DataTable().destroy();
	//$('#tbllistado').DataTable().fnResetAllFilters();
	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'
		],
		"columnDefs": [ //Oculto La columna por donde ordeno
			{
					"targets": [ 5,7 ],
					"visible": false,
					"searchable": false
			}
		],
		"ajax":
		{
			url:'controladores/ventanControlador.php?op=listardespacho',
			type: "get",
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		
		"drawCallback":function(){
			//alert("La tabla se está recargando"); 
			var api 	= this.api();
		//	var tactual	= api.column(3, {page:'current'}).data().sum();
			var total	= api.column(7).data().sum();
		//	tactual		= number_format(tactual*1,2);
			total		= number_format(total*1,2);
			/* $(api.column(4).footer()).html('Total Actual:');
			$(api.column(5).footer()).html(tactual); */
			//$(api.column(4).footer()).html('Total:');
			//$(api.column(5).footer()).html(total);
	  }, 
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
	//tabla.column(8).visible(8);
	//tabla.dataTable();
	//table.;
//	$('#tbllistado').DataTable().ajax.reload();
}

function listarArticulos(idalmacen1){
	console.log('Estamos en listara y almacen:'+idalmacen1);
	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/ventanControlador.php?op=listarArticulos',
			type: "post",
			data: {
				idalmacen1 : idalmacen1
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
}

function listarArticulosb(idalmacen1){
	console.log('Estamos en listarb y almacen:'+idalmacen1);
	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/ventanControlador.php?op=listarArticulosb',
			type: "post",
			data: {
				idalmacen1 : idalmacen1
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
}

function listarArticulosc(idalmacen1){
	console.log('Estamos en listarc y almacen:'+idalmacen1);
	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/ventanControlador.php?op=listarArticulosc',
			type: "post",
			data: {
				idalmacen1 : idalmacen1
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
}

function listarArticulosd(idalmacen1){
	console.log('Estamos en listard y almacen:'+idalmacen1);
	tabla=$('#tblarticulosd').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/ventanControlador.php?op=listarArticulosd',
			type: "post",
			data: {
				idalmacen1 : idalmacen1
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
}

function listarArticulose(idalmacen1){
	console.log('Estamos en listare y almacen:'+idalmacen1);
	tabla=$('#tblarticulose').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/ventanControlador.php?op=listarArticulose',
			type: "post",
			data: {
				idalmacen1 : idalmacen1
			},
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//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/ventanControlador.php?op=listarServicios',
			type: "get",
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//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":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
}

function listarFacturas(){
	tabla=$('#tblfacturas').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/ventanControlador.php?op=listarFacturasSustitucion',
			type: "get",
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//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/ventanControlador.php?op=guardaryeditar",
	type: "POST",
	data: formData,
	contentType: false,
	processData: false,

	success: function(datos){
		bootbox.alert(datos);
		mostrarform(false,false);
		//listar();
		limpiar();
		actualizar();
		
	}
	});

	
}


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

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

	success: function(datos){
	bootbox.alert(datos);
	mostrarform(false,false);
	//listar();
	limpiar();
	actualizar();
	
	}
});


}

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

			$("#idcliente").val(data.idcliente);
			$("#idcliente").selectpicker('refresh');
			$("#num_documento").val(data.num_documento);
			$("#nombre_cliente").val(data.cliente);
			$("#tipo_comprobante").val(data.tipo_comprobante);
			$("#tipo_comprobante").selectpicker('refresh');
			marcarImpuesto();
			$("#serie_comprobante").val(data.serie_comprobante);
			$("#num_comprobante").val(data.num_comprobante);
			$("#serie_comprobante1").val(data.serie_comprobante1);
			$("#num_comprobante1").val(data.num_comprobante1);
			$("#fecha_hora").val(data.fecha);
			$("#impuesto").val(data.impuesto);
			$("#idventa").val(data.idventa);
			$("#idtransportista").val(data.idtransportista);
			$("#idtransportista").selectpicker('refresh');
			$("#idtransporte").val(data.idtransporte);
			$("#idtransporte").selectpicker('refresh');
			$("#idtransporte").val(data.idtransporte);
			$("#idtransporte").selectpicker('refresh');
			$("#idalmacen1").val(data.idalmacen);
			$("#idalmacen1").selectpicker('refresh');
			$("#idvendedor").val(data.idvendedor);
			$("#idvendedor").selectpicker('refresh');
			$("#idclientedespacho").html("<option value='0'>"+data.nombred+"</option>");
			$("#idclientedespacho").selectpicker('refresh');
			$("#ordendecompra").val(data.ordendecompra);
			//$("#impuesto").val("");
			//ocultar y mostrar los botones
			$("#btnGuardar").hide();
			$("#btnCancelar").show();
			$("#btnAgregarArt").hide();
			$("#btnAgregarSer").hide();
			$("#btnTotalizar").hide();
			$("#btnAgregarBar").hide();
			
		});
	$.post("controladores/ventanControlador.php?op=listarDetalle&id="+idventa,function(r){
		$("#detalles").html(r);
	});

}

//funcion para Anular una factura
function anular(idventa,idusuario){
	bootbox.confirm("¿Esta seguro de Anular esta factura?", function(result){
		if (result) {
			console.log('idventa y idusuario: '+idventa+'--'+idusuario);
			$.post("controladores/devolucionControlador.php?op=anular", {idventa : idventa, 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(idarticulo,idalmacen,articulo,precio_venta,precio_ventad,porcentaje,nrolote,fechalote,exento,impuestoart18,impuestoart18d,preciopvp,preciopvpd)
function agregarDetalle(idarticulo,idalmacen,articulo,precio_venta,precio_ventad,porcentaje,nrolote,fechalote,exento,impuestoart18,impuestoart18d,preciopvp,preciopvpd,stock){
	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();
	var listaprecio		=	document.getElementsByName("listaprecio[]");
	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)';
			articulo 	= articulo;
			iva				= 0;
			ivad			= 0;
		}else{
			iva			= (precio_venta*impuesto)/100;
			ivad		= (precio_ventad*impuesto)/100;
			precio		= precio_venta*1;
			preciod 	= precio_ventad*1;
			exentot		= 0;
			exentotd	= 0;
		}
		console.log('Iva en detalle: '+iva+' Ivad en detalle: '+ivad);
		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)+'" >'+
							'<input type="hidden" name="impoart181[]" id="impoart181[]" value="'+impoart18+'">'+
							'<input type="hidden" name="impoart181d[]" id="impoart181d[]" value="'+impoart18d+'">'+
							'</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:400px;font-size:50%;"><button type="button" class="btn bg-red" onclick="eliminarDetalle('+cont+')">X</button>'+
		'<button type="button" class="btn bg-blue" onclick="buscarprecioa('+cont1+')">'+(listaprecio[0].value).substr(0,2)+'</button>'+
		'<button type="button" class="btn bg-green" onclick="buscarpreciob('+cont1+')">'+(listaprecio[1].value).substr(0,2)+'</button>'+
		'<button type="button" class="btn bg-yellow" onclick="buscarprecioc('+cont1+')">'+(listaprecio[2].value).substr(0,2)+'</button>'+
		'<button type="button" class="btn bg-orange" onclick="buscarpreciod('+cont1+')">'+(listaprecio[3].value).substr(0,2)+'</button>'+
		'<button type="button" class="btn bg-navy" onclick="buscarprecioe('+cont1+')">'+(listaprecio[4].value).substr(0,2)+'</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="'+number_format(exentot,2)+'">'+
		'<input type="hidden" name="exentotd[]" value="'+number_format(exentotd,2)+'">'+
		'<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="stock[]" id="stock[]" value="'+stock+'" >'+
		'</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)){
		buscarIdClienteporpedido(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 este pedido fue procesado');
	}
}

function agregarDetalleFactura(idventa){
	
	buscarIdClienteporfactura(idventa);
	$.post("controladores/ventanControlador.php?op=agregarDetalleFactura&id="+idventa+"&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);
	}); 
	
}



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 prevd	=	document.getElementsByName("precio_ventad[]");
	var desc	=	document.getElementsByName("descuento[]");
	var descd	=	document.getElementsByName("descuentod[]");
	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();
	var montoigtf 					=	numero($("#montoigtf").val());
	var montoigtfporcentaje =	numero($("#montoigtfporcentaje").val());
	
	if (montoigtfporcentaje>0){
		$("modopago").val('Dollar');
		if (numero(montoigtf)==0){
			montoigtf = $("#total_ventaid").val();
		}
	}else{
		$("modopago").val('Bolivares');
	}
	
	$("#montoigtf").val(montoigtf);
	$("#montoigtfporcentaje").val(montoigtfporcentaje);

	for (var i = 0; i < cant.length; i++) {
		var Cmod	=	cant[i];
		var Pvmod	=	prev[i];
		var Pvmodd=	prevd[i];
		var Dmod	=	desc[i];
		var Dmodd	=	descd[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);
		Dmodd.value	=	numero(Dmodd.value);
		Ia18.value	=	numero(Ia18.value);
		Pvmod.value	=	numero(Pvmod.value);
		Pvmodd.value=	numero(Pvmodd.value);
		Pmod.value	=	numero(Pmod.value);
		Smod.value	=	numero(Smod.value);
		Pvpd.value	=	numero(Pvpd.value);
		console.log('Descuento: '+Dmod.value);
		console.log('Descuentod: '+Dmodd.value);
		console.log('Pmod: '+Pmod.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 art81				=	document.getElementsByName("impoart181[]");
	var art81d			=	document.getElementsByName("impoart181d[]");
	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();
	//impuesto				=$("#impuesto").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 iart181			=	art81[i];
		var iart181d		=	art81d[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;
		
		des.value						= number_format((numero(desd.value)*tasadollar),2);

		console.log('impuesto'+imp);
		console.log('precio: '+precio);
		console.log('Precio sin iva: '+precioSiva);
		console.log('precio $: '+preciod);
		console.log('Precio sin iva $: '+precioSivad);
		console.log('ivat.value: '+ivat.value);
		if(impuesto<=0){
			iart18.value 	= number_format(0,2);
			iart18d.value = number_format(0,2);
			ivat.value		= 0;
			ivatd.value		= 0;
		}else{
			if (impart18emp=='si'){
				iart18.value 	= number_format(iart181.value * numero(inpV.value),2);
				iart18d.value = number_format(iart181d.value * numero(inpV.value) ,2);
			}
			ivat.value		= precioSiva*1*(impuesto/100);
			ivatd.value		= precioSivad*1*(impuesto/100);
			if (numero(exento.value)>0){
				ivat.value		= 0;
				ivatd.value		= 0;
			}
		}

		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: '+ivaNew);
				//console.log('ivaNewd: '+ivaNewd);
				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);

				} */

				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;
			}
			console.log('numero(exento.value): '+numero(exento.value));
			if (numero(exento.value)==0){
				ivat.value	= ivaNew;
				ivatd.value	= ivaNewd;
				console.log('ivat.value: '+ivat.value);
				console.log('ivatd.value: '+ivatd.value);
			}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));

			inpS.value		=	((numero(inpV.value)*precioSiva)-(numero(desd.value)*tasadollar));
			inpSd.value		=	((numero(inpV.value)*precioSivad)-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')
	verificarverificarstock();
	calcularTotales(boton);
}

function verificarverificarstock() {
	var stock 		= document.getElementsByName("stock[]");
	var cant 			= document.getElementsByName("cantidad[]");
	
	for (var i = 0; i < cant.length; i++) {
		var stock1 		= stock[i];
   	var cantidad 	= cant[i];
		if (numero(cantidad.value)>stock1.value){
			cantidad.style.backgroundColor = "#ee4251";
			console.log('stock: '+stock1.value +' Cantidad : '+cantidad.value);
		}else{
			cantidad.style.backgroundColor = "#ffffff";
		}
		
	}	
/* 	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 art8		=	document.getElementsByName("impoart18[]");
	var art8d		=	document.getElementsByName("impoart18d[]");
	var impart18emp =	$('#impuestoart18_empresa').val();
	var	imp 				= 	(impuesto/100);
	var total				= 0;
	var ivatt				= 0;
	var art8t				= 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 art81		=	art8[i];
		var art81d	=	art8d[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;
		console.log('Calculo Totales Iva :'+ivat.value);
		total 		+= 	numero(subt.value);
		art8t 		+= 	numero(art81.value);
		console.log('Calculo Totales art8t :'+art8t);
		if (numero(ivat.value)>0){
			ivatt  		+= 	numero(subt.value)*imp;
		}
		
		difer_pre_pvp 	= (ivapercibido(numero(precio1.value)))*CanT.value;
		if (impuesto<=0){
			difer_pre_pvp = 0;
		}
		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 +art8t;
	}else{
		totalconiva 	=	total + ivatt;
	}
	console.log('Calculo Totales Total Iva :'+ivatt);
	console.log('totalconiva: '+totalconiva);
	
	$("#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));
	$("#art18t").html("Bs." + number_format(art8t,2));
	$("#art18td").html("$." +number_format(art8t/tasadollar,2));
	$("#exento").html("Bs." + number_format(exentott,2));
	$("#exentod").html("$." +number_format(exentott/tasadollar,2));
	$("#total").html("Bs." + number_format(totalconiva,2));
	
	/* if (impart18emp=='si'){
		total1258 = (total/tasadollar).toFixed(2)*1+(ivatt/tasadollar).toFixed(2)*1+(totalpvpiva/tasadollar).toFixed(2)*1;
	}else{
		total1258 = (totalconiva/tasadollar);
	} */

	$("#totald").html("$." + number_format(totalconiva/tasadollar,2));
	$("#total_venta1").val(total);
	$("#total_venta").val("");
	$("#total_venta").val(total);
	$("#total_ventad").val(total/tasadollar);
	$("#total_ventai").val(totalconiva);
	$("#total_ventaid").val(totalconiva/tasadollar);
	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 Totalesd(){
	//var sub 	= document.getElementsByName("subtotal");
	var sub		=	document.getElementsByName("subtotald[]");
	var prev	= 	document.getElementsByName("precio_ventad[]");
	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;
	}
	
	let checkbox 	= document.getElementById('igtfvalor');
	let checked 	= checkbox.checked;
	if(checked){
		console.log('$("#montoigtf").val(): '+$("#montoigtf").val())
		console.log('numero($("#montoigtf").val()): '+numero($("#montoigtf").val()))
		let montoigtf =  numero($("#montoigtf").val());
		calcularigtf(montoigtf);
	}

 
}

function eliminarDetalleClave(indice) {
	$('#myModalPermiso').modal('show');
	indicepermisoborrar=indice;
}

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

init();