function ValidaCNPJ(EntraCNPJ){
	
	VetCNPJ = new Array(16);
	var TempCNPJ, DG1, DG2;
	var Tot1, Tot2;
	var I, X;
	var Peso1 = "543298765432";
	var Peso2 = "6543298765432";

	TempCNPJ = EntraCNPJ;
	TempCNPJ = TempCNPJ.replace('.','');
	TempCNPJ = TempCNPJ.replace('.','');
	TempCNPJ = TempCNPJ.replace('/','');
	TempCNPJ = TempCNPJ.replace('-','');
	
	while (TempCNPJ.length < 14){
		TempCNPJ = '0' + TempCNPJ;
		}
	if (TempCNPJ == 11111111111111 || TempCNPJ == 22222222222222 || TempCNPJ == 33333333333333 || TempCNPJ == 44444444444444 || TempCNPJ == 55555555555555 || TempCNPJ == 66666666666666 || TempCNPJ == 77777777777777 || TempCNPJ == 88888888888888 || TempCNPJ == 99999999999999 || TempCNPJ == 00000000000000){ return false; } 
	for (I=1;I<=14;I++){
		VetCNPJ[I] = TempCNPJ.substr(I-1,1);
		}
	Tot1 = 0;
	Tot2 = 0;

	for (I=1;I<=12;I++){ // to 3 step -1
		Tot1 = Tot1 + VetCNPJ[I] * parseInt(Peso1.substr(I - 1,1),10);
		}
	for (I=1;I<=13;I++){
		Tot2 = Tot2 + VetCNPJ[I] * parseInt(Peso2.substr(I - 1,1),10);
		}
	DG1 = Tot1 % 11;
	DG2 = Tot2 % 11;
	if (DG1 == 0 || DG1 == 1){
		DG1 = 0;
		}
	else{
		DG1 = 11 - DG1;
		}
	if (DG2 == 0 || DG2 == 1){
		DG2 = 0;
		}
	else{
		DG2 = 11 - DG2;
		}
	if (parseInt(DG1,10) == parseInt(VetCNPJ[13],10) && parseInt(DG2,10) == parseInt(VetCNPJ[14],10) && Tot1 > 0 && Tot2 > 0){
		return true;
		} //ValidaCNPJ = TRUE
	else{
		return false;
		}//ValidaCNPJ = FALSE
}