function changeSearchClient(client,skipVisualChanges,top)
{

    //alert(client);
	var topText="";
	
	if (top)
		topText="Top";
		
	// if requested client tag isn't on the page, do nothing
	if (document.getElementById('searchMode_'+client) == null)
	{
		alert('requested search client not found: ' + client);
		return false;
	}
	
	// if relevant hidden field doesn't exist, do nothing
	if (document.getElementById('searchClientField') == null)
	{
		alert('searchMode hidden field not found');
		return false;
	}
	
	var currentMode=document.getElementById('searchClientField').value;
	
	if(client=='arkive-info'){ var searchType = '&requiredfields=Search_PageType:info'; }
	else if(client=='arkive-images'){ var searchType = '&requiredfields=Search_PageType:image'; }
	else if(client=='arkive-videos'){ var searchType = '&requiredfields=Search_PageType:video'; }
	else var searchType = '';
		
	// if old client tag isn't on the page, do nothing
	if (document.getElementById('searchMode_'+currentMode) == null)
	{
		alert('existing search client not found: ' + currentMode);
		return false;
	}

	// Set hidden form field
	document.getElementById('searchClientField').value=client;
	var inputs = document.getElementsByTagName('input');
	for(var n=0;n<inputs.length;n++){
	  //  alert(inputs[n].name + " : " + inputs[n].value);
		if(inputs[n].name != 'requiredfields') continue;
		inputs[n].value=searchType.substr(16);
	}
	
	// change site collection
	if (document.getElementById('searchSiteField') == null)
	{
		alert('hidden field \'site\' not found - wanted to change to: ' + client);
		return false;
	}
	else
	{
		document.getElementById('searchSiteField').value=client;
	}	
        

	
	if (skipVisualChanges)
		return true;
		
	// make old client tag active
	var oldTag = document.getElementById('searchMode_'+currentMode).innerHTML;
	var existingLabel = document.getElementById('searchMode_'+currentMode).firstChild.innerHTML;
	
	document.getElementById('searchMode_'+currentMode).innerHTML = "";
	
	var newActiveNode = document.createElement("a");
	var newActiveNodeLabel = document.createTextNode(existingLabel);
	newActiveNode.appendChild(newActiveNodeLabel);
	
	newActiveNode.setAttribute("href","/search.html?client="+currentMode+"&filter=0&num=20&getfields=*&output=xml_no_dtd&sort=date_3AD_3AL_3Ad1&oe=utf8&ie=utf8&site="+client); /* removed searchType */
	newActiveNode.onclick=function() { return searchModeSelect(currentMode,top); };
	newActiveNode.className = "searchMode"+topText;

	document.getElementById('searchMode_'+currentMode).appendChild(newActiveNode);
	
	// make new client tag inactive
	var newTag = document.getElementById('searchMode_'+client).innerHTML;
	existingLabel = document.getElementById('searchMode_'+client).firstChild.innerHTML;
	
	document.getElementById('searchMode_'+client).innerHTML = "";
	
	var newInactiveNode = document.createElement("span");
	var newInactiveNodeLabel = document.createTextNode(existingLabel);
	newInactiveNode.appendChild(newInactiveNodeLabel);
	newInactiveNode.className = "currentSearchTab"+topText;
	
	document.getElementById('searchMode_'+client).appendChild(newInactiveNode);

	// Change tab visual styles
	document.getElementById('searchMode_'+currentMode).className = "searchMode"+topText;
	document.getElementById('searchMode_'+client).className = "searchMode"+topText+"_active";

	return true;
}


function searchModeSelect(client,top)
{
   
	// if search box is already populated, submit form
	if (document.getElementById('mainSearch_q').value.length>0)
	{
	    //alert(document.getElementById('mainSearch_q').value);
	
		if (document.getElementById('s') != null)
		{
			var result = changeSearchClient(client,false,top);
	
			if (!result)
				return;
		
			result = rememberSearchClient(client);
			
			document.getElementById('s').submit();
			
			return false;
		} else
		{
			var result = changeSearchClient(client,true,top);
	
			if (!result)
				return;
		
			result = rememberSearchClient(client);
			
			document.getElementById('searchMain').submit();
			
			return false;
		}
	} else
	{ 
		
		// consider making just visual changes if nothing is in the form field at the moment
		if (document.getElementById('s') != null)
		{
	
			var result = changeSearchClient(client,false,top);
	
			if (!result)
				return;
		
			result = rememberSearchClient(client);
			
			return false;
	
		} else if (document.getElementById('noSearchQuery') == null)
		{
			var result = changeSearchClient(client,true,top);
	
			if (!result)
				return;
		
			result = rememberSearchClient(client);
			
			return true;
		} else
		{
			var result = changeSearchClient(client,false,top);
	
			if (!result)
				return;
		
			result = rememberSearchClient(client);
			
			return false;
		} 
		
	}
	
	
	
}

function rememberSearchClient(client)
{
	// Cookies disabled for the time being
	//createCookie("search_client",client,730);
}

function recallSearchClient()
{
	// Cookies disabled for the time being
	//var client=readCookie("search_client");
	
	//if (client != null)
	//{
	//	changeSearchClient(client,true);
	//	createCookie("search_client",client,730); // renew cookie expiry date
	//}	
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function preLoadImages()
{
	
}




function flipImage (id,newSrc) {
	document.getElementById(id).src=newSrc;

}

/* global vars used for preloading rollover images */

searchImgMovie = new Image();
searchImgMovie.src = "/images/search/pageTypeMovie.gif";

searchImgMovieHover = new Image();
searchImgMovieHover.src = "/images/search/pageTypeMovieHover.gif";

searchImgImage = new Image();
searchImgImage.src = "/images/search/pageTypeImage.gif";

searchImgImageHover = new Image();
searchImgImageHover.src = "/images/search/pageTypeImageHover.gif";

searchImgOther = new Image();
searchImgOther.src = "/images/search/pageTypeOther.gif";

searchImgOtherHover = new Image();
searchImgOtherHover.src = "/images/search/pageTypeOtherHover.gif";


