/*=============================================================================
' Library Description:
'
' Here is the JavaScript code necessary to detect browser vendor, version number, 
' and operating system. This code creates a group of variables which indicate the 
' browser's vendor, version number, JavaScript version, and operating system. 
'
' This code is believed to be compatible with all versions of all JavaScript-
' capable browsers on all platforms. It has been tested on the following operating 
' systems and browser versions: 
'
' - Windows 2000/XP: Navigator 6, Navigator 7; 
'		Internet Explorer 5, Internet Explorer 6; 
' - Windows NT: Navigator 2, Navigator 3, Navigator 4, Navigator 6, Navigator 7; 
'		Internet Explorer 5; Internet Explorer 3; Opera 3 
' - Windows 95: Navigator 4; Internet Explorer 4 
' - Macintosh OS 9: Navigator 4, Navigator 6, Navigator 7; Internet Explorer 3.01, 
'		Internet Explorer 4.02 and Internet Explorer 5.2
' - Macintosh OS X: Navigator 6, Navigator 7; Internet Explorer 5.2; Safari 1.0
' - SunOS5: Navigator 3 
'============================================================================*/
 
/*=============================================================================
' Copyright Information:
'
' Ultimate client-side JavaScript client sniff. 
' (C) Netscape Communications 1999.  Permission granted to reuse and distribute. 
' Everything you always wanted to know about your JavaScript client 
' but were afraid to ask. Creates "is_" variables indicating: 
' (1) browser vendor: 
'     is_nav, is_ie, is_opera, is_webtv, is_safari 
' (2) browser version number: 
'     is_major (integer indicating major version number: 2, 3, 4 ...) 
'     is_minor (float   indicating full  version number: 2.02, 3.01, 4.04 ...) 
' (3) browser vendor AND major version number 
'     is_nav2, is_nav3, is_nav4, is_nav4up, is_nav5, is_nav5up, 
'     is_nav6, is_nav6up, is_nav7, is_nav71, is_nav7up, 
'     is_ie3, is_ie4, is_ie4up, is_ie5, is_ie55, is_ie5up, is_ie6, is_ie6up
' (4) JavaScript version number: 
'     is_js (float indicating full JavaScript version number: 1, 1.1, 1.2 ...) 
' (5) OS platform and version: 
'     is_win, is_win16, is_win32, is_win31, is_win95, is_winnt, is_win98, is_win2000, is_winxp
'     is_os2 
'     is_mac, is_mac68k, is_macppc, is_macosx
'     is_unix 
'        is_sun, is_sun4, is_sun5, is_suni86 
'        is_irix, is_irix5, is_irix6 
'        is_hpux, is_hpux9, is_hpux10 
'        is_aix, is_aix1, is_aix2, is_aix3, is_aix4 
'        is_linux, is_sco, is_unixware, is_mpras, is_reliant 
'        is_dec, is_sinix, is_freebsd, is_bsd 
'     is_vms 
' 
' See http://www.it97.de/JavaScript/JS_tutorial/bstat/navobj.html and 
' http://www.it97.de/JavaScript/JS_tutorial/bstat/Browseraol.html 
' for detailed lists of userAgent strings. 
' 
' Note: you don't want your Nav4 or IE4 code to "turn off" or 
' stop working when Nav5 and IE5 (or later) are released, so 
' in conditional code forks, use is_nav4up ("Nav4 or greater") 
' and is_ie4up ("IE4 or greater") instead of is_nav4 or is_ie4 
' to check version in code which you want to work on future 
' versions. 
'------------------------------------------------------------------------------
' 1999-05-17 NET - Revised to add is_nav5up and is_ie5up (see below). 
' 2001-10-10 JRM - Added is_ie6 and is_ie6up global variables. 
' 2003-09-22 JRM - Added Netscape 6/7 and Safari related global variables.
'				- Fixed some bugs and cleaned up code.
'				- Added detection for Mozilla.
'============================================================================*/

// convert all characters to lowercase to simplify testing 
var agt			= navigator.userAgent.toLowerCase(); 

//-----------------------------------------------------------------------------
// *** BROWSER VERSION *** 
// Note: On IE5 and IE6, these return 4, so use is_ie5up to detect IE5
// and is_ie6up to detect IE6. 
//-----------------------------------------------------------------------------
var is_major	= parseInt(navigator.appVersion); 
var is_minor	= parseFloat(navigator.appVersion); 

//-----------------------------------------------------------------------------
// NETSCAPE NAVIGATOR/MOZILLA
// Note: Opera and WebTV spoof Navigator.  We do strict client detection. 
// If you want to allow spoofing, take out the tests for opera and webtv. 
//-----------------------------------------------------------------------------
var is_nav		= ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer') == -1) 
					&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera') == -1) 
					&& (agt.indexOf('webtv') == -1) && (agt.indexOf('safari') == -1)); 
var is_nav2		= (is_nav && (is_major == 2)); 
var is_nav3		= (is_nav && (is_major == 3)); 
var is_nav4		= (is_nav && (is_major == 4) && (agt.indexOf("netscape/6")==-1) && (agt.indexOf("netscape/7")==-1)); 
var is_nav4up	= (is_nav && (is_major >= 4)); 
var is_nav5		= (is_nav && (is_major == 5) && (agt.indexOf("netscape/6")==-1) && (agt.indexOf("netscape/7")==-1)); 
var is_nav5up	= (is_nav && (is_major >= 5));
var is_nav6		= (is_nav5up && (agt.indexOf("netscape/6")!=-1)); 
var is_nav6up	= (is_nav5up && (agt.indexOf("netscape/6")!=-1 || agt.indexOf("netscape/7")!=-1)); 
var is_nav7		= (is_nav6up && (agt.indexOf("netscape/7")!=-1)); 
var is_nav71	= (is_nav6up && (agt.indexOf("netscape/7.1")!=-1)); 
var is_nav7up	= (is_nav6up && (agt.indexOf("netscape/7")!=-1)); 
var is_navonly	= (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) ); 

//-----------------------------------------------------------------------------
// MICROSOFT INTERNET EXPLORER
//-----------------------------------------------------------------------------
var is_ie		= (agt.indexOf("msie") != -1); 
var is_ie3		= (is_ie && (is_major < 4)); 
var is_ie4		= (is_ie && (is_major == 4) && (agt.indexOf("msie 4.0")!=-1) ); 
var is_ie4up	= (is_ie && (is_major >= 4)); 
var is_ie5		= (is_ie && (is_major >= 4) && (agt.indexOf("msie 5.0")!=-1) ); 
var is_ie55		= (is_ie && (is_major >= 4) && (agt.indexOf("msie 5.5")!=-1) ); 
var is_ie5up	= (is_ie && !is_ie3 && !is_ie4); 
var is_ie6		= (is_ie && (is_major >= 4) && (agt.indexOf("msie 6.0")!=-1) ); 
var is_ie6up	= (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && (agt.indexOf("msie 6.0")!=-1)); 

//-----------------------------------------------------------------------------
// KNOWN BUG: On AOL4, returns false if IE3 is embedded browser 
// or if this is the first browser window opened.  Thus the 
// variables is_aol, is_aol3, and is_aol4 aren't 100% reliable. 
//-----------------------------------------------------------------------------
var is_aol		= (agt.indexOf("aol") != -1); 
var is_aol3		= (is_aol && is_ie3); 
var is_aol4		= (is_aol && is_ie4); 

var is_opera	= (agt.indexOf("opera") != -1); 
var is_webtv	= (agt.indexOf("webtv") != -1); 
var is_safari	= (agt.indexOf("safari") != -1); 
var is_mozilla	= ((agt.indexOf("mozilla") != -1) && (agt.indexOf("gecko/") != -1) 
					&& (agt.indexOf('spoofer') == -1) && (agt.indexOf('compatible') == -1) 
					&& (agt.indexOf('opera') == -1) && (agt.indexOf('webtv') == -1) 
					&& (agt.indexOf('netscape') == -1) && (agt.indexOf('safari') == -1)); 

//-----------------------------------------------------------------------------
// *** JAVASCRIPT VERSION CHECK *** 
//-----------------------------------------------------------------------------
var is_js; 
	
if (is_nav2 || is_ie3) { is_js = 1.0; }
else if (is_nav3 || is_opera) { is_js = 1.1; }
else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) { is_js = 1.2; }
else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) { is_js = 1.3; }
else if (is_nav5) { is_js = 1.4; }
// NOTE: In the future, update this code when newer versions of JS 
// are released. For now, we try to provide some upward compatibility 
// so that future versions of Nav and IE will show they are at 
// *least* JS 1.x capable. Always check for JS version compatibility 
// with > or >=. 
else if (is_nav && (is_major > 5)) { is_js = 1.4; }
else if (is_ie && (is_major > 5)) { is_js = 1.3; }
// HACK: no idea for other browsers; always check for JS version with > or >= 
else { is_js = 0.0; }

//-----------------------------------------------------------------------------
// *** PLATFORM ***
//-----------------------------------------------------------------------------
var is_win		= ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
//        Win32, so you can't distinguish between Win95 and WinNT.
var is_win95	= ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));

// is this a 16 bit compiled version?
var is_win16	= ((agt.indexOf("win16")!=-1) || 
					(agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
					(agt.indexOf("windows 16-bit")!=-1) );

var is_win31	= ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
					(agt.indexOf("windows 16-bit")!=-1));

//-----------------------------------------------------------------------------
// NOTE: Reliable detection of Win98 may not be possible. It appears that:
//       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
//       - On Mercury client, the 32-bit version will return "Win98", but
//         the 16-bit version running on Win98 will still return "Win95".
//-----------------------------------------------------------------------------
var is_win98	= ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt	= ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_win2000	= (is_winnt && (agt.indexOf("windows nt 5.")!=-1));
var is_winxp	= (is_winnt && (agt.indexOf("windows nt 5.1")!=-1));
var is_win32	= (is_win95 || is_win98 || is_winnt || is_win2000 || is_winxp || 
					((is_major >= 4) && (navigator.platform == "Win32")) ||
					(agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

var is_os2		= ((agt.indexOf("os/2")!=-1) || 
					(navigator.appVersion.indexOf("OS/2")!=-1) ||
					(agt.indexOf("ibm-webexplorer")!=-1));

//-----------------------------------------------------------------------------
// MacIE5 for OSX contains no information on the OS being used. 
// Thus "is_macosx" will be false in MacIE5 for OSX.
//-----------------------------------------------------------------------------
var is_mac		= (agt.indexOf("mac")!=-1);
var is_mac68k	= (is_mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1)));
var is_macppc	= (is_mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1)));
var is_macosx	= (is_mac && ((agt.indexOf("ppc")!=-1 || agt.indexOf("powerpc")!=-1) && (agt.indexOf("os x")!=-1)));

//-----------------------------------------------------------------------------
// Other platforms.
//-----------------------------------------------------------------------------
var is_sun		= (agt.indexOf("sunos")!=-1);
var is_sun4		= (agt.indexOf("sunos 4")!=-1);
var is_sun5		= (agt.indexOf("sunos 5")!=-1);
var is_suni86	= (is_sun && (agt.indexOf("i86")!=-1));
var is_irix		= (agt.indexOf("irix") !=-1);	// SGI
var is_irix5	= (agt.indexOf("irix 5") !=-1);
var is_irix6	= ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
var is_hpux		= (agt.indexOf("hp-ux")!=-1);
var is_hpux9	= (is_hpux && (agt.indexOf("09.")!=-1));
var is_hpux10	= (is_hpux && (agt.indexOf("10.")!=-1));
var is_aix		= (agt.indexOf("aix") !=-1);	// IBM
var is_aix1		= (agt.indexOf("aix 1") !=-1); 
var is_aix2		= (agt.indexOf("aix 2") !=-1); 
var is_aix3		= (agt.indexOf("aix 3") !=-1); 
var is_aix4		= (agt.indexOf("aix 4") !=-1); 
var is_linux	= (agt.indexOf("inux")!=-1);
var is_sco		= (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
var is_unixware	= (agt.indexOf("unix_system_v")!=-1); 
var is_mpras	= (agt.indexOf("ncr")!=-1); 
var is_reliant	= (agt.indexOf("reliantunix")!=-1);
var is_dec		= ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || 
					(agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || 
					(agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)); 
var is_sinix	= (agt.indexOf("sinix")!=-1);
var is_freebsd	= (agt.indexOf("freebsd")!=-1);
var is_bsd		= (agt.indexOf("bsd")!=-1);
var is_unix		= ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux || 
					is_sco ||is_unixware || is_mpras || is_reliant || 
					is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);

var is_vms		= ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));

//-----------------------------------------------------------------------------
// *** SPECIAL ***
// this section is designed specifically for IE3 for the Mac 
//-----------------------------------------------------------------------------
var is; 
var isIE3Mac = false; 

if ((navigator.appVersion.indexOf("Mac")!=-1) && (navigator.userAgent.indexOf("MSIE")!=-1) && (parseInt(navigator.appVersion)==3)) {
	isIE3Mac = true;
} else {
	is = new Is();
}

/*=============================================================================
' Function:		Is
' Description:	Ultimate client-side JavaScript client sniff. 
'				Everything you always wanted to know about your JavaScript client 
'				but were afraid to ask ... "Is" is the constructor function for "is" object, 
'				which has properties indicating: 
'					(1) browser vendor:  is.nav, is.ie, is.opera 
'					(2) browser version number: 
'					is.major (integer indicating major version number: 2, 3, 4 ...) 
'					is.minor (float   indicating full  version number: 2.02, 3.01, 4.04 ...) 
'					(3) browser vendor AND major version number 
'					is.nav2, is.nav3, is.nav4, is.nav4up, is.ie3, 
'					is.ie4, is.ie4up, is.ie5, is.ie5up, is.ie6, is.ie6up
'					(4) JavaScript version number: 
'					is.js (float indicating full JavaScript version number: 1, 1.1, 1.2 ...) 
'					(5) OS platform and version: 
'					is.win, is.win16, is.win32, is.win31, is.win95, is.winnt, is.win98 
'					is.os2 
'					is.mac, is.mac68k, is.macppc 
'					is.unix 
'					is.sun, is.sun4, is.sun5, is.suni86 
'					is.irix, is.irix5, is.irix6 
'					is.hpux, is.hpux9, is.hpux10 
'					is.aix, is.aix1, is.aix2, is.aix3, is.aix4 
'					is.linux, is.sco, is.unixware, is.mpras, is.reliant 
'					is.dec, is.sinix, is.freebsd, is.bsd 
'					is.vms 
' Copyright:	Netscape Communications 1999.  
'				Permission granted to reuse and distribute. 
' Notes:
' See http://www.it97.de/JavaScript/JS_tutorial/bstat/navobj.html and 
' http://www.it97.de/JavaScript/JS_tutorial/bstat/Browseraol.html 
' for detailed lists of userAgent strings. 
' 
' Note: you don't want your Nav4 or IE4 code to "turn off" or 
' stop working when Nav5 and IE5 (or later) are released, so 
' in conditional code forks, use is.nav4up ("Nav4 or greater") 
' and is.ie4up ("IE4 or greater") instead of is.nav4 or is.ie4 
' to check version in code which you want to work on future 
' versions. 
'------------------------------------------------------------------------------
' 1999-05-17 NET - Revised to add is_nav5up and is_ie5up (see below). 
' 2001-10-10 JRM - Added is_ie6 and is_ie6up global variables. 
' 2003-09-22 JRM - Added Netscape 6/7 and Safari related global variables.
'				- Fixed some bugs and cleaned up code.
'				- Added detection for Mozilla.
'============================================================================*/

function Is () {
	// convert all characters to lowercase to simplify testing 
	var agt=navigator.userAgent.toLowerCase(); 

	//-----------------------------------------------------------------------------
	// *** BROWSER VERSION *** 
	// Note: On IE5 and IE6, these return 4, so use is_ie5up to detect IE5
	// and is_ie6up to detect IE6. 
	//-----------------------------------------------------------------------------
	this.major		= parseInt(navigator.appVersion); 
	this.minor		= parseFloat(navigator.appVersion); 

	//-----------------------------------------------------------------------------
	// NETSCAPE NAVIGATOR/MOZILLA
	//-----------------------------------------------------------------------------
	this.nav		= ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) 
						&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) 
						&& (agt.indexOf('webtv')==-1) && (agt.indexOf('safari')==-1)); 
	this.nav2		= (this.nav && (this.major == 2)); 
	this.nav3		= (this.nav && (this.major == 3)); 
	this.nav4		= (this.nav && (this.major == 4) && (agt.indexOf("netscape/6")==-1) && (agt.indexOf("netscape/7")==-1)); 
	this.nav4up		= (this.nav && (this.major >= 4)); 
	this.nav5		= (this.nav && (this.major == 5) && (agt.indexOf("netscape/6")==-1) && (agt.indexOf("netscape/7")==-1)); 
	this.nav5up		= (this.nav && (this.major >= 5)); 
	this.nav6		= (this.nav5up && (agt.indexOf("netscape/6")!=-1)); 
	this.nav6up		= (this.nav5up && (agt.indexOf("netscape/6")!=-1) && (agt.indexOf("netscape/7")!=-1)); 
	this.nav7		= (this.nav6up && (agt.indexOf("netscape/7")!=-1)); 
	this.nav71		= (this.nav6up && (agt.indexOf("netscape/7.1")!=-1)); 
	this.nav7up		= (this.nav6up && (agt.indexOf("netscape/7")!=-1)); 
	this.navonly	= (this.nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) ); 

	//-----------------------------------------------------------------------------
	// MICROSOFT INTERNET EXPLORER
	//-----------------------------------------------------------------------------
	this.ie			= (agt.indexOf("msie") != -1); 
	this.ie3		= (this.ie && (this.major < 4)); 
	this.ie4		= (this.ie && (this.major == 4) && (agt.indexOf("msie 5.0")==-1) ); 
	this.ie4up		= (this.ie && (this.major >= 4)); 
	this.ie5		= (this.ie && (this.major == 4) && (agt.indexOf("msie 5.0")!=-1) ); 
	this.ie5up		= (this.ie && !this.ie3 && !this.ie4); 
	this.ie6		= (this.ie && (this.major == 4) && (agt.indexOf("msie 6.0")!=-1) ); 
	this.ie6up		= (this.ie && !this.ie3 && !this.ie4 && !this.ie5); 

	//-----------------------------------------------------------------------------
	// KNOWN BUG: On AOL4, returns false if IE3 is embedded browser 
	// or if this is the first browser window opened.  Thus the 
	// properties is.aol, is.aol3, and is.aol4 aren't 100% reliable. 
	//-----------------------------------------------------------------------------
	this.aol		= (agt.indexOf("aol") != -1); 
	this.aol3		= (this.aol && this.ie3); 
	this.aol4		= (this.aol && this.ie4); 

	this.opera		= (agt.indexOf("opera") != -1); 
	this.webtv		= (agt.indexOf("webtv") != -1); 
	this.safari		= (agt.indexOf("safari") != -1); 
	this.mozilla	= ((agt.indexOf("mozilla") != -1) && (agt.indexOf("gecko/") != -1) 
						&& (agt.indexOf('spoofer') == -1) && (agt.indexOf('compatible') == -1) 
						&& (agt.indexOf('opera') == -1) && (agt.indexOf('webtv') == -1) 
						&& (agt.indexOf('netscape') == -1) && (agt.indexOf('safari') == -1)); 

	//-----------------------------------------------------------------------------
	// *** JAVASCRIPT VERSION CHECK *** 
	//-----------------------------------------------------------------------------
	if (this.nav2 || this.ie3) { this.js = 1.0; }
	else if (this.nav3 || this.opera) { this.js = 1.1; }
	else if ((this.nav4 && (this.minor <= 4.05)) || this.ie4) { this.js = 1.2; }
	else if ((this.nav4 && (this.minor > 4.05)) || this.ie5) { this.js = 1.3; }
	else if (this.nav5) { this.js = 1.4; }
	// NOTE: In the future, update this code when newer versions of JS 
	// are released. For now, we try to provide some upward compatibility 
	// so that future versions of Nav and IE will show they are at 
	// *least* JS 1.x capable. Always check for JS version compatibility 
	// with > or >=. 
	else if (this.nav && (this.major > 5)) { this.js = 1.4; }
	else if (this.ie && (this.major > 5)) { this.js = 1.3; }
	// HACK: no idea for other browsers; always check for JS version with > or >= 
	else { this.js = 0.0; }

	//-----------------------------------------------------------------------------
	// *** PLATFORM *** 
	//-----------------------------------------------------------------------------
	this.win		= ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) ); 
	// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all 
	//        Win32, so you can't distinguish between Win95 and WinNT. 
	this.win95		= ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1)); 

	// is this a 16 bit compiled version? 
	this.win16		= ((agt.indexOf("win16")!=-1) || 
						(agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
						(agt.indexOf("windows 16-bit")!=-1) ); 

	this.win31		= ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) || 
						(agt.indexOf("windows 16-bit")!=-1)); 

	//-----------------------------------------------------------------------------
	// NOTE: Reliable detection of Win98 may not be possible. It appears that: 
	//       - On Nav 4.x and before you'll get plain "Windows" in userAgent. 
	//       - On Mercury client, the 32-bit version will return "Win98", but 
	//         the 16-bit version running on Win98 will still return "Win95". 
	//-----------------------------------------------------------------------------
	this.win98		= ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1)); 
	this.winnt		= ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1)); 
	this.win2000	= ( this.winnt && (agt.indexOf("windows nt 5.")!=-1)); 
	this.winxp		= ( this.winnt && (agt.indexOf("windows nt 5.1")!=-1)); 
	this.win32		= ( this.win95 || this.win98 || this.winnt || this.win2000 || this.winxp || 
						((this.major >= 4) && (navigator.platform == "Win32")) || 
						(agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1) ); 

	this.os2		= ((agt.indexOf("os/2")!=-1) || 
						(navigator.appVersion.indexOf("OS/2")!=-1) || 
						(agt.indexOf("ibm-webexplorer")!=-1)); 

	//-----------------------------------------------------------------------------
	// MacIE5 for OSX contains no information on the OS being used. 
	// Thus "is_macosx" will be false in MacIE5 for OSX.
	//-----------------------------------------------------------------------------
	this.mac		= (agt.indexOf("mac")!=-1); 
	this.mac68k		= (this.mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1))); 
	this.macppc		= (this.mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1))); 
	this.macosx		= (this.mac && ((agt.indexOf("ppc")!=-1 || agt.indexOf("powerpc")!=-1) && (agt.indexOf("os x")!=-1))); 

	//-----------------------------------------------------------------------------
	// Other platforms.
	//-----------------------------------------------------------------------------
	this.sun		= (agt.indexOf("sunos")!=-1); 
	this.sun4		= (agt.indexOf("sunos 4")!=-1); 
	this.sun5		= (agt.indexOf("sunos 5")!=-1); 
	this.suni86		= (this.sun && (agt.indexOf("i86")!=-1)); 
	this.irix		= (agt.indexOf("irix") !=-1);	// SGI 
	this.irix5		= (agt.indexOf("irix 5") !=-1); 
	this.irix6		= ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1)); 
	this.hpux		= (agt.indexOf("hp-ux")!=-1); 
	this.hpux9		= (this.hpux && (agt.indexOf("09.")!=-1)); 
	this.hpux10		= (this.hpux && (agt.indexOf("10.")!=-1)); 
	this.aix		= (agt.indexOf("aix") !=-1);	// IBM 
	this.aix1		= (agt.indexOf("aix 1") !=-1); 
	this.aix2		= (agt.indexOf("aix 2") !=-1); 
	this.aix3		= (agt.indexOf("aix 3") !=-1); 
	this.aix4		= (agt.indexOf("aix 4") !=-1); 
	this.linux		= (agt.indexOf("inux")!=-1); 
	this.sco		= (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1); 
	this.unixware	= (agt.indexOf("unix_system_v")!=-1); 
	this.mpras		= (agt.indexOf("ncr")!=-1); 
	this.reliant	= (agt.indexOf("reliantunix")!=-1); 
	this.dec		= ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || 
						(agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || 
						(agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)); 
	this.sinix		= (agt.indexOf("sinix")!=-1); 
	this.freebsd	= (agt.indexOf("freebsd")!=-1); 
	this.bsd		= (agt.indexOf("bsd")!=-1); 
	this.unix		= ((agt.indexOf("x11")!=-1) || this.sun || this.irix || this.hpux || 
						this.sco ||this.unixware || this.mpras || this.reliant || 
						this.dec || this.sinix || this.aix || this.linux || this.bsd || 
						this.freebsd); 

	this.vms		= ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1)); 
} 
