
function DigitoCPFCNPJ(numCIC) { 

if(numCIC == "11111111111" || numCIC == "22222222222" || numCIC == "33333333333" || numCIC == "44444444444" || numCIC == "55555555555" || numCIC =="66666666666" || numCIC == "77777777777" || numCIC == "88888888888" || numCIC ==           "99999999999" || numCIC == "00000000000" ){
				return false;
}

var numDois = numCIC.substring(numCIC.length-2, numCIC.length); 
var novoCIC = numCIC.substring(0, numCIC.length-2); 
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; 
} 
} 
//--< Fim da Função >-- 

//-- Retorna uma string apenas com os números da string enviada 
function ApenasNum(strParm) { 
strParm = String(strParm); 
var chrPrt = "0"; 
var strRet = ""; 
var j=0; 
for (var i=0; i < strParm.length; i++) { 
chrPrt = strParm.substring(i, i+1); 
if ( chrPrt.match(/\d/) ) { 
if (j==0) { 
strRet = chrPrt; 
j=1; 
} 
else { 
strRet = strRet.concat(chrPrt); 
} 
} 
} 
return strRet; 
} 
//--< Fim da Função >-- 

//-- Somente aceita os caracteres válidos para CPF e CNPJ. 
function PreencheCIC(objCIC) { 
var chrP = objCIC.value.substring(objCIC.value.length-1, objCIC.value.length); 

if ( !chrP.match(/[0-9]/) && !chrP.match(/[\/.-]/) ) { 
objCIC.value = objCIC.value.substring(0, objCIC.value.length-1); 
return false; 
} 
return true; 
} 
//--< Fim da Função >-- 

function FormataCIC (numCIC) { 
numCIC = String(numCIC); 
switch (numCIC.length){ 
case 11 : 
return numCIC.substring(0,3) + "." + numCIC.substring(3,6) + "." + numCIC.substring(6,9) + "-" + numCIC.substring(9,11); 
case 14 : 
return numCIC.substring(0,2) + "." + numCIC.substring(2,5) + "." + numCIC.substring(5,8) + "/" + numCIC.substring(8,12) + "-" + numCIC.substring(12,14); 
default : 
alert("Tamanho incorreto do CPF ou CNPJ!");

return ""; 
} 
} 

//-- Remove os sinais, deixando apenas os números e reconstroi o CPF ou CNPJ, verificando a validade 
//-- Recebe como parâmetros o número do CPF ou CNPJ, com ou sem sinais e o atualiza com sinais é validado. 



function ConfereCIC(objCIC) { 

if (objCIC.value == null) { 
alert("Preenchimento obrigatório do CPF ou CNPJ"); 
return false; 
} 
var strCPFPat = /^\d{3}\.\d{3}\.\d{3}-\d{2}$/; 
var strCNPJPat = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/; 

numCPFCNPJ = ApenasNum(objCIC.value); 

if (!DigitoCPFCNPJ(numCPFCNPJ)) { 
alert("Atenção o Dígito verificador do CPF ou CNPJ é inválido!");
document.getElementById("msg1").style.display='';
document.getElementById("customfield[3]").value='';
document.getElementById("customfield[3]").focus();
globalvar = document.getElementById("customfield[3]"); 
setTimeout("globalvar.focus()",250); 
objCIC.value="";
return false; 
} 

objCIC.value = FormataCIC(numCPFCNPJ); 

if (objCIC.value.match(strCNPJPat)) { 
return true; 
} 
else if (objCIC.value.match(strCPFPat)) { 
return true; 
} 
else { 
alert("Digite um CPF ou CNPJ válido!"); 
return false; 
} 
} 
//Fim da Função para Cálculo do Digito do CPF/CNPJ 

function ValidarCampos(tmpCampo) { 
	if ( ConfereCIC (tmpCampo)) { 
		document.forms[0].submit();
	} 
}

function VerificaCPF_CNPJ(tmpCampo) {

	if ( ConfereCIC(tmpCampo)) {  
		 if (tmpCampo.value.length > 14)	{
		 
		 }
	}
}

function esconde_cpf() 

{
		document.getElementById("msg1").style.display = 'none';
	
}


