/////////////////////////////////////////////////////////////
//  Documento Java Script                                  //
//  Francisco C Paulino - Tofinha - fcptofinha@globo.com   //
// Funções para o Formulário Interessado                   //
//  06/11/2002                                             //
/////////////////////////////////////////////////////////////

//Função para Cálculo do Digito do CPF/CNPJ
function DigitoCPFCNPJ(numCIC) {
	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: CPF inválido!");
		window.cadastro.cpf.focus();
		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

/////////////////////////////////////////////////////////////

// Validar Formulário Interessado
function validate(f)
{

  if (f.elements["NOME_INT"].value == "") {
    f.elements["NOME_INT"].focus();
    alert("Preencha o campo Nome do Interessado")
    return false;
  }
  if (f.elements["cpf"].value == "") {
    f.elements["cpf"].focus();
    alert("Preencha o campo CPF/CNPJ")
    return false;
  }
  if (f.elements["PWD_INT"].value == "") {
    f.elements["PWD_INT"].focus();
    alert("Preencha o campo Senha")
    return false;
  }
  if (f.elements["PWD_INT"].value.length < 6)
  {
	f.elements["PWD_INT"].focus();
	alert("A Senha deve conter entre 6 e 8 dígitos");
	return false;
  }
return true;
}
//Fim da Função Validar Formulário Interessado
///////////////////////////////////////////////