function formata(campo, mask, evt) { 
 if(document.all) { // Internet Explorer 
    key = evt.keyCode; } 
    else{ // Nestcape 
       key = evt.which; 
     } 

 string = campo.value;  
 i = string.length;

 if (i < mask.length) {
  if (mask.charAt(i) == '#') {
       return (key > 47 && key < 58);
      } else {
       if (mask.charAt(i) == '!') {  return true;  }
   for (c = i; c < mask.length; c++) {
         if (mask.charAt(c) != '#' && mask.charAt(c) != '!')
         campo.value = campo.value + mask.charAt(c);
      else if (mask.charAt(c) == '!'){
                return true;
       } else {
         return (key > 47 && key < 58);
          }
       }
    }
  } else return false;
}

function isEmpty(pStrText){
	var	len = pStrText.length;
	var pos;
	var vStrnewtext = "";

	for (pos=0; pos<len; pos++){
		if (pStrText.substring(pos, (pos+1)) != " "){
			vStrnewtext = vStrnewtext + pStrText.substring(pos, (pos+1));
		}
	}

	if (vStrnewtext.length > 0)
		return false;
	else
		return true;
}

function isCPFCNPJ(campo,pType){
   if( isEmpty( campo ) ){return false;}

   var campo_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";
   var valido = false;
        
   for (i = 0; i < campo.length; i++){
      ch = campo.substring(i, i + 1);
      if (ch >= "0" && ch <= "9"){
         campo_filtrado = campo_filtrado.toString() + ch.toString()
         valor_1 = valor_2;
         valor_2 = ch;
      }
      if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);
   }
   if (!valido) campo_filtrado = "12345678912";

   if (campo_filtrado.length < 11){
      for (i = 1; i <= (11 - campo_filtrado.length); i++){campo_filtrado = "0" + campo_filtrado;}
   }

	if(pType <= 1){
		if ( ( campo_filtrado.substring(9,11) == checkCPF( campo_filtrado.substring(0,9) ) ) && ( campo_filtrado.substring(11,12)=="") ){return true;}
	}

	if((pType == 2) || (pType == 0)){
		if (campo_filtrado.length >= 14){
			if ( campo_filtrado.substring(12,14) == checkCNPJ( campo_filtrado.substring(0,12) ) ){ return true;}
		}
	}
	
	return false;
}

function checkCNPJ(vCNPJ){
   var mControle = "";
   var aTabCNPJ = new Array(5,4,3,2,9,8,7,6,5,4,3,2);
   for (i = 1 ; i <= 2 ; i++){
      mSoma = 0;
      for (j = 0 ; j < vCNPJ.length ; j++)
         mSoma = mSoma + (vCNPJ.substring(j,j+1) * aTabCNPJ[j]);
      if (i == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10 ) mDigito = 0;
      mControle1 = mControle ;
      mControle = mDigito;
      aTabCNPJ = new Array(6,5,4,3,2,9,8,7,6,5,4,3);
   }
   return( (mControle1 * 10) + mControle );
}

function checkCPF(vCPF){
   var mControle = ""
   var mContIni = 2, mContFim = 10, mDigito = 0;
   for (j = 1 ; j <= 2 ; j++){
      mSoma = 0;
      for (i = mContIni ; i <= mContFim ; i++)
         mSoma = mSoma + (vCPF.substring((i-j-1),(i-j)) * (mContFim + 1 + j - i));
      if (j == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10) mDigito = 0;
      mControle1 = mControle;
      mControle = mDigito;
      mContIni = 3;
      mContFim = 11;
   }
   return( (mControle1 * 10) + mControle );
}

function validaCNPJ() {
CNPJ = document.juridica.cpf.value;
erro = new String;
if (CNPJ.length < 18) erro += "&eacute; necessario preencher corretamente o n&uacute;mero do CNPJ! \n\n";
if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
if (erro.length == 0) erro += "&eacute; necess&aacute;rio preencher corretamente o n&uacute;mero do CNPJ! \n\n";
}
//substituir os caracteres que n&atilde;o s&atilde;o n&uacute;meros
if(document.layers && parseInt(navigator.appVersion) == 4){
	   x = CNPJ.substring(0,2);
	   x += CNPJ. substring (3,6);
	   x += CNPJ. substring (7,10);
	   x += CNPJ. substring (11,15);
	   x += CNPJ. substring (16,18);
	   CNPJ = x;
} else {
	   CNPJ = CNPJ. replace (".","");
	   CNPJ = CNPJ. replace (".","");
	   CNPJ = CNPJ. replace ("-","");
	   CNPJ = CNPJ. replace ("/","");
}
var nonNumbers = /\D/;
if (nonNumbers.test(CNPJ)) erro += "A verifica&ccedil;&atilde;o de CNPJ suporta apenas n&uacute;meros! \n\n";
var a = [];
var b = new Number;
var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
for (i=0; i<12; i++){
	   a[i] = CNPJ.charAt(i);
	   b += a[i] * c[i+1];
}
if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
b = 0;
for (y=0; y<13; y++) {
	   b += (a[y] * c[y]);
}
if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
	   erro +="D&iacute;gito verificador com problema!";
}
if (erro.length > 0){
	   alert(erro);
	   return false;
}
return true;
}

function validar(){
	email = document.fisica.email.value;
	if(document.fisica.nome.value == ""){
		alert('Preencha o Nome!');
		return false;
	}
	if(document.fisica.cpf.value == ""){
		alert('Preencha o CPF!');
		return false;
	}
	if(!isCPFCNPJ(document.fisica.cpf.value,1)){
     	alert("CPF Inv&aacute;lido!");
      	return false;
	}
	if(document.fisica.rg.value == ""){
		alert('Preencha o RG!');
		return false;
	}
	if(document.fisica.endereco.value == ""){
		alert('Preencha o Endere&ccedil;o!');
		return false;
	}
	if(document.fisica.bairro.value == ""){
		alert('Preencha o Bairro!');
		return false;
	}
	if(document.fisica.telefone.value == ""){
		alert('Preencha o Telefone!');
		return false;
	}
	if(document.fisica.cidade.value == ""){
		alert('Preencha a Cidade!');
		return false;
	}
	if(document.fisica.estado.value == ""){
		alert('Selecion o Estado!');
		return false;
	}
    if(email == ""){
		alert('Preencha o E-mail!');
		return false;
	} else {
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))) {
        	alert("Email Inv&aacute;lido");
			return false;
      	}
	}
	if(document.fisica.login.value == ""){
		alert('Preencha o Usu&aacute;rio!');
		return false;
	}
	if(document.fisica.estado.value == ""){
		alert('Preencha a Senha!');
		return false;
	}
	return true;
}
function validar2(){
	email = document.juridica.email.value;
	if(document.juridica.nome.value == ""){
		alert('Preencha o Nome!');
		return false;
	}
	if(document.juridica.cpf.value == ""){
		alert('Preencha o CNPJ!');
		return false;
	}
	if(document.juridica.cpf.value != ""){
		validaCNPJ(document.juridica.cpf.value,1);
	}
	if(document.juridica.rg.value == ""){
		alert('Preencha o Insc. Est.!');
		return false;
	}
	if(document.juridica.endereco.value == ""){
		alert('Preencha o Endere&ccedil;o!');
		return false;
	}
	if(document.juridica.bairro.value == ""){
		alert('Preencha o Bairro!');
		return false;
	}
	if(document.juridica.telefone.value == ""){
		alert('Preencha o Telefone!');
		return false;
	}
	if(document.juridica.cidade.value == ""){
		alert('Preencha a Cidade!');
		return false;
	}
	if(document.juridica.estado.value == ""){
		alert('Selecion o Estado!');
		return false;
	}
	if(document.juridica.contato.value == ""){
		alert('Preencha o Nome para Contato!');
		return false;
	}
    if(email == ""){
		alert('Preencha o E-mail!');
		return false;
	} else {
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))) {
        	alert("Email Inv&aacute;lido");
			return false;
      	}
	}
	if(document.juridica.login.value == ""){
		alert('Preencha o Usu&aacute;rio!');
		return false;
	}
	if(document.juridica.estado.value == ""){
		alert('Preencha a Senha!');
		return false;
	}
	return true;
}