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)
// ------------------
   {
   	if (str == '')
	{
		return false;
	}
	else
	{
		return true;
	}
//   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 confSelect(cmp)
// ------------------------
   {
	return (cmp.options[cmp.selectedIndex].value != "");
   }

function confRadio(cmp)
// ------------------------
   {
	for (i=0; i < cmp.length; i++)
		if(cmp[i].checked)
			return true;

	return false;
   }   
   
function validaCartRegister()
// ---------------------------
   {

   // Descobre se é fisica ou juridica
   if (document.cadastro.TipoPessoa[0].checked)
      tipo = document.cadastro.TipoPessoa[0].value;
   else if (document.cadastro.TipoPessoa[1].checked)
      tipo = document.cadastro.TipoPessoa[1].value;
   else
      {
      alert ("Selecione o tipo de pessoa.");
      document.cadastro.TipoPessoa.focus();
      return false;
      }
      
   if ((tipo == "PF")||(tipo==1))
      {
      // Pessoa fisica tem de ter nome e cpf
      if (document.cadastro.nome.value=="")
         {
         alert ("Nome é obrigatório.");
         document.cadastro.nome.focus();
         return false;
         }
      if (document.cadastro.sobrenome.value=="")
         {
         alert ("Sobrenome é obrigatório.");
         document.cadastro.sobrenome.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 == "PJ")||(tipo==0))
      {
      if (document.cadastro.razaosocial.value=="")
         {
         alert ("Razão Social é obrigatório.");
         document.cadastro.razaosocial.focus();
         return false;
         }
      if (!validaCNPJ(document.cadastro.cnpj.value))
         {
         alert ("CNPJ inválido.");
         document.cadastro.cnpj.focus();
         return false;
         }
      if (document.cadastro.contato.value=="")
         {
         alert ("Pessoa de Contato é obrigatório.");
         document.cadastro.contato.focus();
         return false;
         }
      }
   else
      {
      alert ("Tipo '"+tipo+"' invalido.");
      document.cadastro.TipoPessoa.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 (document.cadastro.senha.value=="")
      {
      alert ("Senha é obrigatório.");
      document.cadastro.senha.focus();
      return false;
      }

   if ((document.cadastro.senha2.value=="")||(document.cadastro.senha2.value != document.cadastro.senha.value))
      {
      alert ("Digite novamente a sua senha no campo Repita a sua senha.");
      document.cadastro.senha.focus();
      return false;
      }
	  

   if (document.cadastro.endereco.value=="")
      {
      alert ("Endereço é obrigatório!");
      document.cadastro.endereco.focus();
      return false;
      }

   if (document.cadastro.complemento.value=="")
      {
      alert ("Complemento é obrigatório!");
      document.cadastro.complemento.focus();
      return false;
      }

   if ((document.cadastro.cep.value=="") || (!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.comercial.value=="") || (!validaTelefone(document.cadastro.comercial.value)))
      {
      alert ("Informe o número do telefone no formato 99 9999-9999 ou 99 999-9999!");
      document.cadastro.comercial.focus();
      return false;
      }

   if (!confSelect(document.cadastro.estado))
      {
      alert ("Estado é obrigatório!");
      document.cadastro.estado.focus();
      return false;
      }

   if (document.cadastro.cidade.value=="")
      {
      alert ("Cidade é obrigatório!");
      document.cadastro.cidade.focus();
      return false;
      }
	  
 
   if (!confSelect(document.cadastro.dianascimento))
      {
      alert ("Data de nascimento é obrigatório!");
      document.cadastro.dianascimento.focus();
      return false;
      }

   if (!confSelect(document.cadastro.mesnascimento))
      {
      alert ("Data de nascimento é obrigatório!");
      document.cadastro.mesnascimento.focus();
      return false;
      }
   
   if (!confSelect(document.cadastro.anonascimento))
      {
      alert ("Data de nascimento é obrigatório!");
      document.cadastro.anonascimento.focus();
      return false;
      }


   return true;
   }
   

function popUp(url,name,w,h)
	{
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		var winprops = "width=" + w + ",height=" + h + ",top=" + wint + ",left=" + winl + ",directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no";
		var win = window.open(url,name,winprops);
	}

function popUp2(url,name,w,h)
	{
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		var winprops = "width=" + w + ",height=" + h + ",top=" + wint + ",left=" + winl + ",directories=no,location=no,menubar=yes,resizable=yes,scrollbars=yes,status=no,toolbar=yes";
		var win = window.open(url,name,winprops);
	}
