var strUserAgent	= window.navigator.userAgent.toLowerCase();
var indFrom			= 0;
var indTo			= 0;
var strLanguage		= "";





var Browser				= new Object();
{
	//--------

	Browser.classType	= "Isometriq Browser Detection";
	Browser.toString	= function() { return( this.classType	); }
	Browser.valueOf		= function() { return( this				); }
	
	//----------
	
	if ((indFrom = strUserAgent.indexOf( "safari" )) != -1)
	{
		Browser.Safari		= true;
		Browser.FullName	= "Safari";
		Browser.Name		= "sf";
		
		indFrom			   += 6;
		indTo				= strUserAgent.indexOf( " ", indFrom );
		
		Browser.FullVersion	= 1.0;	//parseFloat( strUserAgent.substring( indFrom, indTo ) );
		Browser.Version		= 1;	//parseInt( Browser.FullVersion );
		
		Browser.FullCode	= "sf1.0";	// + Browser.FullVersion;
		Browser.Code		= "sf1";	// + Browser.Version;
	}
	
	else if ((indFrom = strUserAgent.indexOf( "opera" )) != -1)
	{
		Browser.Opera		= true;
		Browser.FullName	= "Opera";
		Browser.Name		= "op";
		
		indFrom			   += 6;
		indTo				= strUserAgent.indexOf( " ", indFrom );
		
		Browser.FullVersion	= parseFloat( strUserAgent.substring( indFrom, indTo ) );
		Browser.Version		= parseInt( Browser.FullVersion );
		
		Browser.FullCode	= "op" + Browser.FullVersion;
		Browser.Code		= "op" + Browser.Version;
	}
	
	else if (window.navigator.appName == "Microsoft Internet Explorer")
	{
		Browser.Explorer	= true;
		Browser.FullName	= "Internet Explorer";
		Browser.Name		= "ie";
		
		indFrom 			= strUserAgent.indexOf( "msie" ) + 4;
		indTo				= strUserAgent.indexOf( ";", indFrom );
		
		Browser.FullVersion	= parseFloat( strUserAgent.substring( indFrom, indTo ) );
		Browser.Version		= parseInt( Browser.FullVersion );
		
		Browser.FullCode	= "ie" + Browser.FullVersion;
		Browser.Code		= "ie" + Browser.Version;
	}
	
	else if (window.navigator.appName == "Netscape")
	{
		Browser.Netscape	= true;
		Browser.FullName	= "Netscape Navigator";
		Browser.Name		= "ns";
		
		indFrom 			= strUserAgent.indexOf( "/", strUserAgent.indexOf( "netscape" ) + 8 ) + 1;
		indTo				= strUserAgent.length;
		
		Browser.FullVersion	= parseFloat( strUserAgent.substring( indFrom, indTo ) );
		Browser.Version		= parseInt( Browser.FullVersion );
		
		Browser.FullCode	= "ns" + Browser.FullVersion;
		Browser.Code		= "ns" + Browser.Version;
	}
	
	else
	{
		Browser.Unknown		= true;
		Browser.FullName	= "Unknown";
		Browser.Name		= "n/a";
		
		Browser.FullVersion	= 0.0;
		Browser.Version		= 0;
		
		Browser.FullCode	= "n/a";
		Browser.Code		= "n/a";
	}
	
	//----------
	
	if (strUserAgent.lastIndexOf( "gecko" ) != -1)
	{
		Browser.Gecko	= true;
		Browser.Engine	= "Gecko";
	}
	else if (strUserAgent.indexOf( "mozilla" ) != -1)
	{
		Browser.Mozilla	= true;
		Browser.Engine	= "Mozilla";
	}
	else
		Browser.Engine	= "Unknown";
	
	//----------
	
	Browser.OS = new Object();
	
	if ((indFrom = strUserAgent.lastIndexOf( "win" )) != -1)
	{
		Browser.OS.Windows	= true;
		Browser.OS.FullName	= "Windows";
		Browser.OS.Name		= "win";
		
		indFrom			   	= strUserAgent.indexOf( " ", indFrom  ) + 1;
		indTo				= strUserAgent.indexOf( Browser.Opera ? ")" : ";", indFrom  );
		
		Browser.OS.Version	= window.navigator.userAgent.substring( indFrom, indTo )
	}
	else if((indFrom = strUserAgent.lastIndexOf( "mac" )) != -1)
	{
		Browser.OS.Mac		= true;
		Browser.OS.FullName	= "Mac OS";
		Browser.OS.Name		= "mac";
		
		if (Browser.Safari || Browser.Opera)
			Browser.OS.Version = "X";
			
		else if (Browser.Explorer)
			Browser.OS.Version = Browser.Version >= Browser.FullVersion ? "9" : "X";
			
		else
			Browser.OS.Version = strUserAgent.lastIndexOf( "mac os x", indFrom ) == -1 ? "9" : "X";
	}
	else
	{
		Browser.OS.Unknown	= true;
		Browser.OS.FullName	= "Unknown";
		Browser.OS.Name		= "n/a";
		Browser.OS.Version	= "n/a";
	}
	
	//----------
	
	if (navigator.browserLanguage)
		Browser.OS.Language = navigator.browserLanguage.toLowerCase().split( "-" )[0];
	
	else if ((indTo = strUserAgent.lastIndexOf( "]" )) != -1)
	{
		indFrom				= strUserAgent.lastIndexOf( "[", indTo ) + 1;
		Browser.OS.Language	= strUserAgent.substring( indFrom, indTo );
	}
	else if ((indTo = navigator.appVersion.lastIndexOf( ")" )) != -1)
	{
		indTo			   -= 1;
		indFrom				= navigator.appVersion.lastIndexOf( ";", indTo ) + 2;
		Browser.OS.Language	= navigator.appVersion.substring( indFrom, indTo ).toLowerCase().split( "-" )[0];
	}
	else
		Browser.OS.Language = "n/a";
}





indFrom			= null;
indTo			= null;
strLanguage		= null;




/*
alert(	navigator.userAgent +
		"\n\n" + Browser.toString().toUpperCase() +
		"\nName : " + Browser.Name +
		"\nFull Name : " + Browser.FullName +
		"\nVersion : " + Browser.Version +
		"\nFull Version : " + Browser.FullVersion +
		"\nCode : " + Browser.Code +
		"\nFull Code : " + Browser.FullCode +
		"\n\nOS Name : " + Browser.OS.Name +
		"\nOS Full Name : " + Browser.OS.FullName +
		"\nOS Version : " + Browser.OS.Version +
		"\nOS Language : " + Browser.OS.Language );
*/

//This script detects the following:
//Flash
//Windows Media Player
//Java
//Shockwave
//RealPlayer
//QuickTime
//Acrobat Reader
//SVG Viewer

/*
var agt=navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ns  = (navigator.appName.indexOf("Netscape") != -1);
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
var mac = (agt.indexOf("mac")!=-1);

if (ie && win) {	pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader"); }
if (ns || !win) {
		nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
		pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
}

function detectIE(ClassID,name) { result = false; document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); if (result) return name+','; else return ''; }
function detectNS(ClassID,name) { n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n; }

pluginlist += navigator.javaEnabled() ? "Java," : "";
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);

//SAMPLE USAGE- detect "Flash"
//if (pluginlist.indexOf("Flash")!=-1)
//document.write("You have flash installed")
*/