function SearchSystem() {}

SearchSystem.index = new Array();
SearchSystem.scripts = new Array();
SearchSystem.count = new Array();
SearchSystem.overlay = new Array();

SearchSystem.search = function (event, obj) {

	var name = obj.name;
	var index = SearchSystem.index[name];
	var scripts = SearchSystem.scripts[name];
	var count = SearchSystem.count[name];
	var overlay = SearchSystem.overlay[name];

	switch (event.keyCode) {
		case 13:
			if(index>-1) {
				scripts[index]();
			}
			break;
		
		case 38:
			if (index>0) {
				SearchSystem.index[name]--;
				SearchSystem.moveSelection(name);
			}
			break;
			
		case 40:
			if ((index + 1) < count) {
				SearchSystem.index[name]++;
				SearchSystem.moveSelection(name);
			}
			break;
			
		case 27:
			obj.value = "";
			overlay.hide();
			break;
		
		default:
			Search.search(name, obj.value);
	}
}


SearchSystem.moveSelection = function(name) {

	var searchIndex = SearchSystem.index[name];

	var resultsDiv2 = document.getElementById(name + 'results');

	for (var i=0; i < resultsDiv2.childNodes.length; i++) {
		if (resultsDiv2.childNodes.item(i).nodeType == 1 && 
				(resultsDiv2.childNodes.item(i).nodeName == 'div' ||
				resultsDiv2.childNodes.item(i).nodeName == 'DIV')) {
		
			var resultsDiv = resultsDiv2.childNodes.item(i);
		}		
		
	}
	
	
	for (var i=0; i < resultsDiv.childNodes.length; i++) {
		if (resultsDiv.childNodes.item(i).nodeType == 1 && 
				(resultsDiv.childNodes.item(i).nodeName == 'ul' ||
				resultsDiv.childNodes.item(i).nodeName == 'UL')) {
			
			var uls = resultsDiv.childNodes.item(i).childNodes;
			var index = 0;
			for(var j=0; j < uls.length ; j++) {
				if (uls.item(j).nodeType == 1 && 
					(uls.item(j).nodeName == 'li' ||
					uls.item(j).nodeName == 'LI')) {

					if (searchIndex == index) {
						uls.item(j).className = name + 'selected';
					} else {
						uls.item(j).className = '';
					}
					index++;				
				}
			}
		}
	}

}

