var persistenceBanco;
var bd;
var grid;

jQuery(document).ready(function() {
	loadListaCliente();
});

function loadListaCliente() {
	document.addEventListener("deviceready", onListaProduto, false);
}

function onListaProduto() {
	document.addEventListener("backbutton", botaoBack, false);
	(function($) {
		var start = new Date().getTime();
		$(".Menu").hide(0);
		eventoBotaoClick('.botao');
		$(".opcaoMenu").on('click', function(e) {
			e.preventDefault();

			jQuery('body,html').scrollTop(0);

			$('.Menu').toggle();
			var menu = $(".Menu");
			var he = $("#header");

			$(".Menu").toggleClass("menuAberto");
			console.log("TROCOU");

		});

		$("input#pesquisaValor").ezpz_hint();

		abrirBanco(function(a) {
			persistenceBanco = a;

			persistenceBanco.query("produtos").all().execute().done(function(results) {
				bd = results;
				gridGrande();
			});

			var clickEventType = ((document.ontouchstart !== null) ? 'click' : 'touchstart');
			$("#pesquisaValor").on('keypress',function(e) {
				//alert(e.keyCode);
				if (e.keyCode == 13) {
					grid.pararGerarGrid();
					var start = new Date().getTime();
					jQuery('#centerCadastroo').remove();

					var valor = $("#pesquisaValor").val();
					persistenceBanco.query("produtos").filter(function(e) {

						return e.descricao.toLowerCase().indexOf(valor) != -1 || e.codigo.toLowerCase().indexOf(valor) != -1 || e.grupo.toLowerCase().indexOf(valor) != -1;

					}).execute().done(function(results) {
						grid.setValorPesquisar(results, 'linhaPrincipal', function() {
						});
						var end = new Date().getTime();
						var final = end - start;
						console.log('TEMPO DE GRID: ' + final);
					});
				}
			});

			$('#sincronizar').on('click', function(e) {
				e.preventDefault();
				grid.pararGerarGrid();
				var ads = {
					'teste' : {
						type : 'iframe',
						src : '../../../view/popup/progress/progressoProdutos.html'
					}
				};
				jQuery('.container').adPopupPro({
					ads : ads,
					show_type : 'always',
					show_chance : 1,
					show_close_button : false,
					mobile : true,
					tablets : true,
					min_screen_size : '0x0',
					internet_explorer : 'normal',
					os : '',
					cookie_id : '2',
					popup_color : 'light',
					popup_shadow : true,
					overlay_opacity : 0.5,
					overlay_color : 'dark',
					overlay_close : false,
					escape_close : false,
					auto_close_after : false
				});

				setTimeout(function() {
					jQuery('#iframePopUp').contents().find('#barProgresso').css('width', '20%');
					persistenceBanco.query("confSinc").all().execute().done(function(results) {
						jQuery('#iframePopUp').contents().find('#barProgresso').css('width', '40%');
						var retorno = results[0];
						jQuery('#iframePopUp').contents().find('#barProgresso').css('width', '60%');
						var teste = new SincProdutos(retorno.ip, retorno.banco, retorno.empresa, function() {
							jQuery('#iframePopUp').contents().find('#barProgresso').css('width', '100%');
							setTimeout(function() {
								jQuery('.adpopup').remove();
								jQuery('.adpopup-overlay').remove();

								persistenceBanco.query("produtos").all().execute().done(function(results) {
									bd = results;
									gridGrande();
								});

							}, 1000);
						});

					});
				}, 1000);
			});

			$('#botaoTipoLista').on('click', function(e) {
				e.preventDefault();

				var ads = {
					'teste' : {
						type : 'iframe',
						src : '../../../view/popup/tipoLista_produto.html'
					}
				};

				jQuery('body').adPopupPro({
					ads : ads,
					show_type : 'always',
					show_chance : 1,
					show_close_button : false,
					mobile : true,
					tablets : true,
					min_screen_size : '0x0',
					internet_explorer : 'normal',
					os : '',
					cookie_id : '2',
					popup_color : 'light',
					popup_shadow : true,
					overlay_opacity : 0.5,
					overlay_color : 'dark',
					overlay_close : true,
					escape_close : true,
					auto_close_after : false
				});

			});

		});

		$('#filtrarMenu').on('click', function(e) {
			e.preventDefault();
			grid.pararGerarGrid();
			var ads = {
				'teste' : {
					type : 'iframe',
					src : '../../../view/popup/filtrarProduto.html'
				}
			};
			jQuery('.container').adPopupPro({
				ads : ads,
				show_type : 'always',
				show_chance : 1,
				show_close_button : false,
				mobile : true,
				tablets : true,
				min_screen_size : '0x0',
				internet_explorer : 'normal',
				os : '',
				cookie_id : '2',
				popup_color : 'light',
				popup_shadow : true,
				overlay_opacity : 0.5,
				overlay_color : 'dark',
				overlay_close : false,
				escape_close : false,
				auto_close_after : false
			});

		});

		$('#ordenarMenu').on('click', function(e) {
			e.preventDefault();
			grid.pararGerarGrid();
			var ads = {
				'teste' : {
					type : 'iframe',
					src : '../../../view/popup/ordenacaoProduto.html'
				}
			};
			jQuery('.container').adPopupPro({
				ads : ads,
				show_type : 'always',
				show_chance : 1,
				show_close_button : false,
				mobile : true,
				tablets : true,
				min_screen_size : '0x0',
				internet_explorer : 'normal',
				os : '',
				cookie_id : '2',
				popup_color : 'light',
				popup_shadow : true,
				overlay_opacity : 0.5,
				overlay_color : 'dark',
				overlay_close : false,
				escape_close : false,
				auto_close_after : false
			});

		});

		$('#opcoesMenu').on('click', function(e) {
			e.preventDefault();
			retornoGrid({});
		});

	})(jQuery);

}

function gridGrande() {
	if (grid != undefined) {
		grid.pararGerarGrid();
		jQuery('.adpopup-overlay.adpopup-style-overlay-dark').trigger("click");
		document.getElementById("container").innerHTML = null;
	}
	grid = new ListaGrid("", bd, ".container");
	grid.setTitulo(["descricao", "linha", "coluna"]);

	//primeira Linha
	grid.adicionarElemento('0', 'Código:', '2', 'center', 'blue');
	grid.adicionarElemento('0', 'codigo', '2', 'left');
	grid.adicionarElemento('0', 'Un:', '1', 'center', 'blue');
	grid.adicionarElemento('0', 'un', '2', 'left');
	grid.adicionarElemento('0', 'Valor R$:', '3', 'center', 'blue');
	grid.adicionarElemento('0', 'valor', '2', 'left');

	//segunda linha
	grid.adicionarElemento('1', 'Grupo:', '2', 'center', 'blue');
	grid.adicionarElemento('1', 'grupo', '5', 'left');
	grid.adicionarElemento('1', 'Estoque:', '3', 'center', 'blue');
	grid.adicionarElemento('1', 'estoque', '2', 'left');

	grid.setNumerosMaxLinhas(2);

	grid.setNumeroFormatado('valor');

	grid.setarCorCondicao(['estoque', 'descricao'], 'estoque', 'red', '<=', 0);

	grid.montarCampos('linhaPrincipal', function() {
	});
}

function gridSimples() {
	jQuery('.adpopup-overlay.adpopup-style-overlay-dark').trigger("click");
	document.getElementById("container").innerHTML = null;
	grid.pararGerarGrid();

	grid = new ListaGrid("", bd, ".container");
	grid.setTitulo(["descricao", "linha", "coluna"]);

	//primeira Linha
	grid.adicionarElemento('0', '', '10', 'center', 'blue');
	grid.adicionarElemento('0', 'valor', '2', 'left');

	grid.setNumerosMaxLinhas(1);

	grid.setNumeroFormatado('valor');

	grid.setarCorCondicao(['estoque', 'descricao'], 'estoque', 'red', '<=', 0);

	grid.montarCampos('linhaPrincipalSimples', function() {
	});
}

function retornoGrid(a) {

	var ads = {
		'teste' : {
			type : 'iframe',
			src : '../../../view/popup/lista_produtos.html'
		}
	};

	jQuery('body').adPopupPro({
		ads : ads,
		show_type : 'always',
		show_chance : 1,
		show_close_button : false,
		mobile : true,
		tablets : true,
		min_screen_size : '0x0',
		internet_explorer : 'normal',
		os : '',
		cookie_id : '2',
		popup_color : 'light',
		popup_shadow : true,
		overlay_opacity : 0.5,
		overlay_color : 'dark',
		overlay_close : true,
		escape_close : true,
		auto_close_after : false
	});
}

function filtroProduto(valorReferencia) {
	grid.pararGerarGrid();
	if (valorReferencia == 'estoque') {

		setTimeout(function() {
			persistenceBanco.produtos.query().filter(function(produto) {
				return produto.estoque > 0;
			}).execute().done(function(results) {
				bd = results;
				gridGrande();
			});
		}, 1000);

	} else if (valorReferencia == 'semEstoque') {
		setTimeout(function() {
			persistenceBanco.produtos.query().filter(function(produto) {
				return produto.estoque < 0;
			}).execute().done(function(results) {
				bd = results;
				gridGrande();
			});
		}, 1000);
	} else {
		setTimeout(function() {
			persistenceBanco.produtos.query().all().execute().done(function(results) {
				bd = results;
				gridGrande();
			});
		}, 1000);
	}

	jQuery(".opcaoMenu").trigger("click");
	jQuery('.adpopup').fadeOut(500, function() {
		jQuery('.adpopup').remove();
		jQuery('.adpopup-overlay').fadeOut(500);
	});

}

function ordenacaoProduto(valorReferencia) {
	grid.pararGerarGrid();
	var valor = valorReferencia;
	alert(valor);
	bd.sort(function(obj1, obj2) {
		var um = obj1[valor];
		var dois = obj2[valor];

		if (um.indexOf('.') != -1) {
			um = parseFloat(obj1[valor].replace(",", "."));
			dois = parseFloat(obj2[valor].replace(",", "."));
			return dois - um;
		} else {
			return um < dois ? -1 : (um > dois ? 1 : 0);
		}
	});
	jQuery(".opcaoMenu").trigger("click");
	jQuery('.adpopup').fadeOut(500, function() {
		jQuery('.adpopup').remove();
		jQuery('.adpopup-overlay').fadeOut(500);
	});
	gridGrande();
}

function botaoBack() {
	if (jQuery('.adpopup').length > 0 || jQuery('.menuAberto').length > 0) {
		if (jQuery('.adpopup').length > 0) {
			jQuery('.adpopup').fadeOut(500, function() {
				jQuery('.adpopup').remove();
				jQuery('.adpopup-overlay').fadeOut(500);
			});
		} else if (jQuery('.menuAberto').length > 0) {
			jQuery(".opcaoMenu").trigger('click');
		}
	} else {
		window.location.replace('../../../index.html');
	}
}