function ShowHide(elementID)
{
	if( document.getElementById(elementID).style.display == 'block' )
	{
		document.getElementById(elementID).style.display = 'none';
	}
	else
	{
		document.getElementById(elementID).style.display = 'block';
	}
}

function ShowForm(FormShow, FormHide)
{
	document.getElementById(FormShow).style.display = 'block';
	document.getElementById(FormHide).style.display = 'none';
}

function highlightRow(row)
{
	if( document.getElementById(row.id).style.backgroundColor == "")
	{
		document.getElementById(row.id).style.backgroundColor = "#EFF7FB";
	}
	else
	{
		document.getElementById(row.id).style.backgroundColor = "";
	}
}

function showNewsItem(item)
{
	document.getElementById('add_text').style.display = 'none';
	document.getElementById('add_object').style.display = 'none';

	if( document.getElementById(item).style.display == 'block')
	{
		document.getElementById(item).style.display = 'none';
	}
	else
	{
		document.getElementById(item).style.display = 'block';
	}
}

function submitForm(formName, submitUrl)
{
	formToSubmit = document.getElementById(formName);
	formToSubmit.action = submitUrl;
	formToSubmit.submit();
}

function selectall(formName, checkBoxKey)
{
	tf = document.getElementById(formName).toggle.checked;
	for( var i = 0; i < document.getElementById(formName).elements.length; i++ )
	{
		if( document.getElementById(formName).elements[i].name.substring( 0, 2 ) == checkBoxKey )
		{
			document.getElementById(formName).elements[i].checked = tf;
		}
	}
}

function submitFormByField(formName, actionElementName)
{
	var formValue;
	var theForm;	
	var actionElement;
	
	theForm = document.getElementById(formName);

	//if we can't get by id then we need to try document.all
	if (theForm == null)
	{
		theForm = document.all[formName];
	}

	actionElement = eval('theForm.' + actionElementName);

	if (actionElement.length > 1)
	{
		if (actionElement.type == 'select-one')
		{
			formValue = actionElement.options[actionElement.selectedIndex].value;
		}
		else
		{
			for (var i = 0; i < actionElement.length; i++) 
			{
				if (actionElement[i].checked) formValue = actionElement[i].value;
			}
		}
	}	
	else if (actionElement.type == "hidden") 
	{
		formValue = actionElement.value;
	}
	
	//Submit the form
	if (formValue != undefined) 
	{
		theForm.action = formValue;
		return true;
	} 
	else
	{
		 return false;
	}
}

function displayToggle(toggleId, forceOff){
	
	var indicator = document.getElementById('indicator_' + toggleId);
	var expand = document.getElementById('expand_' + toggleId);

	/*
	* Make sure to go through all the sub blocks
	*/
	for (var i = 1; ; i++){
		var block = document.getElementById('block_' + toggleId + "_" + i);
		if (!block) break; 
		if (block.style.display == 'none' && !forceOff)
		{
			/*
			* We want to toggle this block on.
			*/
			block.style.display = '';
			indicator.src = contractImage.src;
			expand.value = 1;
		}
		else
		{
			/*
			* Turn it off.
			*/
			block.style.display = 'none';
			indicator.src = expandImage.src;
			expand.value = 0;

			/*
			* Collapse everything inside ...
			*/
			for (var j = 1; ; j++)
			{
				var testBlock = document.getElementById('block_' + toggleId + "_" + i + '_' + j);
				if (!testBlock)
				{
					/*
					* Okay, nothing else to collapse in here.
					*/
					break;
				}

				displayToggle(toggleId + "_" + i, true);
			}
		}
	}
}


/*
 * This function will ensure that all URLs with rel="external" are opened in 
 * new windows.
 */
function externalLinks() { 
	if (!document.getElementsByTagName) return; 
	var anchors = document.getElementsByTagName("a"); 
	for (var i=0; i<anchors.length; i++) { 
		var anchor = anchors[i]; 
		if (anchor.getAttribute("href") && 
				anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank"; 
		}
	} 
} 
window.onload = externalLinks;


/* Open New Window 
 * Pass: URL of the page to display in window, the name of the window (no spaces or spec chars), 
 *       window features picked from - 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes', 
 *       Width and Height of window in pixels. 
 * Returns: Nothing. 
 */
 
function openWindow(theURL, winName, winHeight, winWidth, features) 
{ 
	window.open(theURL, winName, features + ',width=' + winWidth + ',height=' + winHeight); 
 
	return false; 
}

function OpenNewWin(page)
{
	var param = "toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,width=760,height=550," + "left=" + (screen.width/2 - 760/2) + ",top=" + (screen.height/2 - 550/2);
	newWin = this.open(page,"procurement",param);
}


// Detects if flash is installed.
// Return	0 - Unknown Flash Status
//			1 - No Flash Installed
//			2 - Flash Installed
var flashversion = 0;
function detectFlash(){
	flashinstalled = 0;
	MSDetect = "false";
	if (navigator.plugins && navigator.plugins.length)
	{
		x = navigator.plugins["Shockwave Flash"];
		if (x)
		{
			flashinstalled = 2;
			if (x.description)
			{
				y = x.description;
				flashversion = y.charAt(y.indexOf('.')-1);
			}
		}
		else
			flashinstalled = 1;
		if (navigator.plugins["Shockwave Flash 2.0"])
		{
			flashinstalled = 2;
			flashversion = 2;
		}
	}
	else if (navigator.mimeTypes && navigator.mimeTypes.length)
	{
		x = navigator.mimeTypes['application/x-shockwave-flash'];
		if (x && x.enabledPlugin)
		flashinstalled = 2;
		else
		flashinstalled = 1;
	}
	else
	{
		// IE flash detection.
		for(var i=9; i>0; i--){
			flashversion = 0;
			try 
			{
				var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
				flashversion = i;
				break;
			}
			catch(e)
			{
			}
		}
		if (flashversion != 0) 
		{
			flashinstalled = 2;
		}
	}
	return flashinstalled;
}

//Detects arbitrary MIME type support
// Return	0 - Unknown  Status
//			1 - Installed but no handler
//			2 - Installed and has handler
function detectMIME(mimeType, IEObjectName){
	var installed = 0;
	if (navigator.mimeTypes && navigator.mimeTypes.length)
	{
		for( var i = 0; i < navigator.mimeTypes.length; i++)
		{
			if(navigator.mimeTypes[i].type == mimeType)
			{ 
				if(navigator.mimeTypes[i].enabledPlugin) installed = 2;
				else installed = 1;
			}
		}
	}
	else 
	{ // IE detection.
		try 
		{
			var flash = new ActiveXObject(IEObjectName);
			installed = 2;
		}
		catch(e)
		{
			installed = 0;
		}
	}
	return installed;
}


function getBrowser()
{
	var success = -1;
	appname = navigator.appName;
	useragent = navigator.userAgent;

	if(useragent.indexOf("Safari") != -1) { success = 1; }
	else if(useragent.indexOf("Netscape/4") != -1) { success = 2; }
	else if(useragent.indexOf("Netscape/6") != -1) { success = 4; }
	else if(useragent.indexOf("Netscape/7") != -1) { success = 8; }
	else if(useragent.indexOf("MSIE 5") != -1 && useragent.indexOf("Mac") != -1 && useragent.indexOf("Opera") == -1) { success = 16; }
	else if(useragent.indexOf("MSIE 5") != -1 && useragent.indexOf("Windows") != -1 && useragent.indexOf("Opera") == -1) { success = 32; }
	else if(useragent.indexOf("MSIE 6.") != -1 && useragent.indexOf("Opera") == -1) { success = 64; }
	else if(useragent.indexOf("Opera 5") != -1 || useragent.indexOf("Opera/5") != -1)	{ success = 128; }
	else if(useragent.indexOf("Opera 6") != -1 || useragent.indexOf("Opera/6") != -1)	{ success = 256; }
	else if(useragent.indexOf("Opera 7") != -1 || useragent.indexOf("Opera/7") != -1)	{ success = 512; }
	else if(useragent.indexOf("Fire") != -1) { success = 1024; }
	else if(useragent.indexOf("Mozilla/5") != -1 && (useragent.indexOf("Fire") == -1 || useragent.indexOf("Netscape") == -1)) { success = 2048; }
	else if(useragent.indexOf("konqueror") != -1) { success = 4096; }

	return success;
}

// Browser Type Detection
// Pass: Nothing.
// Returns: Browser Name and Version in readable form, e.g. Internet Explorer 6 or Firefox 0.8
function detectBrowser()
{
	useragent = navigator.userAgent;
	var theBrowser = '';
	browser = getBrowser();

	if     (browser ==   1) { theBrowser = "Safari"; }
	else if(browser ==   2) { theBrowser = "Netscape 4"; }
	else if(browser ==   4) { theBrowser = "Netscape 6"; }
	else if(browser ==   8) { theBrowser = "Netscape 7"; }
	else if(browser ==  16) { theBrowser = "Internet Explorer 5 Mac"; }
	else if(browser ==  32) { theBrowser = "Internet Explorer 5 PC"; }
	else if(browser ==  64) { theBrowser = "Internet Explorer 6"; }
	else if(browser == 128) { theBrowser = "Opera 5"; }
	else if(browser == 256) { theBrowser = "Opera 6"; }
	else if(browser == 512) { theBrowser = "Opera 7"; }
	else if(browser ==1024) { version = useragent.substr((useragent.length - 3),3); theBrowser = "FireFox " + version; }
	else if(browser ==2048) { version = useragent.substr(51,3); theBrowser = "Mozilla " + version; }
	else if(browser ==4096) { theBrowser = "Konqueror"; }

	return theBrowser;
}


// Cookie  Detection
// Pass: Nothing.
// Returns: True if cookies are enabled
function detectCookies(){
	var cookieEnabled=(navigator.cookieEnabled)? true : false;

	//if not IE4+ nor NS6+
	if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
		document.cookie="testcookie";
		cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false;
	}
	return cookieEnabled;
}

// Java Detection
// Pass: Nothing.
// Returns: True if Java is enabled

function detectJava(){
	installed=navigator.javaEnabled() ? true:false;
	return installed;
}
