
function Validaemail(email){

	var BadChars = "*|,\":<>[]{}`\'';()&$#% ";
	var GoodChars = "@."; 
	var posarroba = email.value.indexOf ('@',0);

	if (email.value.length == 0){
		alert('O campo E-mail deve ser preenchido.');
		email.focus();
		return false;
	}
	if (email.value.length < 6) { // o email é menor que 6 caracteres
		alert("\"E-mail\" inválido!"); 
		email.focus();
		return false;
	}

	for (var i = 0; i < email.value.length; i++) {
		if (BadChars.indexOf(email.value.charAt(i)) != -1) { // Contém caracteres inválidos, badchars
			alert("Seu \"E-mail\" contém caracteres inválidos!");
			email.value = '';
			email.focus();
			return false;
		}
	}

	for (var i = 0; i < GoodChars.length; i++) {
		if (email.value.indexOf(GoodChars.charAt(i)) == -1) { // não tem goodchars
			alert("\"E-mail\" inválido!");
			email.focus();
			return false;
		}
		if (email.value.indexOf(GoodChars.charAt(i),0) == 0) { // começou com goodchars (. ou @)
			alert("\"E-mail\" inválido!");
			email.focus();
			return false;
		}
		if (email.value.lastIndexOf(GoodChars.charAt(i)) > email.value.length-3) { //existe menos de 2 caracteres depois do ultimo goodchar
			alert("\"E-mail\" inválido! Seu e-mail não deve terminar com @.");
			email.focus();
			return false;
		}
	}
	if (email.value.lastIndexOf('@') > email.value.lastIndexOf('.')) { //Não tem ponto depois do arroba
		alert("\"E-mail\" inválido!");
		value.focus();
		return false;
	}

	if (email.value.indexOf ('@.',0) != -1 || email.value.indexOf ('.@',0) != -1) { // . e @ colados
		alert("\"E-mail\" inválido!");
		value.focus();
		return false;
	}
	if (email.value.indexOf ('@',posarroba+1) != -1) { // Contém mais de um " @ " 
		alert("\"E-mail\" inválido!");
		value.focus();
		return false;
	}
	
	return true; // Retorna verdadeiro se o e-mail é válido.
}

function Validatxt(nome, objtxt, tamanhominimo){
	if (objtxt.value.length < tamanhominimo || objtxt.value == ""){
		alert("O campo \""+nome+"\" não foi preenchido corretamente, tente novamente!");
		objtxt.focus();
		return false;
	}
	return true;
}

function Validatelefone(nome, obj, tamanho){
	var estranho = 0;
	if (obj.value == "" || obj.value.length < tamanho-1){
		alert("O campo \""+nome+"\" não foi preenchido corretamente, tente novamente!");
		obj.focus();
		return false;
	}else{
		if (tamanho == 2){
			if (obj.value == "00" || obj.value == "22" || obj.value == "33" || obj.value == "44" || obj.value == "55" || obj.value == "66" || obj.value == "77" || obj.value == "88" || obj.value == "99"){
				estranho = 1;
			}
		}
		if (tamanho == 4){
			if (obj.value == "0000" || obj.value == "1111" || obj.value == "2222" || obj.value == "3333" || obj.value == "4444" || obj.value == "5555" || obj.value == "6666" || obj.value == "7777" || obj.value == "8888" || obj.value == "9999"){
				estranho = 1;
			}
		}
		if(estranho == 1){
			if(confirm("Seu telefone é indispensável para o nosso contato.\nO campo \""+nome+"\" do telefone está correto?")){
				return true;
			}else{
				obj.focus();
				return false;
			}
		}
	}
	return true;
}


function ValidaFaleConosco(form){
	if(!Validatxt("Motivo do contato", form.motivo, 1)){
		return false;
	}else if(!Validatxt("Nome", form.nome, 3)){
		return false;
	}else if(!Validaemail(form.email)){
		return false;
	}else if(!Validatxt("Cidade", form.cidade, 3)){
		return false;
	}else if(!Validatxt("Estado", form.uf, 1)){
		return false;
	}else if(!Validatelefone("DDD", form.ddd, 2)){
		return false;
	}else if(!Validatelefone("Prefixo", form.fone1, 4)){
		return false;
	}else if(!Validatxt("Mensagem", form.mensagem, 10)){
		return false;
	}else if(!Validatxt("Como conheceu o Portal", form.sabendo, 1)){
		return false;
	} 
	form.submit();
}

function ValidaRevendas(form){
	if(!Validatxt("Motivo do contato", form.motivo, 1)){
		return false;
	}else if(!Validatxt("Nome", form.nome, 3)){
		return false;
	}else if(!Validaemail(form.email)){
		return false;
	}else if(!Validatxt("Cidade", form.cidade, 3)){
		return false;
	}else if(!Validatxt("Estado", form.uf, 1)){
		return false;
	}else if(!Validatelefone("DDD", form.ddd, 2)){
		return false;
	}else if(!Validatelefone("Prefixo", form.fone1, 4)){
		return false;
	}else if(!Validatxt("Ramo da sua empresa", form.ramo, 10)){
		return false;
	}else if(!Validatxt("Mensagem", form.mensagem, 10)){
		return false;
	}else if(!Validatxt("Como conheceu o Portal", form.sabendo, 1)){
		return false;
	} 
	form.submit();
}

function ValidaDuvidasRH(form){
	if(!Validatxt("Nome", form.nome, 3)){
		return false;
	}else if(!Validaemail(form.mail_de)){
		return false;
	}else if(!Validatxt("Cidade", form.cidade, 3)){
		return false;
	}else if(!Validatxt("Estado", form.uf, 1)){
		return false;
	}else if(!Validatelefone("DDD", form.ddd, 2)){
		return false;
	}else if(!Validatelefone("Prefixo", form.fone1, 4)){
		return false;
	}else if(!Validatxt("Mensagem", form.mensagem, 10)){
		return false;
	} 
	form.submit();
}

function data(key,texto,mascara){
	separador = '/';
	if((key > 47 && key < 58) || (key > 95 && key < 106)){
		if(texto.value.length == 2 || texto.value.length == 5){
			texto.value = texto.value+separador;
		}
	}else{
		if(key != 8){	
			texto.value = texto.value.substring(0,texto.value.length-1);
		}
	}
	return true;
}


function fone(key,texto,mascara){
	separador = '-';
	if((key > 47 && key < 58) || (key > 95 && key < 106)){
		if(texto.value.length == 4){
			texto.value = texto.value+separador;
		}
	}else{
		if(key != 8){	
			texto.value = texto.value.substring(0,texto.value.length-1);
		}
	}
	return true;
}

function soNumero(obj){
	if(obj.value.length>0){
		obj.value = obj.value.replace(/[^\d]+/g, '');
	}
}


//--- Validação de Data
function dtnasc_onkeypress(obj) 
{
	var dtnasc=obj;
	var BACKSPACE= 8; 
	var key; 
	var tecla; 
	var DELETE=46;
	CheckTAB=true; 
	
	if(navigator.appName.indexOf("Netscape")!= -1) 
		tecla= event.which; 
	else 
		tecla= event.keyCode; 
		key = String.fromCharCode( tecla); 
	if ( tecla == 13 ) 
		return false; 
	if ( tecla == BACKSPACE ) 
		return true;
	if ( tecla == DELETE ) 
		return true;
	if ( tecla == 47 ) 
	{
		var comp;
		comp=dtnasc.value.substring(3,4);
		var strValidos = "123456789" 
		
		if(strValidos.indexOf( comp )!=-1 && dtnasc.value.length==4)
		{
			dtnasc.value=dtnasc.value.substring(0,3)+"0"+comp+"/";
			return false; 		
		}
		comp=dtnasc.value.substring(0,2);
		if(strValidos.indexOf( comp )!=-1 && dtnasc.value.length==1)
		{
			dtnasc.value="0"+comp+"/";
			return false; 		
		}
		return false;
	}	
	return ( isNum(key)); 
}

function isNum( caractere ) 
{ 
	var strValidos = "0123456789" 
	
	if ( strValidos.indexOf( caractere ) == -1 ) 
		return false; 
		return true;
} 

function dtnasc_onkeydown(obj) 
{
	var dtnasc = obj;
	var tecla;
	var BACKSPACE= 8;  
	var key; 
	
	CheckTAB=true; 
	if(navigator.appName.indexOf("Netscape")!= -1) 
		tecla= event.which; 
	else
	{ 
		tecla= event.keyCode; 
		key = String.fromCharCode(tecla); 
	}
	if ( tecla == 13 ) 
		return false; 
	if ( tecla == BACKSPACE ) 
		return true; 
	if ( tecla == 46 ) 
		return true; 
		
	if(dtnasc.value.substring(0,2)>31 || dtnasc.value.substring(0,2)=="00")
	{
		alert("Dia Inválido");
		dtnasc.value="";
		return false;
	}
	else
	{
		if(dtnasc.value.substring(3,5)>12 || dtnasc.value.substring(3,5)=="00")
		{
			alert("Mês Inválido");
			dtnasc.value=dtnasc.value.substring(0,3);
			return false;
		}
		else
		{
			if((dtnasc.value.substring(6,10)>2005 && dtnasc.value.substring(6,10).length>3) || (dtnasc.value.substring(6,10)<1920 && dtnasc.value.substring(6,10).length>3))
			{
				alert("Ano Inválido");
				dtnasc.value=dtnasc.value.substring(0,6);
				dtnasc.focus(); 
				return false;
			}
			else
			{
				if(dtnasc.value.length==2)
					dtnasc.value+="/";
				if(dtnasc.value.length==5)
					dtnasc.value+="/";
			}
		}		
	}
}

function dtnasc_onblur(controle) 
{
	var comp;
	comp=controle.value.substring(6,8);
	
	if(comp>20 && comp<100 && controle.value.length==8)
		controle.value=controle.value.substring(0,6)+"19"+comp;
	if(comp<20 && controle.value.length==8)
		controle.value=controle.value.substring(0,6)+"20"+comp;	
	if(controle.value.length<10 && controle.value.length!=0)
		controle.focus();
	else
		TestaData2(controle,controle);
}
//---- Fim Validação de Data


function ValidaFaleConosco(form){
	if(!Validatxt("Nome", form.nome, 3)){
		return false;
	}else if(!Validaemail(form.mail_de)){
		return false;
	}else if(!Validatxt("Cidade", form.cidade, 3)){
		return false;
	}else if(!Validatxt("Estado", form.uf, 1)){
		return false;
	}else if(!Validatxt("Mensagem", form.mensagem, 10)){
		return false;
	}
	form.submit();
}

function ValidaCadastro(form){
	if(!Validatxt("Nome", form.nome, 3)){
		return false;
	}else if(!Validaemail(form.mail_de)){
		return false;
	}else if(!Validatxt("Cidade", form.cidade, 3)){
		return false;
	}else if(!Validatxt("Estado", form.uf, 1)){
		return false;
	}
	form.submit();
}
