<!--
function valida_CNPJ(input) {

	var cnpj = input.value;
	
	if (cnpj != ""){
	erro = new String;
              
	// validação básica
	if (cnpj.length != 18) erro += "São necessários 18 digitos para verificação do CNPJ!\n"; 
	if ((cnpj.charAt(2) != ".") || (cnpj.charAt(6) != ".") || (cnpj.charAt(10) != "/") || (cnpj.charAt(15) != "-")){
		if (erro.length == 0) erro += "Preencha corretamente o número do CNPJ!\n";
	}
	
	//substituir os caracteres que não são números
	if(document.layers && parseInt(navigator.appVersion) == 4){
		x = cnpj.substring(0,2);
		x += cnpj.substring (3,6);
		x += cnpj.substring (7,10);
		x += cnpj.substring (11,15);
		x += cnpj.substring (16,18);
		cnpj = x; 
	} else {
		cnpj = cnpj.replace (".","");
		cnpj = cnpj.replace (".","");
		cnpj = cnpj.replace ("-","");
		cnpj = cnpj.replace ("/","");
	}
	// fim da validação básica
              
	var nonNumbers = /\D/;
	if (nonNumbers.test(cnpj)) erro += "A verificação de CNPJ suporta apenas números!\n"; 
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = cnpj.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { 
		a[12] = 0 
	} else { 
		a[12] = 11-x
	}
	b = 0;
	for (y=0; y<13; y++) b += (a[y] * c[y]); 
	if ((x = b % 11) < 2) { 
		a[13] = 0; 
	} else { 
		a[13] = 11-x;
	}
	if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])){
		erro +="Dígito verificador com problema!";
	}
	if (erro.length > 0){
		alert(erro);
		input.value = '';
		input.focus();
		return false;
	}
	return true;
	}
}
// onblur="valida_CNPJ(this)"
//-->