function valida_CNPJ(obj){
	if (obj.value == "") return;
	var cnpj = obj.value;
	var i;
	cnpj = cnpj.replace(".", "");
	cnpj = cnpj.replace(".", "");
	cnpj = cnpj.replace("/", "");
	cnpj = cnpj.replace("-", "");
	if (cnpj.length != 14){
		obj.value = "";
		alert("CNPJ inválido!");
		obj.focus();
		return;
	}
	var c  = cnpj.substr(0,12);
	var dv = cnpj.substr(12,2);
	erro = false;
	if (cnpj == "00000000000000") erro = true;
	if (cnpj == "11111111111111") erro = true;
	if (cnpj == "22222222222222") erro = true;
	if (cnpj == "33333333333333") erro = true;
	if (cnpj == "44444444444444") erro = true;
	if (cnpj == "55555555555555") erro = true;
	if (cnpj == "66666666666666") erro = true;
	if (cnpj == "77777777777777") erro = true;
	if (cnpj == "88888888888888") erro = true;
	if (cnpj == "99999999999999") erro = true;
	var d1 = 0;
	var ms = "543298765432";
	for (i = 0; i < 12; i++)
		d1 += c.charAt(i)*ms.charAt(i);
	d1 = (d1 % 11);
	if (d1 == 0 || d1 == 1)
		d1 = 0;
	else
		d1 = 11 - d1;
	var d1 = 0;
	var ms = "543298765432";
	for (i = 0; i < 12; i++)
		d1 += c.charAt(i)*ms.charAt(i);
	d1 = (d1 % 11);
	if (d1 == 0 || d1 == 1) 
		d1 = 0;
	else
		d1 = 11 - d1;
	var c = c + d1;
	var d2 = 0;
	var ms = "6543298765432";
	for (i = 0; i < 13; i++)
		d2 += c.charAt(i)*ms.charAt(i);
	d2 = (d2 % 11);
	if (d2 == 0 || d2 == 1)
		d2 = 0;
	else 
		d2 = 11 - d2;
	if (dv.charAt(0) != d1 || dv.charAt(1) != d2 || erro == true){
		obj.value = "";
		alert("CNPJ inválido!");
		obj.focus();
	}
}
