//Verifica se o argumento é um CGC válido de 8 dígitos
function ChecaCGC8 (CKCGC) {
	
	var CGC = CKCGC;
	var NewCGC = "";
	//Elimina todos os espaços, pontos, barras e traços do CGC
	for (i=0;i<CGC.length;i++) { //>
		if (CGC.charAt(i) != " " && CGC.charAt(i) != "." && CGC.charAt(i) != "/" && CGC.charAt(i) != "-") {
			 NewCGC = NewCGC + CGC.charAt(i);
		}
	}
	//Verifica tamanho do CGC
	if (NewCGC.length!=8) {
		return false;
	}
	//verifica se todos os caracteres são numéricos
	var Numerico = false;
	var Numeros = "0123456789";
	for (i=0;i<NewCGC.length;i++) { //>
		Numerico = false;
		for (j=0;j<Numeros.length;j++) { //>
			if (NewCGC.charAt(i) == Numeros.charAt(j)) {
				Numerico = true;
				break;  
			}
		}
		if (!Numerico) {
			return false;
		}
	}
	//Calcula os dígitos verificadores
	var s1 = 0;
	aux = 0;
	soma = 0
	for (i=1;i<=8;i++) {
		//alert("i="+i+" - char(i-1)="+NewCGC.charAt(i-1));
		aux = (ValChar(NewCGC.charAt(i-1)))*((i % 2)+1);
		//alert ("aux="+aux);
		if (aux>9) {
			aux = aux-9;
			//alert ("aux="+aux);
			soma = soma + aux;
		}
		r1 = soma % 10;
		//alert("soma="+soma+" - resto="+r1);
		if (r1==0) {
			return (true)
		}
		else {
			return (false);
		}
	}
}

//Verifica se o argumento é um CGC válido
function ChecaCGC (CGC) {

		//ParametroCKCGC
		//CKCGC = '45445210000121'
		//var CKCGC = CGC1 + CGC2 +CGC3
		//var CGC = CKCGC;
		var NewCGC = "";
		//Verifica tamanho do CGC
		if (CGC.length!=14) {
		return false;
		}
	
	//Calcula os dígitos verificadores
	//Guarda os 12 primeiros digitos
	var DVCGC = CGC.substring(0,12);
	//calcula o primeiro digito verificador
	var s1 = 0;
	for (i=1;i<=4;i++) s1 = s1 + (ValChar(DVCGC.charAt(i-1))*(6-i));
	for (i=5;i<=12;i++) s1 = s1 + (ValChar(DVCGC.charAt(i-1))*(14-i));
	r1 = s1 % 11;
	if (r1<2) dv1=0;
	else dv1 = 11 - r1;
	//calcula o segundo digito verificador
	var s2 = dv1*2;
	for (i=1;i<=5;i++) s2 = s2 + (ValChar(DVCGC.charAt(i-1))*(7-i));
	for (i=6;i<=12;i++) s2 = s2 + (ValChar(DVCGC.charAt(i-1))*(15-i));
	r2 = s2 % 11;
	if (r2<2) dv2=0;
	else dv2 = 11 - r2;
	//junta os digitos verificadores
	var DV = "";
	DV = DV + dv1 + dv2;
	//guarda os digitos verificadores do CGC digitado (últimas duas posições no string)
	var NewDV = CGC.substring(12,14)
	if (NewDV==DV) { //se o DV calculado for igual ao digitado, retorna true
		return true
	}
	else {
		return false
	}
}
