resultados = new Array();
actual = 0;
ultima = "";

document.getElementById('letra').onkeydown = function(ev) {
	if (!ev) ev = window.event;

	switch (ev.keyCode) {
		case 38: case 37: // Arriba
			
			$('#sug' + actual).removeClass('autocompletarhover');
			
			if (actual == 1) actual = resultados.length; else actual--;

			$('#sug' + actual).addClass('autocompletarhover');
			return false;
		break;
		
		case 40: case 9: case 39: // Abajo
			$('#sug' + actual).removeClass('autocompletarhover');
			
			if (actual == resultados.length) actual = 1; else actual++;
			
			$('#sug' + actual).addClass('autocompletarhover');
			return false;
		break;
		
		case 13:
			if (actual != 0) {
				$('#letra').val($('#sug' + actual).html());
				actual = 0;
				return false;
			} else {
				this.form.submit();
			}
		break;

		default:
		//	alert(ev.keyCode);
		break;
	}
	
}

document.getElementById('letra').onkeyup = function() {
												buscarSugerencias();
										   };
										   
var elemento = document.getElementById('letra');
elemento.setAttribute("autocomplete", "off");
										   
function buscarSugerencias() {
	var str = escape($('#letra').val());
	
	if (str == ultima) return false;
	
	ultima = str;
	actual = 0;

	if (str.length < 3) {
		resultados = new Array();
	} else if (str.length == 3 || str.length == 6) {
		$.get('ajax/buscarSugerencias.php', {'search': str}, manejadorBusqueda);
	} else {
		manejadorBusqueda(escape(str), 1);
	}
}		

function manejadorBusqueda(data, tipo) {
	var ss = $('#sugerencias');
	ss.html('<ul>').show();
		
	if (tipo == 1) {
		data = unescape(data);
		
		x = 0;
		for (i = 0; i < resultados.length; i++) {
			if (escape(resultados[i]).indexOf(data) != -1) {
				x++;
				ss.html(ss.html() + '<li><a onclick="$(\'#letra\').val(this.innerHTML);" id="sug' + x + '">' + resultados[i] + '</a></li>');
			}
		}
	} else {
		var str = data.split("\n");

		for (i = 0; i < str.length; i++) {
			if (str[i] == '' || str[i] == undefined) continue;

			resultados[i] = str[i];

			ss.html(ss.html() + '<li><a onclick="$(\'#letra\').val(this.innerHTML);" id="sug' + (i + 1) + '">' + str[i] + '</a></li>');
		}				
	}
	
	ss.html(ss.html() + '</ul>');
}