/*
----------------------------------------------------------------------------------------------------------------------------------------------------
Data Início							:	Goiânia, segunda-feira, 15 de maio de 2000 às 15:14 hs
Data Fim								:	Goiânia, segunda-feira, 15 de maio de 2000 às 00:00 hs
Data de Atualização		:	
Autor										:	Marcelo de Oliveira Assis
													Bruno Estevão Monteiro Guida
Objetivo								:	Validar o dígito verificador de um número de CCE
													Exemplo : 
Nome									:	Function ValidaCCE ( )
Padrões								:	. Cabeçalho em toda função, com as informações acima
													. Nome da função sempre intuitiva, com iniciais maiúsculas, sem espaços, sem sublinha
													. Variáveis sempre declaradas, com a seguinte nomenclatura :
														- V - Variáveis - Início de todo nome de variável
														- P - Parâmetro - Variável de parâmetro
														- Nome - Sempre intuitivo, com as iniciais maiúsculas, sem espaços, sem sublinha
														- VNomeRazaoSocial - nome ou razão social de um contribuinte
													. Marcar todo inicío e final de bloco com a seguinte nomenclatura :
														- F01 - início e final da primeira função, 02 para a segunda, etc . . .
														- I01 - início e final do primeiro if, 02 para o segundo, etc . . .
														- Fo01 - início e final do primeiro for, 02 para o segundo, etc . . .
----------------------------------------------------------------------------------------------------------------------------------------------------
*/

/* -------------------- Início da função de validação do CCE */
function ValidaCCE(VPCCE)
{ // F05
	var VCCE = 0;
	var VTamanho = 0;
	var VDigito = 0;
	var VMultiplicador = 0;
	var VProduto = 0;
	var VSomaproduto = 0;
	var VResto = 0;
	var VResultado = 0;
	VCCE = VPCCE;
	VTamanho = VCCE.length;
	VDigito = VCCE.charAt(VTamanho-1)
	VCCESemDigito = VCCE.substring(0,VTamanho-1);
	VMultiplicador= 2
	VSomaProduto = 0;
	
	for ( x=0 ; x < VTamanho-1 ; x++)
	{ // Fo01
		VProduto= (VCCESemDigito.charAt((VTamanho-1)-(x+1)) * VMultiplicador);
		VSomaProduto = VSomaProduto + VProduto;
		
		if (VMultiplicador< VTamanho)
		{ // I01
			VMultiplicador= VMultiplicador+ 1;
		} // I01

	} // Fo01
	
	VResto = (VSomaProduto - (parseInt(VSomaProduto / 11,10)*11));
	VResultado = 11- VResto;

        //alert(VSomaProduto + "-" +" (parseInt(" + VSomaProduto + "/ 11,10) * 11))\n" + VSomaProduto + "-" +" (" + parseInt(VSomaProduto/11,10) + " * 11))\nDígito: " + VResultado);
	
	if (VTamanho != 9)
	{ // I02
		alert('Inscrição Estadual - CCE incorreta');
		return false;
	} // I02
	
	if ((VResto >= 2) && (VDigito != VResultado))
	{ // I03
		alert('Inscrição Estadual - CCE incorreta');
		return false;
	} // I03
	
	if (( VResto == 0 ) && ( VDigito != 0))
	{ // I04
		alert('Inscrição Estadual - CCE incorreta');
		return false;
	} // I04
	
	if ((VCCESemDigito == 11094402) && (VDigito >= 2))
	{ // I05
		alert('Inscrição Estadual - CCE incorreta');
		return false;
	} // I05
	
	if ((VResto == 1 ) && ((VCCESemDigito >= 10103105) && (VCCESemDigito <= 10119997)) && ( VDigito != 1))
	{ // I06
		alert('teste 1 Inscrição Estadual - CCE incorreta');
		return false;
	} // I06
	
	if ((VResto == 1 ) && ((VCCESemDigito < 10103105) && (VCCESemDigito > 10119997)) && ( VDigito != 0))
	{ // I07
		alert('teste Inscrição Estadual - CCE incorreta');
		return false;
	} // I07
	else
	{ // E07
		return true;
	} // E07
	
} // F05
