// JavaScript Document
//--------------------------------------------------------------------------------
// //Formatação dos números com 15 digitos e 10 digitos da página inicial
function formata_numero(num){
	if(num.charAt(0) == '2'){
		numero = num.substr(0,4)+ '.' + num.charAt(4) + num.charAt(5) + '.'+ num.charAt(6) + num.charAt(7) +'.'+ num.charAt(8)+num.charAt(9)+num.charAt(10) + num.charAt(11) + num.charAt(12) + num.charAt(13)+ '-' + num.charAt(14);			
	}else{
		numero = num.substr(0,2)+'.'+ num.charAt(2)+ num.charAt(3)+num.charAt(4)+num.charAt(5)+num.charAt(6)+ num.charAt(7)+ num.charAt(8)+'-'+ num.charAt(9);
	}
	return numero;
}
//--------------------------------------------------------------------------------
// Função que completa o numero do processo com zeros para que fique correto
function completa_zeros(numero){
	var num, i, zeros = '';	

	if(numero.charAt(0) == '2'){	
		for(i=1; i <= 15 - numero.length;i++){
			zeros = zeros + '0';
		}		
		numero = numero.substr(0,8) + zeros + numero.substr(8,numero.length );		
	} else {
		for(i=1; i <= 10 - numero.length;i++){
			zeros = zeros + '0';
		}		
		numero = numero.substr(0,2) + zeros + numero.substr(2,numero.length );					
	}
	
	return numero;
}

//--------------------------------------------------------------------------------
// Função que extrai todos os digitos de uma string
function extrai_digitos(str){
	var str_numeros = "";
	var i;
	for(i=0; i < str.length; i++){
		if((str.charAt(i) >= '0') && (str.charAt(i) <= '9'))
			str_numeros = str_numeros + str.charAt(i);
	}
	str_numeros = completa_zeros(str_numeros);
	return str_numeros;
}

//--------------------------------------------------------------------------------
// Função que calcula o digito verificador do numero dado (com 10 digitos)
function calcula_digito1(numero){
	var digito = 0;
	var i;
	
	for(i=0; i< 9; i++){
		digito += parseInt(numero.charAt(i))*(i+1); 
	}
	digito = digito%11;
	if(digito > 9)
		digito = 0;
	return digito;
}
//--------------------------------------------------------------------------------
// Função que calcula o digito verificador do numero dado (com 15 digitos)
function calcula_digito2(numero){
	var digito = 0;
	var i;
	for(i=13; i > -1; i--){
		if(i >= 6) {
				digito += parseInt(numero.charAt(i))*(15-i); 
		}else {
			digito += parseInt(numero.charAt(i))*(7-i); 		
		}

	}
	digito = digito%11;
	if(digito > 9)
		digito = 0;
		
	return digito;
}
//---------------------------------------------------------------------------------
// Função que verifica o digito verificador do número de um processo dado no formato (99999999999)
function verifica_digito_processo(numero){
	var valido = true;
	var digito = -1;
	
	// Verifica o digito para um processo com 10 algarismos
	if(numero.length == 10){				
		digito = calcula_digito1(numero);						
		if(digito != parseInt(numero.charAt(9))){
			valido = false;
		}
	} 
	// Verifica o digito para um processo com 15algarismos	
	else if(numero.length == 15){
		digito = calcula_digito2(numero);										
		if(digito != parseInt(numero.charAt(14))){
			valido = false;
		}		
	} 
	// O número do processo não possui 10 nem 15 algarismos
	else {
		valido = false;
	}
	
	return valido;
}
//--------------------------------------------------------------------------------//
//Essa função só é utilizada se a opção for justiça comum
function retira_caracteres(str){
	var campo_final = "";
	var i;
	for(i=0; i < str.length; i++){
		if((str.charAt(i) != '/') && (str.charAt(i) != '%')&& (str.charAt(i) != '#')&& (str.charAt(i) != '$')&& (str.charAt(i) != '@'))
			campo_final = campo_final + str.charAt(i);
	}
	
	return campo_final;	
}
//--------------------------------------------------------------------------------------
function ZerosAEsquerda(str, quantidade){
	var i, zeros = '';
	for (i=0; i <= (quantidade - str.length-1); i++){
		zeros = '0'+zeros;
	}
	str = zeros+str;
	return str;
}
//--------------------------------------------------------------------------------
//Função que completa o ano com os 4 digitos
function CompletaAno(Ano){

	var anoTotal, tamanho = Ano.length;
	
	if(tamanho == 2)
		if (Ano.substr(0,1) > 5)
			anoTotal = "19"+Ano;
		else
			anoTotal = "20"+Ano;
	else if(tamanho == 1)	
		anoTotal = "200"+Ano;
	else if(tamanho == 0)
		anoTotal = (new Date()).getYear();
	else
		anoTotal = Ano;
	
	return anoTotal;
}
//--------------------------------------------------------------------------------//
function ENumero(caractere){
	if((caractere >= '0') && (caractere <= '9')){
		return true;
	}else 
		return false;
}
//----------------------------------------------------------------------------------//
//Função que verifica se o ultimo caractere é '%' e o substitui pelo digito verificador
function CompletaDigito(Processo){
	var i, novoProcesso = '',digito = '';
	
	if(Processo.charAt(Processo.length-1) == '%'){
		if(Processo.length == 10){				
			digito = calcula_digito1(Processo);	
		}
		if(Processo.length == 15){
			digito = calcula_digito2(Processo);	
		}

		for(i=0;i<Processo.length-1;i++){
			novoProcesso = novoProcesso + Processo.charAt(i);
		}		
		novoProcesso = novoProcesso + digito;
	}else
		novoProcesso = Processo;
	return novoProcesso;
}
//--------------------------------------------------------------------------------//
//Função que monta o processo. Traduzido da função em ASP de consulta processual
function montar_processo(NumProc, opcao){

	var nParteAtual = 1
	var nParteAsterisco = 0
	var Parte1 = '';
	var Parte2 = ''; 
	var Parte3 = '';
	var Parte4 = '';
	var SecaoDef = '80';
	var LocalidadeDef;
	var Pos, caractere, Processo, Secao, Localidade;
	
	if(opcao == 'jfc')
		LocalidadeDef = '00';
	else
		LocalidadeDef = '13';
		
	var Tam = NumProc.length;
	for (Pos = 0; Pos <= Tam-1; Pos++){	
		caractere =  NumProc.substr(Tam-Pos-1,1);
		if ((ENumero(caractere)) || (caractere == '-')){
			if (ENumero(caractere)){
				if (nParteAtual == 1){
					Parte1 = caractere+Parte1;
				} else if(nParteAtual == 2){
					Parte2 = caractere+Parte2;
				} else if(nParteAtual == 3){
					Parte3 = caractere+Parte3;
				}else if(nParteAtual == 4){
					Parte4 = caractere+Parte4;
				}
			}
		} else if ((caractere == '.') || (caractere == '*')){
			if (caractere == '*'){
				if(Pos == 0){
					Parte1 = '%';
					nParteAtual = nParteAtual - 1;
				} else{
					nParteAtual = nParteAtual + 1;			
					nParteAsterisco = nParteAtual;
				}
			}
			nParteAtual = nParteAtual + 1;
		}
	}

	//NUMERO ANTIGO: no caso 95.987 é formato antigo.
	if ((nParteAsterisco == 0) && (nParteAtual == 2) && (Parte2.length == 2)){
		Processo = Parte2+ZerosAEsquerda(Parte1,8);
	//NUMERO NOVO
	} else {
		//Excessao: no caso 03*987 o asterisco devia pular mais um, e 03 é o ano.
		if((nParteAsterisco == 2) && (nParteAtual == 3)){
			Parte4 = Parte3;
			Parte3 = '';
		}

		NumProcesso = Parte1;
		Localidade = Parte2;
		Secao = Parte3;
		Ano = Parte4;

		if ((NumProcesso.length > 0) && (nParteAsterisco == 0) && (nParteAtual == 1) && ((Secao.length + Localidade.length + Ano.length) == 0))
			Processo = NumProcesso;
		else {
			if (Secao.length == 0)
				Secao = SecaoDef;

			if (Localidade.length == 0)
				Localidade = LocalidadeDef;

		   	Processo =  CompletaAno(Ano) + ZerosAEsquerda(Secao,2) + ZerosAEsquerda(Localidade,2) + ZerosAEsquerda(NumProcesso,7);
		}
	}

	Processo = CompletaDigito(Processo);
	return Processo;
}
//--------------------------------------------------------------------------------
// Função que verifica o digito verificador no formulário da página inicial
function verifica_form_consulta_processo(){
	f = this.frm_consulta;
	
	var num = montar_processo(retira_caracteres(f.NumProc.value),f.opcaoEsc.value);
	
	//Verifica se o número do processo é válido de acordo com o dígito verificador	
	var valido = verifica_digito_processo(num);
	//Se o número do processo for válido, formata o número
	if ((valido) && (f.NumProc.value != '') && (f.NumProc.value != 0)) {
		
		f.NumProc.value = formata_numero(num);
		if(f.opcaoEsc.value == 'jfc'){
			f.submit();
		}else{
			location.href="http://www.jfal.gov.br/consulta_processos/juizado/processo.php?numero="+numero;			
		}
	} else{
		alert('Número de processo inválido!');
	}	

}
//--------------------------------------------------------------------------------

function setaValorOpcaoEsc(opc){
	document.frm_consulta.opcaoEsc.value = opc;
}
//--------------------------------------------------------------------------------
// Redireciona para a tabela da contadoria escolhida
function verifica_consulta_juizado(tipo){
	if((tipo == 'parte') && (this.frm_consulta.NumProc.value == '')){
		alert('Digite o nome da parte!');
	} else if ((tipo == 'advogado') && (this.frm_consulta.NumProc.value == '')){
			alert('Digite o nome do advogado!');
	} else if (tipo == 'numero'){
		verifica_form_consulta_processo();
	} else{
		document.frm_consulta.submit();
	}
}
//--------------------------------------------------------------------------------
// Redireciona para a tabela da contadoria escolhida
function redireciona_contadoria_tabela(){
	opcao = document.form_tabela.tabela.options[document.form_tabela.tabela.selectedIndex].value;
	switch(opcao){
		 case '1': 
		 	location.href="tabela1.php?tabela=1";
			break;
		 case '2': 
			 location.href="tabela2.php?tabela=2";
			break;			
		 case '3': 
		 	location.href="tabela3.php?tabela=3";
			break;			
		 case '4': 
		 	location.href="tabela4.php?tabela=4";
			break;			
	}
}
//--------------------------------------------------------------------------------
// Redireciona para o concurso selecionado
function redireciona_concurso(){
	opcao = document.form_concurso.concursos.options[document.form_concurso.concursos.selectedIndex].value;
	switch(opcao){
		 case '16': 
		 	location.href="selecao_conciliadores.php?concurso_id=16";		 
			break;
		 case '15': 
		 	location.href="estagiarios2006_arapiraca.php?concurso_id=15";		 
			break;
		 case '14': 
		 	location.href="estagiarios2005.php?concurso_id=14";		 
			break;	
		 case '13': 
		 	location.href="vii_juiz_federal.php?concurso_id=13";		 
			break;	
		 case '12': 
		 	location.href="estagiarios2004_varas.php?concurso_id=12";		 
			break;	
		 case '1': 
		 	location.href="estagiarios2004_juizado.php?concurso_id=1";
			break;
		 case '2': 
		 	location.href="juiz_federal2004.php?concurso_id=2";		 
			break;			
		 case '3': 
		 	location.href="estagiarios2003_varas.php?concurso_id=3";		 
			break;			
		 case '4': 
		 	location.href="estagiarios2003_juizado.php?concurso_id=4";
			break;			
		 case '5': 
		 	location.href="trf52003.php?concurso_id=5";		 
			break;			
		 case '6': 
		 	location.href="estagiarios2002_varas.php?concurso_id=6";		 
			break;			
		 case '7': 
		 	location.href="estagiarios2002.php?concurso_id=7";		 
			break;			
		 case '8': 
		 	location.href="estagiarios2001.php?concurso_id=8";		 
			break;			
		 case '9': 
		 	location.href="vjuiz_federal.php?concurso_id=9";		 		 
			break;			
		 case '10': 
		 	location.href="estagiarios2000.php?concurso_id=10";		 		 
			break;						
		 case '11': 
		 	location.href="trf51998.php?concurso_id=11";		 
			break;															
	}
}

//--------------------------------------------------------------------------------
function as_stop(){
	clearTimeout(as_timer);
}
//--------------------------------------------------------------------------------
function as_start(){
	as_scroll(valorcliptop);
}
//--------------------------------------------------------------------------------
as_timer = null;
valorcliptop = null;
//\\_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-//\\
leftedge=0        //  seta lateral \\
topedge=0;    // lacalizacao do top \\
boxheight=100;   // height do novo box \\
boxwidth=201;      // width do novo box \\
scrollheight=5;    // Altura do scroll \\
//\\------------------------------------//\\
//--------------------------------------------------------------------------------
function as_scroll(cliptop) {
as_timer = null
valorcliptop = null
cliptop = (cliptop + 1) % (scrollheight + boxheight);
//==================\\
if (!document.all) {
newsDiv=document.getElementById("noticia").style; 
newsDiv.left = leftedge;
newsDiv.top = topedge - cliptop -20;
}else{
newsDiv=noticia.style;
newsDiv.pixelLeft = leftedge;
newsDiv.pixelTop = topedge - cliptop;
}
//===================================\\
newsDiv.clip = "rect(" + cliptop + "px " + (boxwidth + leftedge) + "px " + (cliptop + boxheight) + "px 0px)";
newsDiv.visibility='visible';
as_timer = setTimeout("as_scroll(" + cliptop + ")", 80);
valorcliptop = cliptop
//=================================\\
}

//FUNÇÂO QUE VERIFICA FORMATAÇÂO DA DATA:
var padrao_data = new Array(2,2,4)
var padrao_cep = new Array(5,3)
function mascara(d,sep,pat,nums){
if(d.valant != d.value){
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++){
		val2 += val[r]	
	}
	if(nums){
		for(z=0;z<val2.length;z++){
			if(isNaN(val2.charAt(z))){
				letra = new RegExp(val2.charAt(z),"g")
				val2 = val2.replace(letra,"")
			}
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++){
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++){
		if(q ==0){
			val = val3[q]
		}
		else{
			if(val3[q] != ""){
				val += sep + val3[q]
				}
		}
	}
	d.value = val
	d.valant = val
	}
}

function verificaData(objeto){
	//f = document.form1;
	erro=0;
	hoje = new Date();
	anoAtual = hoje.getFullYear();
	barras = objeto.value.split("/");
	if (barras.length == 3){
		dia = barras[0];
		mes = barras[1];
		ano = barras[2];
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano >= 1900));
		if (!resultado) {
			alert("Formato de data invalido!");
			objeto.focus();
			return false;
		}
	} else {
		alert("Formato de data invalido!");
		objeto.focus();
		return false;
	}
	return true;
}

function SetaClassDigitacao(obj)
	{
	obj.style.backgroundColor='#CCCCCC';	
	}

function SetaClassNormal(obj)
	{	
	obj.style.backgroundColor='#FFFFFF';
	}

function SetaCampo(p_campo)
	{
	var formulario = window.document.forms[0];
	formulario[p_campo].focus();
	}		

function Ajuda(p_campo_destino,p_frase) 
	{
	var formulario = window.document.forms[0];
	formulario[p_campo_destino].value = p_frase;
	}

function Confirma(p_pergunta) 
	{
	if (confirm(p_pergunta))
		{
		return true;
		}
	return false;
	}
//FIM DA FORMATAÇÃO DA DATA
