
function ShowMore() {
	var expander = document.getElementById('expander');
	expander.style.display='block';	
	document.getElementById('expanderLabel').onmouseup = HideMore;
  document.getElementById('searchBox').focus();
}





function HideMore() {
	var expander = document.getElementById('expander');
	expander.style.display='none';	
	document.getElementById('expanderLabel').onmouseup = ShowMore;
}


function fixUrl(url){
	//alert(url);	
	url = url.replace(/&amp;/g,"&");
	//alert(url);
	
	return(url);
}

/*   Client-Server handling code

			Global functions
*/

function csSendServerPostRequest(Url, postData, ProcessHandler) {   
	var Request = csGetHttpObject();
	
	Request.open('POST', Url, true);
	Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	Request.onreadystatechange = function() {
		if (Request.readyState==4) {
			ProcessHandler(Request.responseText)
		}
	}
	Request.send(postData);
}


function csSendServerRequest(Url, ProcessHandler) {   
	var Request = csGetHttpObject();
	
	Request.open('GET', Url, true);
	Request.onreadystatechange = function() {
		if (Request.readyState==4) {
			ProcessHandler(Request.responseText)
		}
	}
	Request.send(null);
	return(Request);
}


function csInjectHtml(Html) {

}



function csSendServerRequest(Url, ProcessHandler, Request) {   
	if(Request == null) {

		Request	= csGetHttpObject();
	} else {
		Request.abort();
	}
	
	Request.open('GET', Url, true);
	Request.onreadystatechange = function() {
		if (Request.readyState==4) {
			ProcessHandler(Request.responseText)
		}
	}
	Request.send(null)
	
	return Request;
}


	


function csGetHttpObject()
{
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e) {
			xmlhttp = false;
		}
	}
	if(!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return(xmlhttp);
}



 

/*
		Custom Process Handlers
*/
/*	Javascript Search box on every page */
var csMenuSearchBox_oldEvent = '';
var sR = new Array();
var csMenuSearchBox_selectedIndex = 0;
var csMenuSearchBox_timing;
var _request;


function csMenuSearchBox_KeyDown(evt) {
	var keyCode = evt.keyCode;
	
	var textToSearch = document.getElementById('searchBox').value;
	
	if(textToSearch == '') {
		var subGenre =  document.getElementById('searchResults'); 
		subGenre.innerHTML = "";
	}
   
	if(keyCode == 13){	
		if(sR.length > 0){	
			navigate(sR[csMenuSearchBox_selectedIndex][0]);
			return;
		} else {
			//alert("no results");
		}
  }
  
  if(keyCode == 40){ csMenuSearchBox_moveIndex(csMenuSearchBox_selectedIndex + 1);return;}
  if(keyCode == 38){ csMenuSearchBox_moveIndex(csMenuSearchBox_selectedIndex - 1);return;}
  
 
  
  //if(((keyCode >= 48) && (keyCode <=127)) || (keyCode == 32)) {
  if(((keyCode >= 48) && (keyCode <=127)) || (keyCode == 32) || (keyCode == 13)) {
		if(csMenuSearchBox_oldEvent != '') {
			clearTimeout(csMenuSearchBox_oldEvent);
			window.status = "";
		}
			
		/*if(textToSearch.length > 2) {*/
			var searchAllHierarchy = document.getElementById('searchAllHierarchy');
	    
			oldEvent = setTimeout('csMenuSearchBox_runSearch("' + textToSearch + '","' + searchAllHierarchy.checked + '");', 500);
			window.status = " Searching...";
			var subGenre =  document.getElementById('searchResults'); 
			subGenre.innerHTML = "";
	/*	}*/
	}
}





function csMenuSearchBox_moveIndex(newIndex){
	csMenuSearchBox_ColourSearch(csMenuSearchBox_selectedIndex, 'white');
	
	if((newIndex<sR.length) && (newIndex>=0)) {
		csMenuSearchBox_selectedIndex = newIndex;
	}
	csMenuSearchBox_ColourSearch(csMenuSearchBox_selectedIndex, '#7E98B9');
}





function csMenuSearchBox_runSearch(textToSearch, searchAll) {
	document.getElementById('searchStatus').innerHTML = 'Searching';

	
	var dateVar = new Date();
	timing = dateVar.getMilliseconds();
	_request = csSendServerRequest('/wcm/system/pages/searchhieararchy.aspx?search=' + textToSearch + '&csSelectedId=' + selectedID + '&searchAll=' + searchAll , csMenuSearchBox_HandleResponse, _request);
}





function csMenuSearchBox_ColourSearch(index, colour){
	document.getElementById('l1' + index).style.backgroundColor = colour;
	document.getElementById('l2' + index).style.backgroundColor = colour;
}





function csMenuSearchBox_HandleResponse(responseText) 
{
	var subGenre =  document.getElementById('searchResults'); 
	eval(responseText);
	
	if(sR.length == 0) {
		document.getElementById('searchStatus').innerHTML = 'No results found.';
	}
	
	var htmlBuilder = '<div id="cssearchResults"><table border=0>';
	htmlBuilder += '<thead><tr><td>Description</td><td>Type</td><td>Parent</td></tr></thead>';
	for(var i=0;i<sR.length;i++){
		htmlBuilder+='<tr><td id="l1' + i + '"><a href="javascript: navigate(\'' + sR[i][0] + '\');">' + sR[i][1] + '</a></td><td id="l2' + i + '"><a href="javascript: navigate(\'' + sR[i][0] + '\');">' + sR[i][2] + '</a></td><td>' + sR[i][3] + '</td></tr>';
	}
	htmlBuilder += '</table></div>';
	
	subGenre.innerHTML = htmlBuilder;
	
	window.status = "";
	csMenuSearchBox_selectedIndex = 0;
	
	var dateVar = new Date();
	csMenuSearchBox_ColourSearch(csMenuSearchBox_selectedIndex, '#7E98B9');
	document.getElementById('searchStatus').innerHTML = '';
}




