// Version 2.7
// 07-26-2011
// author: Shannon Meisenheimer, meisenheimer@ucmo.edu
// Compatiblity Requirements for Bb 9.1 SP6

//modified by Brandy Thatcher, bthatcher@icc.edu
// 8-16-2011

/* ******************************************** Notes *********************************************
***************************************************************************************************

This is only checking for common operating systems.  Linux and *NIX are checked also even though 
they aren't supported or aren't commonly used.  Checking mobile devices is not currently scripted into this detection, though this check may work for some mobile devices.

I haven't added any mobile platforms, although some could still be identified, but don't count on 
device identification.

This is checking most browsers and versions.  I didn't bother checking for anything below 
Netscape 6.0, mostly because the agent strings are very vague and hard to identify.

If you make any improvements/additions to this script, please share them with me and I will modify 
this and redistribute.

Shannon
meisenheimer@ucmo.edu
***************************************************************************************************
************************************************************************************************ */
//support for Blackboard 9 http://kb.blackboard.com/pages/viewpage.action?pageId=38830689

var browserAgent, browserUserAgent, browserUserAgentLowerCase, browserVersion, browserPlatform, OSVersion, OSBit, platformVersion, safariVersion, browserPass;
/* OSBit added 8/2/2010*/
browserUserAgent = navigator.userAgent;
browserUserAgentLowerCase = browserUserAgent.toLowerCase();
browserAgent = "Unknown Browser";
browserVersion = safariVersion = "Unknown Version";
browserPlatform = "Unknown Platform";
platformVersion = "Unknown OS";

switch (true) // OSBitSwitch - Check for 64 or 32 bit
{
	case browserUserAgentLowerCase.indexOf('wow64') >= 0:
		OSBit = "64";
		break;
	case browserUserAgentLowerCase.indexOf('win64') >= 0:
		OSBit = "64";
		break;
	case browserUserAgentLowerCase.indexOf('x64') >= 0:
		OSBit = "64";
		break;
} // End OSBitSwitch


switch (true) // WinOSSwitch - Check if platform is Windows
{
	case browserUserAgentLowerCase.indexOf('win 9x 4.90') >= 0: // agent string contains "windows" and "win", this needs to go first
 		browserPlatform = "Windows";
		platformVersion = "Windows ME";
		break;
	case browserUserAgentLowerCase.indexOf('winnt') >= 0: // agent string does not contain "windows" - rare
		browserPlatform = "Windows";
		platformVersion = "Windows NT";
		break;
	case browserUserAgentLowerCase.indexOf('windows; u') >= 0: // browsers with strong security contain both Platform and OS, U = stong security
		browserPlatform = "Windows";
		OSVersion = browserUserAgentLowerCase.split("windows; u;");
		OSVersion = OSVersion[1].split("windows");
		OSVersion = OSVersion[1].split(";");
		OSVersion = OSVersion[0];
		break;
	case browserUserAgentLowerCase.indexOf('windows') >= 0:
		browserPlatform = "Windows";
		OSVersion = browserUserAgentLowerCase.split('windows');
		OSVersion = OSVersion[1].split(";");
		OSVersion = OSVersion[0];
		break;
	case browserUserAgentLowerCase.indexOf('98') >= 0: // agent string does not contain "windows" - rare
		browserPlatform = "Windows";
		platformVersion = "Windows 98";
		break;
	case browserUserAgentLowerCase.indexOf('95') >= 0: // agent string does not contain "windows" - rare
		browserPlatform = "Windows";
		platformVersion = "Windows 95";
		break;
} // End WinOSSwitch

switch (true) // OtherOSSwitch - Check non-Windows Platform
{
	case browserPlatform != "Unknown Platform": // platform is Windows
		break;
	case browserUserAgentLowerCase.indexOf('macintosh') >= 0:
		browserPlatform = platformVersion = "Macintosh";
		switch (true) // MacVersionSwitch - Check Mac OS version
		{
			case browserUserAgentLowerCase.indexOf('mac os x 10_6') >= 0:
				platformVersion = "Mac OSX 10.6";
				break;
			case browserUserAgentLowerCase.indexOf('mac os x 10.6') >= 0:
				platformVersion = "Mac OSX 10.6";
				break;
			case browserUserAgentLowerCase.indexOf('mac os x 10_5') >= 0:
				platformVersion = "Mac OSX 10.5";
				break;
			case browserUserAgentLowerCase.indexOf('mac os x') >= 0:
				platformVersion = "Mac OSX";
				break;
			case browserUserAgentLowerCase.indexOf('powerPC') >= 0:
				platformVersion = "Mac PowerPC";
				break;
		}
		break;
	case browserUserAgentLowerCase.indexOf('linux') >= 0:
		browserPlatform = platformVersion = "Linux";
		break;
	case browserUserAgentLowerCase.indexOf('sunos') >= 0:
		browserPlatform = platformVersion = "Sun OS";
		break;
	case browserUserAgentLowerCase.indexOf('x11') >= 0: // *NIX or UNIX-like platform
		browserPlatform = platformVersion = "UNIX";
		break;
} // End OtherOSSwitch
switch (true) // WinVersionSwitch - Check Windows version
{
	case platformVersion != "Unknown OS": // version was assigned in WinOSSwitch or platform is non-Windows
		break;
	case OSVersion == " nt 6.1" && OSBit == "64":
		platformVersion = "Windows 7 64-bit";
		break;
	case OSVersion == " nt 6.1":
		platformVersion = "Windows 7";
		break;
	case OSVersion == " nt 6.0" && OSBit == "64":
		platformVersion = "Windows Vista 64-bit";
		break;
	case OSVersion == " nt 6.0":
		platformVersion = "Windows Vista";
		break;
	case OSVersion == " nt 5.2":
		platformVersion = "Windows .NET Server";
		break;
	case OSVersion == " nt 5.1" && OSBit == "64":
		platformVersion = "Windows XP 64-bit";
		break;
	case OSVersion == " nt 5.1":
		platformVersion = "Windows XP";
		break;
	case (OSVersion == " nt 5.0") || (OSVersion == " 2000"):
		platformVersion = "Windows 2000";
		break;
	case (OSVersion == " nt") || (OSVersion == " nt 4.0"):
		platformVersion = "Windows NT";
		break;
	case OSVersion == " 98":
		platformVersion = "Windows 98";
		break;
	case OSVersion == " 95":
		platformVersion = "Windows 95";
		break;
	case OSVersion == " 3.1":
		platformVersion = "Windows 3.1";
		break;
	case OSVersion == " ce":
		platformVersion = "Windows CE";
		break;
} // End WinVersionSwitch

switch (true) // BrowserSwitch - Checks browser and browser version
{
	case browserUserAgentLowerCase.indexOf('msie') >= 0: // browser is Internet Explorer, check the gorilla first
		browserAgent = "Internet Explorer";
  		browserVersion = browserUserAgentLowerCase.split('msie');
  		browserVersion = browserVersion[1].split(";");
  		browserVersion = browserVersion[0];
		break;
	case browserUserAgentLowerCase.indexOf('firefox') >= 0 && browserUserAgentLowerCase.indexOf('navigator') < 0: // browser is Firefox
		browserAgent = "Firefox";
  		browserVersion = browserUserAgentLowerCase.split('firefox/');
		browserVersion = browserVersion[1].substring(0,5);
		break;
	case browserUserAgentLowerCase.indexOf('chrome') >= 0: // browser is Chrome, this must be checked before Safari
		browserAgent = "Chrome";
		browserVersion = browserUserAgentLowerCase.split('chrome/');
		browserVersion = browserVersion[1].substring(0,4);
		break;
	case browserUserAgentLowerCase.indexOf('safari') >= 0: // browser is Safari
		browserAgent = "Safari";
		switch (true) // SafariVersionSwitch - Checks Safari version
		{
			case browserUserAgentLowerCase.indexOf('version') >= 0: // Checks if agent contains "version"
				browserVersion = browserUserAgentLowerCase.split('version/');
				browserVersion = browserVersion[1].split(" ");
				browserVersion = browserVersion[0];
				break;
			default: 
				browserVersion = browserUserAgentLowerCase.split('safari/');
				browserVersion = browserVersion[1].substring(0,3);
				switch (true) // SafariVersion2.0Switch - Checks Safari versions 2.04 and lower
				{
					case (browserVersion == "419") || (browserVersion == "417") || (browserVersion == "416") || (browserVersion == "412"):
						safariVersion = "2.0";
						break;
					case browserVersion == "312":
						safariVersion = "1.3";
						break;
					case browserVersion == "125":
						safariVersion = "1.2";
						break;
					case browserVersion == "100":
						safariVersion = "1.1";
						break;
					case browserVersion.substring(0,2) == "85":
						safariVersion = "1.0";
						break;
				}
				browserVersion = safariVersion;
				break;
		}
		break;
	case browserUserAgentLowerCase.indexOf('navigator') >= 0:  // browser is Netscape 9.x
		browserAgent = "Netscape";
		browserVersion = "9.0";
		break;
	case browserUserAgentLowerCase.indexOf('netscape') >= 0:  // browser is Netscape 6.x - 8.x
		browserAgent = "Netscape";
		browserVersion = browserUserAgentLowerCase.split('netscape/');
		browserVersion = browserVersion[1].substring(0,3);
		break;	
} // End BrowserSwitch

function returnBrowserPlatform() // Function returns the platform/operating system
{
	return platformVersion; 
} // End returnBrowserPlatform()

function returnBrowserAgent() // Function returns the browser
{
  return browserAgent;  
}// End returnBrowserAgent

function returnBrowserVersion() // Function returns the browser version
{
  return browserVersion;  
}// End returnBrowserVersion

function checkBrowser() // Function checks for browser/OS compatibility with Bb
//modified pass, warning, fail to okay, warning, fail - evaluation based on http://kb.blackboard.com/pages/viewpage.action?pageId=55574750 - anything compatible is identified as okay
{
	switch (true) // BrowserCompatibilitySwitch
	{
		case browserAgent == "Internet Explorer": // browser is IE
			switch (true) // IECompatibilitySwitch
			{
				case browserPlatform == "Windows": // platform is Windows
					switch (true) // IEWindowsSwitch
					{
						case platformVersion == "Windows .NET Server":
							switch (true) // IEVersionWindows .NET Server Switch - versions IE  OK for Windows .NET Server
							//added, BT -we are running in Windows .NET Server here - need browser check to validate OK
							{
								case parseFloat(browserVersion) >= 9.0:
									browserPass = "okay"; //*betas are not supported
									break;
								case parseFloat(browserVersion) >= 8.0:
									browserPass = "okay"; //*based on our testing at ICC - compatible
									break;
								case parseFloat(browserVersion) >= 7.0:
									browserPass = "okay"; //*based on our testing at ICC - compatible
									break;
								case parseFloat(browserVersion) >= 6.0:
									browserPass = "fail"; //unsupported
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows 7 64-bit":
							switch (true) // IEVersionVistaSwitch - versions IE  OK for Windows 7 64
							{
								case parseFloat(browserVersion) > 9.0:
									browserPass = "fail"; //betas are not supported
									break;
								case parseFloat(browserVersion) == 9.0: //added 8/16/2011
									browserPass = "okay";//IE 9 current stable version - compatible
									break;
								case parseFloat(browserVersion) >= 8.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 7.0:
									browserPass = "fail"; //unsuppported
									break;
								case parseFloat(browserVersion) >= 6.0:
									browserPass = "fail"; //unsupported
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows 7": //32 bit
							switch (true) // IEVersionVistaSwitch - versions of IE OK for Windows 7
							{
								case parseFloat(browserVersion) > 9.0:
									browserPass = "fail"; //betas are not supported
									break;
								case parseFloat(browserVersion) == 9.0: //added 8/16/2011
									browserPass = "okay";//IE 9 current stable version - compatible
									break;
								case parseFloat(browserVersion) == 8.0:
									browserPass = "okay"; //*certified
									break;
								case parseFloat(browserVersion) >= 7.0:
									browserPass = "fail"; //unsupported
									break;
								case parseFloat(browserVersion) >= 6.0:
									browserPass = "fail"; //unsupported
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows Vista 64-bit":
							switch (true) // IEVersionVistaSwitch - versions IE OK for Vista 64
							{
							case parseFloat(browserVersion) > 9.0:
									browserPass = "fail"; //betas are not supported
									break;
								case parseFloat(browserVersion) == 9.0: //added 8/16/2011
									browserPass = "okay";//IE 9 current stable version - compatible
									break;
								case parseFloat(browserVersion) == 8.0:
									browserPass = "okay"; //*compatible
									break;
									case parseFloat(browserVersion) >= 7.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 6.0:
									browserPass = "fail"; //unsupported
									break;
								default:
									browserPass = "fail";
									break;
							}
						case platformVersion == "Windows Vista":
							switch (true) // IEVersionVistaSwitch - versions IE OK for Vista
							{
								case parseFloat(browserVersion) > 9.0:
									browserPass = "fail"; //betas are not supported
									break;
								case parseFloat(browserVersion) == 9.0: //added 8/16/2011
									browserPass = "okay";//IE 9 current stable version - certified
									break;
								case parseFloat(browserVersion) == 8.0:
									browserPass = "okay"; //*compatible
									break;
									case parseFloat(browserVersion) >= 7.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 6.0:
									browserPass = "fail"; //unsupported
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows XP":
							switch (true) // IEVersionXPSwitch - versions IE 
							{
								case parseFloat(browserVersion) > 9.0:
									browserPass = "fail"; //betas are not supported
									break;
								case parseFloat(browserVersion) == 9.0: //added 8/16/2011
									browserPass = "fail";//IE 9 current stable version - Unsupported
									break;
								case parseFloat(browserVersion) == 8.0:
									browserPass = "okay"; //*certified
									break;
								case parseFloat(browserVersion) >= 7.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 6.0:
									browserPass = "fail"; //unsupported
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						default: // Other versions of Windows are not supported
							browserPass = "fail";
							break;
					}
					break;
				default: // IE (of any version) does not pass for any OS other than Windows
					browserPass = "fail";
					break;
			}
			break;
		case browserAgent == "Firefox":  // browser is Firefox
			switch (true) // FirefoxCompatibilitySwitch
			{
				case browserPlatform == "Windows": // platform is Windows
					switch (true) // FirefoxWindowsSwitch
					{
						case platformVersion == "Windows .NET Server":
							switch (true) // Firefox VersionWindows .NETServerSwitch -versions fireFox OK for Windows .NET Server
							//added, BT -we are running Windows .NETServer here - need browser check to validate that labs OK
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows 7 64-bit":
							switch (true) // FirefoxVersionVistaSwitch - what versions of Firefox are OK for Windows 7
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows 7": //32 bit
							switch (true) // FirefoxVersionWindows7Switch - what versions of Firefox are OK for Windows 7
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //*Certified
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//*Certified
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows Vista 64-bit":
							switch (true) // FirefoxVersionVistaSwitch - what versions of Firefox are OK for Vista
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows Vista": //32 bit
							switch (true) // FirefoxVersionVistaSwitch - what versions of Firefox are OK for Vista
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //*Certified
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//*Certified
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows XP":
							switch (true) // FirefoxVersionXPSwitch - what versions of Firefox are OK for XP
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						default: // Other versions of Windows are not supported
							browserPass = "fail";
							break;
					}
					break;
				case browserPlatform == "Macintosh": // platform is Mac
					switch (true) // FirefoxMacSwitch
					{
						case platformVersion == "Mac OSX 10.6":
							switch (true) // FirefoxVersionOSX10.6Switch - what versions of Firefox are OK for OSX 10.6
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay"; //*Certified
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay"; //*Certified
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay"; //compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Mac OSX 10.5":
							switch (true) // FirefoxVersionOSX10.5Switch - what versions of Firefox are OK for OSX 10.5
							{
								case parseFloat(browserVersion) >= 5.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) >= 4.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) == 3.6:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						default: // Other versions of Mac OS are not supported
							browserPass = "fail";
							break;
					}
					break;
				default: // OS other than Mac or Windows are not supported
					browserPass = "fail";
					break;
			}
			break;
		case browserAgent == "Safari": // browser is Safari
			switch (true) // SafariCompatibilitySwitch
			{
				case browserPlatform == "Macintosh":
				switch (true) // SafariMacSwitch
					{
						case platformVersion == "Mac OSX 10.6":
							switch (true) // SafariVersionOSX10.6Switch - what versions of Safari are OK for OSX 10.6
							{
								case parseFloat(browserVersion) == 5.0:
									browserPass = "okay";//*Certified
									break;
								case parseFloat(browserVersion) == 4.0:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Mac OSX 10.5":
							switch (true) // SafariVersionOSX10.5Switch - what versions of Safari are OK for OSX 10.5
							{
								case parseFloat(browserVersion) == 5.0:
									browserPass = "okay";//compatible
									break;
								case parseFloat(browserVersion) == 4.0:
									browserPass = "okay";//compatible
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						default: // Other versions of Mac OS are not supported
							browserPass = "fail";
							break;
					}
					break;
				default: // OS other than Mac are not supported
					browserPass = "fail";
					break;
			}
			case browserAgent == "Chrome": // Browser is Chrome
		
			switch (true) // ChromeCompatibilitySwitch
			{
				case browserPlatform == "Windows": // platform is Windows
					switch (true) // ChromeWindowsSwitch
					{
						case platformVersion == "Windows 7 64-bit":
							switch (true) // ChromeVersionWin7-64Switch - what versions of Chrome are OK for Win7-64
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows 7":
							switch (true) // ChromeVersionWin7Switch - what versions of Chrome are OK for Win7
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //*Certified (current stable version is certified)
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows Vista 64-bit":
							switch (true) // ChromeVersionVista-64Switch - what versions of Chrome are OK for Vista-64
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows Vista":
							switch (true) // ChromeVersionVistaSwitch - what versions of Chrome are OK for Vista
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Windows XP":
							switch (true) // ChromeVersionXPSwitch - what versions of Chrome are OK for XP
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						default: // Other versions of Windows are not supported
							browserPass = "fail";
							break;
					}
					break;
				case browserPlatform == "Macintosh": // platform is Mac
					switch (true) // ChromeMacSwitch
					{
						case platformVersion == "Mac OSX 10.6":
							switch (true) // ChromeVersionOSX10.6Switch - what versions of Chrome are OK for OSX 10.6
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //*Certified (current stable version is certified)
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						case platformVersion == "Mac OSX 10.5":
							switch (true) // ChromeVersionOSX10.5Switch - what versions of Chrome are OK for OSX 10.5
							{
								case parseFloat(browserVersion) > 12.0:
									browserPass = "okay"; //compatible
									break;
								case parseFloat(browserVersion) >= 10.0:
									browserPass = "okay"; //versions above 10 should be compatible
									break;
								case parseFloat(browserVersion) < 10.0:
									browserPass = "fail";
									break;
								default:
									browserPass = "fail";
									break;
							}
							break;
						default: // Other versions of Mac OS are not supported
							browserPass = "fail";
							break;
					}
					break;
				default: // OS other than Mac or Windows are not supported
					browserPass = "fail";
					break;
			}
			break;
		case browserAgent == "Netscape": // Browser is Netscape
			browserPass = "fail";
			break;
	}
	switch (true)
	{
		case browserPass == "okay":
			document["browserImg"].src="okay.gif"; //load okay image if compatible browser or plug-in recognized
			document["browserImg"].alt="Okay";
			break;
		case browserPass == "warning":
			document["browserImg"].src="warning.gif"; //not using warning at this time
		   	document["browserImg"].alt="Warning";
			break;
		case browserPass == "fail": // loads fail image, most of the checks have a preloaded fail image in the html file - assume fail 
			document["browserImg"].src="fail.gif";
		   	document["browserImg"].alt="Fail";
			break;
	}
}//end browsercheck()


// detect cookies enabled
	
function checkCookies()
{
	var msg;
	msg = " ";
	navigator.cookiesAreEnabled = checkCookiesAreEnabled();
	if (navigator.cookiesAreEnabled) 
	{
		document["cookiesImg"].src="okay.gif";
		document["cookiesImg"].alt="Okay";
		msg = " ";
	} 
	return msg; 
 }
 

function checkCookiesAreEnabled() 
{
	SetCookie("mo", "mule");
	if (GetCookie("mo")) 
	{
    	DeleteCookie("mule");
    	return true;
  	} else
	{
    	return false;
	}
}

function GetCookie(name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
    	var j = i + alen;
    	if (document.cookie.substring(i, j) == arg) return getCookieVal(j);
    	i = document.cookie.indexOf(" ", i) + 1;
    	if (i == 0) break;
	}
  	return null;
}

function getCookieVal(offset) 
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function DeleteCookie(name, path, domain) 
{
	if (GetCookie(name)) 
	{
    	document.cookie = name + "=" +
    	((path) ? "; path=" + path : "") +
    	((domain) ? "; domain=" + domain : "") +
    	"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

function SetCookie(name, value, expires, path, domain, secure)
{
	document.cookie = name + "=" + escape (value) +
  	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}


//detect pop-up blocking - embedded in browsercheck.html


//detect java - detection done via java website

//detect flash player - detection done via flash website

//detect adobe reader - detection done via embedded pdf (javascript in pdf)


function runChecks() // runs the check functions, except checkPlugins()
{
	checkBrowser();
	document["javaScriptImg"].src="okay.gif"; // if Javascript is enabled this will be passed to the html file
	document["javaScriptImg"].alt="okay"; // if Javascript is enabled this will be passed to the html file
	checkCookies();
} // End runChecks()

window.onload=runChecks; // this calls the runChecks() function once the html is rendered
