var search = null;
var results = null;
var items = null;
var selected = null;
var matches = null;

function iniSearch() {

	search = document.getElementById("search");
	results = document.getElementById("results");
	
	search.setAttribute("autocomplete", "off");

	search.onfocus = function() {
		if (items == null) {
			$.getJSON("backend/search.php", function(data) {
				items = data.items;
			});
		}
	}
	
	search.focus();

	search.onkeyup = function(event) {
		var key = event.keyCode;
		if (key == 13 && selected != null) {
			document.location.href = matches[selected].url;
		} else if (key == 38) {
			selected = (matches.length + selected - 1) % matches.length;
		} else if (key == 40) {
			selected = (selected + 1) % matches.length;
		} else {
			var t = search.value.toLowerCase();
			selected = null;
			matches = Array();
			if (t != '' && items != null) {
				for ( var i = 0; i < items.length; i++) {
					var item = items[i].name.toLowerCase();
					if (item.indexOf(t) >= 0) {
						matches.push(items[i]);
						if (selected == null) {
							selected = matches.length - 1;
						}
					}
				}
			}
		}
		buildResultList();
	}
}

function buildResultList() {
	results.innerHTML = '';
	for ( var i = 0; i < matches.length; i++) {
		if (i == selected) {
			results.innerHTML += "<b><a href=\"" + matches[i].url + "\">" + matches[i].name + "</a></b><br />";
		} else {
			results.innerHTML += "<a href=\"" + matches[i].url + "\">" + matches[i].name + "</a><br />";
		}
	}
}