

// funçao que verifica o formulario de cadastro
function validaFormCadastroUsuario() {

	var btCadastro = document.formCadastroUsuario.btCadastro;
	btCadastro.disabled = true;
	var labelCadastrar = "Cadastrar";
	btCadastro.value = 'Verificando Dados...';

	var nome = document.formCadastroUsuario.nome.value;
	var sobreNome = document.formCadastroUsuario.sobreNome.value;
	var email = document.formCadastroUsuario.email.value;
	var confirmaEmail = document.formCadastroUsuario.confirmaEmail.value;
	var dia = document.formCadastroUsuario.dia.value;
	var mes = document.formCadastroUsuario.mes.value;
	var ano = document.formCadastroUsuario.ano.value;
	var sexo = document.formCadastroUsuario.sexo.value;
	var cpf = document.formCadastroUsuario.cpf.value;
	var estado = document.formCadastroUsuario.estado.value;
	var cidade = document.formCadastroUsuario.cidade.value;
	var bairro = document.formCadastroUsuario.bairro.value;
	var endereco = document.formCadastroUsuario.endereco.value;
	var cep = document.formCadastroUsuario.cep.value;
	var telefone = document.formCadastroUsuario.telefone.value;
	var celular = document.formCadastroUsuario.celular.value;
	var grauDeInstrucao = document.formCadastroUsuario.grauDeInstrucao.value;
	var estadoCivil = document.formCadastroUsuario.estadoCivil.value;
	var senha = document.formCadastroUsuario.senha.value;
	var confirmarSenha = document.formCadastroUsuario.confirmarSenha.value;
	var indicacoes = document.formCadastroUsuario.indicacoes.value;
	var nota = document.formCadastroUsuario.nota.value;

	// conponente para validar o interesse
	var interesse = document.getElementsByTagName('input');

	// verifica nome
	if(isNaN(nome)) {
		if(nome.length < 0) {
			alert('Informe seu nome!');
			btCadastro.disabled = false;
			btCadastro.value = labelCadastrar;
			return false;
		}
	} else {
		alert('Informe seu nome!');
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica sobreNome
	if(sobreNome == "") {
		alert("Informe seu sobre nome!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	} else {
		if(sobreNome.indexOf(' ') == 0) {
			alert("Informe seu sobre nome completo!");
			btCadastro.disabled = false;
			btCadastro.value = labelCadastrar;
			return false;
		}
	}
	// verifica email
	var caracteres = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if(!(caracteres.test(email))) {
		alert('Email inválido!');
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	} else {
		// verifica confirmaEmail
		if(confirmaEmail != email) {
			alert("Os emails não conferem!");
			btCadastro.disabled = false;
			btCadastro.value = labelCadastrar;
			return false;
		} else {
			if(verificaEmailCadastrado(email)) {
				btCadastro.disabled = false;
				btCadastro.value = labelCadastrar;
				return false;
			}
		}
	}
	// verifica dia
	if(dia == 0) {
		alert("Informe o dia!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica mes
	if(mes == 0) {
		alert("Informe o mês");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica ano
	if(ano == 0) {
		alert("Informe o ano");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica sexo
	if(sexo == 0) {
		alert("Informe seu sexo!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica se o usuário deseja participar de alguma promoção
	for(count=0;count<interesse.length;count++) {
		if(interesse[count].getAttribute("type") == "checkbox") {
			if(interesse[count].checked == true) {
				if(interesse[count].value == "Promocoes") {
					// valida CPF
					if(cpf != '') {
						var numeros, digitos, soma, i, resultado, digitos_iguais;
						digitos_iguais = 1;
						if (cpf.length < 11) {
							alert('CPF inválido!');
							btCadastro.disabled = false;
							btCadastro.value = labelCadastrar;
							return false;
						}
						for (i = 0; i < cpf.length - 1; i++) {
							if (cpf.charAt(i) != cpf.charAt(i + 1)){
								digitos_iguais = 0;
								break;
							}
						}
						if (!digitos_iguais) {
							numeros = cpf.substring(0,9);
							digitos = cpf.substring(9);
							soma = 0;
							for (i = 10; i > 1; i--) {
								soma += numeros.charAt(10 - i) * i;
							}
							resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
							if (resultado != digitos.charAt(0)) {
								alert('CPF inválido!');
								btCadastro.disabled = false;
								btCadastro.value = labelCadastrar;
								return false;
							}
							numeros = cpf.substring(0,10);
							soma = 0;
							for (i = 11; i > 1; i--) {
								soma += numeros.charAt(11 - i) * i;
							}
							resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
							if (resultado != digitos.charAt(1)) {
								alert('CPF inválido!');
								btCadastro.disabled = false;
								btCadastro.value = labelCadastrar;
								return false;
							} else {
								if(verificaCpfCadastrado(cpf)) {
									btCadastro.disabled = false;
									btCadastro.value = labelCadastrar;
									return false;
								}	
							}
							//alert('CPF inválido!');
							//return true;
						} else {
							alert('CPF inválido!');
							btCadastro.disabled = false;
							btCadastro.value = labelCadastrar;
							return false;
						}
					} else {
						alert('CPF inválido!');
						btCadastro.disabled = false;
						btCadastro.value = labelCadastrar;
						return false;
					}
				}
			}
		}
	}
	// verifica estado
	if(estado == 0) {
		alert("Informe o estado!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica cidade
	if(cidade == 0) {
		alert("Informe a cidade!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica bairro
	if(bairro == 0) {
		alert("Informe o bairro!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica endereco
	if(endereco == "") {
		alert("Informe o seu endereço!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica cep
	cep = cep.replace('-','');
	cep = cep.replace(' ','');
	if(cep.length != 8 || isNaN(cep)) {
		alert("CEP inválido!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica telefone
	if(!isNaN(telefone)) {
		telefone = telefone.replace(' ','');
		telefone = telefone.replace('-','');
		telefone = telefone.replace('(','');
		telefone = telefone.replace(')','');
		if(telefone.length < 8 || telefone.length > 10) {
			alert('Telefone inválido!');
			btCadastro.disabled = false;
			btCadastro.value = labelCadastrar;
			return false;
		}
	} else {
		alert('Telefone inválido!');
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica celular
	if(!isNaN(celular)) {
		celular = celular.replace(' ','');
		celular = celular.replace('-','');
		celular = celular.replace('(','');
		celular = celular.replace(')','');
		if(celular.length < 8 || celular.length > 10) {
			alert('Celular inválido!');
			btCadastro.disabled = false;
			btCadastro.value = labelCadastrar;
			return false;
		}
	} else {
		alert('Celular inválido!');
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica grauDeInstrucao
	if(grauDeInstrucao == 0) {
		alert("Informe seu grau de instrução!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica estadoCivil
	if(estadoCivil == 0) {
		alert("Informe seu estado civil");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	}
	// verifica senha
	if(senha.length < 4 || senha.length > 20) {
		alert("Senha inválida!");
		btCadastro.disabled = false;
		btCadastro.value = labelCadastrar;
		return false;
	} else {
		// verifica confirmarSenha
		if(confirmarSenha != senha) {
			alert("As senhas não conferem!");
			btCadastro.disabled = false;
			btCadastro.value = labelCadastrar;
			return false;
		}
	}

	btCadastro.value = 'Enviando Dados...';

}


// funçao que verifica form para atualizar o cadastro
function validaFormAtualizaCadastro() {

	var btAtualizar = document.formAtualizaCadastro.btAtualizar;
	btAtualizar.disabled = true;
	var labelAtualizar = "Atualizar";
	btAtualizar.value = 'Verificando Dados...';

	var nome = document.formAtualizaCadastro.nome.value;
	var sobreNome = document.formAtualizaCadastro.sobreNome.value;
	var email = document.formAtualizaCadastro.email.value;
	var confirmaEmail = document.formAtualizaCadastro.confirmaEmail.value;
	var dia = document.formAtualizaCadastro.dia.value;
	var mes = document.formAtualizaCadastro.mes.value;
	var ano = document.formAtualizaCadastro.ano.value;
	var sexo = document.formAtualizaCadastro.sexo.value;
	var cpf = document.formAtualizaCadastro.cpf.value;
	var estado = document.formAtualizaCadastro.estado.value;
	var cidade = document.formAtualizaCadastro.cidade.value;
	var bairro = document.formAtualizaCadastro.bairro.value;
	var endereco = document.formAtualizaCadastro.endereco.value;
	var cep = document.formAtualizaCadastro.cep.value;
	var telefone = document.formAtualizaCadastro.telefone.value;
	var celular = document.formAtualizaCadastro.celular.value;
	var grauDeInstrucao = document.formAtualizaCadastro.grauDeInstrucao.value;
	var estadoCivil = document.formAtualizaCadastro.estadoCivil.value;
	var senha = document.formAtualizaCadastro.senha.value;
	var confirmarSenha = document.formAtualizaCadastro.confirmarSenha.value;

	// conponente para validar o interesse
	var interesse = document.getElementsByTagName('input');

	// verifica nome
	if(isNaN(nome)) {
		if(nome.length < 0) {
			alert('Informe seu nome!');
			btAtualizar.disabled = false;
			btAtualizar.value = labelAtualizar;
			return false;
		}
	} else {
		alert('Informe seu nome!');
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica sobreNome
	if(sobreNome == "") {
		alert("Informe seu sobre nome!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	} else {
		if(sobreNome.indexOf(' ') == 0) {
			alert("Informe seu sobre nome completo!");
			btAtualizar.disabled = false;
			btAtualizar.value = labelAtualizar;
			return false;
		}
	}
	// verifica email
	var caracteres = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if(!(caracteres.test(email))) {
		alert('Email inválido!');
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	} else {
		// verifica confirmaEmail
		if(confirmaEmail != email) {
			alert("Os emails não conferem!");
			btAtualizar.disabled = false;
			btAtualizar.value = labelAtualizar;
			return false;
		} else {
			if(verificaEmailCadastrado(email)) {
				btAtualizar.disabled = false;
				btAtualizar.value = labelAtualizar;
				return false;
			}
		}
	}
	// verifica dia
	if(dia == 0) {
		alert("Informe o dia!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica mes
	if(mes == 0) {
		alert("Informe o mês");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica ano
	if(ano == 0) {
		alert("Informe o ano");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica sexo
	if(sexo == 0) {
		alert("Informe seu sexo!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica se o usuário deseja participar de alguma promoção
	for(count=0;count<interesse.length;count++) {
		if(interesse[count].getAttribute("type") == "checkbox") {
			if(interesse[count].checked == true) {
				if(interesse[count].value == "Promocoes") {
					// valida CPF
					if(cpf != '') {
						var numeros, digitos, soma, i, resultado, digitos_iguais;
						digitos_iguais = 1;
						if (cpf.length < 11) {
							alert('CPF inválido!');
							btAtualizar.disabled = false;
							btAtualizar.value = labelAtualizar;
							return false;
						}
						for (i = 0; i < cpf.length - 1; i++) {
							if (cpf.charAt(i) != cpf.charAt(i + 1)){
								digitos_iguais = 0;
								break;
							}
						}
						if (!digitos_iguais) {
							numeros = cpf.substring(0,9);
							digitos = cpf.substring(9);
							soma = 0;
							for (i = 10; i > 1; i--) {
								soma += numeros.charAt(10 - i) * i;
							}
							resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
							if (resultado != digitos.charAt(0)) {
								alert('CPF inválido!');
								btAtualizar.disabled = false;
								btAtualizar.value = labelAtualizar;
								return false;
							}
							numeros = cpf.substring(0,10);
							soma = 0;
							for (i = 11; i > 1; i--) {
								soma += numeros.charAt(11 - i) * i;
							}
							resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
							if (resultado != digitos.charAt(1)) {
								alert('CPF inválido!');
								btAtualizar.disabled = false;
								btAtualizar.value = labelAtualizar;
								return false;
							} else {
								if(verificaCpfCadastrado(cpf)) {
									btAtualizar.disabled = false;
									btAtualizar.value = labelAtualizar;
									return false;
								}	
							}
							//alert('CPF inválido!');
							//return true;
						} else {
							alert('CPF inválido!');
							btAtualizar.disabled = false;
							btAtualizar.value = labelAtualizar;
							return false;
						}
					} else {
						alert('CPF inválido!');
						btAtualizar.disabled = false;
						btAtualizar.value = labelAtualizar;
						return false;
					}
				}
			}
		}
	}
	// verifica estado
	if(estado == 0) {
		alert("Informe o estado!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica cidade
	if(cidade == 0) {
		alert("Informe a cidade!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica bairro
	if(bairro == 0) {
		alert("Informe o bairro!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica endereco
	if(endereco == "") {
		alert("Informe o seu endereço!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica cep
	cep = cep.replace('-','');
	cep = cep.replace(' ','');
	if(cep.length != 8 || isNaN(cep)) {
		alert("CEP inválido!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica telefone
	if(!isNaN(telefone)) {
		telefone = telefone.replace(' ','');
		telefone = telefone.replace('-','');
		telefone = telefone.replace('(','');
		telefone = telefone.replace(')','');
		if(telefone.length < 8 || telefone.length > 10) {
			alert('Telefone inválido!');
			btAtualizar.disabled = false;
			btAtualizar.value = labelAtualizar;
			return false;
		}
	} else {
		alert('Telefone inválido!');
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica celular
	if(!isNaN(celular)) {
		celular = celular.replace(' ','');
		celular = celular.replace('-','');
		celular = celular.replace('(','');
		celular = celular.replace(')','');
		if(celular.length < 8 || celular.length > 10) {
			alert('Celular inválido!');
			btAtualizar.disabled = false;
			btAtualizar.value = labelAtualizar;
			return false;
		}
	} else {
		alert('Celular inválido!');
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica grauDeInstrucao
	if(grauDeInstrucao == 0) {
		alert("Informe seu grau de instrução!");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica estadoCivil
	if(estadoCivil == 0) {
		alert("Informe seu estado civil");
		btAtualizar.disabled = false;
		btAtualizar.value = labelAtualizar;
		return false;
	}
	// verifica senha
	if(senha.length != 0) {
		if(senha.length < 4 || senha.length > 20) {
			alert("Senha inválida!");
			btAtualizar.disabled = false;
			btAtualizar.value = labelAtualizar;
			return false;
		} else {
			// verifica confirmarSenha
			if(confirmarSenha != senha) {
				alert("As senhas não conferem!");
				btAtualizar.disabled = false;
				btAtualizar.value = labelAtualizar;
				return false;
			}
		}
	}

	btAtualizar.value = 'Enviando Dados...';

}

// funçao que faz requisiçao para verificar se o email informado ja esta acadastrado
function verificaEmailCadastrado(email) {
	ajax = suportAjax();
	ajax.onreadystatechange = function() {
		if(ajax.readyState == 4 || ajax.readyState == 'complete') {
			if(ajax.status == 200) {
				var obj = eval('('+ ajax.responseText +')');
				if(obj.valor) {
					alert(obj.msg);
					return true;
				} else {
					return false;
				}
			}
		}
	}
	ajax.open("POST","intranet/cadastros/verificaEmailCadastrado.php",true);
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send("email="+ email +"&sid="+ Math.random());
}

// funçao que faz requisiçao para verificar se o cpf informado ja esta acadastrado
function verificaCpfCadastrado(cpf) {
	ajax = suportAjax();
	ajax.onreadystatechange = function() {
		if(ajax.readyState == 4 || ajax.readyState == 'complete') {
			if(ajax.status == 200) {
				var obj = eval('('+ ajax.responseText +')');
				if(obj.valor) {
					alert(obj.msg);
					return true;
				} else {
					return false;
				}
			}
		}
	}
	ajax.open("POST","intranet/cadastros/verificaCpfCadastrado.php",true);
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send("cpf="+ cpf +"&sid="+ Math.random());
}

// funçao que é responsavel por deixar o usuário digitar somente numeros
function consertaElementos(elemento,valor) {
	var str = valor.replace(/[^0-9]/,'');
	elemento.value = str;
}

// funçao que faz requisiçao para efetuar o login
function logar() {
	var email = document.formLoginUsuario.email.value;
	var senha = document.formLoginUsuario.senha.value;
	var btEntrar = document.formLoginUsuario.btEntrar.value;

	btEntrar.disabled = true;
	btEntrar.value = "Efetuando login...";
	
	ajax = suportAjax();
	ajax.onreadystatechange = function() {
		if(ajax.readyState == 4 || ajax.readyState == 'complete') {
			if(ajax.status == 200) {
				var obj = eval("("+ ajax.responseText +")");
				if(obj.valor) {
					$('resp').innerHTML = obj.msg;
					window.open(obj.local,"_self","");
					return true;
				} else {
					btEntrar.disabled = false;
					btEntrar.value = "Entrar";
					$('resp').innerHTML = obj.msg;
					return false;
				}
			}
		}
	}
	ajax.open("POST","intranet/cadastros/efetuaLogin.php",true);
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	var dados = "email="+ email;
	dados = dados +"&senha="+ senha;
	dados = dados +"&sid="+ Math.random();
	ajax.send(dados);
}

// funçao que gera uma nova senha para o usuário e envia para o email
function geraSenha() {
	var email = document.formLoginUsuario.email.value;
	ajax = suportAjax();
	// verifica email
	var caracteres = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if(!(caracteres.test(email))) {
		alert('Email inválido!');
		return false;
	} else {
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 4 || ajax.readyState == 'complete') {
				if(ajax.status == 200) {
					var obj = eval('('+ ajax.responseText +')');
					if(!obj.valor) {
						alert("Este email nao esta cadastrado em nosso site.");
						return false;
					} else {
						enviaRequisicao(email);
					}
				}
			}
		}
		ajax.open("POST","intranet/cadastros/verificaEmailCadastrado.php",true);
		ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		ajax.send("email="+ email +"&sid="+ Math.random());
	}
}
function enviaRequisicao(email) {
	ajax = suportAjax();
	ajax.onreadystatechange = function() {
		if(ajax.readyState == 4 || ajax.readyState == 'complete') {
			if(ajax.status == 200) {
				alert(ajax.responseText);
			}
		}
	}

	var senha = "";
	for(i=0;i<6;i++) {
		senha =  senha + parseInt((1 + Math.random()) * 6);
	}
	ajax.open("POST","intranet/cadastros/geraNovaSenha.php",true);
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	var dados = "email="+ email;
	dados = dados +"&senha="+ senha;
	dados = dados +"&sid="+ Math.random();
	ajax.send(dados);
}
