
var TYPING_TIMEOUT = 500;
var search_suggestions_keytimer = null;
var search_suggestions_still_typing = true;

function search_suggestions_init(suggestion_text_id, suggestor_id)
{
	document.observe("click", function(e)
	{
		$(suggestor_id).hide();
	});
	
	$(suggestion_text_id).observe("keyup", function(e)
	{
		search_suggestions_still_typing = true;
		if (search_suggestions_keytimer != null)
		{
			clearTimeout(search_suggestions_keytimer);
		}
		search_suggestions_keytimer = setTimeout("search_suggestions_fire_suggest('" + suggestion_text_id + "', '" + suggestor_id + "')", TYPING_TIMEOUT);
	});
}

function search_suggestions_fire_suggest(suggestion_text_id, suggestor_id)
{
	search_suggestions_keytimer = null;
	search_suggestions_suggest_query($(suggestion_text_id).value, suggestion_text_id, suggestor_id);
}

function search_suggestions_suggest_query(q, suggestion_text_id, suggestor_id)
{
	if (q.length < 3)
	{
		$(suggestor_id).hide();
		return;
	}	
	
	new Ajax.Request(contextPath + "/search",
	{
		method: "get",
		parameters:
		{
			q: q,
			site: "inst_" + shortlang + "_suggestions",
			client: "default_frontend",
			output: "xml_no_dtd",
			proxystylesheet: "inst_search",
			oe: "UTF-8",
			ie: "UTF-8",
			lang: shortlang,
			num: 5,
			use_pagination: "false",
			start: 0,
			filter: 0,
			proxyreload: 1
		},
		onSuccess: function(t)
		{
			$(suggestor_id).update(t.responseText);
			$(suggestor_id).show();
		}
	});
}