var tipos = new Array(
	{
		texto: 'Informe o Nº do processo',
		name: 'xmlproc',
		target: '_blank',
		base: false,
		erros: function(){
			trimed = $('filtro').value.replace(/[^0-9]/g, '');
			if(trimed.length == 0){
				alert("Você deve fornecer algum número de processo para a pesquisa");
				return true;
			}
			else if(trimed.length > 20){
				alert("O número do processo deve ter no máximo 1520 ígitos");
				return true;
			}	
		}
	},
	{
		texto: 'Informe o nome da parte ou advogado',
		name: 'xmlnomparte',
		ordenar: true,
		base: true,
		erros: function(){
			trimed = $('filtro').value.replace(/^\s+|\s+$/, '');
			partes = trimed.split(' ');
			if(partes.length < 2){
				alert("O nome da parte ou advogado deve ter pelo menos 2 palavras.");
				return true;
			}
			else{
				filtrado = '';
				for(i = 0; i < partes.length; i++){
					filtrado = filtrado + partes[i].replace(/^\s+|\s+$/, '');
					if(partes[i].replace(/^\s+|\s+$/, '').length > 0){
						filtrado = filtrado + ' ';
					}
				}
				$('filtro').value = filtrado.substring(0, filtrado.length - 1);
			}
			
			if($('SE').checked == false && $('AL').checked == false && $('PB').checked == false
				&& $('RN').checked == false && $('CE').checked == false && $('PE').checked == false) {
				alert("Selecione uma ou mais seções judiciárias para a consulta");
				return true;
			}
		}
	},
	{
		texto: 'Informe o Nº da OAB',
		name: 'xmladvoab',
		base: true,
		ordenar: false,
		uf: true,
		erros: function(){
			trimed = $('filtro').value.replace(/[^0-9]/g, '');
			if(trimed.length == 0){
				alert("Você deve fornecer algum número de oab para a pesquisa");
				return true;
			}
			if($('SE').checked == false && $('AL').checked == false && $('PB').checked == false
				&& $('RN').checked == false && $('CE').checked == false && $('PE').checked == false) {
				alert("Selecione um ou mais estados para a consulta");
				return true;  
			}
			while($('filtro').value.length < 6){
				$('filtro').value = "0" + $('filtro').value;
			}
			return false;
		} 
	}
);

function opts(e){
	if(e == 'xmlproc'){
		opt = e;
	}
	else{
		opt = Event.element(e).value;
	}
    for(i = 0; i < tipos.length; i++){
		if(opt == tipos[i].name){
			$('consultaNomeFiltro').innerHTML = tipos[i].texto + ':';
			$('form_consulta').target = tipos[i].target;
			$('filtro').value = tipos[i].texto;
			if(tipos[i].uf){
				$('uf').disabled = "";
				$('label_uf').style.display = "";
			}
			else{
				$('uf').disabled = "disabled";
				$('label_uf').style.display = "none";
			}
			if(tipos[i].ordenar){ 
				$('ordenacao').style.display = "";
			}
			else{
				$('ordenacao').style.display = "none";
			} 
			if(tipos[i].base){ 
				$('bases').style.display = "";
			}
			else{
				$('bases').style.display = "none";
			}
			break; 
		}
	}
    $('filtros').style.display="";
}

function submitConsulta(){
	if($F('filtro').replace(/^\s+|\s+$/, '') != ''){
		var erro = true;
	    for(i = 0; i < tipos.length; i++){
			if($('tipo_' + tipos[i].name).checked == true){
				erro = tipos[i].erros();
			}
		} 
		if(erro){
			Event.stop(e); 
			$('filtro').focus();
			 
		}else{
			$('form_consulta').submit();
		}
	}
}

function submeter(e){
	//if(e.keyCode == Event.KEY_RETURN) {
		if($('filtro').value.trim() != ''){
			var erro = true;
		    for(i = 0; i < tipos.length; i++){
				if($('tipo_' + tipos[i].name).checked == true){
					erro = tipos[i].erros();
				}
			} 
			if(erro){
				Event.stop(e);
				$('filtro').focus(); 
				 
			}else{
				$('form_consulta').submit(); 
			}
		} 
		else{
			Event.stop(e);  
		}
	//}
}

 
function limpaFiltro(e){
	for(i = 0; i < tipos.length; i++){
		if(Event.element(e).value == tipos[i].texto){
			Event.element(e).value = '';
			break;
		}
	}
}  

    for(i = 0; i < tipos.length; i++){
		Event.observe('tipo_' + tipos[i].name, 'click', function(e){ opts(e) });
	}
	
	//Event.observe('filtro', 'keydown', function(e){ submeter(e) });
	Event.observe('form_consulta', 'submit', function(e){ submeter(e) }); 
	Event.observe('filtro', 'focus', function(e){ limpaFiltro(e) });
	Event.observe('resetConsulta', 'click', function(e){ $('form_consulta').reset(); opts('xmlproc') });
	Event.observe('submitConsulta', 'click', function(e){ submitConsulta() });
	Event.observe(window, 'load', function(e) { opts('xmlproc')});

