	function hideLoad(){
		// Loading search objects
		objSearch = document.getElementById("searchajaxcont")
		objSearch.style.zIndex = '10'
		objSearchBox = document.getElementById("searchbox")

		FlashObjectDetect()

		var version = deconcept.SWFObjectUtil.getPlayerVersion();
		if (document.getElementById && (version['major'] > 0)) {
			if (version['major'] < 7 && getCookie("flashupdate") == null) {
				objSearch.style.height = '1px'
				objSearch.style.visibility = 'visible';
				processid = setTimeout("moveSearchTo(" + intHeight + ", 155, -1)", 10)
				addProcessID(processid)
				processid = setTimeout("updateFlash()", 500)
				addProcessID(processid)
				//window.status = "Update Flash player: "+ version['major'] +"."+ version['minor'] +"."+ version['rev'] +" installed.";
			}
		}else{
			if (getCookie("flashupdate") == null) {
				// no flash installed at all.
				objSearch.style.height = '1px'
				objSearch.style.visibility = 'visible';
				processid = setTimeout("moveSearchTo(" + intHeight + ", 175, -1)", 10)
				addProcessID(processid)
				processid = setTimeout("installFlash()", 500)
				addProcessID(processid)
			}
		}
		// hiding loading screen
		document.getElementById("loading").style.visibility = 'hidden';
		document.getElementById("container_footer").style.visibility = 'visible';
	}

	// Search bar stuff

	var booSearching = false;
	var processid, intHeight, objSearch, strSearch, objSearchBox
	intHeight = 1

	function doSearch(){
		killProcesses()
		strSearch = objSearchBox.value
		objSearchBox.blur()
		if (booSearching){
			// we need to properly close down the other search..
			clearSearch(true)
			return true;
		}
		booSearching = true
		if (testAjax()){
			objSearch.style.height = '1px'
			objSearch.style.visibility = 'visible';
			if (strSearch.length > 0){
				processid = setTimeout("moveSearchTo(" + intHeight + ", 53, -1)", 10)
				addProcessID(processid)
				processid = setTimeout('startSearching()', 250)
				addProcessID(processid)
			}else{
				processid = setTimeout("moveSearchTo(" + intHeight + ", 95, -1)", 10)
				addProcessID(processid)
				processid = setTimeout('enterSearch()', 250)
				addProcessID(processid)
			}
		}
	}

	function clearSearch(booNewSearch){
		objSearch.innerHTML = ''
		objSearchBox.select()
		if (booNewSearch){
			processid = setTimeout("moveSearchTo(" + intHeight + ", 53, -1)", 10)
			addProcessID(processid)
			processid = setTimeout("startSearching()", 10)
			addProcessID(processid)
		}else{
			processid = setTimeout("hideSearch()", 10)
			addProcessID(processid)
		}
	}

	function contentSearch(str){
		objSearch.innerHTML = str
	}

	function startSearching(){
		objSearchBox.enabled = false;
		contentSearch("<img src='/assets/img/text/searching.gif' class='ajaxsearchimg' alt='Searching, please wait...' />")
		// send the request through to the ajax search string...
		intPage = 0
		strGlobalLoad = ""
		booPaging = false
		ajaxSearch()
	}

	function updateFlash(){
		contentSearch("<img src='/assets/img/text/search-info.gif' class='ajaxsearchimg' alt='Update flash player.' style='' /><div class='searchmessage'>To fully experience this website it is suggested that you upgrade your current flash player.<br /><br />Would you like to upgrade now?<br /><br /><img src='/assets/img/text/info-no-thanks.gif' onclick='javascript: setCookie(\"flashupdate\",\"no\",365); hideSearch();' style='float: left;cursor: pointer;' /><img src='/assets/img/text/info-yes-please.gif' onclick='javascript: setCookie(\"flashupdate\",\"yes\",365); window.open(\"http://www.adobe.com/go/getflashplayer\", \"hello\");setTimeout(\"hideSearch()\", 500);' style='float: right;cursor: pointer;' /></div>")
	}	
	function installFlash(){
		contentSearch("<img src='/assets/img/text/search-info.gif' class='ajaxsearchimg' alt='Install flash player.' /><div class='searchmessage'>To fully experience this website it is suggested that you install Adbobe Flash Player.<br /><br />Would you like to install now?<br /><br /><img src='/assets/img/text/info-no-thanks.gif' onclick='javascript: setCookie(\"flashupdate\",\"no\",365); hideSearch();' style='float: left;cursor: pointer;' /><img src='/assets/img/text/info-yes-please.gif' onclick='javascript: setCookie(\"flashupdate\",\"yes\",365); window.open(\"http://www.adobe.com/go/getflashplayer\", \"hello\");setTimeout(\"hideSearch()\", 500);' style='float: right;cursor: pointer;' /></div>")
	}	

	function failSearch(){
		contentSearch("<img src='/assets/img/text/search-failed.gif' class='ajaxsearchimg' alt='Searching failed.' /><div class='searchmessage'>Your search could not be completed. Please <a href=\"site-map.asp?ajax=false\">click here</a> for a site map.</div>")
		processid = setTimeout("hideSearch()", 3000)
		addProcessID(processid)
	}

	function enterSearch(){
		contentSearch("<img src='/assets/img/text/search-info.gif' class='ajaxsearchimg' alt='Search info.' /><div class='searchmessage'>To help find what you're looking for, try entering some search terms.</div>")
		processid = setTimeout("hideSearch()", 3000)
		addProcessID(processid)
	}	
	

	function goToSearchURL(url){
		processid = setTimeout("hideSearch()", 1)
		addProcessID(processid)
		processid = setTimeout("window.location.href='/" + url + "'", 500)
		addProcessID(processid)		
	}

	function nothingSearch(){
		contentSearch("<img src='/assets/img/text/search-nothing-found.gif' class='ajaxsearchimg' alt='Nothing was found.' /><div class='searchmessage'>Your search returned no results. Please <a href='javascript:;' onclick='javascript: goToSearchURL(\"site-map.asp?ajax=true\");'>click here</a> for a site map.</div>")
		processid = setTimeout("hideSearch()", 3000)
		addProcessID(processid)
	}

	var intPage, strGlobalLoad, booPaging

	function showResults(strLoad){
		if (strLoad.length > 0 && strGlobalLoad.length == 0){
			strGlobalLoad = strLoad
		}
		if (strLoad.length == 0 && strGlobalLoad.length > 0){
			strLoad = strGlobalLoad
		}

		var intItemsPerPage
		if (strLoad.indexOf("|$|") > 0){
			if (strLoad.indexOf("|$$|") == 0){
				// only one result
				var arrSearch = new Array(0)
				arrSearch[0] = strLoad
			}else{
				var arrSearch
				arrSearch = strLoad.split("|$$|")
			}
			var intSearchItemCount, intItemsPerPage, intMultiplier, intAdditions
			intItemsPerPage = 4
			intMultiplier = 63
			intAdditions = 68
			if (arrSearch.length == 1){
				intAdditions = 58
			}

			intSearchItemCount = arrSearch.length
			objSearch.innerHTML = "<img src='/assets/img/text/search-results.gif' class='ajaxsearchimg' alt='Search results: " + (arrSearch.length + 1) + " items found. ' />"
			var intNewHeight = 0
			if (intSearchItemCount < intItemsPerPage){
				intNewHeight = (intSearchItemCount * intMultiplier) + intAdditions 
			}else{
				intNewHeight = (intItemsPerPage * intMultiplier) + intAdditions 
			}
			if ((intSearchItemCount) - (intPage * intItemsPerPage) < intItemsPerPage){
				intNewHeight = (((intSearchItemCount) - (intPage * intItemsPerPage)) * intMultiplier) + intAdditions 				
			}
			processid = setTimeout("moveSearchTo(" + intHeight + ", " + intNewHeight + ", -1)", 100)
			addProcessID(processid)
			var x, y
			y = -1
			for (x=(intPage * intItemsPerPage); x < ((intPage+1) * intItemsPerPage); x++){ //>
				y = y + 1
	
				if (arrSearch[x] != null){
					if (arrSearch[x].length > 0){
 						if (booPaging){
							processid = setTimeout("loadItems('" + arrSearch[x] + "', " + (y + 1) + ", " + arrSearch.length + ")", 0)						
						}else{
							processid = setTimeout("loadItems('" + arrSearch[x] + "', " + (y + 1) + ", " + arrSearch.length + ")", (y + 1) * 80)
						}
						addProcessID(processid)
					}
				}
			}
			var strPager
			strPager = ""
			if (intPage > 0){
				strPager = "<b><a href=\"javascript:;\" onclick=\"javascript: intPage = intPage - 1; booPaging = true; showResults(\\'\\');\" style=\"font-size: 10px;\">PREVIOUS</a></b>"
			}
			if ((intPage + 1) < Math.round((intSearchItemCount / intItemsPerPage) + 0.5)){
				if (strPager.length > 0){
					strPager = strPager + "&nbsp;|&nbsp;"
				}
				strPager = strPager + "<b><a href=\"javascript:;\" onclick=\"javascript: intPage = intPage + 1; booPaging = true;showResults(\\'\\');\" style=\"font-size: 10px;\">NEXT</a></b>"
			}
			if (strPager.length > 0){
				//alert(strPager)
				/// embed next and previous buttons
				strPager = strPager + "<span  style=\"font-size: 10px;\">&nbsp;Page " + (intPage+1) + " of " + Math.round((intSearchItemCount / intItemsPerPage) + 0.5) + "</span>|$|"
				if (booPaging){
					processid = setTimeout("loadItems('" + strPager + "', " + (y + 2) + ", " + arrSearch.length + ")", 100)
				}else{
					processid = setTimeout("loadItems('" + strPager + "', " + (y + 2) + ", " + arrSearch.length + ")", 500)
				}
				addProcessID(processid)
			}
		}else{
			// close down the search
			processid = setTimeout("moveSearchTo(" + intHeight + ", 95, -1)", 10)
			addProcessID(processid)
			processid = setTimeout('nothingSearch()', 200)
			addProcessID(processid)
		}
	}

	function loadItems(strItem, intItem, intTotal){
		var arrSearchItem, strColpy
		arrSearchItem = strItem.split("|$|")
		objSearch.innerHTML = objSearch.innerHTML + "<div class='searchitem'><div class='searchitemheader'><a href='#' onclick='javascript: goToSearchURL(\"" + arrSearchItem[2] + "\");'>" + arrSearchItem[0] + "</a></div><div class='searchitembody'>" + arrSearchItem[1] + "</div>"
		if (intTotal == intItem){ // got to the last place!
			objSearchBox.enabled = true
		}
	}

	function moveSearchTo(intCurrent, intTarget, intSpeed){
		var booSetAlready = false
		if (intSpeed < 1){
			booSetAlready = true
			// just started so lets calc initial speed!
			if (intTarget == 0){
				intSpeed = (intCurrent) / 6
			}else{
				intSpeed = (intTarget - intCurrent) / 6
			}
			intSpeed = Math.round(intSpeed)
		}
		if (intCurrent > intTarget && intTarget > 0){
			intCurrent = intTarget
			intHeight = intCurrent
			return true;
		}
		if (intCurrent <= 0 && intTarget <= 0){ //>
			objSearch.style.visibility = 'hidden';
			objSearch.style.height = '1px'
			intHeight = 1
			booSearching = false
			return true;
		}else{
			objSearch.style.height = intCurrent + 'px'
		}
		intHeight = intCurrent
		if (intTarget == 0){
			intCurrent = intCurrent - intSpeed
		}else{
			intCurrent = intCurrent + intSpeed
		}
		if (!booSetAlready){
			if (intTarget == 0){
				intSpeed = (intCurrent) / 6
			}else{
				intSpeed = (intTarget - intCurrent) / 6
			}
			intSpeed = Math.round(intSpeed)
		}
		if (intSpeed < 1){
			intSpeed = 1
		}
		processid = setTimeout("moveSearchTo(" + intCurrent + ", " + intTarget + ", " + intSpeed + ")", 10)
		addProcessID(processid)
	}

	function hideSearch(){
		// this function needs to slowly hide the search box
		if (intHeight > 0) {
			processid = setTimeout("objSearch.innerHTML = ''", 10)
			addProcessID(processid)
			processid = setTimeout("moveSearchTo(" + intHeight + ", 0, -1)", 10)
			addProcessID(processid)
		}
	}

	function ajaxSearch(){
		var intPage = 1
		var xmlHttp;
		try
		{
			// Firefox, Opera 8.0+, Safari    
			xmlHttp=new XMLHttpRequest();    
		}
		catch (e)
		{
			// Internet Explorer    
			try
			{
			      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			}
			catch (e)
			{
				try
				{
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
				}
				catch (e)
				{
					processid = setTimeout("moveSearchTo(" + intHeight + ", 90, -1)", 1)
					addProcessID(processid)
					processid = setTimeout('failSearch()', 250)
					addProcessID(processid)
					return false;
				}
			}
		}
    		xmlHttp.onreadystatechange=function(){
		      if(xmlHttp.readyState==4){
				showResults(xmlHttp.responseText)
			}
		}
		xmlHttp.open("GET", "/search.asp?q=" + strSearch + "&page=" + intPage, true);
		xmlHttp.send(null);
	}

	function testAjax()
	{
		var xmlHttp;
		try
		{
			// Firefox, Opera 8.0+, Safari    
			xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
			      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			}
			catch (e)
			{
				try
				{
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					alert("Your browser does not support AJAX!");
					return false;        
				}
			}
		}
		return true;
	}

function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   doSearch();
   return false;
   }
else
   return true;
}

	// Process ID management
	var arrProcesses = new Array(250)
	// prepare array
	var y
	for (y=0;y<251;y++){ //>
		arrProcesses[y] = ""
	}
	function addProcessID(intProcessID){
		var i
		for (i=0; i < arrProcesses.length; i++){ // keep going until a slot if found
			if (arrProcesses[i].length == 0){
				//log("Adding: " + intProcessID)
				arrProcesses[i] = '' + intProcessID + ''
				return true;
			}
		}
	}

	function remProcessID(intProcessID){
		var i
		for (i=0; i<arrProcesses.length; i++){ //>
			if (arrProcesses[i].length == 0){
				arrProcesses[i] = ""
				return true;
			}
		}
	}

	function killProcesses(){
		var i
		for (i=0; i<arrProcesses.length; i++){ //>
			//log("Clearing: " + arrProcesses[i].length + "(" + i + ")")
			if (arrProcesses[i].length > 0){
				try {
					clearTimeout(arrProcesses[i])
					//log("Killing: " + arrProcesses[i])
					arrProcesses[i] = ""
				}catch(e){
					// Just ignore
					//log("Error killing process: " & e)
				}
			}else{
				// bail
				//log("Ignoring: " + arrProcesses[i])
			}
		}
	}
	
	function log(str){
		document.getElementById("processmon").value = document.getElementById("processmon").value + '\n' + str
	}