/////////////////////////////////////////////////////////////
//  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);
	default : 
		alert("Tamanho incorreto do CPF!");
		return numCIC;
	}
}

function FormataCNPJ (numCIC) {
	numCIC = String(numCIC);
	switch (numCIC.length){
	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 CNPJ!");
		return numCIC;
	}
}
//-- 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 ConfereCNPJ(objCIC) {
	if (objCIC.value == '') {
		alert("Preenchimento obrigatório do CNPJ");
		document.form_int.CNPJ_INT.focus();		
		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(numCPFCNPJ.length != 14){
		alert("Tamanho incorreto do CNPJ!");
		document.form_int.CNPJ_INT.focus();		
		return false;		
	}	
	
	if (!DigitoCPFCNPJ(numCPFCNPJ)) {
		alert("Atenção o Dígito verificador do CNPJ é inválido!");
		document.form_int.CNPJ_INT.focus();		
		return false;
	}

	objCIC.value = FormataCNPJ(numCPFCNPJ);

	if (objCIC.value.match(strCNPJPat)) {
		return true;
	}
	//else if (objCIC.value.match(strCPFPat)) {
		//return true;
	//}
	else {
		alert("Digite um CNPJ válido!");
		document.form_int.CNPJ_INT.focus();
		return false;
	}
}

function ConfereCIC(objCIC) {
	if (objCIC.value == '') {
		alert("Preenchimento obrigatório do CPF");
		document.form_int.CPF_INT.focus();
		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(numCPFCNPJ.length != 11){
		alert("Tamanho incorreto do CPF!");
		document.form_int.CPF_INT.focus();
		return false;		
	}		
	
	if (!DigitoCPFCNPJ(numCPFCNPJ)) {
		alert("Atenção o Dígito verificador do CPF é inválido!");
		document.form_int.CPF_INT.focus();
		return false;
	}

	objCIC.value = FormataCIC(numCPFCNPJ);

/*	if (objCIC.value.match(strCNPJPat)) {
		return true;
	}*/
	if (objCIC.value.match(strCPFPat)) {
		return true;
	}
	else {
		alert("Digite um CPF válido!");
		document.form_int.CPF_INT.focus();
		return false;
	}
}

function ConfereCNPJ2(objCIC) {
	if (objCIC.value == '') {
		//alert("Preenchimento obrigatório do CNPJ");
		//document.form_int.CNPJ_INT.focus();		
		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(numCPFCNPJ.length != 14){
		alert("Tamanho incorreto do CNPJ!");
		//document.form_int.CNPJ_INT.focus();		
		return false;		
	}	
	
	if (!DigitoCPFCNPJ(numCPFCNPJ)) {
		alert("Atenção o Dígito verificador do CNPJ é inválido!");
		//document.form_int.CNPJ_INT.focus();		
		return false;
	}

	objCIC.value = FormataCNPJ(numCPFCNPJ);

	if (objCIC.value.match(strCNPJPat)) {
		return true;
	}
	//else if (objCIC.value.match(strCPFPat)) {
		//return true;
	//}
	else {
		alert("Digite um CNPJ válido!");
		//document.form_int.CNPJ_INT.focus();
		return false;
	}
}

function ConfereCIC2(objCIC) {
	if (objCIC.value == '') {
		//alert("Preenchimento obrigatório do CPF");
		//document.form_int.CPF_INT.focus();
		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(numCPFCNPJ.length != 11){
		alert("Tamanho incorreto do CPF!");
		//document.form_int.CPF_INT.focus();
		return false;		
	}		
	
	if (!DigitoCPFCNPJ(numCPFCNPJ)) {
		alert("Atenção o Dígito verificador do CPF é inválido!");
		//document.form_int.CPF_INT.focus();
		return false;
	}

	objCIC.value = FormataCIC(numCPFCNPJ);

/*	if (objCIC.value.match(strCNPJPat)) {
		return true;
	}*/
	if (objCIC.value.match(strCPFPat)) {
		return true;
	}
	else {
		alert("Digite um CPF válido!");
		//document.form_int.CPF_INT.focus();
		return false;
	}
}


//Fim da Função para Cálculo do Digito do CPF/CNPJ
/////////////////////////////////////////////////////////////

// Validar Formulário Interessado
function validate(f)
{

  if (f.elements["cliente"].value == "") {
    f.elements["cliente"].focus();
    alert("Preencha o campo Cliente")
    return false;
  }
  if (f.elements["CPF_CNPJ_INT"].value == "") {
    f.elements["CPF_CNPJ_INT"].focus();
    alert("Preencha o campo CPF/CNPJ")
    return false;
  }
  if (f.elements["endereco"].value == "") {
    f.elements["endereco"].focus();
    alert("Preencha o campo Endereço")
    return false;
  }
	  if (f.elements["bairro"].value == "") {
    f.elements["bairro"].focus();
    alert("Preencha o campo Bairro")
    return false;
  }
	 if (f.elements["cep"].value == "") {
    f.elements["cep"].focus();
    alert("Preencha o campo CEP")
    return false;
  }
	if (f.elements["cidade"].value == "") {
    f.elements["cidade"].focus();
    alert("Preencha o campo Cidade")
    return false;
  }	
	
	if (f.elements["estado"].value == "") {
    f.elements["estado"].focus();
    alert("Preencha o campo Estado")
    return false;
  }
	if (f.elements["ddd"].value == "") {
    f.elements["ddd"].focus();
    alert("Preencha o campo DDD")
    return false;
  }	
	if (f.elements["fone"].value == "") {
    f.elements["fone"].focus();
    alert("Preencha o campo Fone")
    return false;
  }	
	if (f.elements["fax"].value == "") {
    f.elements["fax"].focus();
    alert("Preencha o campo Fax")
    return false;
  }
	if (f.elements["email"].value == "") {
    f.elements["email"].focus();
    alert("Preencha o campo E-mail")
    return false;
  }
	if (f.elements["inscEstadual"].value == "") {
    f.elements["inscEstadual"].focus();
    alert("Preencha o campo inscrição Estadual")
    return false;
  }
	if (f.elements["site"].value == "") {
    f.elements["site"].focus();
    alert("Preencha o campo Site")
    return false;
  }
	if (f.elements["enderecoEntrega"].value == "") {
    f.elements["enderecoEntrega"].focus();
    alert("Preencha o campo Endereço de Entrega")
    return false;
  }
	if (f.elements["bairroEntrega"].value == "") {
    f.elements["bairroEntrega"].focus();
    alert("Preencha o campo Bairro de Entrega")
    return false;
  }
	if (f.elements["cepEntrega"].value == "") {
    f.elements["cepEntrega"].focus();
    alert("Preencha o campo Cep de Entrega")
    return false;
  }
	if (f.elements["cidadeEntrega"].value == "") {
    f.elements["cidadeEntrega"].focus();
    alert("Preencha o campo Cidade de Entrega")
    return false;
  }								
	if (f.elements["estadoEntrega"].value == "") {
    f.elements["estadoEntrega"].focus();
    alert("Preencha o campo Estado de Entrega")
    return false;
  }
	if (f.elements["vendedor"].value == "0") {
    f.elements["vendedor"].focus();
    alert("Selecione um Vendedor")
    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
///////////////////////////////////////////////