//Funcao para checagem de CPF
function checa_cpf(ls_cpf){
var frase="1234567890-";
var fcerta=true;
	
  if (ls_cpf.value=="000000000000000000"){
  	alert('O campo CPF é inválido!');
	ls_cpf.value="";
    return false;
  }
  
  for (i=0;i<ls_cpf.value.length;i++)
	 fcerta&=frase.indexOf(ls_cpf.value.charAt(i))!=-1;
 
  //var mascara=/\d{9,9}+[-]+\d{2,2}/;
  if (!fcerta || ls_cpf.value.length>12 || ls_cpf.value.length<12){
    alert('O campo CPF é inválido!');
	ls_cpf.value="";
    return false;}
  else{
   var ls_num_cpf=ls_cpf.value.substring(0,9)+ls_cpf.value.substring(10,12)
  //Calcula o primeiro digito de ls_num_cpf
  var li_conta1=0;
  for(i=1;i<=9;i++)
    li_conta1+=parseInt(ls_num_cpf.charAt(i-1))*(11-i);
	
  var li_conta2 = 11 - (li_conta1 % 11);
  if (li_conta2>9)
    li_conta2=0;

  if (li_conta2 != ls_num_cpf.charAt(ls_num_cpf.length-2)){
     alert('O campo CPF não existe!');
 	 ls_cpf.value="";
     return false;
  }
 
  //Calcula o segundo digito de ls_num_cpf
  var li_conta1=0;
  for(i=1;i<=9;i++)
    li_conta1+=parseInt(ls_num_cpf.charAt(i))*(11-i);
	
  var li_conta2 = 11 - (li_conta1 % 11);
  if (li_conta2 > 9)
     li_conta2 = 0;

  if (li_conta2 == ls_num_cpf.charAt(ls_num_cpf.length-1))
    return ls_num_cpf;
 }
 alert('O campo CPF não existe!');
 ls_cpf.value="";
 return false;
}

//Funcao para checagem de CGC
function checa_cgc(ls_cgc){

var frase="1234567890-/."
var fcerta=true;

  if (ls_cgc.value=="000000000000000000"){
  	alert('O campo CNPJ é inválido!');
	ls_cgc.value="";
	ls_cgc.focus();
    return false;
  }

  for (i=0;i<ls_cgc.value.length;i++)
	 fcerta&=frase.indexOf(ls_cgc.value.charAt(i))!=-1;
  
  //var mascara=/\d{2,2}+[.]+\d{3,3}+[.]+\d{3,3}+[\/]+\d{4,4}+[-]+\d{2,2}/;

  if (!fcerta || ls_cgc.value.length>18 || ls_cgc.value.length<18){
    alert('O campo CNPJ não é válido!');
	ls_cgc.value="";
	ls_cgc.focus();
    return false;
  }
  else{
    var ls_num_cgc=ls_cgc.value.substring(0,2)+ls_cgc.value.substring(3,6)+ls_cgc.value.substring(7,10)+ls_cgc.value.substring(11,15)+ls_cgc.value.substring(16,18);
    var ls_aux = ls_num_cgc.substring(0,13);
    var vnt_aux;
	
	var li_conta4 = 0;
	var li_conta3 = 2;
    for ((i=ls_aux.length-1);i>=0;i--){
	  vnt_aux = ls_aux.charAt(i);
	  li_conta4 += parseInt(vnt_aux) * li_conta3;
      li_conta3++;
	  if (li_conta3 > 9)
		li_conta3=2;
	 }
	 
    li_conta4 = (li_conta4 * 10) % 11;
    if (li_conta4 == 10)
      vnt_aux = 0;
    else
      vnt_aux = li_conta4;
	ls_aux+=vnt_aux;
	
	if (ls_num_cgc == ls_aux)
     return ls_num_cgc;
 }
 alert('O campo CNPJ não é válido!');
 ls_cgc.value="";
 ls_cgc.focus;
 return false;
}

//Funcao que verifica se entrou so digitos
function digitos(obj, label){
  var valores="1234567890";

  var resp=true;
  j=0;
  while (j<obj.value.length && resp){
	resp=resp && (valores.indexOf(obj.value.charAt(j))!=-1);
    if (!resp){
      alert("O campo "+ label + " não pode conter caracteres!");
      obj.value="";
      obj.focus();
	  }
    j++;
  }
  if (resp)
    return true;
  return false;
}

// VerificaData() -> Diz se uma data é válida
function VerificaData(objdia, objmes, objano)
{
  // Verifica a faixa em que se encontram os números
  if (objdia.value > 31)
  {
    alert("O dia deve estar entre 1 e 31");
    return false;
  }
  if (objmes.value > 12)
  {
    alert("O dia deve estar entre 1 e 12");
    objmes.focus();
    return false;
  }
  // Verifica a faixa em que se encontram os números
  if ((objano.value < 1900) || (objano.value > 2100))
  {
    alert("O dia deve estar entre 1900 e 2100");
    objano.focus();
    return false;
  }
  if ((objano.value % 4 != 0) && (objmes.value == 2) && (objdia.value > 28))
  {
    alert("Fevereiro só tem 28 dias");
    objdia.focus();
    return false;
  }
  if ((objano.value % 4 == 0) && (objmes.value == 2) && (objdia.value > 29))
  {  
    alert("Fevereiro só tem 29 dias em anos bissextos");
    return false;
  }
  if ((objmes.value % 2 == 0) && (objmes.value != 2) && (objdia.value > 30))
  {
    alert("Este mês só tem 30 dias");
    return false;
  }       
  return true;
}

//Funcao que checa se campo contem caracteres
function brancos(campo){

var checa=false;
if (campo.value!=""){
 if (campo.value.length>1){
   for (i=0;i<(campo.value.length-1);i++){
     if (campo.value.charAt(i)!=" "){
       checa=true;
       break;}
     else if (campo.value.charAt(i)==" " && campo.value.charAt(i+1)!=" "){
       checa=true;
       break;}
   }
 }else{
   if (campo.value.charAt(0)!="")
    checa=true; }
} 

return !checa;
}



//Funcao que checa se campo contem caracteres
function vazio(campo){

var checa=false;
if (campo.value!=""){
 if (campo.value.length>1){
   for (i=0;i<(campo.value.length-1);i++){
     if (campo.value.charAt(i)!=" "){
       checa=true;
       break;}
     else if (campo.value.charAt(i)==" " && campo.value.charAt(i+1)!=" "){
       checa=true;
       break;}
   }
 }else{
   if (campo.value.charAt(0)!="")
    checa=true; }
} 

if (checa)
  return true;
else{
  alert("O campo "+campo.name.toUpperCase()+" Não foi Preenchido!");
  campo.focus();}
 
return false;
}
