var tabla;


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

   $("#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){  
			modificarValoresAnumerico();
			bootbox.confirm("¿Esta seguro que quiere guardar los dato?", function(result){
				if (result) {
					
					guardaryeditar(e);	
				}
			})
		}
   });

	//cargamos los  modulo del tipo de servicio
	$.post("controladores/articuloControlador.php?op=selectModulo", function(r){
		$("#idmodulo").html(r);
		$("#idmodulo").selectpicker('refresh');
		marcarServicio();
	});

   //cargamos los items al Select categoria
  $.post("controladores/tiposervicioControlador.php?op=selectTiposervicio", function(r){
		console.log(r);  
		$("#idtiposervicio").html(r);
		$("#idtiposervicio").selectpicker('refresh');
  });
   
	//cargamos los horarioderecepcion
	$.post("controladores/serviciosControlador.php?op=selectimpuestoslr", function(r){
		$("#idimpuestoslr").html(r);
		$('#idimpuestoslr').val(0);
		$('#idimpuestoslr').selectpicker('refresh');
	});


   //Si cambia el servicio Venta o Compra
   $("#idmodulo").change(marcarServicio);

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

}

//funcion limpiar
function limpiar(){
	$('#formulario').data('bootstrapValidator').resetForm(true);
	$("#nombre").val("");
	$("#descripcion").val("");
	$("#precios").val("");
	$("#preciosd").val("");
	$("#porcentaje").val("");
	$("#idservicio").val("");
	$("#codigo").val("");
	$("#idmodulo").val("");
	$("#idmodulo").selectpicker('refresh');
	$("#idtiposervicio").val("");
	marcarServicio();
	$("#idtiposervicio").selectpicker('refresh');
	$("#print").hide();
	$("#exento1").val("no");
	$('#exento').prop("checked", false);
	$('#islr').prop("checked", false);
	$("#islr").val("no");
	$("#idimpuestoslr").val(0);
	$("#idimpuestoslr").selectpicker('refresh');
	

}

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

//funcion para convertir los campos numerico en numero antes de guardar
function modificarValoresAnumerico(){
	var pre		=$("#precios").val();
	var pred	=$("#preciosd").val();
	var por		=$("#porcentaje").val();
	console.log('precio: '+pre+' porcentaje: '+por);
	$("#precios").val(numero(pre));
	$("#preciosd").val(numero(pred));
	$("#porcentaje").val(numero(por));
	console.log('precio: '+$("#precios").val()+' porcentaje: '+$("#porcentaje").val());
}

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

// Se verifica el tipo de servicio
function marcarServicio(){
	var tipo_servicio=$("#idmodulo option:selected").text();

	//alert ('modulo: '+tipo_servicio);
	$("#precio").val(0);
	$("#porcentaje").val(0);
	if (tipo_servicio=='COMPRA') {
		$("#precio").prop('disabled', true);
		$("#porcentaje").prop('disabled', true);
		$("#islr1").show();
		$("#islr2").show();
		$("#porcentaje1").hide();
	}else{
		$("#islr1").hide();
		$("#islr2").hide();
		$("#porcentaje1").show();
		$("#idpersonaislr").val(0);
		$("#islr").val('no');
		$("#precio").prop('disabled', false);
		$("#porcentaje").prop('disabled', 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/serviciosControlador.php?op=listar',
			type: "get",
			dataType : "json",
			error:function(e){
				console.log(e.responseText);
			}
		},
		"bDestroy":true,
		"iDisplayLength":-1,//paginacion
		"order":[[0,"desc"]]//ordenar (columna, orden)
	}).DataTable();
}
//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/serviciosControlador.php?op=guardaryeditar",
     	type: "POST",
     	data: formData,
     	contentType: false,
     	processData: false,

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

     limpiar();
}

function mostrar(idservicio){
	$.post("controladores/serviciosControlador.php?op=mostrar",{idservicio : idservicio},
		function(data,status)
		{
			data=JSON.parse(data);
			mostrarform(true);
			$("#idservicio").val(data.idservicio);
			$("#idtiposervicio").val(data.idtiposervicio);
			$("#idtiposervicio").selectpicker('refresh');
			$("#idmodulo").val(data.idmodulo);
			$("#idmodulo").selectpicker('refresh');
			marcarServicio();
			$("#idimpuestoslr").val(data.idimpuestoslr);
			$("#idimpuestoslr").selectpicker('refresh');
			
			if (data.islr=='si'){
				$('#islr').prop("checked", true);
				$("#islr").val("si");
			}else{
				$("#islr").val("no");
				$('#islr').prop("checked", false);
			}
			$("#nombre").val(data.nombre);
			$("#descripcion").val(data.descripcion);
			var pre 	= data.precio*1;
			var pred 	= data.preciod*1;
			var por 	= data.porcentaje*1;
			$("#precios").val(number_format(pre,2));
			$("#preciosd").val(number_format(pred,2));
			$("#porcentaje").val(number_format(por,2));
			
			$("#codigo").val(data.codigo);
			$("#exento1").val(data.exento);
			generarbarcode();
			exentosino();
	})
}


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

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

function generarbarcode(){
	codigo=$("#codigo").val();
	JsBarcode("#barcode",codigo);
	$("#print").show();

}

function exentosino(){
	exento=$("#exento1").val();
	if (exento=='si'){
	//	alert ('si');
		$('#exento').prop("checked", true);
	}else{
	//	alert ('no');
		$('#exento').prop("checked", false);
	}	
}

function imprimir(){
	$("#print").printArea();
}

init();