function validaFormatacaoCpf_Cnpj(cpf) {

  var strNum;
  for (i = 0; i < cpf.length; i++) {
  
   caracter = cpf.substring(i,i+1)
   
   if ((caracter >= '0') && (caracter <= '9'))
    strNum = strNum + caracter;
   else 
   
     return(false);
   }
   
   return(true);
  
}


function validaCNPJ(x)
{
  strNum=""

  if (x=="")
   return (false);

  l = x.length;

  for (i = 0; i < l; i++) {
  
   caracter = x.substring(i,i+1)
   
   if ((caracter >= '0') && (caracter <= '9'))
    strNum = strNum + caracter;
    
  }

  strMul = "6543298765432"
  iValido = 1
  if(strNum.length != 14)  {
    return(false)
  }
  
  iSoma = 0
  strNum_base = strNum.substring(0,12)
  iLenNum_base = strNum_base.length - 1
  iLenMul = strMul.length - 1
  
  for(i=0;i<12;i++) {
  
    iSoma = iSoma + parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) * 
		parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)
  }

  iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11)
  
  if(iSoma == 11 || iSoma == 10)  {
    iSoma = 0
  }

  strNum_base = strNum_base + iSoma
  iSoma = 0
  iLenNum_base = strNum_base.length - 1
  
  for(i=0;i<13;i++) {
  
    iSoma = iSoma + parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) * 
		parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)
  }

  iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11)
  
  if(iSoma == 11 || iSoma == 10) {
    iSoma = 0
  }

  strNum_base = strNum_base + iSoma
  
  if(strNum != strNum_base) {
    return(false)
  }

  return(true)
}


function validaCPF(st)
{
  if (st=="")
   return (false);
   
  l = st.length;
  st2 = "";
  
  for (i = 0; i < l; i++) {
  
   caracter = st.substring(i,i+1)
   if ((caracter >= '0') && (caracter <= '9'))
    st2 = st2 + caracter;
    
  }
  
  if ((st2.length > 11) || (st2.length < 10))
    return (false);
    
  if (st2.length==10)
    st2 = '0' + st2;
    
  digito1 = st2.substring(9,10)
  digito2 = st2.substring(10,11)

  digito1 = parseInt(digito1,10)
  digito2 = parseInt(digito2,10)

  sum = 0; mul = 10;
  for (i = 0; i < 9 ; i++) {
  
    digit = st2.substring(i,i+1);
    tproduct = parseInt(digit ,10)*mul;
    sum += tproduct;
    mul--;
  }

  dig1 = ( sum % 11 )

  if ( dig1==0 || dig1==1 )
   dig1=0;
  else
   dig1 = 11 - dig1

  if (dig1!=digito1)
   return (false);

  sum = 0; mul = 11;
  
  for (i = 0; i < 10 ; i++) {
  
    digit = st2.substring(i,i+1);
    tproduct = parseInt(digit ,10)*mul;
    sum += tproduct;
    mul--;
  }
  
  dig2 = (sum % 11)

  if ( dig2==0 || dig2==1 )
   dig2=0;
  else
   dig2 = 11 - dig2;

  if (dig2!=digito2)
   return (false);
   
  return (true)
}


function validaCPF_CNPJ(x) {
  if (validaCNPJ(x) || validaCPF(x))
    return(true);
  else
    return(false);

}