function validaDigito(digito,multiplicadorInicial,limiteContagem) {
	var soma = 0;
	var contagem = 0;
	var resultado = 0;
	var multiplicador = multiplicadorInicial;
	while (contagem < limiteContagem) {
		soma+= digito[contagem] * multiplicador;
		multiplicador --;
		if (multiplicador < 2) multiplicador = 9;
		contagem ++;
	}	
	
	var resto=soma%11;
	if ((resto) < 2) {
		resultado = 0;
	} else {
		resultado = 11 - resto;
	}
	return resultado;
}
function validaCNPJ(cnpj) {
	// exemplo valido: 92.694.892/0001-96
	// Verifica se o campo foi todo preenchido
	if (cnpj.length == 18) {
		// Armazenamento dos dígitos na matriz digito
		var digito = new Array(14);
		digito[0] = cnpj.substring(0,1);
		digito[1] = cnpj.substring(1,2);
		digito[2] = cnpj.substring(3,4);
		digito[3] = cnpj.substring(4,5);
		digito[4] = cnpj.substring(5,6);
		digito[5] = cnpj.substring(7,8);
		digito[6] = cnpj.substring(8,9);
		digito[7] = cnpj.substring(9,10);
		digito[8] = cnpj.substring(11,12);
		digito[9] = cnpj.substring(12,13);
		digito[10] = cnpj.substring(13,14);
		digito[11] = cnpj.substring(14,15);
		digito[12] = cnpj.substring(16,17);
		digito[13] = cnpj.substring(17,18);
						
		primeiroDigito = validaDigito(digito,5,12);
		segundoDigito = validaDigito(digito,6,13);
		
		if ((primeiroDigito==digito[12]) && (segundoDigito==digito[13])) {
			return true;
		} else {
			//alert("CNPJ Inválido");
			return false;
		}
	} else {
		//alert("Preencha o CNPJ com todos os dígitos");
	}
}
function mascaraCNPJ(cnpj) {
	// deve ficar no formato 12.123.123/1234-12
	if ((cnpj.value.length == 2) || (cnpj.value.length == 6)) {
		cnpj.value += ".";
	}
	if (cnpj.value.length == 10) {
		cnpj.value += "/";
	}
	if (cnpj.value.length == 15) {
		cnpj.value += "-";
	}
}