var baseHref = "http://www.hownd.com/include/yui/connection/build/";

document.write('<script language="javascript" src="' + baseHref + 'YAHOO.js"></script>');
document.write('<script language="javascript" src="' + baseHref + 'connection.js"></script>');

/* Global Variables */

var isWorking = false;
var lastSuccessfulQuery = "";
var currentQuery = "";
var parsedQuery = "";

/* Executed by body onLoad event */

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function initPage()	      
{
//	if(location.search != "")
//	{
//		var queryString = parseQueryString();
//		document.getElementById("q").value = queryString["q"]; 
//	}
	
	// Only give focus to search box on the home page.
	if (Right(document.location,4) == "com/") {
		document.getElementById("q").focus(); 
	}
	clearAll(); 
	timedQuery(); 
}

/* Run query, restart timer */

function timedQuery()
{
	if( !isWorking & (trimString(lastSuccessfulQuery) != trimString(document.getElementById("q").value)))
		doQuery(document.getElementById("q").value);
	var t = setTimeout("timedQuery()",1500);
} 

/* AJAX for the entire family! */

function doQuery(query)
{
	var lastKeywordPosition = -1;
	var lastKeyword         = "";

	if(!isWorking) 		// do nothing is search is already in progress
	{
		currentQuery = query; 
		parsedQuery  = " " + query.toLowerCase() + " "; // the spaces make searching for keywords easier for non-regex inclined folks like me!

		if(parsedQuery == "  ") // if empty query, clear everything
		{
			clearAll();
			lastSuccessfulQuery = "";
			setWorking("blank", "");	
		}
		
		else
		{
			isWorking = true;
		
			setWorking("working", "Searching: <b>" + parsedQuery + "</b>");

			// http://developer.yahoo.net/yui/connection/index.html
			// http://developer.yahoo.net/yui/connection/docs/YAHOO.util.Connect.html
			var cObj = YAHOO.util.Connect.asyncRequest('GET', "/livesearch.asp?query=" + escape(parsedQuery), callback, null);
		}
	}
}

// If success:
var responseSuccess = function(o){
//	document.getElementById("search_results").innerHTML = o.responseText; //xmlDocument.getElementsByTagName('result')[0].childNodes[0].nodeValue;
	if (o.responseText == "") {
		document.getElementById("searchbtn").value = "No Results Found...";
		document.getElementById("searchbtn").disabled = true;
	} else {
		document.getElementById("searchbtn").value = o.responseText;
		document.getElementById("searchbtn").disabled = false;
	}

	setWorking("done", "Search Complete: <b>" + parsedQuery + "</b>");

	lastSuccessfulQuery = currentQuery;	
	currentQuery = "";
	isWorking = false;
}

// If fail:
var responseFailure = function(o){
	setWorking("fail", "Error: <b>" + o.statusText + "</b>");
	clearAll();
				
	lastSuccessfulQuery = currentQuery;	
	currentQuery = "";
	isWorking = false;
}

var callback =
{
	success:responseSuccess, 
	failure:responseFailure
}

/* Misc */

function trimString (str) { str = this != window? this : str; return str.replace(/^\s+/g, '').replace(/\s+$/g, '');	}

function clearAll()
{
//	document.getElementById("search_results").innerHTML = "";
	document.getElementById("q").value = "";
}

function setWorking(mode, text)
{
//	document.getElementById("working").style.display = "block";
	switch(mode)
	{
		case("fail"):    bgcolor="#9BD1FA"; img = "/images/blank.gif"; break;
		case("working"): bgcolor="#9BD1FA"; img = "http://www.hownd.com/images/throbber1.gif"; break;
		case("done"):    bgcolor="#9BD1FA"; img = "/images/blank.gif"; break; //document.getElementById("tip").style.display = "none"; break;
		case("blank"):   bgcolor="#9BD1FA"; img = "/images/blank.gif"; break; //document.getElementById("tip").style.display = ""; break;
	}
	document.getElementById("workingIcon").src = img;
//	document.getElementById("working").style.backgroundColor = bgcolor;				
//	document.getElementById("workingText").innerHTML = text;		
}