var sgSelect = -1;
var sgSelectMax = 0;
var sgUsed = 0;
var sgOn = ""

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		return true;
	}
}

var searchReq = getXmlHttpRequestObject();

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = document.getElementById('Header1_searchterm').value;
		str=str.replace('#','');
		str=str.replace('&','');
		str=escape(str);

		if (str.length > 1) {
		searchReq.open("GET", '/includes/search/searchsuggest.aspx?searchTerm=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
		}
		else suggestClear(document.getElementById('searchsuggest'),str);			
	}		
}

function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('searchsuggest')
		ss.innerHTML = '';
		if ((str != '') && ( str != 'none')) 
		{
			sgSelect=-1;
			var str = searchReq.responseText.split("\n");
			for(i=0; i < str.length - 1; i++) {
				//Build our element string.  This is cleaner using the DOM, but
				//IE doesn't support dynamically added attributes.
				var suggest = '<div onmouseover="javascript:sgSelect=-1;suggestOver(this);" ';
				suggest += 'id="sg_'+i+'" ';
				suggest += 'onmouseout="javascript:suggestOut(this);" ';
				suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
				suggest += 'class="suggest_link">';
				if(str[i].length > 29) suggest += str[i].substring(0,26) + '...';
				else suggest += str[i];
				suggest += '</div>';
				ss.innerHTML += suggest;
			}
			sgSelectMax = i-1;
			if (i>0)ss.className = 'suggest_boxon';
			else ss.className = 'suggest_boxoff';
		}
		else
			ss.className = 'suggest_boxoff';
	}
}

function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
	sgOn = div_value.innerHTML;
}
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

function setSearch(value) {
	document.getElementById('Header1_searchterm').value = value.replace(/^\s+|\s+$/g,"");
	document.getElementById('searchsuggest').innerHTML = '';
	suggestClear(document.getElementById('searchsuggest'),value);
	sgUsed=1;
}

function suggestDown() {
	if (sgSelect < sgSelectMax) sgSelect++;
	else sgSelect = 0;
	suggestOver(document.getElementById('sg_'+sgSelect));
	document.getElementById('Header1_searchterm').value = document.getElementById('sg_'+sgSelect).innerHTML.replace(/^\s+|\s+$/g,"");
	if (sgSelect > 0) suggestOut(document.getElementById('sg_'+eval(sgSelect-1)));
	else suggestOut(document.getElementById('sg_'+sgSelectMax));
	sgUsed=1;
}

function suggestUp() {
	if ((sgSelect == 0) || (sgSelect == -1)) {
		sgSelect = sgSelectMax;
		suggestOver(document.getElementById('sg_'+sgSelect));
		document.getElementById('Header1_searchterm').value = document.getElementById('sg_'+sgSelect).innerHTML.replace(/^\s+|\s+$/g,"");
		suggestOut(document.getElementById('sg_0'));
	}
	else {
		sgSelect--;
		suggestOver(document.getElementById('sg_'+eval(sgSelect)));
		document.getElementById('Header1_searchterm').value = document.getElementById('sg_'+eval(sgSelect)).innerHTML.replace(/^\s+|\s+$/g,"");
		suggestOut(document.getElementById('sg_'+eval(sgSelect+1)));
	}
	sgUsed=1;
}

function suggestClear(div_value,sText) {
	if (div_value.value=='') { div_value.value=sText; } else if (sgOn != '') div_value.value = sgOn;
	document.getElementById('searchsuggest').innerHTML = '';
	document.getElementById('searchsuggest').className = 'suggest_boxoff';
	sgOn='';
}

