//----[ Browser-Detect.js ]----
//
//	Author:		Jos Buis (JB)
//	Purpose:	Browser identification.
//	Credits:	www.quirksmode.org
//
//	History:
//		Who:	When:		What:
//		 JB		  nov 2006	  Start of the project
//
//	Usage:	BrowserDetect.browser	= name
//			BrowserDetect.version	= number
//			BrowserDetect.OS		= OS name
//
//----[ © 2006 , ArtEZ - Institute of the Arts ]----

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();

//----[ End of Browser-Detect.js ]----