
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.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;
	}else if(!Validatxt("Como conheceu o Portal", form.sabendo, 1)){
		return false;
	} 
	form.submit();
}

function ValidaDuvidasDpvat(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.mail_para, 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 ValidaCredenciamento()
{
//--Verifica se todos os campos estão preenchidos
  if (Form.nome.value=="")
     { alert("O campo Nome da Empresa não está devidamente preenchido");
     Form.nome.focus();
     return false };

  if (Form.cnpj.value=="")
     { alert("O campo CNPJ não está devidamente preenchido");
     Form.cnpj.focus();
     return false };	 

  if (Form.susep.value=="")
     { alert("O campo susep não está devidamente preenchido");
     Form.susep.focus();
     return false };	 
	 
  if (Form.endereco.value=="")
     { alert("O campo Endereço não está devidamente preenchido");
     Form.endereco.focus();
     return false };	 
	 
  if (Form.numero.value=="")
     { alert("O campo Nº não está devidamente preenchido");
     Form.numero.focus();
     return false };	 
	 
  if (Form.complemento.value=="")
     { alert("O campo Complemento não está devidamente preenchido");
     Form.complemento.focus();
     return false };	 
	 
  if (Form.bairro.value=="")
     { alert("O campo Bairro não está devidamente preenchido");
     Form.bairro.focus();
     return false };	 
	 
  if (Form.cidade.value=="")
     { alert("O campo Cidade não está devidamente preenchido");
     Form.cidade.focus();
     return false };	 
	 
  if (Form.estado.value=="")
     { alert("O campo Estado não está devidamente preenchido");
     Form.estado.focus();
     return false };	 

  if (Form.mail_de.value == "" || 
      Form.mail_de.value.indexOf('@') == -1 || 
      Form.mail_de.value.indexOf('.') == -1 || 
      Form.mail_de.value.length<6)
	  { alert("O campo E-mail não está devidamente preenchido");
      Form.mail_de.focus();
      return false };	  
	 
  if (Form.telefone.value=="")
     { alert("O campo Telefone não está devidamente preenchido");
     Form.telefone.focus();
     return false };	 

  if (Form.contato.value=="")
     { alert("O campo Contato não está devidamente preenchido");
     Form.contato.focus();
     return false };
	 
  Form.submit();
  
return true; 
}

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();
}


/*** 
* Descrição.: formata um campo do formulário de 
* acordo com a máscara informada... 
* Parâmetros: - objForm (o Objeto Form) 
* - strField (string contendo o nome 
* do textbox) 
* - sMask (mascara que define o 
* formato que o dado será apresentado, 
* usando o algarismo "9" para 
* definir números e o símbolo "!" para 
* qualquer caracter... 
* - evtKeyPress (evento) 
* Uso.......: <input type="textbox" 
* name="xxx"..... 
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);"> 
* Observação: As máscaras podem ser representadas como os exemplos abaixo: 
* CEP -> 99.999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* Data -> 99/99/9999 
* Tel Resid -> (99) 999-9999 
* Tel Cel -> (99) 9999-9999 
* Processo -> 99.999999999/999-99 
* C/C -> 999999-! 
* E por aí vai... 
***/

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

     if(document.all) { // Internet Explorer
       nTecla = evtKeyPress.keyCode; }
     else if(document.layers) { // Nestcape
       nTecla = evtKeyPress.which;
     }

     sValue = objForm[strField].value;

     // Limpa todos os caracteres de formatação que
     // já estiverem no campo.
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( " ", "" );
     sValue = sValue.toString().replace( " ", "" );
     fldLen = sValue.length;
     mskLen = sMask.length;

     i = 0;
     nCount = 0;
     sCod = "";
     mskLen = fldLen;

     while (i <= mskLen) {
       bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
       bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

       if (bolMask) {
         sCod += sMask.charAt(i);
         mskLen++; }
       else {
         sCod += sValue.charAt(nCount);
         nCount++;
       }

       i++;
     }

     objForm[strField].value = sCod;

     if (nTecla != 8) { // backspace
       if (sMask.charAt(i-1) == "9") { // apenas números...
         return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
       else { // qualquer caracter...
         return true;
       } }
     else {
       return true;
     }
   }
   
   
   function ValidaCredenciamentoInfo()
   {
	 //--Verifica se todos os campos estão preenchidos
	  if (Form1.nome1.value=="")
		 { alert("O campo Nome da Empresa não está devidamente preenchido");
		 Form1.nome1.focus();
		 return false };
	
	  if (Form1.cnpj1.value=="")
		 { alert("O campo CNPJ não está devidamente preenchido");
		 Form1.cnpj1.focus();
		 return false };	 	 
	 
	  if (Form1.cidade1.value=="")
		 { alert("O campo Cidade não está devidamente preenchido");
		 Form1.cidade1.focus();
		 return false };	 
		 
	  if (Form1.estado1.value=="")
		 { alert("O campo Estado não está devidamente preenchido");
		 Form1.estado1.focus();
		 return false };	 
	
	  if (Form1.mail_de1.value == "" || 
		  Form1.mail_de1.value.indexOf('@') == -1 || 
		  Form1.mail_de1.value.indexOf('.') == -1 || 
		  Form1.mail_de1.value.length<6)
		  { alert("O campo E-mail não está devidamente preenchido");
		  Form1.mail_de1.focus();
		  return false };	  
		 
	  if (Form1.telefone1.value=="")
		 { alert("O campo Telefone não está devidamente preenchido");
		 Form1.telefone1.focus();
		 return false };	 
	
	  if (Form1.contato1.value=="")
		 { alert("O campo Contato não está devidamente preenchido");
		 Form1.contato1.focus();
		 return false };
		 
	  Form1.submit();
	  
	return true; 
}
   
   function ValidaProjetoCorretor()
   {
	 //--Verifica se todos os campos estão preenchidos
	  if (Form1.nome.value=="")
		 { alert("O campo Nome não está devidamente preenchido");
		 Form1.nome.focus();
		 return false };
	
	  if (Form1.corretora.value=="")
		 { alert("O campo Nome da Corretora não está devidamente preenchido");
		 Form1.corretora.focus();
		 return false };
	
	  if (Form1.susep.value=="")
		 { alert("O campo SUSEP não está devidamente preenchido");
		 Form1.susep.focus();
		 return false };
	
	  if (Form1.cidade.value=="")
		 { alert("O campo Cidade não está devidamente preenchido");
		 Form1.cidade.focus();
		 return false };	 
		 
	  if (Form1.estado.value=="")
		 { alert("O campo Estado não está devidamente preenchido");
		 Form1.estado.focus();
		 return false };	 
	
	  if (Form1.telefone.value=="")
		 { alert("O campo Telefone não está devidamente preenchido");
		 Form1.telefone1.focus();
		 return false };	 
	
	  if (Form1.mail_de1.value == "" || 
		  Form1.mail_de1.value.indexOf('@') == -1 || 
		  Form1.mail_de1.value.indexOf('.') == -1 || 
		  Form1.mail_de1.value.length<6)
		  { alert("O campo E-mail não está devidamente preenchido");
		  Form1.mail_de1.focus();
		  return false };	  
		 
	  Form1.submit();
	  
	return true; 
}
   
   
   

//Fim da Função Máscaras Gerais