$(document).ready(inicializarEventos);

var interior;
var deep;
var datos;
var actual;
var activo;
var correlacion;
var vacio = true;

function inicializarEventos() {			// buscador ajax
	interior = true;
	datos = null;
	actual = 0;
	activo = true;
	correlacion = 0;

	var buscador=$("#deep").attr("value");
	if (buscador==0)
		deep = "./";
	else
		deep = "";
	for (var i=0; i < buscador; i++)
		deep = deep+"../";

	// Funcionamiento del panel de búsqueda
	$("#buscador").keyup(function () 
		{
			vacio = false;
			if (!activo) {activo=true;return;}
			var texto = $("#buscador").attr("value").replace(/ /g,"+");
			var idioma = $("#idioma").attr("value");
			if (texto.length > 2) 
			{
				correlacion++;
				$.getJSON("./buscador.php", {texto:texto,idioma:idioma,correlacion:correlacion},function (retorno) 
					{
						if (retorno.correlacion < correlacion)
							return;
						datos = retorno;
						actual = 0;
						$("#resultados").html(datos.pagina1);
						$("#resultados").css("display","block");
				});
			} 
			else 
				$("#resultados").css("display","none");
		});
	$("#buscador").blur(function () 
		{
			if (!interior) 
				$("#resultados").css("display","none");
	});	
	$("#resultados").mouseover(function () 
		{
			interior = true;
		})
	$("#resultados").mouseout(function () 
		{
			interior = false;
		})
	
	// Moverse por el panel con el teclado y captacion de ENTER
	var oldonkeydown=document.body.onkeydown;
	if(typeof oldonkeydown!='function')
		document.body.onkeydown=navegar;
	else {
		document.body.onkeydown=function() {
				oldonkeydown();
				navegar();
		}
	}

	// boton "buscar"
	$("#boton_buscador").click(buscar);
}

function buscar() 
{
	if (vacio) 
		return;
	var criterio = $("#buscador").val();
	if (criterio == "") 
		return;
	window.location.href="./buscar.php?criterio="+criterio;
}

function resaltar()
{
	$("#resultados li").each(function ()
		{
			$(this).css("background-color","#FFFFB0");
		});
	var x = "#buscadorli"+actual;
	$(x).css("background-color","#E6E6E6");
}

function navegar(e)
{
	if(document.all)e = event;

//	if(!resultados)return;
	if($("#resultados").css("display")=="none")return;

	if(e.keyCode==38)	// Arriba
	{
		activo = false;
		if (actual > 1)
			actual--;
		resaltar();
		return;
	}

	if(e.keyCode==40)	// Abajo
	{
		activo = false;
		if ((datos) && (actual < datos.cantidad))
			actual++;
		resaltar();
		return;
	}

	if(e.keyCode==13)	// Enter
	{
		if (datos.cantidad == 1)
			actual = 1;
		if (actual < 1)
		{
			buscar();
			return;
		}
		var x = "#buscadorli"+actual;
		$("#buscador").attr("value",$(x).text());
		x = $(x).html();
		x = x.split(/href="/g);
		x = x[1].split(/"/g);
		x = x[0];
		window.location.href=x;
		return;
	}
	if(e.keyCode==27)	// Esc
		$("#resultados").css("display","none");			
}

