function validaCPF(s)
// -------------------
   {
   var i; 
   var filter=/^[0-9]{11}$/
   if (!filter.test(s)) return false;
   if (s.length!=11)   return false;
   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)
      return false; 
   d1 = 11 - (d1 % 11); 
   if (d1 > 9) d1 = 0; 
   if (dv.charAt(0) != d1) 
      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) 
      return false; 
   return true;
   }
   
function validaCNPJ(s)
// -------------------
   {
   var filter=new RegExp("^[0-9]{14}$");
   if (!filter.test(s)) return false;
   if (s.length != 14) return false;
	var df, resto, dac = ""  
	df = 5*s.charAt(0)+4*s.charAt(1)+3*s.charAt(2)+2*s.charAt(3)+9*s.charAt(4)+8*s.charAt(5)+7*s.charAt(6)+6*s.charAt(7)+5*s.charAt(8)+4*s.charAt(9)+3*s.charAt(10)+2*s.charAt(11)  
	resto = df % 11  
	dac += ( (resto <= 1) ? 0 : (11-resto) )  
	df = 6*s.charAt(0)+5*s.charAt(1)+4*s.charAt(2)+3*s.charAt(3)+2*s.charAt(4)+9*s.charAt(5)+8*s.charAt(6)+7*s.charAt(7)+6*s.charAt(8)+5*s.charAt(9)+4*s.charAt(10)+3*s.charAt(11)+2*parseInt(dac)  
	resto = df % 11  
	dac += ( (resto <= 1) ? 0 : (11-resto) )  
	return (dac == s.substring(s.length-2,s.length))  
   }   
   
function validaCEP(str)
// ------------------
   {
   var filter=new RegExp("^[0-9]{5}\-[0-9]{3}$");
   return filter.test(str);
   }   
   
function validaTelefone(str)
// ------------------
   {
   var filter=new RegExp("^[0-9]{2} [0-9]{4}\-[0-9]{4}$");   // 99 9999-9999
   if (filter.test(str))
      return true;
      
   var filter1=new RegExp("^[0-9]{2} [0-9]{3}\-[0-9]{4}$");   // 99 999-9999
   return filter1.test(str);
   }   
   
//function validaEmail(str)
// ------------------------
//   {
//   var filter=new RegExp("^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$","i");
//   return filter.test(str);
//   }
   
function validaEmail(str)
   {
   var at="@";
   var dot=".";
   var lat=str.indexOf(at);
   var lstr=str.length;
   var ldot=str.indexOf(dot);
   
   if (str.indexOf(at)==-1)
     return false;
   
   if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
     return false;
   
   if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
      return false;
   
   if (str.indexOf(at,(lat+1))!=-1)
      return false;
   
   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
      return false;
   
   if (str.indexOf(dot,(lat+2))==-1)
      return false;
   
   if (str.indexOf(" ")!=-1)
      return false;
   
    return true;			
	}


function validaLogin(str)
// ------------------
   {
   var filter=new RegExp("^[0-9a-zA-Z]{4,8}$");
   return filter.test(str);
   }   

function validaSenha(str)
// ------------------
   {
   var filter=new RegExp("^[0-9a-zA-Z]{4,16}$");
   return filter.test(str);
   }   
   
function confSelect(cmp)
// ------------------------
   {
	return (cmp.options[cmp.selectedIndex].value != "-1");
   }

function confRadio(cmp)
// ------------------------
   {
	for (i=0; i < cmp.length; i++)
		if(cmp[i].checked)
			return true;

	return false;
   }   
   
function validaFormNewsletter()
// ------------------------
   {
   if (document.newsletter.nome.value=="")
      {
      alert ("NOME é obrigatório!");
      document.newsletter.nome.focus();
      return false;
      }
   
   if (!validaEmail(document.newsletter.email.value))
      {
      alert ("Por favor, informe um endereço válido de e-mail!");
      document.newsletter.email.focus();
      return false;
      }

   if (!confSelect(document.newsletter.areainteresse))
      {
      alert ("ÁREA DE INTERESSE é obrigatório!");
      document.newsletter.areainteresse.focus();
      return false;
      }
   
   if (!confSelect(document.newsletter.profissao))
      {
      alert ("ATIVIDADE é obrigatório!");
      document.newsletter.profissao.focus();
      return false;
      }
   
   if (!confSelect(document.newsletter.anonascimento))
      {
      alert ("ANO DE NASCIMENTO é obrigatório!");
      document.newsletter.anonascimento.focus();
      return false;
      }
   
   if (document.newsletter.cidade.value=="")
      {
      alert ("CIDADE é obrigatório!");
      document.newsletter.cidade.focus();
      return false;
      }
   
   if (!confSelect(document.newsletter.uf))
      {
      alert ("ESTADO (UF) é obrigatório!");
      document.newsletter.uf.focus();
      return false;
      }

   return true;
   }
   
function moveChaveLogin()
// ----------------------
   {
   // Netscape e IE
   if (document.layers)
      obj = document.layers['chave'];
   else
      obj = document.getElementById('chave').style;

   obj.xpos = parseInt(obj.left);
   if ( obj.xpos > 610)
      {
      obj.left = obj.xpos - 5;
      setTimeout('moveChaveLogin()', 50);
      }
   }
   
function validaFormCadastro()
// ---------------------------
   {

   // Descobre se é fisica ou juridica
   if (document.cadastro.tp_pessoa[0].checked)
      tipo = document.cadastro.tp_pessoa[0].value;
   else if (document.cadastro.tp_pessoa[1].checked)
      tipo = document.cadastro.tp_pessoa[1].value;
   else
      {
      alert ("Selecione o tipo de pessoa!");
      document.cadastro.tp_pessoa.focus();
      return false;
      }
      
   if (tipo == "F")
      {
      // Pessoa fisica tem de ter nome e cpf
      if (document.cadastro.nome.value=="")
         {
         alert ("NOME é obrigatório!");
         document.cadastro.nome.focus();
         return false;
         }
      //if (!validaCPF(document.cadastro.cpf.value))
      //   {
      //   alert ("CPF inválido! Confira o número correto do seu documento.");
      //   document.cadastro.cpf.focus();
      //   return false;
      //   }
      }
   else if (tipo == "J")
      {
      if (document.cadastro.razsocial.value=="")
         {
         alert ("RAZÃO SOCIAL é obrigatório!");
         document.cadastro.razsocial.focus();
         return false;
         }
      //if (!validaCNPJ(document.cadastro.cnpj.value))
      //   {
      //   alert ("CNPJ inválido!");
      //   document.cadastro.cnpj.focus();
      //   return false;
      //   }
      }
   else
      {
      alert ("Tipo '"+tipo+"' invalido!");
      document.cadastro.tp_pessoa.focus();
      return false;
      }
         
   if (document.cadastro.cidade.value=="")
      {
      alert ("CIDADE é obrigatório!");
      document.cadastro.cidade.focus();
      return false;
      }
   
   if (!confSelect(document.cadastro.uf))
      {
      alert ("ESTADO (UF) é obrigatório!");
      document.cadastro.uf.focus();
      return false;
      }

   //if (!validaCEP(document.cadastro.cep.value))
   //   {
   //   alert ("CEP inválido! Formato 99999-999. Confira o CEP correto do seu endereço");
   //   document.cadastro.cep.focus();
   //   return false;
   //   }

//   if (document.cadastro.telefone.value!="" && !validaTelefone(document.cadastro.telefone.value))
   if(document.cadastro.telefone.value=="99 9999-9999")
    {
     alert ("Informe um número de telefone real, por favor.");
     document.cadastro.telefone.focus();
     return false;
    }
   if (!validaTelefone(document.cadastro.telefone.value))
      {
      alert ("Informe o número do telefone no formato 99 9999-9999 ou 99 999-9999!");
      document.cadastro.telefone.focus();
      return false;
      }
      
   //if (document.cadastro.fax.value!="" && !validaTelefone(document.cadastro.fax.value))
   //   {
   //   alert ("Informe o número do Fax no formato 99 9999-9999 ou 99 999-9999!");
   //   document.cadastro.telefone.focus();
   //   return false;
   //   }
      
   if (!validaEmail(document.cadastro.email.value))
      {
      alert ("Por favor, informe um endereço válido de e-mail!");
      document.cadastro.email.focus();
      return false;
      }

   //if (!confSelect(document.cadastro.ano_nascimento))
   //   {
   //   alert ("ANO DE NASCIMENTO é obrigatório!");
   //   document.cadastro.ano_nascimento.focus();
   //   return false;
   //   }
   
   if (!confSelect(document.cadastro.cd_profissao))
      {
      alert ("PROFISSÃO é obrigatório!");
      document.cadastro.cd_profissao.focus();
      return false;
      }
   
   //if (!confSelect(document.cadastro.cd_interesse))
   //   {
   //   alert ("ÁREA DE INTERESSE é obrigatório!");
   //   document.cadastro.cd_interesse.focus();
   //   return false;
   //   }
   
   //if (!validaLogin(document.cadastro.login.value))
   //   {
   //   alert ("Informe um login, de 4 a 8 letras ou números!");
   //   document.cadastro.login.focus();
   //   return false;
   //   }
      
   if (!validaSenha(document.cadastro.senha.value))
      {
      alert ("Informe uma senha, com 4 a 16 letras ou números");
      document.cadastro.senha.focus();
      return false;
      }
      
   if (document.cadastro.dica_senha.value=="")
      {
      alert ("DICA DE SENHA é obrigatório!");
      document.cadastro.dica_senha.focus();
      return false;
      }
   
   return true;
   }

function validaFormAltCadastro()
// ---------------------------
   {
	   
   if (document.cadastro.cpf)
      {
      if (!validaCPF(document.cadastro.cpf.value))
         {
         alert ("CPF inválido! Confira o número correto do seu documento.");
         document.cadastro.cpf.focus();
         return false;
         }
      }
   else
      {
      if (!validaCNPJ(document.cadastro.cnpj.value))
         {
         alert ("CNPJ inválido!");
         document.cadastro.cnpj.focus();
         return false;
         }
      }	   
         
   if (document.cadastro.cidade.value=="")
      {
      alert ("CIDADE é obrigatório!");
      document.cadastro.cidade.focus();
      return false;
      }
   
   if (!confSelect(document.cadastro.uf))
      {
      alert ("ESTADO (UF) é obrigatório!");
      document.cadastro.uf.focus();
      return false;
      }

   if (!validaCEP(document.cadastro.cep.value))
      {
      alert ("CEP inválido! Formato 99999-999. Confira o CEP correto do seu endereço.");
      document.cadastro.cep.focus();
      return false;
      }

   if (document.cadastro.telefone.value!="" && !validaTelefone(document.cadastro.telefone.value))
      {
      alert ("Informe o número do telefone no formato 99 9999-9999 ou 99 999-9999!");
      document.cadastro.telefone.focus();
      return false;
      }
      
   if (document.cadastro.fax.value!="" && !validaTelefone(document.cadastro.fax.value))
      {
      alert ("Informe o número do Fax no formato 99 9999-9999 ou 99 999-9999!");
      document.cadastro.telefone.focus();
      return false;
      }
      
   if (!validaEmail(document.cadastro.email.value))
      {
      alert ("Por favor, informe um endereço válido de e-mail!");
      document.cadastro.email.focus();
      return false;
      }

   //if (!validaLogin(document.cadastro.login.value))
   //   {
   //   alert ("Informe um login, de 4 a 8 letras ou números!");
   //   document.cadastro.login.focus();
   //   return false;
   //   }
      
   if (!validaSenha(document.cadastro.senha.value))
      {
      alert ("Informe uma senha, com 4 a 16 letras ou números");
      document.cadastro.senha.focus();
      return false;
      }
      
   if (document.cadastro.dica_senha.value=="")
      {
      alert ("DICA DE SENHA é obrigatório!");
      document.cadastro.dica_senha.focus();
      return false;
      }
   
   return true;
   }
   
   

