function getAjaxHints(text)
{
	if (text.length > 2)
	{
		JsHttpRequest.query(
            '/ajax.php?mid=4',
            {
                'search_text': text
            },
            function(result, errors)
			{
				var list = document.getElementById('ajax_hints');
				
                if(result['hints'].length)
				{
					list.options.length = result['hints'].length;
					for (var i = 0; i < result['hints'].length; i++)
					{
						list.options[i] = new Option(result['hints'][i], i);
						//list.options[i].onclick = selectItem;
					}
					list.onchange = selectItem;
					
					list.size = result['hints'].length;
					list.style.display = 'block';
					document.getElementById('search_text').autocomplete = 'off';
					document.getElementById('search_text').onkeydown = scrollList;
				}
				else
				{
					list.style.display = 'none';
					document.getElementById('search_text').autocomplete = 'on';
				}
            },
            false
        );

	}
	else
	{
		document.getElementById('ajax_hints').style.display = 'none';
	}
}

function scrollList(e)
{
	e = e ? e :event;
	if (e.keyCode != 38 && e.keyCode != 40 && e.keyCode != 13) return;
	
	var list = document.getElementById('ajax_hints');
	switch (e.keyCode)
	{
		case 38: 
			if (list.selectedIndex == -1)
				list.selectedIndex = list.options.length - 1;
			else
				list.selectedIndex--;
				
			break;
		case 40:
			if (list.selectedIndex == list.options.length - 1)
				list.selectedIndex = -1;
			else
				list.selectedIndex++;
				
			break;
		case 13:
			document.getElementById('search_text').value = list.options[list.selectedIndex].text;
			list.style.display = 'none';
			break;
	}
}

function selectItem(e)
{
	var list = document.getElementById('ajax_hints');
	if (list.selectedIndex == -1) return;
	
	document.getElementById('search_text').value = list.options[list.selectedIndex].text;
	list.style.display = 'none';
}

function searchKeyUp(e)
{
	if (e.keyCode != 38 && e.keyCode != 40 && e.keyCode != 13) 
		getAjaxHints(document.getElementById('search_text').value);
}
