<!--
	
	var req       = createXMLHttpRequest();
	var wol       = '';
	var sel_index = -1;
	
	function createXMLHttpRequest() {
		var ua;
		if (window.XMLHttpRequest) {
			try {
				ua = new XMLHttpRequest();
			} catch (e) {
				ua = false;
			}
		} else if (window.ActiveXObject) {
			try {
				ua = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				ua = false;
			}
		}
		return ua;
	}
	
	function init_search_box(search_box_name) {
		document.getElementById(search_box_name + '_query').onkeypress   = function (e) { return filter_keypress(e);             }
		document.getElementById(search_box_name + '_query').onkeyup      = function (e) { wol = search_box_name; get_results(e); }
		document.getElementById(search_box_name + '_query').onfocus      = function ()  { wol = search_box_name; get_results();  }
		document.getElementById(search_box_name + '_query').onblur       = clr_results;
	}
	
	function clear_search_box(search_box_name) {
		document.getElementById(search_box_name+'_query').value='';
		document.getElementById(search_box_name).value=0;
		document.getElementById(search_box_name+'_query').focus();
	}
	
	function filter_keypress(key_event) {
		key_code = (key_event.charCode ? key_event.charCode : key_event.keyCode);
		if (key_code == 13) {
			rv = get_results_visible();
			if ((document.getElementById(wol).value == 0) || (rv == 1)) {
				return false;
			} else {
				return true;
			}
		} else if ((key_code == 38) || (key_code == 40)) {
			return false;
		} else {
			return true;
		}
	}
	
	function get_results(key_event) {
		if (key_event) {
			key_code = (key_event.charCode ? key_event.charCode : key_event.keyCode);
		} else {
			key_code = 0;
		}
		
		if ((key_code >= 37) && (key_code <= 40)) { //the four arrow keys
			var divs = document.getElementsByTagName('div');
			for (a=divs.length-1;a>=0;a--) {
				if (divs[a].className =='xml_results') {
					var listitems = divs[a].childNodes[0].childNodes;
					if (key_code == 38) { //up
						if (sel_index >= -1) {
							if (sel_index == 0) listitems[1].className = 'first';
							else if (sel_index > 0) listitems[(sel_index*2)+1].className = '';
							
							if (sel_index == -1) sel_index = 10;
							sel_index--;
							
							if (sel_index >= 0) {
								listitems[(sel_index*2)+1].className = listitems[(sel_index*2)+1].className + ' selected';
							}
						}
					} else if (key_code == 40) { //down
						if (sel_index <= 9) {
							if (sel_index == 0) listitems[1].className = 'first';
							else if (sel_index > 0) listitems[(sel_index*2)+1].className = '';
							
							sel_index++;
							if (sel_index == 10) sel_index = -1;
							
							if (sel_index >= 0) {
								listitems[(sel_index*2)+1].className = listitems[(sel_index*2)+1].className + ' selected';
							}
						}
					} else {
						// left and right
					}
				}
			}
		} else if (key_code == 13) {
			var divs = document.getElementsByTagName('div');
			for (a=divs.length-1;a>=0;a--) {
				if (divs[a].className =='xml_results') {
					var listitems = divs[a].childNodes[0].childNodes;
					for (a=listitems.length-1;a>=0;a--) {
						if ((listitems[a].tagName == 'LI') && (listitems[a].className.indexOf('selected') > -1)) {
							select_xml_link(listitems[a].childNodes[0]);
						}
					}
				}
			}
		} else {
			clr_results();
			
			var query = document.getElementById(wol+'_query').value;
			var query_type = document.getElementById(wol+'_query').className;
			
			if (query.length >= 2) {
				req.abort();
				
				if (query_type == 'news_query') {
					var xml_action = 'search_news_story';
				} else if (query_type == 'event_query') {
					var xml_action = 'search_event_name';
				} else if (query_type == 'player_query') {
					var xml_action = 'search_player_name';
				}
				
				var request_string = 'xml.php?action=' + xml_action + '&html=1&query=' + query;
				
				if ((document.getElementById('show_all') == null) || (document.getElementById('show_all').checked)) {
					if (typeof gender != "undefined") {
						request_string = request_string + '&gender=' + gender;
					}
				} else {
					if (typeof sql != "undefined") {
						request_string = request_string + '&sql=' + encodeURI(sql);
					}
				}
				req.open('get', request_string);
				req.onreadystatechange = process_results;
				req.send(null);
			} else {
				document.getElementById(wol).value = 0;
			}
		}
	}
	
	function process_results() {
		if (req.readyState == 4) {
			var results_div = document.createElement('div');
			results_div.className = 'xml_results';
			results_div.style.marginLeft = document.getElementById(wol+'_query').offsetLeft + 'px';
			results_div.innerHTML = req.responseText;
			document.getElementById(wol+'_query').parentNode.appendChild(results_div);
			
			if (results_div.childNodes.length > 0) {
				var listitems = results_div.childNodes[0].childNodes;
				for (a=listitems.length-1;a>=0;a--) {
					if (listitems[a].tagName == 'LI') {
						if (listitems[a].childNodes[0].tagName == 'A') {
							listitems[a].childNodes[0].onclick = function () { return select_xml_link(this); }
						}
					}
				}
			}
			
			results_div.onmousemove = function () { document.getElementById(wol+'_query').onblur = null;        }
			results_div.onmouseout  = function () { document.getElementById(wol+'_query').onblur = clr_results; }
			
		}
	}
	
	function clr_results() {
		// remove any existing results DIVs
		var divs = document.getElementsByTagName('div');
		for (a=divs.length-1; a>=0; a--) {
			if (divs[a].className =='xml_results') {
				divs[a].parentNode.removeChild(divs[a]);
			}
		}
		sel_index = -1;
	}
	
	function get_results_visible() {
		// are there any results DIVs
		results_visible = 0;
		var divs = document.getElementsByTagName('div');
		for (a=divs.length-1;a>=0;a--) {
			if (divs[a].className =='xml_results') {
				results_visible = 1;
			}
		}
		return results_visible;
	}
	
	function select_xml_link(player_link) {
		document.getElementById(wol+'_query').value  = html_entity_decode(player_link.innerHTML);
		document.getElementById(wol).value           = player_link.id;
		
		clr_results();
		document.getElementById(wol+'_query').onblur = clr_results;
		
		return false;
	}

//-->
