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 isEmail(text){ 
   var    arroba = "@", 
          ponto = ".", 
         posponto = 0, 
         posarroba = 0; 
    
    if (text =="") return false; 
    
    for (var indice = 0; indice < text.length; indice++){ 
       if (text.charAt(indice) == arroba) { 
          posarroba = indice; 
            break; 
       } 
    } 
    
   for (var indice = posarroba; indice < text.length; indice++){ 
      if (text.charAt(indice) == ponto) { 
         posponto = indice; 
           break; 
      } 
   } 
   if (posponto == 0 || posarroba == 0) return false; 
   if (posponto == (posarroba + 1)) return false; 
   if ((posponto + 1) == text.length) return false; 
   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 ); 
}