var ventas = $('.tablaremision').DataTable( {
    "autoWidth": false,
    "ajax": "ajax/datatable-ventasremision.ajax.php",
    "deferRender": true,
	"retrieve": true,
	"processing": true,
    "sScrollY": "640px",
    "scrollCollapse":true,
    "scroller":true,
    "colReorder": true,
    "stateSave":  true,
	 "language": {

			"sProcessing":     "Procesando...",
			"sLengthMenu":     "Mostrar _MENU_ registros",
			"sZeroRecords":    "No se encontraron resultados",
			"sEmptyTable":     "Ningún dato disponible en esta tabla",
			"sInfo":           "Mostrando registros del _START_ al _END_ de un total de _TOTAL_",
			"sInfoEmpty":      "Mostrando registros del 0 al 0 de un total de 0",
			"sInfoFiltered":   "(filtrado de un total de _MAX_ registros)",
			"sInfoPostFix":    "",
			"sSearch":         "Buscar:",
			"sUrl":            "",
			"sInfoThousands":  ",",
			"sLoadingRecords": "Cargando...",
			"oPaginate": {
			"sFirst":    "Primero",
			"sLast":     "Último",
			"sNext":     "Siguiente",
			"sPrevious": "Anterior"
			},
			"oAria": {
				"sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
				"sSortDescending": ": Activar para ordenar la columna de manera descendente"
			}

	}

} );

setInterval( function () {
    ventas.ajax.reload();
}, 10000 );


$('.productos').DataTable( {
    "autoWidth": false,
	"bFilter": false,
    "sScrollY": "40vh",
	"EmptyTable": false, 
	"bInfo": false,
    "scrollCollapse":true,
    "paging":false,
    "stateSave":  true,
	"language": {
			"sLengthMenu":     "Mostrar _MENU_ registros",
			"sEmptyTable": 'Productos',
			},
	"columnDefs":[{
				"targets": "_all",
				"sortable": false
			}]

	

} );

/*=============================================
AGREGANDO PRODUCTOS A LA VENTA DESDE LA TABLA
=============================================*/
$(".tablaremision tbody").on("click", "button.agregarProducto", function(){

	var idProducto = $(this).attr("idProducto"); // devuelve el valor de un atributo osea de idProducto que esta en el boton agregar producto

	
	$(this).removeClass("btn-primary agregarProducto");

	$(this).addClass("btn-default");

	var datos = new FormData();
    datos.append("CodigoVenta", idProducto);

     $.ajax({

     	url:"ajax/venta.ajax.php",
      	method: "POST",
      	data: datos,
      	cache: false,
      	contentType: false,
      	processData: false,
      	dataType:"json",
      	success:function(respuesta){

			let productos = JSON.parse(respuesta["productos"]);

			for (let index = 0; index < productos.length; index++) {

					var descripcion = productos[index].descripcion;
					var stock = productos[index].cantidad;
					var id = productos[index].id;
					/*=============================================
					EVITAR QUE AGREGUEN MAS ITEM
					=============================================*/

					$(".nuevoProducto").append(

					'<tr style="padding:5px 0px">'+

					'<!-- Cantidad del producto -->'+
					
					'<td class="col-2" style="padding-right:0px">'+
					
						'<div class="input-group">'+
						
						'<span class="input-group-append"><button style="width: 30px;" type="button" class="btn btn-danger btn-xs quitarProducto" idProducto="'+idProducto+'" ><i class="fa fa-times"></i></button></span>'+

						'<input type="text" class="form-control form-control-sm nuevaCantidadProducto cantidad" name="nuevaCantidadProducto" value="'+stock+'" stock="'+stock+'"  nuevoStock="'+Number(stock-1)+'" readonly required>'+
						'<input type="hidden" class="form-control form-control-sm nuevaCodigoProducto" name="nuevaCodigoProducto" value="'+id+'">'+
						'</div>'+

					'</td>'+
					'<!-- Descripción del producto -->'+

					'<td class="col-6 ingresoCantidad">'+
						
						'<input type="text" class="form-control form-control-sm nuevaDescripcionProducto" idProducto="'+idProducto+'" name="agregarProducto" value="'+descripcion+'" readonly required>'+
					'</td>' +

					'</tr>') 

			}

			$(".nuevoCodigo").append(
				'<input type="hidden" class="form-control form-control-sm nuevaCodigo quitarProducto"  idProducto="'+idProducto+'" value="'+idProducto+'" name="nuevaCodigo" readonly required>'
			)

			listarProductos()
			listarCodigos()

		}


     })


});

/*=============================================
RANGO DE FECHAS
=============================================*/
if(localStorage.getItem("capturarRango") != null){

	$("#daterange span").html(localStorage.getItem("capturarRango"));

}else {
	$("daterange span").html('<i class="fa fa-calendar"></i> Rango de fecha')
}


/*=============================================
CUANDO CARGUE LA TABLA CADA VEZ QUE NAVEGUE EN ELLA
=============================================*/

$(".tablaremision").on("draw.dt", function(){

	if(localStorage.getItem("quitarProducto") != null){

		var listaIdProductos = JSON.parse(localStorage.getItem("quitarProducto"));

		for(var i = 0; i < listaIdProductos.length; i++){

			$("button.recuperarBoton[idProducto='"+listaIdProductos[i]["idProducto"]+"']").removeClass('btn-default');
			$("button.recuperarBoton[idProducto='"+listaIdProductos[i]["idProducto"]+"']").addClass('btn-primary agregarProducto');

		}


	}


})


/*=============================================
QUITAR PRODUCTOS DE LA VENTA Y RECUPERAR BOTÓN
=============================================*/

var idQuitarProducto = [];

localStorage.removeItem("quitarProducto");

$(".formularioRemision").on("click", "button.quitarProducto", function(){

	$(this).parent().parent().parent().parent().remove();

	var idProducto = $(this).attr("idProducto");

	contador = contador-1;

	/*=============================================
	ALMACENAR EN EL LOCALSTORAGE EL ID DEL PRODUCTO A QUITAR
	=============================================*/

	if(localStorage.getItem("quitarProducto") == null){

		idQuitarProducto = [];
	
	}else{

		idQuitarProducto.concat(localStorage.getItem("quitarProducto"))

	}

	idQuitarProducto.push({"idProducto":idProducto});

	localStorage.setItem("quitarProducto", JSON.stringify(idQuitarProducto));

	$("button.recuperarBoton[idProducto='"+idProducto+"']").removeClass('btn-default');

	$("button.recuperarBoton[idProducto='"+idProducto+"']").addClass('btn-primary agregarProducto');

	if($(".nuevoProducto").children().length == 0){

		$("#totalVenta").val(0);
		$("#nuevoPrecioNeto").val(0);
		$("#nuevoPrecioNeto").attr("total",0);

	}else{
		listarProductos()
		listarCodigos()

	}

})

/*=============================================
FUNCIÓN PARA DESACTIVAR LOS BOTONES AGREGAR CUANDO EL PRODUCTO YA HABÍA SIDO SELECCIONADO EN LA CARPETA
=============================================*/

function quitarAgregarProducto(){

	//Capturamos todos los id de productos que fueron elegidos en la venta
	var idProductos = $(".quitarProducto");

	//Capturamos todos los botones de agregar que aparecen en la tabla
	var botonesTabla = $(".tablaremision tbody button.agregarProducto");

	//Recorremos en un ciclo para obtener los diferentes idProductos que fueron agregados a la venta
	for(var i = 0; i < idProductos.length; i++){

		//Capturamos los Id de los productos agregados a la venta
		var boton = $(idProductos[i]).attr("idProducto");
		
		//Hacemos un recorrido por la tabla que aparece para desactivar los botones de agregar
		for(var j = 0; j < botonesTabla.length; j ++){

			if($(botonesTabla[j]).attr("idProducto") == boton){

				$(botonesTabla[j]).removeClass("btn-primary agregarProducto");
				$(botonesTabla[j]).addClass("btn-default");

			}
		}

	}
	
}


/*=============================================
CADA VEZ QUE CARGUE LA TABLA CUANDO NAVEGAMOS EN ELLA EJECUTAR LA FUNCIÓN:
=============================================*/

$('.tablaremision').on( 'draw.dt', function(){

	quitarAgregarProducto();

})




/*=============================================
LISTAR TODOS LOS PRODUCTOS
=============================================*/

function listarProductos(){

	var listaProductos = [];

	var descripcion = $(".nuevaDescripcionProducto");

	var cantidad = $(".nuevaCantidadProducto");

	var id = $(".nuevaCodigoProducto");

	for(var i = 0; i < descripcion.length; i++){

		listaProductos.push({ "id" : $(id[i]).val(), 
							  "descripcion" : $(descripcion[i]).val(),
							  "cantidad" : $(cantidad[i]).val(),
							})

	}

	$("#listaProductos").val(JSON.stringify(listaProductos)); 

}

function listarCodigos(){


	var codigos = $(".nuevaCodigo").val();


	$("#listaCodigos").val(codigos); 

}


$('#daterange').daterangepicker(
	{
	  ranges   : {
		'Hoy'       : [moment(), moment()],
		'Ayer'   : [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
		'Últimos 7 días' : [moment().subtract(6, 'days'), moment()],
		'Últimos 30 días': [moment().subtract(29, 'days'), moment()],
		'Este mes'  : [moment().startOf('month'), moment().endOf('month')],
		'Último mes'  : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
	  },
	  startDate: moment(),
	  endDate  : moment(),

	  locale : {
		  daysOfWeek: ['Do','Lu','Ma', 'Mi', 'Ju', 'Vi','Sa'],
		  monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre']
	  }
	},
	function (start, end) {
	  $('#daterange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
  
	  var fechaInicial = start.format('YYYY-MM-DD');
	  
	  console.log("fechaInicial", fechaInicial);
  
	  var fechaFinal = end.format('YYYY-MM-DD');
  
	  var capturarRango = $("#daterange span").html();
	 
		 localStorage.setItem("capturarRango", capturarRango);
		 
		 
  
		 window.location = "index.php?ruta=guia-remision&fechaInicial="+fechaInicial+"&fechaFinal="+fechaFinal;
  
	}
  
  )

  /*=============================================
CANCELAR RANGO DE FECHAS
=============================================*/

$(".daterangepicker.opensleft .range_inputs .cancelBtn").on("click", function(){

	localStorage.removeItem("capturarRango");
	localStorage.clear();
	window.location = "guia-remision";
})

/*=============================================
CAPTURAR HOY
=============================================*/

$(".daterangepicker.opensleft .ranges li").on("click", function(){

	var textoHoy = $(this).attr("data-range-key");

	if(textoHoy == "Hoy"){

		var d = new Date();
		
		var dia = d.getDate();
		var mes = d.getMonth()+1;
		var año = d.getFullYear();

		if(mes < 10){

			var fechaInicial = año+"-0"+mes+"-"+dia;
			var fechaFinal = año+"-0"+mes+"-"+dia;

		}else if(dia < 10){

			var fechaInicial = año+"-"+mes+"-0"+dia;
			var fechaFinal = año+"-"+mes+"-0"+dia;

		}else if(mes < 10 && dia < 10){

			var fechaInicial = año+"-0"+mes+"-0"+dia;
			var fechaFinal = año+"-0"+mes+"-0"+dia;

		}else{

			var fechaInicial = año+"-"+mes+"-"+dia;
	    	var fechaFinal = año+"-"+mes+"-"+dia;

		}	

    	localStorage.setItem("capturarRango", "Hoy");

    	window.location = "index.php?ruta=guia-remision&fechaInicial="+fechaInicial+"&fechaFinal="+fechaFinal;

	}

})

/*=============================================
IMPRIMIR FACTURA
=============================================*/

$(".tablas").on("click", ".btnImprimirGuia", function(){

	var codigoGuia = $(this).attr("codigoGuia");

	window.open("extenciones/TCPDF/pdf/guia.php?codigo="+codigoGuia,"_blank");

})


/*=============================================
BOTON EDITAR GUIA
=============================================*/
$(".tablas").on("click", ".btnEditarGuia", function(){

	var idGuia = $(this).attr("idGuia");

	window.location = "index.php?ruta=editar_remision&idGuia="+idGuia;


})

$("#editarFecha1").change(function(){

	var fecha = $(this).val();
	var fechaActual = $("#editarFecha").val();

	if(fecha < fechaActual ) {

		swal({
			title: "Fecha de traslado no debe ser menor a la Fecha Emision",
			type: "warning", 
			confirmButtonText: "¡Cerrar!"
		});

		$("#editarFecha1").val("");
		
	} 
	return;

})

/*=============================================
BORRAR VENTA
=============================================*/
$(".tablas").on("click", ".btnEliminarGuia", function(){

	var idGuia = $(this).attr("idGuia");
	var codigo = $(this).attr("codigo");
	var idChofer = $(this).attr("idChofer");
	var idVehiculo = $(this).attr("idVehiculo");
  
	swal({
		  title: '¿Está seguro de Anular la Guia?',
		  text: "¡Si no lo está puede cancelar la accíón!",
		  type: 'warning',
		  showCancelButton: true,
		  confirmButtonColor: '#3085d6',
		  cancelButtonColor: '#d33',
		  cancelButtonText: 'Cancelar',
		  confirmButtonText: 'Si, Anular venta!'
		}).then(function(result){
		  if (result.value) {
			
			  window.location = "index.php?ruta=guia-remision&idGuia="+idGuia+"&codigo="+codigo+"&idChofer="+idChofer+"&idVehiculo="+idVehiculo;
		  }
  
	})
  
  })


  $("#seleccionarTransporte").change(function(){

	var metodo = $(this).val();

	if(metodo == "TRANSPORTE PRIVADO"){

		$("#seleccionarVehiculo").removeAttr('disabled');
		$("#seleccionarChofer").removeAttr('disabled');

		$(this).parent().parent().removeClass('col-xs-6');
		$(this).parent().parent().parent().parent().parent().children('.transporte').html(

			'<div class="col-md-12" >'+
					   
			   '<div class="input-group">'+
					
				 '<input type="hidden" class="form-control"  required>'+
				 
			   '</div>'+

			 '</div>')

	}else if (metodo == "TRANSPORTE PUBLICO") {

		$("#seleccionarChofer").attr("disabled","disabled");
		$("#seleccionarVehiculo").attr("disabled","disabled");

		$(this).parent().parent().addClass('col-xs-6');

		 $(this).parent().parent().parent().parent().parent().children('.transporte').html(
			'<div class="row" >'+

				'<div class="col-md-4" >'+
					'<label>NOMBRE(*):</label>'+	
					'<div class="form-group">'+
						
							'<div class=""input-group">'+
						
								' <input type="text" class="form-control form-control-sm" id="nombre" name="nombre" required>'+    
							
							'</div>'+
					'</div>'+
				'</div>'+

				'<div class="col-md-4" >'+
					'<label>LICENCIA(*):</label>'+	
					'<div class="form-group">'+
							'<div class="input-group">'+
								' <input type="text" class="form-control form-control-sm" id="licencia" name="licencia" required>'+ 				
							'</div>'+
						'</div>'+
						
				'</div>'+

				'<div class="col-md-4" >'+
					'<label>DNI(*):</label>'+	
					'<div class="form-group">'+
						
							'<div class="input-group">'+
						
								' <input type="text" class="form-control form-control-sm" id="dni" name="dni" required>'+  
							
						
							'</div>'+
					'</div>'+
				'</div>'+
				
			'</div>')


			

	} else {

		$("#seleccionarChofer").attr("disabled","disabled");
		$("#seleccionarVehiculo").attr("disabled","disabled");

		$(this).parent().parent().removeClass('col-xs-6');
		$(this).parent().parent().parent().parent().parent().children('.transporte').html(

			'<div class="col-md-12" >'+
					   
			   '<div class="input-group">'+
					
				 '<input type="hidden" class="form-control"  required>'+
				 
			   '</div>'+

			 '</div>')

	}


	

})

