/*--------------------------------------
	User configured variables
--------------------------------------*/
var inputId = 'search';
					// This is the id on the input/textarea that you want to use as the query.

var outputId = 'searchresults';
 					// use this to have the results populate your own ID'd tag.
					// leave it blank and a div tag will automatically be added
					// with an id="searchResults"

var processURI    = './search.php';
					// this is the file that you request data from.

var emptyString   = '';
					// What to display in the results field when there's nothing
					// Leaving this null will cause the results field to be set to display: none

/*--------------------------------------
	Script Stuff
--------------------------------------*/
var liveReq = false;
var t = null;
var liveReqLast = "";
var isIE = false;

var inputElement;
var outputElement;

// on !IE we only have to initialize it once
if (window.XMLHttpRequest) {
	liveReq = new XMLHttpRequest();
}

function liveReqInit() {

	inputElement  = document.getElementById(inputId);
	outputElement = document.getElementById(outputId);

	if( inputElement == null || outputElement == null )
		return;


	if (navigator.userAgent.indexOf("Safari") > 0) {
		inputElement.addEventListener("keydown",liveReqStart,false);

	} else if (navigator.product == "Gecko") {
		inputElement.addEventListener("keypress",liveReqStart,false);

	} else {
		inputElement.attachEvent('onkeydown',liveReqStart);
		isIE = true;
	}

	if(emptyString == '') {
		// set the result field to hidden, or to default string
		outputElement.style.display = "none";
	} else {
		outputElement.innerHTML = emptyString;
	}
}

function liveReqDoReq() {
	if (liveReqLast != inputElement.value && inputElement.value != "") {
		if (liveReq && liveReq.readyState < 4) {
			liveReq.abort();
		}
		if (window.XMLHttpRequest) {
		// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			liveReq = new ActiveXObject("Microsoft.XMLHTTP");
		}

		liveReq.onreadystatechange = liveReqProcessReqChange;
		liveReq.open("GET", processURI + "?s=" + encodeURI(inputElement.value));
		liveReqLast = inputElement.value;
		liveReq.send(null);
	} else if(inputElement.value == "") {
		if(emptyString == '') {
			outputElement.innerHTML = '';
			outputElement.style.display = "none";
		} else {
			outputElement.innerHTML = emptyString;
		}
	}
}

function liveReqProcessReqChange() {
	if (liveReq.readyState == 4) {
		outputElement.innerHTML = liveReq.responseText;
		if(emptyString == '') {
			outputElement.style.display = "block";
		}
	}
}