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 soNumeros(campo)
  {
  var aChar = '';
  var nv = "";
  var i = 0
  var ate = 0
  
    v = campo.value;
	ate = v.length;
	for (i = 0; i < ate; i++)
	{
		aChar = v.substring(i, i+1);
		if ( (aChar < '0')  ||  (aChar > '9') )
		{
			continue;
		}
		nv = nv + aChar;
    }
	return nv;
  }
  
  function e_numero(campo, param)
  /////////
  // Retorna se só tem números no form
  // campo: form.campo
  // param: 0-> sem pontuação
  {
  var aChar = '';
  var i = 0
  var ate = 0
  
    v = campo.value;
	ate = v.length;
	for (i = 0; i < ate; i++)
	{
		aChar = v.substring(i, i+1);
		if ( (aChar < '0')  ||  (aChar > '9') )
		{
			if (param!=0)
			{
				if ( (aChar!=".") && (aChar!=",") )
				{
					return 0;
				}
				else 
				{
					continue;
				}
			}
			else
			{
				return 0;
			}
			continue;
		}
    }
	return (ate);
  }
  
////////////////////////////////////////////  
  function checaSenha (Senha_field) 
  {
    CPF = Senha_field.value;
	if (CPF.length != 8 || CPF == "00000000" || CPF == "11111111" ||
		CPF == "22222222" ||	CPF == "33333333" || CPF == "44444444" ||
		CPF == "55555555" || CPF == "66666666" || CPF == "77777777" ||
		CPF == "88888888" || CPF == "99999999")
	{
	 	Senha_field.select();
		return false;
	}
	return true;
  }
  
  ////////////////------------------------------------ Novidade ------------------
  
 function FormataZerosEsquerda( itemm, nZeros )
 {
	rsValor = "";
	var j = nZeros - itemm.value.length;
	for (var i=0; i< j; i++) rsValor = rsValor + "0";
	itemm.value = rsValor + itemm.value;
 }
  
 function isNUMB(c) 
 { 
 	if((cx=c.indexOf(","))!=-1) 
  	{ 
  		c = c.substring(0,cx)+"."+c.substring(cx+1); 
  	} 
 	if((parseFloat(c) / c != 1)) 
  	{ 
  		if(parseFloat(c) * c == 0) 
   		{ 
   			return(1); 
   		} 
  		else 
   		{ 
   			return(0); 
   		} 
  	} 
 	else 
  	{ 
  		return(1); 
  	} 
 } 
 
 function LIMP(c) 
 { 
 	while((cx=c.indexOf("-"))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf("/"))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf(","))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf("."))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf("("))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf(")"))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	while((cx=c.indexOf(" "))!=-1) 
  	{ 
  		c = c.substring(0,cx)+c.substring(cx+1); 
  	} 
 	return(c); 
 } 


function checaCNPJ(itemm) 
 { 
 	CNPJ = itemm.value;
 
 //CNPJ = LIMP(CNPJ); 
 	if(isNUMB(CNPJ) != 1) 
  	{ 
  		return(0); 
  	} 
 	else 
  	{ 
  		if(CNPJ == 0) 
   		{ 
   			return(0); 
   		} 
  		else 
   		{ 
   			g=CNPJ.length-2; 
   			if(RealTestaCNPJ(CNPJ,g) == 1) 
    		{ 
    			g=CNPJ.length-1; 
    			if(RealTestaCNPJ(CNPJ,g) == 1) 
     			{ 
     				return(1); 
     			} 
    			else 
     			{ 
     				return(0); 
     			} 
    		} 
   			else 
    		{ 
    			return(0); 
    		} 
   		} 
  	} 
 } 

function RealTestaCNPJ(CNPJ,g) 
{ 
	var VerCNPJ=0; 
 	var ind=2; 
 	var tam; 
 	for(f=g;f>0;f--) 
  	{ 
  		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind; 
  		if(ind>8) 
   		{ 
   			ind=2; 
   		} 
  		else 
   		{ 
   			ind++; 
   		} 
  	} 
  	VerCNPJ%=11; 
  	if(VerCNPJ==0 || VerCNPJ==1) 
   	{ 
   		VerCNPJ=0; 
   	} 
  	else 
   	{ 
   		VerCNPJ=11-VerCNPJ; 
   	} 
 	if(VerCNPJ!=parseInt(CNPJ.charAt(g))) 
  	{ 
  		return(0); 
  	} 
 	else 
  	{ 
  		return(1); 
  	} 
} 
  
  
  //////////////////


function valida_cpf(itemm)
{
  itemm.value = LIMP(itemm.value);
  switch( CPF_CNPJ(itemm) )
  {
    case 0 : alert("Não é válido"); break;
	case 1 : alert("CPF"); break;
	case 2 : alert("CNPJ"); break;
	default : alert("Retornou bobagem!"); break;
  }
}

/////////////////////////////////
  function checaCPF (CPF_field)
  {
    CPF = soNumeros(CPF_field);
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999")
	{
	 	CPF_field.select();
		return false;
	}
	soma = 0;
	for (i=0; i < 9; i ++)	{	soma += parseInt(CPF.charAt(i)) * (10 - i);	}
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)	{	resto = 0;	}	
	if (resto != parseInt(CPF.charAt(9)))
	{
	 	CPF_field.focus();
		return false;
	}
	soma = 0;	
	for (i = 0; i < 10; i ++) {	soma += parseInt(CPF.charAt(i)) * (11 - i);	}
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)	{	resto = 0;	}
	if (resto != parseInt(CPF.charAt(10)))
	{
	 	CPF_field.focus();
		return false;
	}
	return true;
 }


