function digitacaoNumerica(event) {
	var key;
	var tecla;

	if(navigator.appName.indexOf("Netscape")!= -1)
		tecla = event.which;
	else
		tecla = event.keyCode;

	key = String.fromCharCode(tecla);
	
	if(tecla==13) //return
		return false;
	if(tecla==8) //backspace
		return true;
	return !isNaN(key);
}

function formataCNPJ(obj) {
	var compl = '00000000000000';
	var tmp = obj.value;
	var tam = obj.value.length;
	var cnpj = new String();

	//retira tudo o que nao for numerico
	for(i=0;i<tam;i++) {
		if(!isNaN(tmp.charAt(i))) {
			cnpj += tmp.charAt(i);
		}
	}
	
	//completa com zeros a esquerda
	if(tam<14) {
		cnpj = compl.substr(0,14-tam) + cnpj;
	}

	//formata saida
	if(cnpj==compl) {
		cnpj = '';
		obj.value = '';
	} else {
		obj.value = cnpj.substr(0,2) + '.' + cnpj.substr(2,3) + '.' + cnpj.substr(5,3) + '/' + cnpj.substr(8,4) + '-' + cnpj.substr(12,2);
	}

	return cnpj;
}

function verificaCNPJ(obj) {
	cnpj = formataCNPJ(obj);

	/*if(cnpj=='') { Removida a verificação e aplicada onde é chamada a função... (27/01/04 - Leonardo)
		alert('O preenchimento do campo CNPJ é obrigatório.');
		obj.select();
		obj.focus();		
		return true;
	}*/

	//primeiro digito
	total =	5 * new Number(cnpj.charAt(0))  +
					4 * new Number(cnpj.charAt(1))  +
					3 * new Number(cnpj.charAt(2))  +
					2 * new Number(cnpj.charAt(3))  +
					9 * new Number(cnpj.charAt(4))  +
					8 * new Number(cnpj.charAt(5))  +
					7 * new Number(cnpj.charAt(6))  +
					6 * new Number(cnpj.charAt(7))  +
					5 * new Number(cnpj.charAt(8))  +
					4 * new Number(cnpj.charAt(9))  +
					3 * new Number(cnpj.charAt(10)) +
					2 * new Number(cnpj.charAt(11));
            
	integer = (Math.floor(total/11))*11;
	resto   = total - integer;
	if(resto==0 || resto==1) {
		digito1 = 0;
	} else {
		digito1 = 11 - resto;
	}
            
	//segundo digito
	total =	6 * new Number(cnpj.charAt(0))  +
					5 * new Number(cnpj.charAt(1))  +
					4 * new Number(cnpj.charAt(2))  +
					3 * new Number(cnpj.charAt(3))  +
					2 * new Number(cnpj.charAt(4))  +
					9 * new Number(cnpj.charAt(5))  +
					8 * new Number(cnpj.charAt(6))  +
					7 * new Number(cnpj.charAt(7))  +
					6 * new Number(cnpj.charAt(8))  +
					5 * new Number(cnpj.charAt(9))  +
					4 * new Number(cnpj.charAt(10)) +
					3 * new Number(cnpj.charAt(11)) +
					2 * digito1;
            
	integer = (Math.floor(total/11))*11;
	resto   = total - integer;
	if(resto==0 || resto==1) {
		digito2 = 0;
	} else {
		digito2 = 11 - resto;
	}

	//verifica
	bOk = ((new String(digito1)).concat((new String(digito2)))==cnpj.substr(12,2));

	if(!bOk) {
		alert('Dígito do C.N.P.J. está incorreto.');	
		//bOk = confirm('Dígito do C.N.P.J. está incorreto. Prossegue ?');
		//if(!bOk) {
			obj.select();
			obj.focus();
		//}
	}
	return bOk;
}
