function isEmpty(text) {
	var enter1 = "\n",
		enter2 = "\r",
		espaco = " ",
		tab = "\t";
	
	if (text == "") return true;

	for (var indice = 0; indice < text.length; indice++){
		if (text.charAt(indice) != espaco && 
			text.charAt(indice) != tab &&
			text.charAt(indice) != enter1 && 
			text.charAt(indice) != enter2 )
		return false;
	}
	return true;
}

//=======================================================================================================================

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 checkCGC(vCGC) {
   var mControle = "";
   var aTabCGC = 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 < vCGC.length ; j++)
         mSoma = mSoma + (vCGC.substring(j,j+1) * aTabCGC[j]);
      if (i == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10 ) mDigito = 0;
      mControle1 = mControle ;
      mControle = mDigito;
      aTabCGC = new Array(6,5,4,3,2,9,8,7,6,5,4,3);
   }
   return( (mControle1 * 10) + mControle );
}

//=======================================================================================================================

function checkCC(campo){
	if( isEmpty(campo) ){
		alert("Por favor, informe seu CPF para pesquisa !"); 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;
	}
	
	var validacao_var_CPF = checkCPF( campo_filtrado.substring(0,9) );
	
	if ( ( campo_filtrado.substring(9,11) == validacao_var_CPF ) && 
		( campo_filtrado.substring(11,12)=="") ){
		return true;
	} else {
		if (campo_filtrado.length >= 14){
			var validacao_var_CGC = checkCGC( campo_filtrado.substring(0,12) );
			
			if ( campo_filtrado.substring(12,14) == validacao_var_CGC )
				return true;
			else {
				alert('CPF INCORRETO!\n Verifique os números digitados e NÃO USE PONTOS NEM HÍFEN.'); return false; }
		} else {
			alert('CNPJ INCORRETO!\n Verifique os números digitados.'); return false; }
	}
}

