function critica_formulario() 
{
	
tamanho = document.form1.cnpjcpf.value.length 
if (document.form1.cnpjcpf.value == "")  {
	  alert("Preenchimento do CNPJ e/ou CPF Obrigatório!");
	  document.form1.cnpjcpf.focus();
	  return false;}
	  else {
	  		if (document.form1.cnpjcpf.value.length == 11){ 
						
						if (checaCPF(document.form1.cnpjcpf.value)) {
								return critica();
							}
   						else {
	 						 errors="1";
						    	 if (errors) alert('CPF Inválido!');{
							 	 document.MM_returnValue = (errors == '');
								 document.form1.cnpjcpf.focus();
								  document.form1.cnpjcpf.select();
								  return false;}
							   }
					}		   
			else {
				 		if (document.form1.cnpjcpf.value.length < 11)
							{  alert("Preenchimento do CPF Inválido!");
								document.form1.cnpjcpf.focus();
								document.form1.cnpjcpf.select();
								  return false;
							 }
							
						else {	if (document.form1.cnpjcpf.value.length > 11 && document.form1.cnpjcpf.value.length < 14 )
								{ alert("Preenchimento do CNPJ Inválido!");
									document.form1.cnpjcpf.focus();
									document.form1.cnpjcpf.select();
									  return false;
								 } 
								 
								 
							else {	if (isNaN(document.form1.cnpjcpf.value))
									{ alert("Preenchimento do CNPJ Inválido!");
									document.form1.cnpjcpf.focus();
									document.form1.cnpjcpf.select();
									  return false;
								   } 
								
								 
								else {	
									if (document.form1.cnpjcpf.value.length == 14)
										{ 
										
										if (DigitoCPFCNPJ(document.form1.cnpjcpf.value)) {
												return critica();}
				   						else {
					 						 errors="1";
										    	 if (errors) alert('CNPJ Inválido!');{
											 	 document.MM_returnValue = (errors == '');
												 document.form1.cnpjcpf.focus();
												  document.form1.cnpjcpf.select();
												  return false;}
											   }
								
										 }
										 
									} 
								 }	
						
						}
						
				  }
		 
			}
	
}


function critica() 
{
//var Tecla = window.event.keyCode
var strValidos = "0123456789" 
var DDD = document.form1.ddd.value
var TEL = document.form1.telefone.value
var FAX = document.form1.fax.value
var email = document.form1.email.value;

ARRAYDDD = new Array(4)
		ARRAYDDD[1] = DDD.substr(0, 1) ;
		ARRAYDDD[2] = DDD.substr(1, 1) ;
		ARRAYDDD[3] = DDD.substr(2, 1) ;
		ARRAYDDD[4] = DDD.substr(3, 1) ;
        
 ARRAYTEL = new Array(8)
		ARRAYTEL[1] = TEL.substr(0, 1) ;
		ARRAYTEL[2] = TEL.substr(1, 1) ;
		ARRAYTEL[3] = TEL.substr(2, 1) ;
		ARRAYTEL[4] = TEL.substr(3, 1) ;
        ARRAYTEL[5] = TEL.substr(4, 1) ;
        ARRAYTEL[6] = TEL.substr(5, 1) ;
        ARRAYTEL[7] = TEL.substr(6, 1) ;
        ARRAYTEL[8] = TEL.substr(7, 1) ;
        
ARRAYFAX = new Array(8)
		ARRAYFAX[1] = FAX.substr(0, 1) ;
		ARRAYFAX[2] = FAX.substr(1, 1) ;
		ARRAYFAX[3] = FAX.substr(2, 1) ;
		ARRAYFAX[4] = FAX.substr(3, 1) ;
        ARRAYFAX[5] = FAX.substr(4, 1) ;
        ARRAYFAX[6] = FAX.substr(5, 1) ;
        ARRAYFAX[7] = FAX.substr(6, 1) ;
        ARRAYFAX[8] = FAX.substr(7, 1) ;        
	
if(document.form1.RSocial.value== "")
	{ alert("Preenchimento da Razão Social Obrigatório!");
		document.form1.RSocial.focus();
		return false; } 
	else 
    { 
		if(document.form1.endereco.value== "")
		{ alert("Preenchimento do Endereço Obrigatório!");
			document.form1.endereco.focus();
			return false; } 
		else {
			if(document.form1.bairro.value== ""){
				alert("Preenchimento do Bairro Obrigatório!");
				document.form1.bairro.focus();
				return false; }
			 else {
			 	if(document.form1.cidade.value== ""){
					alert("Preenchimento da Cidade Obrigatório!");
					document.form1.cidade.focus();
					return false; }
				else {
					if(document.form1.uf.value== ""){
						alert("Preenchimento Obrigatório!");
						document.form1.uf.focus();
						return false; }
					else {
						if(document.form1.pais.value== ""){
							alert("Preenchimento Obrigatório!");
							document.form1.pais.focus();
							return false; }
							else {
								if(document.form1.email.value== ""){
								alert("Preenchimento Obrigatório!");
								document.form1.email.focus();
								return false; }
								else {
								      	if(((email.indexOf(".") <= 0) || (email.indexOf("@") <= 0)) || ((email.lastIndexOf(".") == (email.length - 1)) || (email.lastIndexOf("@") == (email.length -1)))) {
										alert("Confira seu e-mail !");
										document.form1.email.focus();
								        return false;  }
								else {
									    if (  (isNaN(DDD)) || (DDD.length < 2) || (DDD == "") || (DDD == "00") || (ARRAYDDD[1] ==".") || (ARRAYDDD[2] ==".") || (ARRAYDDD[3] ==".") || (ARRAYDDD[4] ==".") || (ARRAYDDD[1] ==",")|| (ARRAYDDD[2] ==",")|| (ARRAYDDD[3] ==",")|| (ARRAYDDD[4] ==",")|| (ARRAYDDD[1] =="-")|| (ARRAYDDD[2] =="-")|| (ARRAYDDD[3] =="-")|| (ARRAYDDD[4] =="-") || (ARRAYDDD[1] ==";")|| (ARRAYDDD[2] ==";")|| (ARRAYDDD[3] ==";")|| (ARRAYDDD[4] ==";") || (DDD == "0000") || (DDD == "000")  )   {
                                 		alert("Preenchimento Inválido do DDD!")
										document.form1.ddd.focus()				
										document.form1.ddd.select()				
										return false}
												else {
													 if (  (isNaN(TEL)) || (TEL.length < 6) || (TEL == "") || (ARRAYTEL[1] ==".") || (ARRAYTEL[2] ==".") || (ARRAYTEL[3] ==".") || (ARRAYTEL[4] ==".") || (ARRAYTEL[5] ==".")|| (ARRAYTEL[6] ==".") || (ARRAYTEL[7] ==".") || (ARRAYTEL[8] ==".") || (TEL == "00000000") || (TEL == "11111111")|| (TEL == "22222222")|| (TEL == "33333333")|| (TEL == "44444444")|| (TEL == "55555555")|| (TEL == "66666666")|| (TEL == "77777777") || (TEL == "88888888")|| (TEL == "99999999")  )   {
                                        					alert("Preenchimento Inválido do Telefone! Ex: 25283112")
															document.form1.telefone.focus()				
															document.form1.telefone.select()				
															return false}
																		else {
																			 if (  (isNaN(FAX)) || (document.form1.fax.value.length < 6) || (document.form1.fax.value == "") || (ARRAYFAX[1] ==".") || (ARRAYFAX[2] ==".") || (ARRAYFAX[3] ==".") || (ARRAYFAX[4] ==".") || (ARRAYFAX[5] ==".") || (ARRAYFAX[6] ==".") || (ARRAYFAX[7] ==".") || (ARRAYFAX[8] ==".") || (FAX == "00000000") || (FAX == "11111111")|| (FAX == "22222222")|| (FAX == "33333333")|| (FAX == "44444444")|| (FAX == "55555555")|| (FAX == "66666666")|| (FAX == "77777777") || (FAX == "88888888")|| (FAX == "99999999")  )   {
                                        			             				alert("Preenchimento Inválido do Fax! Ex: 25283112!")
																				document.form1.fax.focus()				
																				document.form1.fax.select()				
																				return false}
																					else {
    																					if(document.form1.contato.value== ""){
    																						alert("Preenchimento Obrigatório!")
    																						document.form1.contato.focus()				
    																						document.form1.contato.select()				
    																						return false}
																							
																					}
																		 }
																	
														     	}
													   }
											  }
								     }
						     }	
				      }	
			     }	
		    }	
	  }		
	
}


function val_number(val) { 
 val = "" + val; 
 var result = ""; 
 for (i=0;i<val.length;i++) { 
  character = val.charAt(i); 
  if ("0123456789".indexOf(character) != -1) { 
   character = parseInt(character); 
   character = (character+1)%10; 
  } 
  result += character; 
 } 
 if (result != "") 
  result += "c"; 
 // alert(result);
 return result; 
} 



function eh_numero()
{
var Tecla = window.event.keyCode;
if((Tecla > 47 && Tecla < 58))
event.returnValue = true;
else
event.returnValue = false;
}	


function checaCPF (CPF) {
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999")
		return false;
	soma = 0;
	for (i=0; i < 9; i ++)
		soma += parseInt(CPF.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(9)))
		return false;
	soma = 0;
	for (i = 0; i < 10; i ++)
		soma += parseInt(CPF.charAt(i)) * (11 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(10)))
		return false;
     
	return true;
}

function checaCNPJ_old (CNPJ) 
{
	
	if (CNPJ.length != 14 || CNPJ == "00000000000000" || CNPJ == "11111111111111" ||
		CNPJ == "22222222222222" ||	CNPJ == "33333333333333" || CNPJ == "44444444444444" ||
		CNPJ == "55555555555555" || CNPJ == "66666666666666" || CNPJ == "77777777777777" ||
		CNPJ == "88888888888888" || CNPJ == "99999999999999") 
		return false;
}



function checaCNPJ (CNPJ) 
{
	
	if (CNPJ.length != 14 || CNPJ == "00000000000000" || CNPJ == "11111111111111" ||
		CNPJ == "22222222222222" ||	CNPJ == "33333333333333" || CNPJ == "44444444444444" ||
		CNPJ == "55555555555555" || CNPJ == "66666666666666" || CNPJ == "77777777777777" ||
		CNPJ == "88888888888888" || CNPJ == "99999999999999") 
		return false;
		
		Numero = new Array(14)
		
		Numero[1] = parseInt(CNPJ.substr(0, 1) );
		Numero[2] = parseInt(CNPJ.substr(1, 1) );
		Numero[3] = parseInt(CNPJ.substr(2, 1) );
		Numero[4] = parseInt(CNPJ.substr(3, 1) );
		Numero[5] = parseInt(CNPJ.substr(4, 1) );
		Numero[6] = parseInt(CNPJ.substr(5, 1) );
		Numero[7] = parseInt(CNPJ.substr(6, 1) );
		Numero[8] = parseInt(CNPJ.substr(7, 1) );
		Numero[9] = parseInt(CNPJ.substr(8, 1) );
		Numero[10] = parseInt(CNPJ.substr(9, 1) );
		Numero[11] = parseInt(CNPJ.substr(10, 1) );
		Numero[12] = parseInt(CNPJ.substr(11, 1) );
		Numero[13] = parseInt(CNPJ.substr(12, 1) );
		Numero[14] = parseInt(CNPJ.substr(13, 1) );
	
					
		soma = Numero[1] * 5 + Numero[2] * 4 + Numero[3] * 3  + Numero[4] * 2 + Numero[5] * 9 + Numero[6] * 8 + Numero[7] * 7 + Numero[8] * 6 + Numero[9] * 5 + Numero[10] * 4 + Numero[11] * 3 + Numero[12] * 2;
		//soma -= (11 * (int(soma / 11)));
		
		
		soma -= (11 * (soma / 11));
		
		if (soma == 0 || soma == 1 ) {
			resultado1 = 0;
			}
		else {
			resultado1 = 11 - soma; }
		
		if (resultado1 == Numero[13] )  {
			soma = Numero[1] * 6 + Numero[2] * 5 + Numero[3] * 4 + Numero[4] * 3 + Numero[5] * 2 + Numero[6] * 9 + Numero[7] * 8 + Numero[8] * 7 + Numero[9] * 6 + Numero[10] * 5 + Numero[11] * 4 + Numero[12] * 3 + Numero[13] * 2;
			//soma = soma - (11 * (int(soma/11))) ; 
			soma = soma - (11 * (soma / 11)) ; 
	
			}
		
		if (soma == 0 || soma == 1 ) {
			resultado2 = 0; 
		
			}
		else {
			resultado2 = 11 - soma; }
		
		if (resultado2 == Numero[14] ) 
			return false;
        	//alert('Correto');
				
return true;
	
}
	
	
function limpar() {
	document.form1.cnpjcpf.value="";
	document.form1.RSocial.value="";
	document.form1.endereco.value= "";
	document.form1.bairro.value= "";
	document.form1.cidade.value= "";
	document.form1.uf.value= "";
	document.form1.pais.value= "";
	document.form1.email.value= "";
	document.form1.ddd.value= "";
	document.form1.telefone.value= "";
	document.form1.fax.value= "";
	document.form1.contato.value= "";
	document.form1.cnpjcpf.focus();
	return
}

function DigitoCPFCNPJ(numCIC) {
var numDois = numCIC.substring(numCIC.length-2, numCIC.length);
var novoCIC = numCIC.substring(0, numCIC.length-2);
//alert(numCIC.length)
switch (numCIC.length){
 case 11 :
  numLim = 11;
  break;
 case 14 :
  numLim = 9;
  break;
 default : return false;
}
var numSoma = 0;
var Fator = 1;
for (var i=novoCIC.length-1; i>=0 ; i--) {
 Fator = Fator + 1;
 if (Fator > numLim) {
  Fator = 2;
 }
 numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
}
numSoma = numSoma/11;
var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
   if (numResto > 1) {
 numResto = 11 - numResto;
   }
   else {
 numResto = 0;
   }
   //-- Primeiro dígito calculado.  Fará parte do novo cálculo.
   
   var numDigito = String(numResto);
   novoCIC = novoCIC.concat(numResto);
   //--
numSoma = 0;
Fator = 1;
for (var i=novoCIC.length-1; i>=0 ; i--) {
 Fator = Fator + 1;
 if (Fator > numLim) {
  Fator = 2;
 }
 numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
}
numSoma = numSoma/11;
numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
   if (numResto > 1) {
 numResto = 11 - numResto;
   }
   else {
 numResto = 0;
   }
//-- Segundo dígito calculado.
numDigito = numDigito.concat(numResto);
if (numDigito == numDois) {
 return true;
}
else {
 return false;
}
}



 function cgc(pcgc)
 {
 // verifica o tamanho
 if (pcgc.length != 14) {
 sim=false
 alert ("Tamanho Inválido de CNPJ")
 }
 else {sim=true}

 if (sim ) // verifica se e numero
 {
 for (i=0;((i<=(pcgc.length-1))&& sim); i++)
 {
 val = pcgc.charAt(i)
 // alert (val)
 if
 ((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4")
&&
 (val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
 }
 if (sim) // se for numero continua
 {
 m2 = 2
 soma1 = 0
 soma2 = 0
 for (i=11;i>=0;i--)
 {
 val = eval(pcgc.charAt(i))
 // alert ("Valor do Val: "+val)
 m1 = m2
 if (m2<9) { m2 = m2+1}
 else {m2 = 2}
 soma1 = soma1 + (val * m1)
 soma2 = soma2 + (val * m2)
 } // fim do for de soma

 soma1 = soma1 % 11
 if (soma1 < 2) { d1 = 0}
 else { d1 = 11- soma1}

 soma2 = (soma2 + (2 * d1)) % 11
 if (soma2 < 2) { d2 = 0}
 else { d2 = 11- soma2}
 // alert (d1)
 // alert (d2)
 if ((d1==pcgc.charAt(12)) && (d2==pcgc.charAt(13)))
 { alert("CNPJ Válido") }
 else alert("Valor inválido de CNPJ")
 }
 }

 }


