// Browser sniffer is adapted from ppk's  browser detect
// http://www.quirksmode.org/js/detect.html


Browser.sniffBrowser = function() {
		var 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"
				}
			];
			
			
			var searchVersion = function (dataString) {
						var index = dataString.indexOf(versionSearchString);
						if (index == -1) return;
						return parseFloat(dataString.substring(index+versionSearchString.length+1));
					};
			
			
			
		 for (var i=0;i<dataBrowser.length;i++)	{
				var dataString = dataBrowser[i].string;
				var dataProp = dataBrowser[i].prop;
				var versionSearchString = dataBrowser[i].versionSearch || dataBrowser[i].identity;
				if (dataString) {
					if (dataString.contains(dataBrowser[i].subString) ) {
							Browser.Engine.browserName = dataBrowser[i].identity;
							break;
					}
				}
				else if (dataProp) {
					Browser.Engine.browserName = dataBrowser[i].identity;
					break;
					
				}
		 }
			
			Browser.Engine.browserVersion =  searchVersion(navigator.userAgent) ||  searchVersion(navigator.appVersion)	|| "an unknown version";
}


Browser.sniffBrowser();