function schemeSearch(fieldId, input)
{
	if (input == '')
		return false;

	var ajax = new Ajax();

	if ( ajax == null )
	{
		document.getElementById(fieldId).innerHTML = 'Error: AJAX is not working!';
		return;
	}
	
	var proc = function(handler)
	{
		if ( handler.readyState == 4 && handler.status == 200 )
		{
			makeSearchNice(fieldId, input, handler.responseXML);
		}
		else if ( handler.readyState == 4 && handler.status == 404 )
		{
			document.getElementById(fieldId).innerHTML = 'Error: Search is not working!';
		}
		else
		{
			//document.getElementById(fieldId).innerHTML += handler.responseText;
		}
	};

	ajax.Open(proc, '/search/' + input, 'GET');

	return false;
}

function makeSearchNice(fieldId, searchQuery, xml)
{
	var doc = xml.documentElement;

	var hits = doc.getElementsByTagName('result')[0].getAttribute('hits');
	var resultList = doc.getElementsByTagName('item');
	
	if (hits < 1)
	{
		document.getElementById(fieldId).innerHTML = "No results found for '" + searchQuery + "'.";
	}
	else
	{
		// Delete all old childs
		document.getElementById(fieldId).innerHTML = '';
		
		var span = document.createElement('SPAN');
		span.setAttribute('class', 'statusCount');

		if (hits == 1)
			span.innerHTML = hits + ' result...';
		else
			span.innerHTML = hits + ' results...';
		document.getElementById(fieldId).appendChild(span);

		var ul = document.createElement('UL');

		for (var i = 0; i < resultList.length; i++)
		{
			var item = resultList[i];
			var name = item.getElementsByTagName('name')[0].firstChild.nodeValue;
			var link = item.getElementsByTagName('link')[0].firstChild.nodeValue;
			
			var li = document.createElement('LI');

			var a = document.createElement('A');
			a.setAttribute('href', link);
			a.innerHTML = name;
			li.appendChild(a);

			ul.appendChild(li);
		}

		document.getElementById(fieldId).appendChild(ul);
	}
}
