function GetBrowserInfo()
{
	var oInfo = new Object();
	
	oInfo.browser = "other";
	oInfo.os = "other";
	oInfo.full_version = "";
	oInfo.major_version = 0;

	var strUserAgent = navigator.userAgent.toLowerCase();
	var strAppVersion = navigator.appVersion.toLowerCase();
	
	// Check the OS
	if (strAppVersion.indexOf("linux") >= 0 || strUserAgent.indexOf("linux") >= 0)
	{
		oInfo.os = "linux";
	}
	else if (strAppVersion.indexOf("macintosh") >= 0)
	{
		oInfo.os = "mac";
	}
	else if (strAppVersion.indexOf("windows") >= 0)
	{
		oInfo.os = "windows";
	}
	
	// Lets see what browser we are actually running in

	var nPos = -1;
	var strTemp = "";
			
	// First lets check to see if it is opera because opera will mimic other browsers
	if (strUserAgent.indexOf("opera") >= 0)
	{
		oInfo.browser = "opera";
		
		// Get the full version
		nPos = strUserAgent.indexOf("opera") + 6;
		strTemp = strUserAgent.substr(nPos);
		nPos = strTemp.indexOf(" ");
		if (nPos >= 0)
		{
			strTemp = strTemp.substr(0, nPos)
		}
		
		oInfo.full_version = strTemp;
		
		// Get the major version
		nPos = strTemp.indexOf(".");
		strTemp = strTemp.substr(0, nPos);
		oInfo.major_version = parseInt(strTemp);
		
	}
	else if (strUserAgent.indexOf("netscape") >= 0)
	{
		oInfo.browser = "netscape"
		
		// Get the full version
		nPos = strUserAgent.indexOf("netscape") + 8;
		strTemp = strUserAgent.substr(nPos);
		nPos = strTemp.indexOf("/");
		if (nPos >= 0)
		{
			strTemp = strTemp.substr(nPos + 1)
		}
		
		nPos = strTemp.indexOf(" ");
		if (nPos >= 0)
		{
			strTemp = strTemp.substr(0, nPos)
		}
		
		oInfo.full_version = strTemp;
		
		// Get the major version
		nPos = strTemp.indexOf(".");
		strTemp = strTemp.substr(0, nPos);
		oInfo.major_version = parseInt(strTemp);
	}
	else if (strUserAgent.indexOf("firefox") >= 0)
	{
		oInfo.browser = "firefox"
		
		// Get the full version
		nPos = strUserAgent.indexOf("firefox") + 7;
		strTemp = strUserAgent.substr(nPos);
		nPos = strTemp.indexOf("/");
		if (nPos >= 0)
		{
			strTemp = strTemp.substr(nPos + 1)
		}
		
		oInfo.full_version = strTemp;
		
		// Get the major version
		nPos = strTemp.indexOf(".");
		strTemp = strTemp.substr(0, nPos);
		oInfo.major_version = parseInt(strTemp);
	}
	else if (strUserAgent.indexOf("safari") >= 0)
	{
		oInfo.browser = "safari"
		oInfo.major_version = "3";
		
		// Get the full version
		nPos = strUserAgent.indexOf("safari") + 6;
		strTemp = strUserAgent.substr(nPos);
		nPos = strTemp.indexOf("/");
		if (nPos >= 0)
		{
			strTemp = strTemp.substr(nPos + 1)
		}
		
		oInfo.full_version = strTemp;
		
		nPos = strUserAgent.indexOf("version");
		if (nPos >= 0)
		{
			strTemp = strUserAgent.substr(nPos + 8);
			nPos = strTemp.indexOf(" ");
			if (nPos >= 0)
			{
				strTemp = strTemp.substr(0, nPos);
			}
			
			oInfo.full_version = strTemp;
			
			// Get the major version
			nPos = strTemp.indexOf(".");
			strTemp = strTemp.substr(0, nPos);
			oInfo.major_version = parseInt(strTemp);
		}
		
	}
	else if (strUserAgent.indexOf("msie") >= 0)
	{
		oInfo.browser = "ie"
		
		// Get the full version
		nPos = strUserAgent.indexOf("msie") + 5;
		strTemp = strUserAgent.substr(nPos);
		nPos = strTemp.indexOf(";");
		if (nPos >= 0)
		{
			strTemp = strTemp.substr(0, nPos)
		}
		
		oInfo.full_version = strTemp;
		
		// Get the major version
		nPos = strTemp.indexOf(".");
		strTemp = strTemp.substr(0, nPos);
		oInfo.major_version = parseInt(strTemp);
	}
	
	return oInfo;	
}