// JavaScript Document




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: "Chrome",




			identity: "Chrome"




		},




		{ 	string: navigator.userAgent,




			subString: "OmniWeb",




			versionSearch: "OmniWeb/",




			identity: "OmniWeb"




		},




		{




			string: navigator.vendor,




			subString: "Apple",




			identity: "Safari",




			versionSearch: "Version"




		},




		{




			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.userAgent,




			   subString: "iPhone",




			   identity: "iPhone/iPod"




	    },




		{




			string: navigator.platform,




			subString: "Linux",




			identity: "Linux"




		}




	] 









}; 




BrowserDetect.init();















