///////////////////////////////////////////////////////////////////////////////
function ChecaCNPJ(source, objCNPJ) 
{
	
	var strCNPJ = objCNPJ.Value;
	var NewCNPJ = "";
	var DV = "";
	var DVCNPJ;
	var s1 = 0;
	var s2 = 0;
	var NewDV;
	
	//Verifica tamanho do CNPJ
	if ((strCNPJ.length != 14) || (isNaN(strCNPJ)))
		//return false;
		objCNPJ.IsValid = false;
	
	//Calcula os dígitos verificadores
	//Guarda os 12 primeiros digitos
	DVCNPJ = strCNPJ.substring(0,12);
	
	//calcula o primeiro digito verificador
	for (i=1;i<=4;i++)
		s1 = s1 + (parseInt(DVCNPJ.charAt(i-1))*(6-i));

	for (i=5;i<=12;i++)
		s1 = s1 + (parseInt(DVCNPJ.charAt(i-1))*(14-i));
	
	r1 = s1 % 11;
	if (r1 < 2)
		dv1 = 0;
	else 
		dv1 = 11 - r1;
	
	//calcula o segundo digito verificador
	s2 = dv1 * 2;
	
	for (i=1;i<=5;i++)
		s2 = s2 + (parseInt(DVCNPJ.charAt(i-1))*(7-i));
	for (i=6;i<=12;i++)
		s2 = s2 + (parseInt(DVCNPJ.charAt(i-1))*(15-i));
	r2 = s2 % 11;
	if (r2 < 2)
		dv2 = 0;
	else
		dv2 = 11 - r2;
	
	//junta os digitos verificadores
	DV = DV + dv1 + dv2;
	//guarda os digitos verificadores do CNPJ digitado (últimas duas posições no string)
	NewDV = strCNPJ.substring(12,14)
	if (NewDV == DV) //se o DV calculado for igual ao digitado, retorna true
		objCNPJ.IsValid = true;
		//return true
	else
		objCNPJ.IsValid = false;
		//return false;
}


/////////////////////////////////////////////////////////////////////////////////
//Verifica se o argumento é um CPF válido
function ChecaCPF (source, objCPF)
{
	var CPF = objCPF.Value;
	var NewCPF = "";
	//Verifica tamanho do CPF

	if (CPF.length!=11) 
	{
		objCPF.IsValid = false;
		return;
	}

	//Calcula os dígitos verificadores
	//Guarda os 09 primeiros digitos
	var DVCPF = CPF.substring(0,9);
	var s1 = 0;
	for (i=1;i<=9;i++) s1 = s1 + (parseInt(DVCPF.charAt(i-1))*(11-i));
	r1 = s1 % 11;
	if (r1<2) dv1 = 0;
	else dv1 = 11 - r1;
	var s2 = dv1 * 2;
	for (i=1;i<=9;i++) s2 = s2 + (parseInt(DVCPF.charAt(i-1))*(12-i));
	r2 = s2 % 11;
	if (r2<2) dv2 = 0;
	else dv2 = 11 - r2;
	var DV = "";
	DV = DV + dv1 + dv2;
	var NewDV = CPF.substring(9,11);
	
	if (NewDV==DV) 
		objCPF.IsValid = true
	else
		objCPF.IsValid = false;
}

function SetValidatorsIsvalidStatus() {
	for (i=0; i<Page_Validators.length; i++) {
		Page_Validators[i].isvalid = true;
      	}
}

function SetValidatorsEnabled(id, bolEnabled){
	for (i=0; i<Page_Validators.length; i++) {
		if(Page_Validators[i].id.indexOf(id) >= 0)	{
			Page_Validators[i].enabled = bolEnabled;
		}
	}
}