var BrowserDetect = 
{
	init: function () 
	{
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	
	searchString: function (data) 
	{ 
		for (var i=0;i<data.length;i++) 
		{ 
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) 
			{
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity; 
			}
			else if (dataProp) 
				return data[i].identity; 
		}
	},

	searchVersion: function (dataString) 
	{ 
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1)
			return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},

	dataBrowser: 
	[ 
		{
			string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb" 
		},		
		{ 
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari" 
		},
		{
			prop: window.opera,
			identity: "Opera" 
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab" 
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror" 
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox" 
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino" 
		}, 
		{ // for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape" 
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE" 
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv" 
		},
		{ // for older Netscapes (4-) 
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla" 
		}
	],

	dataOS : 
	[ 
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows" 
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac" 
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux" 
		}
			
	]
	
}; 

BrowserDetect.init();