var tabla;
var cont=200;
var detalles=1;
var listaiddocumento;
//funcion que se ejecuta al inicio
function init(){
   mostrarform(false);
   listar();
	 listaiddocumento();

   $("#btnGuardar").on("click",function(e){
	/* Evitamos el envío real del formulario */
		e.preventDefault(); 
		
		validar();
		var val = $("#validado").val();
		console.log(val);
		if (val==1){  
			bootbox.confirm("¿Esta seguro que quiere guardar los dato?", function(result){
				if (result) {
					guardaryeditar(e);	
				}
			})
		}
   });

	 $("#btnGuardarClienteAdicional").on("click",function(e){
		/* Evitamos el envío real del formulario */
			e.preventDefault(); 
			
			validar();
			var val = $("#validado").val();
			console.log(val);
			if (val==1){  
				bootbox.confirm("¿Esta seguro que quiere guardar los dato financieros?", function(result){
					if (result) {
						GuardarClienteAdicional(e);	
					}
				})
			}
		 });
	 

   var checkbox = document.getElementById('contribuyente');
   checkbox.addEventListener( 'change', function() {
   //checkbox.value='no';
   if(this.checked) {
		//checkbox.value='si';
		$("#contribuyente").val("si");
   }else{
		$("#contribuyente").val("no");
   }
   console.log('checkbox.value- contribuyente: '+checkbox.value);
   });

   var checkbox = document.getElementById('resenaendollar');
   checkbox.addEventListener( 'change', function() {
   //checkbox.value='no';
   $("#resenaendollar").val("no");
   if(this.checked) {
		//checkbox.value='si';
		$("#resenaendollar").val("si");
   }
   console.log('checkbox.value- resenaendollar: '+checkbox.value);
   });

   //marcamos tipo_documento
	$("#tipo_documento").val("RIF");
	$("#tipo_documento").selectpicker('refresh');
   //marcamos tipo_documento
	$("#tipo_documentod").val("RIF");
	$("#tipo_documentod").selectpicker('refresh');

	//cargamos los items al Select la lista de precio
	$.post("controladores/articuloControlador.php?op=selectlistaprecio", function(r){
		$("#idlistaprecio").html(r);
		$("#idlistaprecio").selectpicker('refresh');
	});

	/* //cargamos la zona de la region
	$.post("controladores/zonaControlador.php?op=selectZona", function(r){
		$("#idzona").html(r);
		$('#idzona').val(0);
		$('#idzona').selectpicker('refresh');
	}); */

	//cargamos la subzona de la region
	$.post("controladores/subzonaControlador.php?op=selectSubzona", function(r){
		$("#idzona").html(r);
		$('#idzona').val(0);
		$('#idzona').selectpicker('refresh');
	});

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

	//cargamos los tipocadena
	$.post("controladores/tipocadenaControlador.php?op=selecttipocadena", function(r){
		$("#idtipocadena").html(r);
		$('#idtipocadena').val(0);
		$('#idtipocadena').selectpicker('refresh');
	});

	//cargamos los tipocliente
	$.post("controladores/tipoclienteControlador.php?op=selecttipocliente", function(r){
		$("#idtipocliente").html(r);
		$('#idtipocliente').val(0);
		$('#idtipocliente').selectpicker('refresh');
	});

	//cargamos los frecuenciavisita
	$.post("controladores/frecuenciavisitaControlador.php?op=selectfrecuenciavisita", function(r){
		$("#idfrecuenciavisita").html(r);
		$('#idfrecuenciavisita').val(0);
		$('#idfrecuenciavisita').selectpicker('refresh');
	});

	//cargamos los diasdevisita
	$.post("controladores/diasdevisitaControlador.php?op=selectdiasdevisita", function(r){
		$("#iddiasdevisita").html(r);
		$('#iddiasdevisita').val(0);
		$('#iddiasdevisita').selectpicker('refresh');
	});

	//cargamos los diasderecepcion
	$.post("controladores/diasderecepcionControlador.php?op=selectdiasderecepcion", function(r){
		$("#iddiasderecepcion").html(r);
		$('#iddiasderecepcion').val(0);
		$('#iddiasderecepcion').selectpicker('refresh');
	});

	//cargamos los horarioderecepcion
	$.post("controladores/horarioderecepcionControlador.php?op=selecthorarioderecepcion", function(r){
		$("#idhorarioderecepcion").html(r);
		$('#idhorarioderecepcion').val(0);
		$('#idhorarioderecepcion').selectpicker('refresh');
	});

	//cargamos los diasdecredito
	$.post("controladores/diasdecreditoControlador.php?op=selectdiasdecredito", function(r){
		$("#iddiasdecredito").html(r);
		$('#iddiasdecredito').val(0);
		$('#iddiasdecredito').selectpicker('refresh');
	});

	//cargamos los estado
	$.post("controladores/estadoControlador.php?op=selectestado", function(r){
		$("#idestado").html(r);
		$('#idestado').val(0);
		$('#idestado').selectpicker('refresh');
	});

	//cargamos los Gerente
	$.post("controladores/vendedorControlador.php?op=selectGerente", function(r){
		$("#idgerente").html(r);
		$('#idgerente').val(0);
		$('#idgerente').selectpicker('refresh');
	});

	// Se busca el cliente
	//setup before functions
	var typingTimer;                //timer identifier
	var doneTypingInterval = 200;  //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();
		let documento 			= buscardocumento(tipo_documento,num_documento);
		if (documento) {
			bootbox.alert('Este cliente ya está registrado.!', function() {
											location.reload();
     	});
		}
	}


	$("#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
			let tipo_documento	=	$("#tipo_documento").val();
			let num_documento		=	$("#num_documento").val();
			let documento 			= buscardocumento(tipo_documento,num_documento);
			if (documento) {
				bootbox.alert('Este cliente ya está registrado.!', function() {
					location.reload();
				});
			}
			return false;
		}
	});

	$("#tipo_documento").change(function(){
		let tipo_documento	=	$("#tipo_documento").val();
		let num_documento		=	$("#num_documento").val();
		let documento 			= buscardocumento(tipo_documento,num_documento);
		if (documento) {
			bootbox.alert('Este cliente ya está registrado.!', function() {
				location.reload();
			});
		}
	});
}

/*  <li><a href="tipocadena"><i class="fa fa-circle-o"></i> Tipos de Cadenas</a></li>
              <li><a href="tipocliente"><i class="fa fa-circle-o"></i> Tipos de Clientes</a></li>
              <li><a href="frecuenciavisita"><i class="fa fa-circle-o"></i> Frecuencia de Visita</a></li>
              <li><a href="diasdevisita"><i class="fa fa-circle-o"></i> Días de Visita</a></li>
              <li><a href="diasderecepcion"><i class="fa fa-circle-o"></i> Días de Recepción</a></li>
              <li><a href="horarioderecepcion"><i class="fa fa-circle-o"></i> Horario de Recepción</a></li>
              <li><a href="diasdecredito"><i class="fa fa-circle-o"></i> Días de Crédito</a></li> */

//funcion limpiar
function limpiar(){
	var nombred					=	document.getElementsByName("nombred[]");
	var num_documentod	=	document.getElementsByName("num_documentod[]");
	var direcciond			=	document.getElementsByName("direcciond[]");
	var telefonod				=	document.getElementsByName("telefonod[]");
	var emaild					=	document.getElementsByName("emaild[]");
	var licencia_licord	=	document.getElementsByName("licencia_licord[]");
	var cproveedor			=	document.getElementsByName("cproveedor[]");
	nombred.length=0;
	nombred[0].value='';
	num_documentod.length=0;
	num_documentod[0].value='';
	direcciond.length=0;
	direcciond[0].value='';
	telefonod.length=0;
	telefonod[0].value='';
	emaild.length=0;
	emaild[0].value='';
	licencia_licord.length=0;
	licencia_licord[0].value='';
	cproveedor.length=0;
	cproveedor[0].value='';
	
	$('#formulario').data('bootstrapValidator').resetForm(true);
	$("#nombre").val("");
	$("#nombref").val("");
	$("#num_documento").val("");
	$("#direccion").val("");
	$("#telefono").val("");
	$("#email").val("");
	$("#licencia_licor").val("");
	$("#idpersona").val("");
	$('#contribuyente').prop("checked", false);
	$("#contribuyente").val("no");
	$('#resenaendollar').prop("checked", true);
	$("#resenaendollar").val("si");
	$("#idlistaprecio").val(0);
	$("#idlistaprecio").selectpicker('refresh');
	$("#idzona").val(0);
	$("#idzona").selectpicker('refresh');
	$("#idvendedor").val(0);
	$("#idvendedor").selectpicker('refresh');
	$("#contribuyentep").val(0);
	$("#contribuyentep").selectpicker('refresh');
//Información Finanaciera
	$('#idtipocadena').val(0);
	$('#idtipocadena').selectpicker('refresh');
	$('#idtipocliente').val(0);
	$('#idtipocliente').selectpicker('refresh');
	$('#idfrecuenciavisita').val(0);
	$('#idfrecuenciavisita').selectpicker('refresh');
	$('#iddiasdevisita').val(0);
	$('#iddiasdevisita').selectpicker('refresh');
	$('#iddiasderecepcion').val(0);
	$('#iddiasderecepcion').selectpicker('refresh');
	$('#idhorarioderecepcion').val(0);
	$('#idhorarioderecepcion').selectpicker('refresh');
	$('#iddiasdecredito').val(0);
	$('#iddiasdecredito').selectpicker('refresh');
	$('#idestado').val(0);
	$('#idestado').selectpicker('refresh');
	$('#idgerente').val(0);
	$('#idgerente').selectpicker('refresh');
	$("#personacontacto").val("");
	$("#observaciones").val("");
	$("#personarecibe").val("");
	$("#idpersona1").val("");
	$("#idpersona2").val("");
	$("#personacontactocedula").val("");
	$("#personacontactotelefono").val("");
}

//funcion mostrar formulario 
function mostrarform(flag){
	limpiar();
	if(flag){
		$("#listadoregistros").hide();
		$("#formularioregistros").show();
		$("#formularioregistros1").show();
		$("#btnGuardar").prop("disabled",false);
		$("#btnagregar").hide();
	}else{
		$("#listadoregistros").show();
		$("#formularioregistros").hide();
		$("#formularioregistros1").hide();
		$("#btnagregar").show();
	}
}

function listaiddocumento(){
	$.post("controladores/personaControlador.php?op=listaiddocumento",function(r){
		$('#listaiddocumento').append(r);
		//calculamos la cantidad de articulos que agregaron
		listaiddocumento	=	document.getElementsByName("listaiddocumento[]");
		/* for (var i = 0, j = listaiddocumento.length; i < j; i++){
			console.log('Personas: ',listaiddocumento[i].value);
		} */
	}); 
}

function buscardocumento(tipo_documento,num_documento) {
	let persona=false;
	for (var i = 0, j = listaiddocumento.length; i < j; i++){
		const data 						= listaiddocumento[i].value;
		const arraySubcadenas = data.split("-");
		const idp							= arraySubcadenas[0];
		const tipop						= arraySubcadenas[1];
		const numerop					= arraySubcadenas[2];
		const condicion				= arraySubcadenas[0];
		if (tipo_documento==tipop&&num_documento==numerop) {
			persona = true;
			break
		}
	}
	return persona;
}

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

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

function agregardespacho() {
	var fila='<tr class="filas" id="fila'+cont+'">'+
		'<td>'+
			
		'<div class="form-group col-lg-2 col-md-2 col-xs-12">'+
			'<label for="">Tipo Documento</label>'+
				'<select class="form-control select-picker" name="tipo_documentod[]" id="tipo_documentod[]" required>'+
					'<option value="RIF">JURÍDICA</option>'+
					'<option value="CEDULA">CÉDULA</option>'+
					'<option value="GUB">GUBERNAMENTAL</option>'+
					'<option value="EXT">EXTRANJERO</option>'+
				'</select>'+
		'</div>'+
		'<div class="form-group col-lg-2 col-md-2 col-xs-12">'+
			'<label for="">Nro. Documento</label>'+
			'<input class="form-control" type="text" name="num_documentod[]" id="num_documentod[]"  placeholder="Razón Social/Cédula">'+
		'</div>'+
		'<div class="form-group col-lg-6 col-md-6 col-xs-12">'+
			'<label for="">Nombre (Razon Social)</label>'+
			'<input class="form-control" type="text" name="nombred[]" id="nombred[]"  placeholder="Nombre del cliente" required>'+
		'</div>'+
		'<div class="form-group col-lg-2 col-md-2 col-xs-12">'+
			'<label for="">Licencia de Licor</label>'+
			'<input class="form-control" type="text" name="licencia_licord[]" id="licencia_licord[]"  placeholder="licencia de licor">'+
		'</div>'+
		'<div class="form-group col-lg-5 col-md-5 col-xs-12">'+
			'<label for="">Direccion</label>'+
			'<input class="form-control" type="text" name="direcciond[]" id="direcciond[]"  placeholder="Dirección">'+
		'</div>'+
		'<div class="form-group col-lg-2 col-md-2 col-xs-12">'+
			'<label for="">Telefono</label>'+
			'<input class="form-control" type="text" name="telefonod[]" id="telefonod[]" placeholder="Número de Teléfono">'+
		'</div>'+
		'<div class="form-group col-lg-2 col-md-2 col-xs-12">'+
			'<label for="">Email</label>'+
			'<input class="form-control" type="text" name="emaild[]" id="emaild[]" placeholder="Email">'+
		'</div>'+
		'<div class="form-group col-lg-2 col-md-2 col-xs-12">'+
			'<label for="">Cod. Proveedor</label>'+
			'<input class="form-control" type="text" name="cproveedor[]" id="cproveedor[]"  placeholder="Código Proveedor">'+
		'</div>'+
		'<div class="form-group col-lg-1 col-md-1 col-xs-12">'+
			'<label for="">Eliminar</label>'+
			'<button type="button" class="btn btn-danger" onclick="eliminarDetalle('+cont+')">X</button>'+
		'</div>'+
		'</td>'+
		'</tr>';
		cont++;
		detalles++;
		$('#detalles').append(fila);
	
}
//funcion para guardaryeditar
function guardaryeditar(e){
     e.preventDefault();//no se activara la accion predeterminada 
     $("#btnGuardar").prop("disabled",true);
     var formData=new FormData($("#formulario")[0]);

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

     	success: function(datos){
     		bootbox.alert(datos);
     		mostrarform(false);
     		tabla.ajax.reload();
     	}
     });

     limpiar();
}

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

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

     	success: function(datos){
     		bootbox.alert(datos);
     		mostrarform(false);
     		tabla.ajax.reload();
     	}
     });

     limpiar();
}




function mostrar(idpersona){
	$.post("controladores/personaControlador.php?op=mostrar",{idpersona : idpersona},
		function(data,status)
		{
			data=JSON.parse(data);
			mostrarform(true);
			$("#idpersona").val(data.idpersona);
			$("#nombre").val(data.nombre);
			$("#nombref").val(data.nombref);
			$("#tipo_documento").val(data.tipo_documento);
			$("#tipo_documento").selectpicker('refresh');
			$("#num_documento").val(data.num_documento);
			$("#direccion").val(data.direccion);
			$("#telefono").val(data.telefono);
			$("#email").val(data.email);
			$("#licencia_licor").val(data.licencia_licor);
			$("#contribuyente").val(data.agenteretencion);
			console.log('retencion: '+data.agenteretencion);
			console.log('porcentaje: '+data.agenteretencionp);

			if (data.agenteretencion=='si'){
				$('#contribuyente').prop("checked", true);
				$("#contribuyente").val("si");
				$("#contribuyentep").val(number_format(data.agenteretencionp,0));
				$("#contribuyentep").selectpicker('refresh');
			}else{
				$("#contribuyente").val("no");
				$('#contribuyente').prop("checked", false);
				$("#contribuyentep").val(0);
				$("#contribuyentep").selectpicker('refresh');
			}
			if (data.resenaendollar=='si'){
				$('#resenaendollar').prop("checked", true);
				$("#resenaendollar").val("si");
			}else{
				$("#resenaendollar").val("no");
				$('#resenaendollar').prop("checked", false);
			}
			$("#idlistaprecio").val(data.idlistaprecio);
			$("#idlistaprecio").selectpicker('refresh');
			$('#idestado').val(data.idestado);
			$('#idestado').selectpicker('refresh');
			$("#idzona").val(data.idzona);
			$("#idzona").selectpicker('refresh');
			$("#idvendedor").val(data.idvendedor);
			$("#idvendedor").selectpicker('refresh');
			console.log('data.resenaendollar :'+data.resenaendollar);
			console.log('#resenaendollar :'+$("#resenaendollar").val());
			$("#nombred").val(data.nombred);
			
			$("#idpersona2").val(data.idpersona);
			$.post("controladores/personaControlador.php?op=mostrarfinanciero",{idpersona : idpersona},
			function(data,status)
			{
				data1=JSON.parse(data);
				if ((data1 == null)||(data1 == "undefined")) {
					console.log('no hay data');
				}else{
					$('#idpersona1').val(data1.idpersona);
					$('#idtipocadena').val(data1.idtipocadena);
					$('#idtipocadena').selectpicker('refresh');
					$('#idtipocliente').val(data1.idtipocliente);
					$('#idtipocliente').selectpicker('refresh');
					$('#idfrecuenciavisita').val(data1.idfrecuenciavisita);
					$('#idfrecuenciavisita').selectpicker('refresh');
					$('#iddiasdevisita').val(data1.iddiasdevisita);
					$('#iddiasdevisita').selectpicker('refresh');
					$('#iddiasderecepcion').val(data1.iddiasderecepcion);
					$('#iddiasderecepcion').selectpicker('refresh');
					$('#idhorarioderecepcion').val(data1.idhorarioderecepcion);
					$('#idhorarioderecepcion').selectpicker('refresh');
					$('#iddiasdecredito').val(data1.iddiasdecredito);
					$('#iddiasdecredito').selectpicker('refresh');
				/* 	$('#idestado').val(data1.idestado);
					$('#idestado').selectpicker('refresh'); */
					$('#idgerente').val(data1.idgerente);
					$('#idgerente').selectpicker('refresh');
					$("#personacontacto").val(data1.personacontacto);
					$("#observaciones").val(data1.observaciones);
					$("#personarecibe").val(data1.personarecibe);
					$("#personacontactocedula").val(data1.personacontactocedula);
					$("#personacontactotelefono").val(data1.personacontactotelefono);
				}
			
			});
			
			// Despacho
			$.post("controladores/personaControlador.php?op=listarDetalle&id="+idpersona,function(r){
				$("#detalles").html(r);
			});
			/* $("#tipo_documentod").val(data.tipo_documentod);
			$("#tipo_documentod").selectpicker('refresh');
			$("#num_documentod").val(data.num_documentod);
			$("#direcciond").val(data.direcciond);
			$("#telefonod").val(data.telefonod);
			$("#emaild").val(data.emaild);
			$("#licencia_licord").val(data.licencia_licord); */
			
		})
		
}

//marcar un registro para Borrar
function change_checkbox(id,el){
	var elim		=	document.getElementsByName("checkboxeliminar[]");
	var elimd		=	document.getElementsByName("despachoeliminar[]");
	var eli			=	elim[id];
	var elid		=	elimd[id];
	if(el.checked){
		elid.value	= "si"
	}else{
		elid.value	= "no"
	}
	console.log('elimd['+id+']: '+eli.value);
}

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

//funcion para desactivar
function eliminar(idpersona){
	bootbox.confirm("¿Esta seguro de eliminar este dato?", function(result){
		if (result) {

			$.post("controladores/personaControlador.php?op=eliminar", {idpersona : idpersona }, function(e){
				bootbox.alert(e);
				tabla.ajax.reload();
			});
		}
	})
}

//funcion para desactivar
function desactivar(idpersona){
	bootbox.confirm("¿Esta seguro de desactivar este dato?", function(result){
		if (result) {
			$.post("controladores/personaControlador.php?op=desactivar", {idpersona : idpersona }, function(e){
				bootbox.alert(e);
				tabla.ajax.reload();
			});
		}
	})
}

function activar(idpersona){
	bootbox.confirm("¿Esta seguro de activar este dato?" , function(result){
		if (result) {
			$.post("controladores/personaControlador.php?op=activar" , {idpersona : idpersona }, function(e){
				bootbox.alert(e);
				tabla.ajax.reload();
			});
		}
	})
}


init();