	var submitcount = 0;
	var submitcountlogin = 0;
	
	history.forward(); 
	
	function valida(frm)
	{
	var vogais = "aeiouAEIOU";
	var cInvalidos = "&*¨%#@$!?;:,./\|=+)({}][<>";
	var cInvalidosApelido = cInvalidos + " ";
	

	// Verifica se o sexo foi selecionado
	if (getCheckedRadioButton(frm.sexo) == -1) {
		erroval(frm.sexo,"lblSexo","Selecione o sexo.");
		return false;
	}


	// verifica se o nome foi preenchido
	if (isBlank(frm.cad_nome.value)) {
		erroval(frm.cad_nome,"lblNome","O nome do usuário é obrigatório.");
		return false;
	}
	
	// verifica se digitou algarismos no nome
	if (temAlgarismo(frm.cad_nome.value)) {
		erroval(frm.cad_nome,"lblNome","Não é permitido digitar números no nome.");
		return false;
	}	
	
	
	// verifica se o usuário informou pelo menos 2 nomes
	arrNome = frm.cad_nome.value.split(" ");
	if ((arrNome.length == 1) || ((arrNome[arrNome.length-1] == "") && (arrNome.length == 2))){
		erroval(frm.cad_nome,"lblNome","Informe o nome e sobrenome.");
		return false;
		}
		
	//verifica se em alguma das palavras do nome, existem 3 letras consecutivas
	if (caractConsecut(frm.cad_nome.value)){
		erroval(frm.cad_nome,"lblNome","Não devem existir 3 letras consecutivas no nome.");
		return false;
		}
	
	//verifica se o nome possui vogais
	if (!contemElementos(frm.cad_nome.value,vogais)){
		erroval(frm.cad_nome,"lblNome","O nome deve possuir ao menos uma vogal.");
		return false;		
		}
		
	//verifica se o nome possui algum dos caracteres considerados inválidos
	if (contemElementos(frm.cad_nome.value,cInvalidos)){
		erroval(frm.cad_nome,"lblNome","O nome informado possui caracteres inválidos.");
		return false;		
		}
		
	// testa se o email foi preenchido e se está no formato correto
	if (!isEmail(frm.cad_email.value)) {
		erroval(frm.cad_email,"lblMail","O email deve ser preenchido no formato correto (usuário@dominio).")
		return false;
	}			
	
	
// testa se a confirmação do email foi preenchida e se está no formato correto
	if (!isEmail(frm.cad_email2.value)) {
		erroval(frm.cad_email2,"lblConfMail","A confirmação do email deve ser preenchida no formato correto (usuário@dominio).")
		return false;
	}
	
	// verifica se email confere com a confirmação
	if (frm.cad_email.value != frm.cad_email2.value) {
		erroval(frm.cad_email2,"lblConfMail","O E-Mail e a sua confirmação não são idênticos. Por favor digite novamente.")
		frm.cad_email2.value = "";
		return false;
	}	
	
	
	// verifica se o cpfpassaporte foi preenchido
	if (isBlank(frm.cpfpassaporte.value)) {
		erroval(frm.cpfpassaporte,"lblcpfpassaporte","O CPF é obrigatório.");
		return false;
	}else{
		

var i;   
s = document.form_cadastro.cpfpassaporte.value;   
var c = s.substr(0,9);   
var dv = s.substr(9,2); 
var d1 = 0;   
for (i = 0; i < 9; i++)   
{   
d1 += c.charAt(i)*(10-i);   
} 
  
if (d1 == 0){   
		erroval(frm.cpfpassaporte,"lblcpfpassaporte","CPF inválido.");
		frm.cpfpassaporte.value = "";
		return false;
} 
  
d1 = 11 - (d1 % 11);   
if (d1 > 9) d1 = 0;   
if (dv.charAt(0) != d1) 
  
{   
		erroval(frm.cpfpassaporte,"lblcpfpassaporte","CPF inválido.");
		frm.cpfpassaporte.value = "";
		return false;
}   
  
d1 *= 2; 
  
for (i = 0; i < 9; i++) 
{   
d1 += c.charAt(i)*(11-i);   
} 
  
d1 = 11 - (d1 % 11);   
if (d1 > 9) d1 = 0;   
if (dv.charAt(1) != d1) 
  
{ 
		erroval(frm.cpfpassaporte,"lblcpfpassaporte","CPF inválido.");
		frm.cpfpassaporte.value = "";
		return false;
} 



		
		};
		
		
		
	// verifica se a senha foi preenchida
	if (isBlank(frm.cad_senha.value)) {
		erroval(frm.cad_senha,"lblsenha","A senha de acesso é obrigatória.");
		return false;
	}		
		
	// verifica se a senha foi preenchida com mais de 4 caracteres	
	if (frm.cad_senha.value.length < 4) {
			erroval(frm.CEP,"lblsenha","A senha deve ser preenchida com um mínimo de 4 caracteres.");
			return false;
		}	
	
	
	// confere que o formulário tenha sido submetido somente uma vez
	if (submitcount == 0) {
		submitcount++;
		return true;
	}
	else
		return false;
	
	}
	
	function validalogin_gcom(frm)
	{
	// testa se o email foi preenchido e se está no formato correto
	if (isBlank(frm.emaillogin_gcom.value)) {
		alert ("O login/e-mail deve ser preenchido.");
		frm.emaillogin_gcom.focus();
		return false;
	}
	
	// verifica se a senha foi preenchida
	if (isBlank(frm.senhalogin.value)) {
		alert ("A senha deve ser preenchida.");
		frm.senhalogin.focus();
		return false;
	}
	
	// confere que o formulário tenha sido submetido somente uma vez
	if (submitcountlogin == 0) {
		submitcountlogin++;
		return true;
	}
	else
		return false;
	}
	
	// Habilita/desabilita div de CEP, conforme Região selecionada (Brasil | <> Brasil)
	function testaregiao(frm)
	{
		// Se Brasil, habilita campos relativos à endereço
		if (frm.regiaoacesso.options[getCheckedSelectOptions(frm.regiaoacesso)].text == 'Brasil') {
			frm.CEP.disabled 				= false;
			frm.CEPext.disabled 			= false;
			frm.estado.disabled 			= false;
			frm.estado.style.background 	= "#FFFFFF";
			frm.CEP.style.background 		= "#FFFFFF";
			frm.CEPext.style.background 	= "#FFFFFF";
		}
		else	{
			frm.CEP.disabled 				= true;
			frm.CEPext.disabled 			= true;
			frm.estado.disabled 			= true;
			frm.CEP.value 					= "";
			frm.CEPext.value 				= "";
			frm.estado.value 				= "NULL";
			frm.estado.style.background 	= "#E3E3E3";
			frm.CEP.style.background 		= "#E3E3E3";
			frm.CEPext.style.background 	= "#E3E3E3";
			document.getElementById('cepRetorno').innerHTML = "";
			document.getElementById('lblpaint').style.color='';
		}
	}	
	
	// Valida cep digitado e retorna UF - usa ajax
	function validaCep() {
		if ((document.form_cadastro.CEP.value.length + document.form_cadastro.CEPext.value.length == 8) && (document.form_cadastro.estado.value!='NULL')) {
			dojo.io.bind({
				url: "cepRetorno.asp?cep=" + document.form_cadastro.CEP.value + document.form_cadastro.CEPext.value+"&uf="+document.form_cadastro.estado.value,
				load: function(type, data, evt){
				if(data!=''){
					var arrMsg = data.split("||");
					document.form_cadastro.blnCepValido.value = false;
					document.getElementById('lblpaint').className='erro';
					if ((arrMsg[0]!="")&&(arrMsg[1]!="")){
						document.getElementById('lblpaint2').className='erro';
						document.getElementById('cepRetorno').innerHTML = arrMsg[0];
						document.getElementById('estRetorno').innerHTML = arrMsg[1];
						}
				}else{
					document.form_cadastro.blnCepValido.value = true;
					document.getElementById('lblpaint').className='';
					document.getElementById('lblpaint2').className='';
					document.getElementById('cepRetorno').innerHTML = '';
					document.getElementById('estRetorno').innerHTML = '';
					}
				},
				mimetype: "text/plain",
				transport: "XMLHTTPTransport"
			});
		}else if(document.form_cadastro.CEP.value.length + document.form_cadastro.CEPext.value.length == 0){
			document.form_cadastro.blnCepValido.value = true;
			document.getElementById('lblpaint').className='';
			document.getElementById('lblpaint2').className='';
			document.getElementById('cepRetorno').innerHtml = '';
			document.getElementById('estRetorno').innerHtml = '';
			}
		}
	
	// Verifica se o e-mail digitado já está cadastrado na base - usa ajax
	function verificaCadastrado() {
		dojo.io.bind({
		    url: "emailRetorno.asp?eml=" + encodeURIComponent(document.form_cadastro.email.value) +"&id=",
		    load: function(type, data, evt){
				if (data == '0') {
					document.getElementById('emailRetorno').innerHTML = ''
					document.getElementById('lblMail').className='';
				}
				else {
					document.getElementById('emailRetorno').innerHTML = '<small>E-mail já cadastrado. <a href=javascript:NewWindow("/cadastro/esqueciSenha.asp","senha",430,510,"yes","no"); class="erro">Esqueceu a senha?</a></small>'
					document.getElementById('lblMail').className='erro';
				}
		    },
		    mimetype: "text/plain"
		});
	}
	
	// Verifica se o apelido digitado já está cadastrado na base - usa ajax
	function verificaApelido() {
	dojo.io.bind({
	    url: "apelidoRetorno.asp?apl=" + encodeURIComponent(document.form_cadastro.apelido.value) +"&id=",
		    load: function(type, data, evt){
				if (data == '0') {
					document.form_cadastro.blnApelidoValido.value = true;
					document.getElementById('apelidoRetorno').innerHTML = ''
					document.getElementById('lblApelido').className='';
				}
				else {
					if (data == '1')
						document.getElementById('apelidoRetorno').innerHTML = '<small>&nbsp;O apelido informado já está cadastrado.</small>'
					else if (data == '2')
						document.getElementById('apelidoRetorno').innerHTML = '<small>&nbsp;O apelido escolhido não pode ser usado.</small>'
					document.form_cadastro.blnApelidoValido.value = false;
					document.getElementById('lblApelido').className='erro';
				}
		    },
		    mimetype: "text/plain"
		});
	}
	
	
function Tecla(e)
{
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;
		if (tecla > 47 && tecla < 58) // numeros de 0 a 9
			return true;
		else
			{
				if (tecla != 8) // backspace
					event.keyCode = 0;
					//return false;
				else
					return true;
			}
}	
