// Função para validar todos os campos do formulario
function validar() {
	var campos = Array("input", "select", "textarea");
	for(var u=0; u<campos.length; u++) {
		var e = document.form.getElementsByTagName(campos[u]);
		for(var i=0; i<e.length; i++) {
			if(e[i].title != "" && e[i].title.indexOf("Google") == -1) {
				if(e[i].title == "Email") {
					if(validaEmail(e[i]) === false) return false;
				} else if (e[i].title == "CPF" || e[i].title == "CNPJ") {
					if(validaCPF(e[i]) === false) return false;
				} else {
					if(e[i].value == "") {
						alert("O campo " + e[i].title + " não pode permanecer em branco.");
						e[i].focus();
						return false;
					}
				}
			}
		}
	}
	return true;
}
// Função que valida o email digitado
function validaEmail(email) {
	var e   = email.value;
	var a   = e.indexOf("@");
	var la  = e.lastIndexOf("@");
	var p   = e.indexOf(".");
	var lp  = e.lastIndexOf(".");
	var sp  = e.indexOf(" ");
	var len = e.length - 1;
	if (e == "") {
		alert("Por favor preencha o campo de Email corretamente.");
		email.focus();
		return false;
	} else {
		if (a == -1 || p == -1 || a != la || p == a+1 || a == p+1 || a == len || p == len || la == len || lp == len || sp != -1) {
			alert("Email Inválido! Por favor verifique o email digitado.");
			email.focus();
			return false;
		}
	}
}

function preencheData(campo) {
	if(campo.value.length == 2 || campo.value.length == 5)
		campo.value += "/";
	else if(campo.value.length > 10)
		campo.value = campo.value.substr(0, 10);
}

function preencheDDD(campo, destino) {
	if(campo.value.length == 2) destino.focus();
}

function preencheFone2(campo) {
	if(campo.value.length == 4) campo.value += "-";
}

function preencheFone(campo) {
	if(campo.value.length == 2)
		campo.value = "(" + campo.value + ") ";
	else if(campo.value.length == 9)
		campo.value += "-";
	else if(campo.value.length > 14)
		campo.value = campo.value.substr(0, 14)
}

function retornaNumeros(campo) {
	var accept = "1234567890";
	var x = "";
	var texto = "";
	for(var u = 0; u < campo.value.length; u++) {
		x = campo.value.substr(u,1);
		if(accept.indexOf(x) != -1) {
			texto += x;
		}
	}
	campo.value = texto;
}

function validaCadastro() {
	if(!document.form.rdTipo[0].checked && !document.form.rdTipo[1].checked) {
		alert("Por favor, antes de prosseguir indique o tipo de cadastro.\n\nPessoa Física ou Pessoa Jurídica?");
		document.form.rdTipo[0].focus();
		return false;
	}
	if(validar() === false) return false; //Valida o formulário de uma forma geral
	
	if(document.form.rdTipo[0].checked) {
		if(!document.form.rdSexo[0].checked && !document.form.rdSexo[1].checked) {
			alert("Por favor selecione coretamente o campo Sexo");
			document.form.rdSexo[0].focus();
			return false;
		}
		if(document.form.txtRG.value.length < 3) {
			alert("Por favor preencha o campo RG corretamente.");
			document.form.txtRG.focus();
			return false;
		}
	}

	if(validaCPF(document.form.txtCPF) === false) return false;// Valida CPF/CNPJ
}

//Função para validar CPF/CNPJ
function validaCPF(campo) {
	var numeros, digitos, soma, i, resultado;
	
	//Formata o campo deixando apenas números
	retornaNumeros(campo);
	
	var cpf = campo.value;
	var cnpj = campo.value;

	if (cpf.length != 11 & cpf.length != 14) {
		// CPF/CNPJ Inválido
		alert("O número do CPF/CNPJ deve conter 11 ou 14 dígitos.");
		campo.focus();
		return false;
	} else if(cpf.length == 11) {
		/* Validação de CPF */
		
		// Verifica se o usuário digitou apenas números iguais
		if(	cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || 
			cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999" || cpf == "00000000000" ) {
			alert("CPF Inválido!");
			campo.focus();
			return false;
		}
		
		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("O CPF digitado está inválido! Por favor corrija seu CPF");
			campo.focus();
			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("O CPF digitado está inválido! Por favor corrija seu CPF");
			campo.focus();
			return false;
		}
		return true;
	} else {
		/* Validação de CNPJ */
		
		// Verifica se o usuário digitou apenas números iguais
		if(	cpf == "11111111111111" || cpf == "22222222222222" || cpf == "33333333333333" || cpf == "44444444444444" || cpf == "55555555555555" || 
			cpf == "66666666666666" || cpf == "77777777777777" || cpf == "88888888888888" || cpf == "99999999999999" || cpf == "00000000000000" ) {
			alert("CNPJ Inválido!");
			campo.focus();
			return false;
		}

		tamanho = cnpj.length-2;
		numeros = cnpj.substring(0,tamanho);
		digitos = cnpj.substring(tamanho);
		soma = 0;
		pos = tamanho-7;
		
		for (i = tamanho; i >= 1; i--) {
			soma += numeros.charAt(tamanho-i) * pos--;
			if (pos < 2) {
				pos = 9;
			}
		}
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;

		if (resultado != digitos.charAt(0)) {
			alert("O CNPJ digitado está inválido! Por favor corrija o número do CNPJ");
			campo.focus();
			return false;
		}
		
		tamanho = tamanho + 1;
		numeros = cnpj.substring(0,tamanho);
		soma = 0;
		pos = tamanho - 7;
		
		for (i = tamanho; i >= 1; i--) {
			soma += numeros.charAt(tamanho - i) * pos--;
			if (pos < 2) {
				pos = 9;
			}
		}
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		
		if (resultado != digitos.charAt(1)) {
			alert("O CNPJ digitado está inválido! Por favor corrija o número do CNPJ");
			campo.focus();
			return false;
		}
		return true;
	}
}

function montarAction(input) {
	document.form.action = input;
}

function valFechamento() {
	// Verifica se o campo de quantidade está em branco!
	if (validar() === false) return false;
	//Verifica se o cliente está fechando o pedido
	if (document.form.action.indexOf("finalizar") != -1) {
		with (document.form) {
			//Verifica se o campo de quantidade foi alterado
			if(txtQt.value != txtQtAnterior.value) {
				var msg = "É necessário fazer uma atualizazão dos valores pois a quantidade de produtos foi alterada.";
				msg += "\n\n" + "Deseja atualizar os valores agora?";
				if(confirm(msg)) {
					document.form.action = "?action=alt_qt";
					return true;
				}
			}
			//Valida forma de pagamento!
			if (!btFormaPg[0].checked && !btFormaPg[1].checked) {
					alert("Selecione a forma de pagamento desejada antes de prosseguir.");
					btFormaPg[0].focus();
					return false;
			}
		}
	}
}

function mudarTipo() {
	with(document.form) {
		if(rdTipo[0].checked) {
			txtRG.title = "RG";
			txtRG.disabled = false;
			rdSexo[0].disabled = false;
			rdSexo[1].disabled = false;
		} else {
			txtRG.title = "";
			txtRG.disabled = true;
			rdSexo[0].disabled = true;
			rdSexo[1].disabled = true;
		}
	}
}

function downloadFile(){
	var x = document.getElementById("newPage");
	x.src = "http://www.netconsorcio.com.br/elearning/download/elearningPDF.zip";
}

function sair() {
	if(confirm("Deseja ir para página de cadastro?")) location.href = "cadastro.asp";
	else location.href = "index.asp";
}

// Função para abrir popUp com os Módulos e Provas
function openMod(url) {
	window.open(url, "modulo", "directories=0, location=0, menubar=0, resizable=0, scrollbars=0, status=0, status=no, titlebar=0, toolbar=0");
}