	var nav;	if (navigator.userAgent.indexOf("Safari") > 0)			nav = "Safari";	else if (navigator.product == "Gecko")			nav = "Gecko";	else			nav = "IE";function liveUpdaterUri(uri){	return liveUpdater(function() { return uri; } , false);}// Selection in a list box, add the selected index to the callbackfunction liveSelect(id, uri){	function constructUri()	{		return addParameter(uri, "s", document.getElementById(id).selectedIndex.toString());	}	return liveUpdater(constructUri, false);}// Key stroke in an entry field, add the field value to the callbackfunction liveSearch(id, uri){	function constructUri()	{		return addParameter(uri, "s", document.getElementById(id).value);	}   	var updater = liveUpdater(constructUri, false);	var last = document.getElementById(id).value;	var timeout = false;  	function update()	{		if (last != document.getElementById(id).value) {			last = document.getElementById(id).value;			updater();		}	}	   	function start() {		if (timeout)			window.clearTimeout(timeout);		timeout = window.setTimeout(update, 300);	}	if (navigator.userAgent.indexOf("Safari") > 0)		document.getElementById(id).addEventListener("keydown",start,false);	else if (navigator.product == "Gecko")		document.getElementById(id).addEventListener("keypress",start,false);	else		document.getElementById(id).attachEvent("onkeydown",start);}// Clickfunction liveClick(id, uri){	return liveUpdaterUri(uri);}// Click in a checkboxfunction liveCheck(id, uri){	function constructUri()	{		return addParameter(uri, "s", document.getElementById(id).checked);	}	return liveUpdater(constructUri);}function liveScroll(id, uri){   function constructUri()   {         return addParameter(uri, "s", document.getElementById(id).scrollTop.toString());   }      var updater = liveUpdater(constructUri, false);   var timeout = false;    function start() {	   if (timeout)	       window.clearTimeout(timeout);	       	   timeout = window.setTimeout(updater, 100);    }   return start;}function timedUpdate(uri, milliSeconds){	var updater = liveUpdaterUri(uri, false);	updater();	var again = "timedUpdate(\""+uri+"\","+milliSeconds+")";	setTimeout(again, milliSeconds);}