// VALIDAÇÃO DE CNPJ

function validaCnpj( src, arg ) 
{
// O parâmetro pcnpj deve ser um objeto do html

	//var msg = "CNPJ inválido. Verifique se foi digitado corretamente e utilizado apenas números.";
    var pcnpj = document.getElementById('ctl00_ContentPlaceHolder1_txtCnpj1').value + 
                document.getElementById('ctl00_ContentPlaceHolder1_txtCnpj2').value + 
                document.getElementById('ctl00_ContentPlaceHolder1_txtCnpj3').value +
                document.getElementById('ctl00_ContentPlaceHolder1_txtCnpj4').value;

	Num = 0 ;
	NumMult = 0;
	Digito = 0;
	qtd = 0;
	Soma = 0;
	workCont = 0;

	cgc = pcnpj.value;

	if (cgc == null) {
		cgc = pcnpj;
	}

	workCont = cgc.length - 2;
	
	if (cgc.length == 14)    // se diferente de 14 não aceita.
	{
	   //Calcula o primeiro dígito verificador
	   Num = 2;
	   Soma = 0;

	   for (CTNum = workCont - 1; CTNum >= 0; CTNum--)
	   {
			NumMult = parseInt(cgc.substring(CTNum, workCont));
			workCont--;
			NumMult = (NumMult * Num);
			Soma = (Soma + NumMult);
			Num++;
			if (Num > 9)
				Num = 2;
	   }
	   Digito = (Soma * 10) % 11;
	   if (Digito == 10)
		   Digito = 0;

	   if (Digito == (parseInt(cgc.substring (cgc.length - 2,cgc.length - 1))))
	   {
		   //Calcula o segundo dígito verificador
		   Num = 2;
		   Soma = 0;
		   workCont = cgc.length - 1;

		   for (CTNum = workCont - 1; CTNum >= 0; CTNum--)
		   {
			   NumMult = parseInt (cgc.substring (CTNum,workCont));
			   workCont--;
			   NumMult = (NumMult * Num);
			   Soma = (Soma + NumMult);
			   Num++;
			   if (Num > 9)
				   Num = 2;

		   }
		   Digito = (Soma * 10) % 11;
		   if (Digito == 10)
			   Digito = 0;

		   if (Digito == (parseInt (cgc.substring (cgc.length - 1,cgc.length))))
		   { 
		        arg.IsValid = true; 
		   }
		   else { 
		        arg.IsValid = false;
				//alert(msg);
		   }
	   }
	   else
	   { 
	        arg.IsValid = false;
			//alert(msg);
		}
	}
	else
	{ 
	    arg.IsValid = false;
		//alert(msg);
	}
}

function validaCnpjClient(pcnpj) {
// O parâmetro pcnpj deve ser um objeto do html

	var msg = "CNPJ inválido. Verifique se foi digitado corretamente e utilizado apenas números.";

	Num = 0 ;
	NumMult = 0;
	Digito = 0;
	qtd = 0;
	Soma = 0;
	workCont = 0;

	cgc = pcnpj.value;

	if (cgc == null) {
		cgc = pcnpj;
	}

	workCont = cgc.length - 2;
	
	if (cgc.length == 14)    // se diferente de 14 não aceita.
	{
	   //Calcula o primeiro dígito verificador
	   Num = 2;
	   Soma = 0;

	   for (CTNum = workCont - 1; CTNum >= 0; CTNum--)
	   {
			NumMult = parseInt(cgc.substring(CTNum, workCont));
			workCont--;
			NumMult = (NumMult * Num);
			Soma = (Soma + NumMult);
			Num++;
			if (Num > 9)
				Num = 2;
	   }
	   Digito = (Soma * 10) % 11;
	   if (Digito == 10)
		   Digito = 0;

	   if (Digito == (parseInt(cgc.substring (cgc.length - 2,cgc.length - 1))))
	   {
		   //Calcula o segundo dígito verificador
		   Num = 2;
		   Soma = 0;
		   workCont = cgc.length - 1;

		   for (CTNum = workCont - 1; CTNum >= 0; CTNum--)
		   {
			   NumMult = parseInt (cgc.substring (CTNum,workCont));
			   workCont--;
			   NumMult = (NumMult * Num);
			   Soma = (Soma + NumMult);
			   Num++;
			   if (Num > 9)
				   Num = 2;

		   }
		   Digito = (Soma * 10) % 11;
		   if (Digito == 10)
			   Digito = 0;

		   if (Digito == (parseInt (cgc.substring (cgc.length - 1,cgc.length))))
		   { return true; }
		   else { 
				alert(msg);
		   }
	   }
	   else
	   { 
			alert(msg);
		}
	}
	else
	{ 
		alert(msg);
	}
}

