
var BrowserInfo;

var __dlindquist_com_browser_detect_tmpStr;
var __dlindquist_com_browser_detect_tmpPlace;

function __dlindquist_com_browserInfo(browser,OS,version)
{
	this.name = browser;
	this.os = OS;
	this.version = version;
}

__dlindquist_com_browserInfo.prototype.isIE = function()
{
	return(this.name == 'Internet Explorer');
}
__dlindquist_com_browserInfo.prototype.toString = function()
{
	return(this.name + " version " + this.version + " on " + this.os);
}

function __dlindquist_com_browser_detect()
{
	var detect = navigator.userAgent.toLowerCase();
	var OS,browser,version;

	if(__dlindquist_com_browser_detect_checkString(detect,'konqueror'))
	{
		browser = "Konqueror";
		OS = "Linux";
	}
	else if (__dlindquist_com_browser_detect_checkString(detect,'safari')) browser = "Safari"
	else if (__dlindquist_com_browser_detect_checkString(detect,'omniweb')) browser = "OmniWeb"
	else if (__dlindquist_com_browser_detect_checkString(detect,'opera')) browser = "Opera"
	else if (__dlindquist_com_browser_detect_checkString(detect,'webtv')) browser = "WebTV";
	else if (__dlindquist_com_browser_detect_checkString(detect,'icab')) browser = "iCab"
	else if (__dlindquist_com_browser_detect_checkString(detect,'msie')) browser = "Internet Explorer"
	else if (__dlindquist_com_browser_detect_checkString(detect,'firefox')) browser = "Firefox"
	else if (!__dlindquist_com_browser_detect_checkString(detect,'compatible'))
	{
		browser = "Netscape Navigator"
		version = detect.charAt(8);
	}
	else browser = "(unknown)";
	
	if (!version) version = detect.substring(__dlindquist_com_browser_detect_tmpPlace + __dlindquist_com_browser_detect_tmpStr.length).replace(/[^0-9]*([0-9\.]+).*$/,'$1');
	
	if (!OS)
	{
		if (__dlindquist_com_browser_detect_checkString(detect,'linux')) OS = "Linux";
		else if (__dlindquist_com_browser_detect_checkString(detect,'x11')) OS = "Unix";
		else if (__dlindquist_com_browser_detect_checkString(detect,'mac')) OS = "Mac"
		else if (__dlindquist_com_browser_detect_checkString(detect,'win')) OS = "Windows"
		else OS = "(unknown)";
	}

	BrowserInfo = new __dlindquist_com_browserInfo(browser,OS,version);

	__dlindquist_com_browser_detect_tmpPlace = null;
	__dlindquist_com_browser_detect_tmpStr = null;
}

function __dlindquist_com_browser_detect_checkString(detect,string)
{
	__dlindquist_com_browser_detect_tmpPlace = detect.indexOf(string) + 1;
	__dlindquist_com_browser_detect_tmpStr = string;
	return __dlindquist_com_browser_detect_tmpPlace;
}

__dlindquist_com_browser_detect();
