IncludeJavaScript("scripts/cufon.js"); // Núcleo do Cufón
IncludeJavaScript("scripts/fontes.js"); // Facebox
IncludeJavaScript("scripts/jquery.ui.js"); // Flash
IncludeJavaScript("scripts/jquery.flash.js"); // Flash
IncludeJavaScript("scripts/jquery.facebox.js"); // Facebox
IncludeJavaScript("scripts/jquery.maskedinput.js"); // Máscaras para formulários

// Funções
$(function() {

	// Cufon
	Cufon.replace(".helvs47", { fontFamily: "helvs47" });

	// Links externos
	$("a[rel=external]").attr('target','_blank');
	$("a[rel=external nofollow]").attr('target','_blank');

	// Botoes
	$("input[type=submit]").css("cursor","pointer");
	$("input[type=button]").css("cursor","pointer");

	// Voltar
	$(".bt-voltar").click(function(){ history.back(); return false; });

	// Transparencia
	$(".opac").css("opacity","0.5");
	
	// Flash home
	$("#flash").flash({
	    src: "index.swf",
	    width: '100%',
	    height: '100%',
		wmode: "transparent",
		expressInstall: true
	});
	
	$(".target-photo").click(function(){
		$(this).hide("slow");
	});
	
	$(window).resize(function() {
		$(".target-photo").animate({ left: $(window).width() / 2 - ($(".target-photo").width() / 2) }, 500);
		$(".target-photo").animate({ top: $(window).height() / 2 - ($(".target-photo").height() / 2) }, 500);
	});
	
});

function editarCadastro(){
	$(document).trigger('close.facebox');
	setTimeout(function() {  $("#lougge-cliente").click(); }, 1000);
}

/**
  * Função limpa espaço
  * @param str String
  * @return nada
  **/
function getTrim(str) {
	if(typeof(str) !== 'undefined'){
		return str.replace(/^\s+|\s+$/g, "");
	}else{
		return "";
	}
}

/**
  * Formata número
  * @param $campo int id
  * @param $event Evento
  * @return String
  **/
function formataNumero(campo, e) {
	t = typeof window.event != "undefined" ? window.event.keyCode : e.which;
	if((isNaN(String.fromCharCode(t)) || (t == 32)) && (t != 8 && t != 0)) {
		return false;
	}
}

/**
  * Função seleciona os checkbox
  * @param name Nome do input
  * @param checked Verifica se está selecionado
  * @return nada
  **/
function selecinaCampos(name,checked) {
	var elements = document.getElementsByTagName("input");
	for(i = 0; i < elements.length; i++) {
		if(elements[i].type == "checkbox" && elements[i].name.indexOf(name) != -1) {
			if (!checked) {
				elements[i].checked = "";
			} else {
				elements[i].checked = "checked";
			}
		}
	}
}

/**
  * Função que valida a data
  * @param String $value data
  * @return boolean
  **/
function validaData(campo) {
    var valor = campo.split("/");
    if(valor[0] != "" && valor[1] != "" && valor[2] != "") {
        data = new Date(valor[2], valor[1]-1, valor[0]);
        if (valor[2] != data.getFullYear() || valor[1] !=  data.getMonth()+1 || valor[0] != data.getDate() || valor[2] < 1902 || valor[2] > 2037) {
            return false;
        }
    }
    return true;
}

/**
  * Função que valida CPF
  * @param String $s CPF
  * @return boolean
  **/
function validaCpf(s) {
	if(s != "") {
		var cpf = s.replace(/\D/g,'');
		if (
			cpf == '00000000000' ||
			cpf == '11111111111' ||
			cpf == '22222222222' ||
			cpf == '33333333333' ||
			cpf == '44444444444' ||
			cpf == '55555555555' ||
			cpf == '66666666666' ||
			cpf == '77777777777' ||
			cpf == '88888888888' ||
			cpf == '99999999999' ||
			cpf.length != 11)
		{
			return false;
		}

		var soma = 0;
		for ( var i = 10 ; i > 1; i--) {
			soma += cpf.charAt(10 - i) * i;
		}
		d1 = (soma % 11 < 2) ? 0 : (11 - (soma % 11));
		if (d1 != cpf.charAt(9)) {
			return false;
		}
		soma = 0;
		for ($i=11 ; $i>1; $i--) {
			soma += cpf.charAt(11 - i) * i;
		}
		d2 = (soma % 11 < 2) ? 0 : (11 - (soma % 11) );
		if (d2 != cpf.charAt(10)) {
			return false;
		}
		return true;
	}
}

/**
  * Função que valida o CNPJ
  * @param String $value CNPJ
  * @return int status da validação
  **/
function validaCnpj(valor) {
	var cnpj = new Array();
	cnpj = valor.replace(/\D/g,'');
	var tam = cnpj.length;
	/**
	  * blacklist cnpj
	  **/
	if (
		cnpj == '00000000000000' ||
		cnpj == '11111111111111' ||
		cnpj == '22222222222222' ||
		cnpj == '33333333333333' ||
		cnpj == '44444444444444' ||
		cnpj == '55555555555555' ||
		cnpj == '66666666666666' ||
		cnpj == '77777777777777' ||
		cnpj == '88888888888888' ||
		cnpj == '99999999999999' ||
		tam != 14 )
	{
		return false;
	}
	var soma = 0;
	soma += (cnpj.charAt(0) * 5);
	soma += (cnpj.charAt(1) * 4);
	soma += (cnpj.charAt(2) * 3);
	soma += (cnpj.charAt(3) * 2);
	soma += (cnpj.charAt(4) * 9);
	soma += (cnpj.charAt(5) * 8);
	soma += (cnpj.charAt(6) * 7);
	soma += (cnpj.charAt(7) * 6);
	soma += (cnpj.charAt(8) * 5);
	soma += (cnpj.charAt(9) * 4);
	soma += (cnpj.charAt(10) * 3);
	soma += (cnpj.charAt(11) * 2);
	var d1 = soma % 11;
	d1 = d1 < 2 ? 0 : 11 - d1;
	if(cnpj.charAt(12) != d1){
		return false;
	}
	var soma = 0;
	soma += (cnpj.charAt(0) * 6);
	soma += (cnpj.charAt(1) * 5);
	soma += (cnpj.charAt(2) * 4);
	soma += (cnpj.charAt(3) * 3);
	soma += (cnpj.charAt(4) * 2);
	soma += (cnpj.charAt(5) * 9);
	soma += (cnpj.charAt(6) * 8);
	soma += (cnpj.charAt(7) * 7);
	soma += (cnpj.charAt(8) * 6);
	soma += (cnpj.charAt(9) * 5);
	soma += (cnpj.charAt(10) * 4);
	soma += (cnpj.charAt(11) * 3);
	soma += (cnpj.charAt(12) * 2);
	var d2 = soma % 11;
	d2 = d2 < 2 ? 0 : 11 - d2;
	if (cnpj.charAt(13) != d2){
		return false;
	}
	return true;
}

/**
  * Função chaca o valor do radio
  * @param String $radioObj
  * @return boolean
  **/
function getCheckedValue(radioObj) {
	if (!radioObj) {
		return "";
	}
	var radioLength = radioObj.length;
	if (radioLength == undefined) {
		if (radioObj.checked) {
			return radioObj.value;
		} else {
			return "";
		}
	}
	for (var i = 0; i < radioLength; i++) {
		if (radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

/**
  * Função Validar Formulário
  * @param form Identificador do form
  * @return Boolean
  **/
function validaForm(form) {
    for (var i = 0; i < document.getElementById(form).elements.length; i++) {
        var nomeObj = document.getElementById(form).elements[i].name;
        var idObj 	= document.getElementById(form).elements[i].id;
		var relObj 	= document.getElementById(form).elements[i].getAttribute("rel");
		switch (relObj) {
			case "email":
				expressao = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i;
				if (!expressao.test(document.getElementById(form).elements[i].value)) {
					alert(document.getElementById(form).elements[i].title);
					document.getElementById(form).elements[i].value = "";
					document.getElementById(form).elements[i].focus();
					return false;
				}
			break;
			case "required":
				if ((document.getElementById(form).elements[i].value == null) || (document.getElementById(form).elements[i].value == "")) {
					alert(document.getElementById(form).elements[i].title);
					document.getElementById(form).elements[i].focus();
					return false;
				}
			break;
			case "cpf":
				if ((!validaCpf(document.getElementById(form).elements[i].value)) || (document.getElementById(form).elements[i].value == null) || (document.getElementById(form).elements[i].value == "")) {
					alert(document.getElementById(form).elements[i].title);
					document.getElementById(form).elements[i].value = "";
					document.getElementById(form).elements[i].focus();
					return false;
				}
			break;
			case "cnpj":
				if ((!validaCnpj(document.getElementById(form).elements[i].value)) || (document.getElementById(form).elements[i].value == null) || (document.getElementById(form).elements[i].value == "")) {
					alert(document.getElementById(form).elements[i].title);
					document.getElementById(form).elements[i].value = "";
					document.getElementById(form).elements[i].focus();
					return false;
				}
			break;
			case "data":
				if ((!validaData(document.getElementById(form).elements[i].value)) || (document.getElementById(form).elements[i].value == null) || (document.getElementById(form).elements[i].value == "")) {
					alert(document.getElementById(form).elements[i].title);
					document.getElementById(form).elements[i].value = "";
					document.getElementById(form).elements[i].focus();
					return false;
				}
			break;
			case "radio":
			case "checkbox":
				if(getCheckedValue(document.getElementsByName(nomeObj))) {
				} else {
					alert(document.getElementById(form).elements[i].title);
					document.getElementById(form).elements[i].focus();
					return false;
				}
			break;
			default:
			break;
		}
    }
    return true;
}

/**
  * Função monta caixa de seleção
  * @param div DIV
  * @param id Identificador
  * @return nada
  **/
function montaCaixa(div, id, padrao) {
	$.ajax({
		type: "POST",
		url: "lib/acao-monta-caixa.php",
		data: "div=" + div + "&id=" + id + "&padrao=" + padrao,
		success: function(txt) {
			$("#" + div).html(txt);
		}
	});
}

/**
  * Função validar login
  * @param form Identificador do form
  * @return mensagem de erro
  **/
function validarLogin(form) {
	if (validaForm(form)) {
		var str = $("#" + form).serialize();
		$.ajax({
			type: "POST",
			url: "lib/acao-form-login.php",
			data: str,
			success: function(txt) {
				arr = txt.split("<!-- SEPARADOR -->");
				if (getTrim(arr[1]) == "logado") {
					document.getElementById(form).reset();
					$("#lougge-produtos").click();
				} else {
					alert(arr[0]);
				}
			}
		});
	}
}

/**
  * Função validar cadastro
  * @param form Identificador do form
  * @return mensagem de erro
  **/
function validarCadastro(form) {
	if (validaForm(form)) {
		var str = $("#" + form).serialize();
		$.ajax({
			type: "POST",
			url: "lib/acao-form-cadastro.php",
			data: str,
			success: function(txt) {
				arr = txt.split("<!-- SEPARADOR -->");
				if ((getTrim(arr[1]) == "1") || (getTrim(arr[1]) == "2")) {
					alert(arr[0]);
					if (getTrim(arr[1]) == "2") {
						$.facebox.close();
					}
				} else {
					alert(arr[0]);
				}
			}
		});
	}
}

/**
  * Função inserir protudo
  * @param produto Int Identificador do produto
  * @param quantidade Int Quantidade de itens
  * @return nada
  **/
function inserirProduto(produto, quantidade, area, pagina) {
	if (!produto > 0) {
		alert("Não foi possível adicionar o produto em minhas compras!"); // Mensagem de erro
		return false;
	} else if (!quantidade > 0) {
		alert("Não foi possível adicionar o produto em minhas compras!"); // Mensagem de erro
		return false;
	} else {
		$.ajax({
			type: "POST",
			url: "lib/carrinho-inserir.php",
			data: "produto=" + produto + "&quantidade=" + quantidade + "&area=" + area + "&pagina=" + pagina,
			success: function(txt) {
				if (getTrim(txt) == 1) {
					if (area == 0) { // Listagem de produtos
						listagemProduto("form-busca", pagina); // Listagem de produtos
					}
					if (area == 1) { // Listagem do carrinho
						listagemCarrinho(); // Listagem do carrinho
					}
					total(); // Total
					$("#arr_quantidade" + produto).focus(); // Focu
				} else {
					alert("Produto já adicionado no seu carrinho de compra!"); // Mensagem de erro
				}
			}
		});
	}
}

/**
  * Função alterar quantidade de produto
  * @param produto Int Identificador do produto
  * @param quantidade Int Quantidade de itens
  * @return nada
  **/
function alterarProduto(produto, quantidade, area, pagina) {
	if (!produto > 0) {
		alert("Não foi possível adicionar o produto em minhas compras!"); // Mensagem de erro
		return false;
	} else if (!quantidade > 0) {
		alert("Não foi possível adicionar o produto em minhas compras!"); // Mensagem de erro
		return false;
	} else {
		$.ajax({
			type: "POST",
			url: "lib/carrinho-alterar.php",
			data: "produto=" + produto + "&quantidade=" + quantidade + "&area=" + area + "&pagina=" + pagina,
			success: function(txt) {
				if (getTrim(txt) == 1) { // Retorno sucesso
					if (area == 0) { // Listagem de produtos
						listagemProduto("form-busca", pagina); // Listagem de produtos
					}
					if (area == 1) { // Listagem do carrinho
						listagemCarrinho(); // Listagem do carrinho
					}
					total(); // Total
					$("#arr_quantidade" + produto).focus(); // Focu
				} else {
					alert("Não foi possível alterar a quantidade de produtos!"); // Mensagem de erro
				}
			}
		});
	}
}

/**
  * Função remover quantidade de produto
  * @param produto Int Identificador do produto
  * @return nada
  **/
function removerProduto(produto, area) {
	if (!produto > 0) {
		alert("Não foi possível adicionar o produto em minhas compras!"); // Mensagem de erro
		return false;	
	} else {
		$.ajax({
			type: "POST",
			url: "lib/carrinho-remover.php",
			data: "produto=" + produto,
			success: function(txt) {
				if (getTrim(txt) == 1) {
					if (area == 0) { // Listagem de produtos
						listagemProduto("form-busca", 1); // Listagem de produtos
					}
					if (area == 1) { // Listagem do carrinho
						listagemCarrinho(); // Listagem do carrinho
					}
					total(); // Total
				} else {
					alert("Não foi possível excluir o produto!"); // Mensagem de erro
				}
			}
		});
	}
}

/**
  * Função listagem de produtos
  * @param form Identificador do formulário
  * @return nada
  **/
function listagemProduto(form, pagina) {
	var str = $("#" + form).serialize();
	$.ajax({
		type: "POST",
		url: "lib/carrinho-produtos.php",
		data: str + "&pagina=" + pagina,
		success: function(txt) {
			$("#div-listagem-produtos").html(txt);			
		}
	});
}

/**
  * Função listagem de carrinho
  * @param form Identificador do formulário
  * @return nada
  **/
function listagemCarrinho() {	
	$.ajax({
		type: "POST",
		url: "lib/carrinho-itens.php",
		success: function(txt) {
			$("#div-listagem-itens").html(txt);
		}
	});
}

/**
  * Função listagem de produtos
  * @param nada
  * @return nada
  **/
function total() {
	$.ajax({
		type: "POST",
		url: "lib/carrinho-total.php",
		success: function(txt) {
			$("#div-total").html(txt);
		}
	});
}

/**
  * Função finalizar pedido
  * @param nada
  * @return nada
  **/
function finalizarPedido() {
	$.ajax({
		type: "POST",
		url: "lib/carrinho-finalizar.php",		
		success: function(txt) {		
			alert(txt);
			listagemCarrinho();
			total();
		}
	});
}

/**
  * Abrir área restrita
  * @param nada
  * @return nada
  **/
function AbreJanela() {
	$.ajax({
		type: "POST",
		url: "lib/acao-form-restrita.php",
		success: function(txt) {
			if (getTrim(txt) == 1) {
				$("#lougge-produtos").click();
			} else {
				$("#lougge-login").click();
			}
		}
	});	
}

/**
  * Função paginacao
  * @param pagina Página
  * @return nada
  **/
function paginacao(pagina) {
	$.ajax({
		type: "POST",
		url: "lib/acao-form-lista-produtos.php",
		data: "pagina=" + pagina,
		success: function(txt) {
			$("#div-lista-produtos").html(txt);
		}
	});
}

/**
  * Função abreGaleria
  * @param imagem String endereço da imagem
  * @return nada
  **/
function abreGaleria(imagem) {
	$("a#link_foto").attr("title","Lougge.com.br - Fotos");
	$("a#link_foto").attr("href",imagem);
	$("a#link_foto").click();
}


