﻿// JavaScript Document
//==================================
//Instância a classe js da facasper
Fac = new FAC;
var li = 0;

function validaChars(vars){
var string = $(vars).val();
var reg = /(;)|(<([a-z][A-Z0-9]*)>)|(<\/([a-z][A-Z0-9]*)>)|(>)|(<)|(SELECT )|(TRUNCATE)|(\\)|(\|)|(=)/i;
var resultado = reg.exec(string);

	if(resultado){
		alert('Você digitou caracteres inválidos!');
		$(vars).val('');
		return false;
	}
}



$(function(){
		   
	$('#query').keyup(function(event){
							   
	validaChars(this);
	
	var e = event.keyCode;
	var value = $(this).val();
		if(value.length >= 3 && e != 8 && e != 37 && e != 38 && e != 39 && e != 40 && e != 20 && e != 16 && e != 18 && e != 17 && e != 13){
		Fac.JSON({
			url:'/_ajax/fac.sugest.php',
			async:false,
			dataType:'xml',
			data:{value:value},
			result:function(xml){
			  if(parseInt($(xml,'resultado').find("retorno").text()) != 0){
				var HTML = '';
				
				var i = 1;
				$('resultado',xml).each(function(){
					HTML += '<li id="li-'+i+'"><a href="javascript:void(0)">'+$('titulo',this).text()+'</a></li>\n';
					i++;
				});
				
				$('#divSugestList ul').empty().append(HTML);
				$('#divSugestList').show();
				li = 0;
			  }else{
				$('#divSugestList ul').empty().append('');  
				$('#divSugestList').hide();
			  }
			}
		 });
		}else if(e == 8){
			$('#divSugestList').hide();
		//EVENTO DAS SETAS PARA BAIXO/CIMA =>
		}else if(e == 38 || e == 40){
			
			//Número de quantas linhas o sugest encontrou
			var num_li = $("[id^='li-']").length;
			var titulo;
			$("[id^='li-']").removeAttr('class');
			//PRIMEIRO CLICK
			if(li == 0){
				if(e == 40){
					li = 1;
					titulo = $('#li-'+li).text();
					$('#li-'+li).attr('class','selecionado');
				}else{
					li = num_li;
					titulo = $('#li-'+li).text();
					$('#li-'+li).attr('class','selecionado');
				}
			}else{
				if(e == 40){
					if(li < num_li){
						li = li + 1;
					}else{
						li = 1;
					}
					titulo = $('#li-'+li).text();
					$('#li-'+li).attr('class','selecionado');
				}else{
					if(li > 1){
						li = li - 1;
					}else{
						li = num_li;
					}
					titulo = $('#li-'+li).text();
					$('#li-'+li).attr('class','selecionado');
				}
			}
			$('#query').val(titulo);
		}
		return false;
		
	});
	
	$("[id^='li-']").live('click',function(){
		var val_busca = $(this).text();
		$('#query').val(val_busca);
		$('#ok-search').click();
	});
	
	
	$("#ok-search").live('click',function(){
		if($('#query').val().length < 3){
			alert('Busca no mínimo de 3 caracteres!');
			return false;
		}
	});



});

